Title: M
1Máquinas de estados finitos
2Características
- Simple
- Formal
- Operacional
- Número finito de estados
3Definición
- Una máquina de estados finitos M consiste de
- Un conjunto finito de estados, Q
- Un conjunto finito de entradas, I
- Una función de transición d Q ? I ? Q.
- d puede ser una función parcial
4Representación gráfica
- Grafo
- nodos representan los estados
- un arco rotulado i va del estado q a q si y sólo
si d(q, i) q.
Q q0, q1, q2, q3 I a, b, c d(q0, a)
q1 d(q1, a) q2 d(q1, b) q3 d(q2, b)
q3 d(q3, c) q0
5Modelado con una MEF
MEF que modela el switch de una lámpara
6Modelado con una MEF
- Una planta química.
- Los niveles de temperatura y de presión deben ser
monitoreados por razones de seguridad. Se han
instalado sensores para generar señales adecuadas
cuando alguno de dichos niveles excede un valor
predefinido. - Política trivial cuando alguna de las señales es
originada por el correspondiente sensor, el
sistema de control apaga la planta y emite una
señal de alarma el sistema es re-iniciado
manualmente cuando la causa de la falla ha sido
corregida.
7Modelado con una MEF
8Modelado con una MEF
- Cuando se origina alguna de las dos señales, se
invoca automáticamente una acción de
recuperación (existe una acción de temperatura
y una acción de presión).
9Modelado con una MEF
- Si, después de un rato, la acción de recuperación
tiene éxito, el sistema es automáticamente
re-inicializado al estado normal y un mensaje
de todo OK es emitido.
10Modelado con una MEF
- Si la recuperación no tiene éxito, la señal de
alarma debe ser lanzada y la planta debe ser
apagada.
11Modelado con una MEF
- El sistema debe también ser apagado si se está
tratando de recuperar de algún tipo de
anormalidad (de temperatura o presión) y la otra
señal aparece.
12Limitaciones de las MEF
- Limitación Número finito de estados.
- Soluciones
- No describir todos los detalles del sistema.
- Cambiar de herramienta de modelado.
- Enriquecer la notación.
13Limitaciones de las MEF
- Sistema productor-consumidor
- Un proceso productor produce mensajes y los graba
en un buffer. - Un proceso consumidor lee mensajes y los saca de
dicho buffer (consume). - Si el buffer está lleno, el productor debe
esperar hasta que el consumidor lo haya vaciado. - Si el buffer está vacío, el consumidor debe
esperar hasta que el productor coloque un mensaje
en el buffer.
14DTE - Una primera aproximación
(a) proceso productor (b) proceso consumidor
(c) buffer. Suponemos un buffer con capacidad
para 1 mensaje.
15DTE para Productor-Consumidor
16DTE para Productor-Consumidor
17DTE para Productor-Consumidor
18DTE para Productor-Consumidor
19DTE para Productor-Consumidor
20DTE para Productor-Consumidor
21DTE para Productor-Consumidor
22DTE para Productor-Consumidor
23DTE para Productor-Consumidor
24Problemas en el modelo
- Tamaño n subsistemas cada uno con ki estados,
sistema resultante k1? k2 ? ... ? kn estados. - Modelo sincrónico.
- El sistema está siempre en un único estado y
ejecuta exactamente una única acción en cada
instante de tiempo, sin embargo por ej. no hay
razón para imponer tal serialización entre la
acción produce y la acción consume (las
transiciones deberían ocurrir asincrónicamente).
25Introducción a las Redes de Petri
26Redes de Petri
- Notación formal, operacional, gráfica.
- Sistemas asincrónicos y concurrentes.
27Redes de Petri - Definición
- Una Red de Petri es un multigrafo bipartito
dirigido representado por una cuádrupla PN ltP,
T, I, Ogt - donde
- P p1, p2, ..., pn conjunto finito de lugares
(places), n ? 0 - T t1, t2, ..., tm conjunto finito de
transiciones, m ? 0 - I T ? P? P? denota los multisets o bolsas de
P. - pi ? I(tj) si existe un arco de pi a tj
- O T ? P?
- pi ? O(tj) si existe un arco de tj a pi
28Ejemplo 1
p1
p2
P p1, p2, p3, p4, p5, p6, p7 T t1, t2, t3,
t4, t5, t6 I(t1) p1 O(t1) p4 I(t2)
p2 O(t2) p5 I(t3) p3, p4 O(t3)
p6 I(t4) p3, p5 O(t4) p7 I(t5) p6
O(t5) p1, p3 I(t6) p7 O(t6) p2, p3
t1
t2
p3
p4
p4
p5
t3
t4
p6
p7
t5
t6
29Ejemplo 2
P p1, p2 T t1 I(t1) p1, p1 O(t1)
p2, p2, p2
30- Si un arco va desde un place a una transición, al
place se lo llama input place (lugar de entrada)
de la transición. - Si un arco va desde una transición a un place, al
place se lo llama output place (lugar de salida)
de la transición.
31Redes de Petri Marcación y ejecución
- Una red de Petri recibe su estado marcando sus
places. - Una marcación (marking) consiste en asignar un
número entero no negativo de tokens a cada place. - En las redes tradicionales de Petri los tokens
son indistinguibles y no representan información
específica.
32Ejemplo de red marcada
P p1, p2 T t1 I(t1) p1, p1 O(t1)
p2, p2, p2
33Marcación
- Una marcación de una Red de Petri
- PN ltP, T, I, Ogt es una función
- ? P ? 0, 1, 2, ...
- que asigna un número entero no negativo de tokens
a cada place de la red.
34Marcación
- Una marcación puede representarse como un vector
de dimensión n (n es el número de lugares de la
red).
?(p1) 2 ?(p2) 0 ? (2,0)
35Red de Petri marcada
- Una Red de Petri marcada
- M ltPN, ?gt
- es un una estructura de Red de Petri
- PN ltP, T, I, Ogt y un marking ?.
36p1
p2
P p1, p2, p3, p4, p5, p6, p7 T t1, t2, t3,
t4, t5, t6 I(t1) p1 O(t1) p4 I(t2)
p2 O(t2) p5 I(t3) p3, p4 O(t3)
p6 I(t4) p3, p5 O(t4) p7 I(t5) p6
O(t5) p1, p3 I(t6) p7 O(t6) p2,
p3 ? (1, 1, 1, 0, 0, 0, 0)
t1
t2
p3
p4
p5
t3
t4
p6
p7
t5
t6
37Ejecución de una Red de Petri
- Durante la ejecución de la red el número y
posición de los tokens puede variar dando lugar a
una nueva marcación. - Cada marcación corresponde a un estado de la red.
38Reglas de Ejecución
- Una transición puede disparar si está habilitada.
- Una transición está habilitada si en cada uno de
sus input places existen al menos tantos tokens
como arcos existan desde el place a la transición.
39Reglas de Ejecución
- Cuando una transición dispara, en cada uno de sus
input places se remueven tantos tokens como arcos
existan desde el input place hacia la transición,
y en cada uno de los output places de la
transición se insertan tantos tokens como arcos
existan desde la transición al output place.
40Reglas de Ejecución
- Formalmente, una transición t ? T está habilitada
en una red de Petri PN ltP, T, I, Ogt sii -
- ?p ? I(t) ?(p) ? (p, I(t))
- donde
- (p, I(t)) es el número de arcos desde p a t.
41Reglas de Ejecución
- Formalmente, el disparo de una transición t ? T
con un marking ? resulta en un nuevo marking ?
definido por - ?p ? P ?(p) ?(p) ? (p, I(t)) (p, O(t))
- donde
- (p, I(t)) es el número de arcos desde p a t.
- (p, O(t)) es el número de arcos desde t a p.
42Ejecución de una Red de Petri
p1
p2
?0 (1, 1, 1, 0, 0, 0, 0)
t1 y t2 están habilitadas.
43Ejecución de una Red de Petri
p1
p2
?0 (1, 1, 1, 0, 0, 0, 0) ?1 (0, 1, 1, 1, 0,
0, 0)
t1
t2
p3
p4
p5
- secuencia de disparos (t1)
- t2 y t3 quedaron habilitadas.
t3
t4
p6
p7
t5
t6
44Ejecución de una Red de Petri
p1
p2
?0 (1, 1, 1, 0, 0, 0, 0) ?1 (0, 1, 1, 1, 0,
0, 0) ?2 (0, 0, 1, 1, 1, 0, 0)
t1
t2
p3
p4
p5
t3
t4
- secuencia de disparos (t1,t2)
- t3 y t4 quedaron habilitadas.
p6
p7
t5
t6
45Ejecución de una Red de Petri
p1
p2
?0 (1, 1, 1, 0, 0, 0, 0) ?1 (0, 1, 1, 1, 0,
0, 0) ?2 (0, 0, 1, 1, 1, 0, 0) ?3 (0, 0, 0,
1, 0, 0, 1)
t1
t2
p3
p4
p5
t3
t4
p6
p7
- secuencia de disparos (t1,t2,t4)
- t6 quedó habilitada.
t5
t6
46Ejecución de una Red de Petri
p1
p2
?0 (1, 1, 1, 0, 0, 0, 0) ?1 (0, 1, 1, 1, 0,
0, 0) ?2 (0, 0, 1, 1, 1, 0, 0) ?3 (0, 0, 0,
1, 0, 0, 1) ?4 (0, 1, 1, 1, 0, 0, 0)
t1
t2
p3
p4
p5
t3
t4
p6
p7
- secuencia de disparos (t1,t2,t4,t6)
- t2 y t3 quedaron habilitadas. ...
t5
t6
47Ejecución de la Red de Petri
- La secuencia de disparos dada es una de las
posibles secuencias, no la única. - El modelo es no determinístico, en el sentido que
dado un marking inicial ?0 distintas evoluciones
de la red son posibles.
48Ejecución de una Red de Petri
t1 siempre habilitada
49Modelado con Redes de Petri
- Una transición, usualmente, modela un evento o
acción. - El disparo de la transición representa la
ocurrencia de tal evento o la ejecución de la
acción. - Una transición está habilitada, si se satisfacen
las condiciones necesarias para la ocurrencia de
tal evento o acción. - La presencia de tokens en los input places
modelan tales condiciones.
50Modelado con Redes de Petri
p1
p2
Eventos del proceso 1
t1
t2
p3
p4
p5
t1 proceso 1 solicita recurso t3 proceso 1
toma recurso t5 proceso 1 libera recurso
t3
t4
p6
p7
t5
t6
51Modelado con Redes de Petri
p1
p2
Eventos del proceso 2
t1
t2
p3
p4
p5
t2 proceso 2 solicita recurso t4 proceso 2
toma recurso t6 proceso 2 libera recurso
t3
t4
p6
p7
t5
t6
52Modelado con Redes de Petri
p1
p2
t1
t2
p3
p4
p5
p3 representa la disponibilidad o no de un
recurso.
t3
t4
p6
p7
t5
t6
53Modelado con Redes de PetriTransiciones
concurrentes
p1
p2
t1
t1 y t2 habilitadas y el disparo de una no
deshabilita la otra gt concurrentes
t2
p3
p4
p5
t3
t4
p6
p7
t5
t6
54Modelado con Redes de PetriTransiciones en
conflicto
p1
p2
t1
t2
t3 y t4 habilitadas y el disparo de una
deshabilita la otra gt en conflicto
p3
p4
p5
t3
t4
p6
p7
t5
t6
55Modelado con Redes de PetriStarvation
p1
p2
secuencia de disparos (t2)
t1
t2
p3
p4
p5
t3
t4
p6
p7
t5
t6
56Modelado con Redes de PetriStarvation
p1
p2
secuencia de disparos (t2,t4)
t1
t2
p3
p4
p5
t3
t4
p6
p7
t5
t6
57Modelado con Redes de PetriStarvation
p1
p2
secuencia de disparos (t2,t4,t6)
t1
t2
p3
p4
p5
t3
t4
p6
p7
t5
t6
58Modelado con Redes de PetriStarvation
p1
p2
secuencia de disparos (t2,t4,t6,t2)
t1
t2
p3
p4
p5
t3
t4
p6
p7
t5
t6
59Modelado con Redes de PetriStarvation
p1
p2
secuencia de disparos (t2,t4,t6,t2,t4)
t1
t2
p3
p4
p5
t3
t4
p6
p7
t5
t6
60Modelado con Redes de PetriStarvation
p1
p2
secuencia de disparos (t2,t4,t6,t2,t4,t6,...) ? s
tarvation de proceso 1
t1
t2
p3
p4
p5
t3
t4
p6
p7
t5
t6
61Modelado con Redes de PetriDeadlock
t1 proc1 solicita ambos recursos t3 proc1 toma
un recurso t3 proc1 toma otro recurso t5
proc1 libera ambos recursos t2 proc2 solicta
ambos recursos t4 proc2 toma un recurso t4
proc2 toma otro recurso t6 proc2 libera ambos
recursos
62Modelado con Redes de PetriUna posible ejecución
sin deadlock
secuencia de disparos (t1)
63Modelado con Redes de PetriUna posible ejecución
sin deadlock
p1
p2
p3
t1
t2
secuencia de disparos (t1, t3)
p4
p5
t4
t3
p6
p7
t3
t4
p8
p9
t5
t6
64Modelado con Redes de PetriUna posible ejecución
sin deadlock
p1
p2
p3
t1
t2
secuencia de disparos (t1, t3, t3)
p4
p5
t4
t3
p6
p7
t3
t4
p8
p9
t5
t6
65Modelado con Redes de PetriUna posible ejecución
sin deadlock
p1
p2
p3
t1
t2
secuencia de disparos (t1, t3, t3, t5)
p4
p5
t4
t3
p6
p7
t3
t4
p8
p9
t5
t6
66Modelado con Redes de PetriUna posible ejecución
con deadlock
secuencia de disparos (t1)
67Modelado con Redes de PetriUna posible ejecución
con deadlock
p1
p2
p3
t1
t2
secuencia de disparos (t1, t2)
p4
p5
t4
t3
p6
p7
t3
t4
p8
p9
t5
t6
68Modelado con Redes de PetriUna posible ejecución
con deadlock
p1
p2
p3
t1
t2
secuencia de disparos (t1, t2, t3)
p4
p5
t4
t3
p6
p7
t3
t4
p8
p9
t5
t6
69Modelado con Redes de PetriUna posible ejecución
con deadlock
p1
p2
p3
t1
t2
secuencia de disparos (t1, t2, t3,
t4) deadlock (ninguno de los procesos puede
continuar)
p4
p5
t4
t3
p6
p7
t3
t4
p8
p9
t5
t6
70DTE para Productor-ConsumidorPrimera aproximación
(a) proceso productor (b) proceso consumidor
(c) buffer. Suponemos un buffer con capacidad
para 1 mensaje.
71PN para Productor-ConsumidorPrimera aproximación
write
p1
p2
1
produce
72DTE para Productor-Consumidor
73PN para Productor-Consumidor
74Limitaciones de las Redes de Petri tradicionales
y algunas extensiones
- Limitación los tokens son anónimos.
- p.e. la presencia de un token en un place puede
denotar la presencia de un mensaje en un buffer
pero no lo que el mensaje dice. - Extensión asignación de valores a tokens más
asociación de predicados y acciones a las
transiciones.
75- t1 habilitada tuplas ready (3,7) (3,4)
- elecciones no determinísticas
- t2 habilitada tuplas ready (4, 4)
76p2
p1
1
p3
4
4
p2 p3 p4p3-p2 p5 p2p3
p1 lt p2 p4p2p1
t1
t2
p5
p4
10
sec. de disparos (t1) t1 deshabilitada. t2
habilitada tuplas ready (4, 4)
77p2
p1
1
p3
p2 p3 p4p3-p2 p5 p2p3
p1 lt p2 p4p2p1
t1
t2
p5
p4
10
8
0
sec. de disparos (t1, t2)
78Limitaciones de las Redes de Petri tradicionales
y algunas extensiones
- Limitación no se pueden fijar políticas de
selección cuando varias transiciones están
habilitadas. - Extensión asignación estática o dinámica de
prioridades a las transiciones.
79t1 y t2 habilitadas, dispara t2 porque tiene
mayor prioridad.
80Limitaciones de las Redes de Petri tradicionales
y algunas extensiones
- Limitación Problemas con el manejo del tiempo.
- p.e. un proceso envía mensajes a una cierta
velocidad. Estos son colocados en un buffer y
procesados. Si un mensaje no es tomado del buffer
antes del arribo del próximo, es sobrescrito por
el nuevo. - Extensiones Redes de Petri con tiempo donde a
cada transición se le asocia un par lttmin, tmaxgt
que indica el intervalo de tiempo dentro del cual
debe disparar.
81(No Transcript)