Title: Redes de Petri bsicas PT, B
1Redes de Petri básicas(P/T, BW)
- Juan de Lara con modificaciones de Gonzalo
MartÃnez Muñoz
2Indice
- Definición y Semántica.
- Ejemplos.
- Grafo de alcanzabilidad y Cubrimiento.
- Propiedades.
- Técnicas Lineales/Algebraicas.
- Técnicas Estructurales.
- Técnicas de Reducción.
- Lenguajes definidos por una Red de Petri.
- Semántica causal.
3Definición
- Grafo dirigido con nodos de tipo
- places (estados) ó
- transiciones (eventos)
- Los nodos de distinto tipo se conectan mediante
arcos. - No hay conectividad entre nodos de igual tipo
- Los arcos pueden tener asociado un peso (1 por
defecto). - Los estados pueden contener un número arbitrario
de tokens (cÃrculos en negro).
Load r1
Load r2
Reg1
Reg2
Load-ALU
ALU Idle
ALU Busy
Finish-ALU
Reg3
empty r3
4Definición
Algunas interpretaciones tÃpicas de estados y
transiciones.
5Definición(Redes de Petri ordinaria)
- Una red de Petri marcada es una tupla
- PN(P, T, A, m0)
- Donde
- P Conjunto finito no vacÃo de Places,
estados. p1,p2,pm - T Conjunto finito no vacÃo de Transiciones.
t1, t2,,tn - A ? (PxT) ? (TxP) es un conjunto de arcos.
- m0 P ? 0, N, m0 Marcado inicial (número de
tokens en cada estado, el estado de la red). - donde P ? T ? P ? T ? ?
6Definición
- Entidades derivadas
- I(tj) tj pi (pi, tj) ? A, places
entrada a transiciones. - O(tj) tj pi (tj,, pi) ? A, places
salida de transiciones. - pj ti (ti, pj) ? A, transiciones entrada
a places. - pj ti (pj,,ti) ? A, transiciones salida
de places. -
-
7Definición. Ejemplo
PN(P, T, A, m0) P Reg1, Reg2, ALUBusy,
ALUIdle, Reg3, T Load r1, Load r2, Load-ALU,
Finish-ALU, empty r3 A (Load r2, Reg2),
(Load r1, Reg1), (Reg1, Load-ALU), (Reg1,
Load-ALU), (Load-ALU, ALU Idle), (Load-ALU, ALU
Busy), (ALU Idle, Finish-ALU), (ALU Busy,
Finish-ALU), (Finish-ALU, Reg3), (Reg3, emptty
r3) m0(Reg1)1, m0(Reg2) 9, m0(Reg3) 0,
m0(ALU Busy) 0, m0(ALU Idle) 0 Vector de
estado m0 0, 1, 0, 1, 0
Load r1
Load r2
Reg1
Reg2
Load-ALU
ALU Idle
ALU Busy
Finish-ALU
Reg3
empty r3
8Semántica regla de transición o disparo
- Una transición t está activada si todos los
estados p que están conectados a ella mediante
arcos de I tienen al menos un token.
- Es decir, una transición tj está activada si
- ?pi?I(tj), m(pi) ? 1
9Semántica regla de transición o disparo
Desactivada
Activada
Activada
Activada
9
10Semántica regla de transición o disparo
- Una transición puede o no dispararse.
- El disparo de una transición activada produce
- A los estados pi que pertenecen a I de t se les
resta un token. - A los estados pi que pertenecen a O de t se les
suma un token.
11Semántica regla de transición o disparo
Disparo
Activada
Activada
Load r1
Load r2
Load r1
Load r2
Reg1
Reg2
Reg1
Reg2
Load-ALU
Load-ALU
ALU Idle
ALU Idle
ALU Busy
ALU Busy
Finish-ALU
Finish-ALU
Reg3
Reg3
empty r3
empty r3
Estado 1,1,0,1,0
Estado 0,1,0,1,0
12Semántica
- Función de Transición de estados. f P x T ? ?
- f está definida para la Transición tj sii
- ?pi?I(tj), m(pi) ? 1
- si tj está activada, calcular el nuevo marcado
de pi ? I(tj) ? O(tj) - m f(m, tj)
- m(pi) si pi ? I(tj) ? pi ?
O(tj) - f(m, tj) m(pi) - 1 si pi ? I(tj) ? pi ?
O(tj) - m(pi) 1 si pi ? I(tj) ? pi ? O(tj)
13Transiciones especiales
- Transición fuente
- Activada incondicionalmente
- Su disparo crea tokens y no consume ninguno
- Transición sumidero
- Su disparo consume tokens pero no los crea
Disparo
Disparo
14Algunos Tipos de Redes
- Una red es
- pura sii ?x ? P?T ?x ? x? ? No hay
auto-bucles - simple sii ?x, y ?P?T ?x ?y x? y? ? x
y
No es pura
No es simple
15Enlaces Inhibidores.
p
Si (s, t) es un enlace inhibidor, entonces t sólo
está habilitada si m(s) 0.
t
q
s
16Ejemplo.
Arrival
Averia
Queue
Process
En Reparación
AverÃa-I
Busy
AverÃa-B
Arreglado
Finish
Exit
Idle
Borrado
17Ejercicio
- Modificar la red anterior, de tal manera que sólo
sea posible cargar un registro si esta vacÃo.
Load r1
Load r2
Reg1
Reg2
Load-ALU
ALU Idle
ALU Busy
Finish-ALU
Reg3
empty r3
18Solución
Load r2
Load r1
- Modificar la red anterior, de tal manera que sólo
sea posible cargar un registro si esta vacÃo.
Reg2
Reg1
Reg2
Reg1
Load- ALU
ALU Idle
ALU Busy
Finish-ALU
Reg3
Reg3
empty r3
19Ejercicio
Load r2
Load r1
- Modificar la red anterior, de tal manera que se
puedan realizar 2 tipos de operaciones binarias
suma y multiplicación. Se seleccionarán una vez
cargada la ALU.
Reg2
Reg1
Reg2
Reg1
Load- ALU
ALU Idle
ALU Busy
Finish-ALU
Reg3
Reg3
empty r3
20Solución
Load r2
Load r1
Reg1
Reg1
Reg2
Reg2
Load- ALU
ALU Busy
ALU Idle
Mult
Suma
ADD
PROD
Reg3
Reg3
empty r3
Set_MULT
Set_ADD
None
21Modificar la red anterior, de tal manera que se
tenga que seleccionar la operación a realizar
antes de cargar la ALU.
Ejercicio
Load r2
Load r1
Reg1
Reg1
Reg2
Reg2
Set_MULT
Load- ALU
ALU Busy
ALU Idle
Suma
None
Mult
ADD
PROD
Reg3
Reg3
Set_ADD
empty r3
22Solución
Load r2
Load r1
Reg1
OP Sel
Reg1
Reg2
Reg2
Set_MULT
Load- ALU
ALU Busy
ALU Idle
None
Suma
Mult
ADD
PROD
Reg3
Reg3
Set_ADD
empty r3
23Redes de Petri con Pesos. Definición.
- Una extensión muy popular es poner pesos en los
arcos - PN (P, T, A, W, x0)
- Donde
- P Conjunto finito no vacÃo de Places,
estados. p1,p2,pm - T Conjunto finito no vacÃo de Transiciones.
t1, t2,,tn - A ? (PxT) ? (TxP) es un conjunto de arcos.
- W A ? N es una función de peso
- m0 P ? 0, N, m0 Marcado inicial (número de
tokens en cada estado, el estado de la red). - donde P ? T ? P ? T ? ?
24Pesos. Semántica.
Una transición está activada si todos los
estados que están conectados a ella mediante
arcos de I tienen al menos el mismo número de
tokens que el peso del arco.
3
2
3
2
Activada
Desactivada
Activada
- Una transición tj está activada si
- ?pi?I(tj), m(pi) ? w(pi, tj) , donde w(pi, tj) es
el peso del arco de pi a tj
25Pesos. Semántica.
- Función de Transición de estados.
- f P x T ? ?
- f está definida para la Transición tj sii
- ?pi?I(tj), m(pi) ? w(pi, tj)
- si tj está activada, calcular el nuevo marcado
de pi ? I(tj) ? O(tj) - m f(m, tj) donde
- m(pi) - w(pi, tj) w(tj, pi) si pi ? I(tj) ?
pi ? O(tj) - f(m, tj) m(pi) - w(pi, tj) si pi ? I(tj)
? pi ? O(tj) - m(pi) w(tj, pi) si pi ? I(tj) ? pi ?
O(tj)
26Pesos. Semántica. Ejemplo
Arrival
Activada
Arrival
Queue
Queue
2
2
Process
Activada
Process
Disparo
Busy
Busy
Idle
Idle
Finish
Finish
Exit
Exit
Estado 0,1,0,0
Estado 2,0,1,0
27Indice
- Definición y Semántica.
- Ejemplos.
- Grafo de alcanzabilidad y Cubrimiento.
- Propiedades.
- Técnicas Lineales/Algebraicas.
- Técnicas Estructurales.
- Técnicas de Reducción.
- Lenguajes definidos por una Red de Petri.
- Semántica causal.
28Ejemplos. Manufactura.
Operator 1 idle
M2 idle
M1 busy, Operator 1
M2 busy, Operator 1
M1 idle
conveyor
M3 idle
Job Arrival
Output conveyor
M1 busy, Operator 2
M3 busy, Operator 2
Operator 2 idle
29Ejemplos. Máquinas de Estados.
1/1
0/0
0/0
1/1
S0
S1
S0
0
0
1
1
S1
30Ejemplos. Pipeline.
Registro Entrada k lleno
Registro de Entrada k
Unidad k ocupada
Unidad k
Registro Salida k lleno
Registro Salida k vacÃo
Registro de Salida k
Copiar k a k1
Registro entrada k1 lleno
Registro entrada k1 vacÃo
Registro de Entrada k1
Unidad k1 ocupada
Unidad k1
Registro Salida k1 lleno
Registro Salida k1 vacÃo
Registro de Salida k1
Copiar k1 a k2
31Ejemplos. Sistemas Paralelos. La cena de los
filósofos.
C4
C5
C3
M1
C2
E1
C1
32Ejemplos. Reacciones QuÃmicas.
H2C2O4
CO2
2
H2C2O4 ? 2e-2H2CO2 2e-2HH2O2 ?2H2O
H
2
2
H2O2
2
2
e-
2
H2O
33Ejercicio (entregar)
- Realizar una red de petri de un sistema de
componentes ejecutándose en paralelo. - Hay dos tipos de componentes, el primero tiene
como interfaz los métodos A, B y D. El segundo
tiene como interfaz el método C. Supón una
instancia de cada tipo. - Un componente está bien desocupado o ejecutando
alguno de sus métodos. - Los métodos de tipo B y C acceden a un disco duro
(para escribir), de acceso exclusivo y compartido
por todas las instancias de componentes. - El método A llama al método B (de manera
asÃncrona) de la misma instancia. - El método B llama al método C (de manera
asÃncrona), antes de escribir en el disco duro. - El método C llama al método D de manera sÃncrona
antes de terminar de usar el disco duro. - El método D simplemente realiza un cómputo local
y termina. - Asume un estado inicial en la que la instancia
del componente 1 tiene una llamada al método A.
34Solución
Componente 1
Componente 2
Id2
A
B
D
Id1
C
AEx
BEx
DEx
CEx
CWait
BWait
DOut
Disco
HDId
HDQueue
HDEnd
Writing
35Indice
- Definición y Semántica.
- Ejemplos.
- Grafo de alcanzabilidad y Cubrimiento.
- Propiedades.
- Técnicas Lineales/Algebraicas.
- Técnicas Estructurales.
- Técnicas de Reducción.
- Semántica causal.
36Alcanzabilidad.
t
m ? m La transición t se dispara cambiando el
marcado m tgt m de m a m ?t1 t2 .. tn es una
secuencia finita de ocurrencias que va de m0 a
mn si m0t1gt m1 t2gt..tngt mn Un marcado m es
alcanzable (desde m0) si hay una secuencia finita
de ocurrencias que va de m0 a m. Notación m0gt
es el conjunto de marcados alcanzables.
37Grafo de Alcanzabilidad
- Grafo en el que los nodos representan marcados.
- Los arcos son las transiciones que al dispararse
cambian el estado de la red.
Disparo
Disparo
t1
t3
Semáforo
Proceso1
S. CrÃtica1
Proceso2
S. CrÃtica2
Disparo
Disparo
t2
t4
- Podemos analizar si la red alcanzará un cierto
estado, y mediante qué secuencia de eventos. - Problema El número de estados no siempre es
finito (si la red no está acotada)
38Grafo de Alcanzabilidad. Algoritmo.
1. Inicializar m m0 (estado inicial) 2. Para
cada nuevo nodo m, evaluar f(m, tj) para todo
tj 2.1 Si f(m, tj) está definida para algún
tj, entonces crear un nuevo nodo mf(m,
tj) 2.1.1 Si hay algún nodo n m n,
entonces m n si no, añadir m al
grafo. 2.1.2 Añadir el enlace (m, tj, m) al
grafo. Nota El algoritmo no termina si la red
no está acotada.
39Grafo de Alcanzabilidad. Ejercicio.
prod
cons
empty
Ready consume
deliver
read
Ready Produce
full
cwait
pwait
40Grafo de Alcanzabilidad. Solución.
Ready produce
prod, empty, cons
Ready consume
deliver
prod, empty, cwait
pwait, full, cons
Ready produce
ready produce
deliver
Ready consume
prod, full, cons
pwait, full, cwait
Ready produce
read
Ready consume
prod, full, cwait
pwait, empty, cons
read
Ready consume
pwait, empty, cwait
41Ejercicio (entregar) Calcula el Grafo de
Alcanzabilidad de esta red, o bien de la
red obtenida en el ejercicio anterior.
P Process
PW Process
r2p
r2p
sprint
sprint
p
p
eprint
printer
HDisks
eprint
W Process
r2w
r2w
swrite
swrite
w
w
ewrite
ewrite
42Ejercicio
- Se permite como mucho un coche en el centro de la
intersección en cada momento. - No se permiten giros de 180 grados en la
intersección. - El número de coches que entran en la intersección
de cada dirección es arbitrario. - Cuando un coche entra en el centro de la
intersección, la dirección de salida se determina
aleatoriamente
43Solución(Sólo entradas de este y oeste)
From East
east
From West
west
44Grafo de Cubrimiento.
- Dominancia de nodos
- Sean m m(p1), ..., m(pn) o o(p1), ...,
o(pn) - m gtd o sii
- m(pi) gt o(pi) para todo i1...n
- m(pi) gt o(pi) para al menos un i1...n
- w representa el marcado de un place que no
está acotado. - wk w w-k w
45Grafo de Cubrimiento. Algoritmo.
1. Inicializar m m0 (estado inicial) 2. Para
cada nuevo nodo m, evaluar f(m, tj) para todo
tj 2.1 Si f(m, tj) está definida para algún
tj, entonces obtener mf(m, tj) 2.1.1
Si m(pi)w para algún i, entonces hacer
m(pi)w 2.1.2 Si hay algún nodo o en el camino
desde m0 a m tal que m gtd o, entonces hacer
m(pi) w para todo pi m(pi) gt
o(pi). 2.1.3 Si hay algún nodo o m o,
entonces m o si no, añadir m al
grafo. 2.1.4 Añadir el enlace (m, tj, m) al
grafo de cubrimiento. Nota Si mgtd o entonces
para todo j si la función f(o, tj) está definida
entonces f(m, tj) está definida y f(m, tj) gtd
f(o, tj)
46Grafo de Cubrimiento.
(1 0 0 0)
p2
t1
t2
p1
t1
p4
p3
t3
47Grafo de Cubrimiento.
(1 0 0 0)
p2
t1
(0 1 1 0)
t2
t2
t3
p1
t1
p4
p3
t3
48Grafo de Cubrimiento.
(1 0 0 0)
p2
t1
(0 1 1 0)
t2
t2
t3
p1
t1
(1 0 w 0)
p4
p3
t3
49Grafo de Cubrimiento.
(1 0 0 0)
p2
t1
(0 1 1 0)
t2
t2
t3
p1
t1
(1 0 w 0)
(0 0 1 1)
p4
p3
t3
50Grafo de Cubrimiento.
(1 0 0 0)
t1
p2
(0 1 1 0)
t2
t2
t3
(1 0 w 0)
(0 0 1 1)
p1
t1
t1
t2
p4
(0 1 w 0)
p3
t3
t3
(0 0 w 1)
51Grafo de Cubrimiento.
Ejercicio Calcular el grafo de cubrimiento de
esta red
p2
p1
t1
p3
t2
52Grafo de Cubrimiento. Solución.
(1 0 0)
w representa el conjunto 1, 2, 3, ... de
marcados alcanzables para el estado p3.
t1
(0 1 0)
t2
(1 0 w)
t1
t2
(0 1 w)
53Grafo de Cubrimiento.
(1 0 0)
p2
t1
p1
t1
(0 1 0)
p3
t2
2
t2
(1 0 w)
w representa el conjunto 2, 4, 6, ... de
marcados alcanzables para el estado p3. No
siempre es posible saber si un cierto estado es
alcanzable.
t1
t2
(0 1 w)
54Ejercicio Calcula el grafo de cubrimiento
p1
t1
p3
t2
t4
p4
t3
55Solución
1000
t1
0110
t2
t4
0001
0200
p1
t3
10?0
t1
p3
t1
t4
01?0
1??0
t1
t4
t2
t4
t2
t4
00?1
0??0
t3
t4
p4
t2
t3
0???
t4, t2
t3
????
t1, t2, t3, t4
56Grafo de Alcanzabilidad/Cubrimiento y
Concurrencia.
Concurrencia vs. no-determinismo
1
1
a
a
2, 4
2
4
d
b
c
b-c y c-b son dos entrelazados.
3, 4
2, 5
c
b
c
b
5
3
3, 5
d
57Grafo de Alcanzabilidad/Cubrimiento y
Concurrencia.
Añadir p6 no cambia el grafo de alcanzabilidad,
pero b y c no pueden dispararse a la vez. No
tenemos información sobre concurrencia de
disparos.
1
1, 6
a
a
2, 4, 6
4
d
2
b
c
6
3, 4, 6
2, 5, 6
c
b
c
b
5
3
3, 5, 6
d
58Indice
- Definición y Semántica.
- Ejemplos.
- Grafo de alcanzabilidad y Cubrimiento.
- Propiedades.
- Técnicas Lineales/Algebraicas.
- Técnicas Estructurales.
- Técnicas de Reducción.
- Lenguajes definidos por una Red de Petri.
- Semántica causal.
59Propiedades
- Capacidad.
- Acotación.
- Reversibilidad.
- Conservación.
- Deadlock / Liveness.
- Cubrimiento.
- Persistencia.
60Propiedades. Capacidad.
Arrival
Queue
Capacidad infinita
Process
Capacidad finita 1
Busy
Idle
Finish
Exit
61Propiedades. Capacidad.
Arrival
Queue
Queremos Capacidad K (ej.5) (número limitado en
la cola de clientes)
Process
- Limitar capacidad K a un estado pi
- Añadir un estado pi m0(pi) K(pi)-m0(pi)
- ?ti (pi, ti) ? A, Añadir arco a (ti, pi) con
w(a) w((pi, ti)) - ?ti (ti, pi) ? A, Añadir arco a (pi, ti) con
w(a) w((ti, pi))
Arrival
Queue
Process
62Ejercicios. Capacidad.
iq
- Restringe la capacidad de la red de la siguiente
forma - iq a 3
- M1 y M2 a 1
- oq a 3
Process-1
rework
M1
M2
Process-2
2
oq
63Ejercicios. Capacidad.
- Restringe la capacidad de la red de la siguiente
forma - iq a 3
- M1 y M2 a 1
- oq a 3
iq
iq
Process-1
rework
M2
M1
M1
M2
Process-2
2
2
oq
oq
64Propiedades. Capacidad.
- Capacidad débil Añadir una función k P?N
(cota). - Una transición t está habilitada en un marcado m
si - ?s ? ?t, m(s) ? w(s, t)
- ?s ? t? \ ?t, m(s) w(t, s) ? k(s)
- ?s ? t? ? ?t, m(s) w(t, s) w(s, t) ? k(s)
K3
Complemento débil
65Propiedades. Capacidad.
- Capacidad fuerte Añadir una función k P?N
(cota). - Una transición t está habilitada en un marcado m
si - ?s ? ?t, m(s) ? w(s, t)
- ?s ? t?, m(s) w(t, s) ? k(s)
K3
Complemento fuerte
66Propiedades. Capacidad.
Reemplazar el arco inhibidor desde un place
acotado por un complemento débil.
p
t
q
k3
s
67Propiedades. Acotación.
- Un estado pi de una Red de Petri con marcado
inicial m0 está k-acotado (o es k-seguro) sii - m(pi) ? k ? estado alcanzable por la red.
- Un estado 1-acotado se llama seguro.
- Si ? k pi está k-acotado, entonces pi está
acotado. - Si todos los estados están acotados, la red está
acotada.
68Propiedades. Acotación.
- Una red está acotada sii su grafo de
alcanzabilidad es finito. - Prueba
- (?) El número máximo de tokens en cada place es
su cota. - (?) Si b(s) es la cota de s, entonces el place
puede estar como máximo en b(s)1 estados. - Por tanto el número de marcados alcanzables no
puede superar - (b(s1)1) ? (b(s2)1) ? ... ? (b(sn)1), donde
s1,...,sn es el conjunto finito de places. - Corolario Una red 1-segura con n places tiene 2n
marcados alcanzables a lo sumo.
69Propiedades. Reversibilidad.
- Una red es reversible si m0 es alcanzable desde
cualquier otro marcado alcanzable. - Una red es reversible sii su grafo de cubrimiento
es fuertemente conexo.
t2
t4
t3
t1
t5
70Ejercicios. Reversibilidad. Es reversible esta
red?
SÃ, podemos volver a m0 desde cualquier marcado
M2
eat2
E2
med2
M1
C1
C2
eat1
E1
med1
71Propiedades. Conservación.
En un modelo, un token puede representar un
recurso, un proceso...
- Para nuestro modelo, queremos que la suma de los
tokens en la red sea constante durante la
simulación. - m(Busy)m(Idle) 1
- m(Queue)m(Completed) m(Busy) 10
10
Queue
Personas
Process
Posibles estados del servidor
Busy
Idle
Finish
Personas
Completed
72Propiedades. Conservación.
- Una Red de Petri con estado inicial m0 es
conservativa respecto a - ? ?1, ?2, ..., ?n sii
- para todos los estados m que pueda alcanzar la
red. Donde ? es un vector binario de longitud
igual al número de lugares - ? 0, 1, 1, 0 , m(Busy)m(Idle) 1
- ? 1, 1, 0, 1, m(Queue) m(Completed)
m(Busy) 10
73Ejercicios. Conservación. Es conservativa esta
red?
M2
eat2
E2
med2
M1
C1
C2
eat1
E1
med1
74Ejercicios. Conservación. Es conservativa esta
red?
Respecto a 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0,
0, 0, 0, 1, 1, 0, 0
M2
eat2
E2
Orden E1 M1 E2 M2 C1 C2
med2
M1
C1
C2
eat1
E1
med1
75Propiedades. Deadlock.
- Dependencia cÃclica que hace esperar
indefinidamente ninguna transición está
activada. - Muchas veces queremos hacer un análisis de
nuestro modelo del sistema para ver si - Puede caer en un estado de deadlock.
- Qué secuencia de eventos hacen que el sistema
caiga en deadlock. - Si el deadlock es posible, cómo podemos
evitarlo. - Una red está libre de deadlock si su grafo de
alcanzabilidad no tiene nodos sin sucesores.
76Propiedades. Deadlock.
t2
t4
t3
t1
t5
t2
t4
t3
t1
t5
Si t3 se dispara gt la red entra en deadlock
77Propiedades. Liveness.
- Dado un estado inicial m0, una transición de una
Red de Petri está - Viva a nivel L0 (muerta) Si nunca va a poder
dispararse. - Viva a nivel L1 Si hay una secuencia desde m0
tal que la transición puede dispararse al menos
una vez. - Viva a nivel L2 Si la transición puede
dispararse al menos k veces dado un entero
positivo k. - Viva a nivel L3 Si existe alguna secuencia
infinita en la que la transición aparece
infinitas veces. - Viva a nivel L4 Si la transición está viva a
nivel L1 para cada estado alcanzable desde m0.
78Propiedades. Liveness.
t3
- t2 está muerta.
- t1 está viva a nivel L1.
- t3 está viva a nivel L3.
p1
t1
t2
p2
79Propiedades. Cubrimiento.
- Dada una red de Petri en estado m0, un estado y
puede ser cubierto si hay una secuencia de
transiciones desde m0 tal que en algún momento la
red llega a un estado m, tal que - m(pi) ? y(pi) ?pi ? P
80Propiedades. Persistencia.
- En una situación en la que hay más de una
transición habilitada... - Una red de Petri es persistente si, para
cualquier conjunto de transiciones habilitadas,
el disparo de una no deshabilita el resto. - Si ?ti, tj ? T I(ti) ? I(tj) ?, la red es
persistente. - Relacionada con el estudio de no-interrumpimiento
en modelos en los que se simulan varios procesos.
81Ejercicio(Entregar)
- Estudia las siguientes propiedades de la red de
Petri del ejercicio 1 utilizando el grafo de
alcanzabilidad (solución en transparencia 34) - Acotación.
- Reversibilidad.
- Persistencia.
- Conservación/Invariantes.
- Deadlock.
82Indice
- Definición y Semántica.
- Ejemplos.
- Grafo de alcanzabilidad y Cubrimiento.
- Propiedades.
- Técnicas Lineales/Algebraicas.
- Invariantes
- Técnicas Estructurales.
- Técnicas de Reducción.
- Lenguajes definidos por una Red de Petri.
- Semántica causal.
83Técnicas Lineales/Algebraicas
s3
t3
s1
t5
s4
t1
t2
t4
s2
s5
m04, 0, 0, 0, 1 t2 -1, 1, 1, 0, -1 m0 t2gt
m1 gt m0t2m1 3, 1, 1, 0, 0
84Representación Matricial de una Red de Petri
s3
t3
s1
t5
s4
t1
t2
t4
s2
s1 s2 s3 s4 s5 t1 1 -1 0 0 0 t2 -1
1 1 0 -1 t3 0 0 -1 1 0 t4 0 0
0 -1 1 t5 0 0 1 -1 0
s5
A
85Representación Matricial de una Red de Petri
- A es una matriz T x P
- Aji w(tj, pi) w(pi, tj)
- x x uA
- Donde u es el vector de disparo (1 en la
transición que dispara).
86Representación Matricial de una Red de Petri
s3
t3
s1
t5
s4
t1
t2
t4
s2
s1 s2 s3 s4 s5 t1 1 -1 0 0 0 t2 -1
1 1 0 -1 t3 0 0 -1 1 0 t4 0 0
0 -1 1 t5 0 0 1 -1 0
s5
4,0,0,0,10,1,0,0,0A 3,1,1,0,0
A
87Representación Matricial de una Red de Petri.
Ejercicio.
Calcula la Matriz de la siguiente red
p1
t1
p3
t2
t4
p4
t3
88Representación Matricial de una Red de Petri.
Ejercicio.
Calcula la Matriz de la siguiente red
p1
t1
p1 p2 p3 p4 t1 -1 1 1 0 t2 0 -1
-1 1 t3 1 0 1 -1 t4 0 1 -1 0
p3
A
t2
t4
p4
t3
89Representación Matricial de una Red de Petri
- m0 t2 t3 t5 t1 t3gt m5 gt
- m1 m001000A m2 m100100A
- m2 m001000A00100A m001100A
- m3 m001100A00001A m001101A
- m4 m011101A
- m5 m011201A
- 11201 vector de Parikh de t2 t3 t5 t1 t3
90Representación Matricial de una Red de Petri
- Si m ?gt m y p(?) es el vector de Parikh de ?
entonces - m m p(?)A
- Por tanto, un marcado m es alcanzable desde m si
- m m xA
- tiene solución para x en N
- (Condición necesaria pero no suficiente).
91Representación Matricial de una Red de Petri
p2
p4
10000
t1
t2
t1
t3
01001
00110
p1
t5
t3
t4
p5
p3
t2
t4
00011
t5
Marcado alcanzable? Soluciones (vector de
Parikh) 10000 SÃ 00000, 10101, 01011,
... 01001 SÃ 10000, ... 00110 SÃ 01000,..
. 00011 SÃ 10100, 01010 ,... 01100 No 110
01
p1 p2 p3 p4 p5 t1 1 1 0 0 1 t2 -1
0 1 1 0 t3 0 -1 0 1 0 t4 0 0
-1 0 1 t5 1 0 0 -1 -1
92Representación Matricial de una Red de Petri
- Problema no tenemos información sobre la
secuencia de disparos en el vector de Parikh. - No hay restricción para impedir el disparo de una
transición que no está habilitada. - La matriz A no refleja la estructura de la red en
los places p ?t p?t p?t
93Conservación
- Una red es conservativa respecto a ? ?1, ?2,
..., ?n sii ?AT0,...,0 - Dem
- ?) ? m0T ? mT ?m m ?gtm
- Por tanto, mT m0TAT p(?)T
- ? mT ? (m0TAT p(?) T) ? m0T ? A T p(?) T
- ? ? AT p(?) T 0, ? p(?) ? ? A T 0,...,0
- ?) ? AT 0
- Sea m m0 ? gt m , entonces mT m0TAT p(?)T
- ? mT ? (m0TAT p(?)T) ?m0T?AT p(?)T
- ? mT ? m0T
94Conservación. Ejercicio (1)
Demuestra que esta red es conservativa respecto
a ?1, 1, 1, 1, 0, 0, usando técnicas
algebraicas.
M2
eat2
E2
med2
M1
C1
C2
eat1
E1
med1
95Conservación. Ejercicio (1)
Respecto a ?1, 1, 1, 1, 0, 0
M2
eat2
E1 M1 E2 M2 C1 C2 Eat2 0 0 1 -1 1 -1 Med2
0 0 -1 1 1 1 Eat1 1 -1 0 0 1 -1 Med1
-1 1 0 0 1 1
E2
med2
M1
?AT 0, 0, 0, 0
C1
C2
eat1
E1
med1
96Conservación. Ejercicio (1)
Calcula las invariantes en places de esta red
p1 p2 p3 p4 t1 -1 1 1 0 t2 0 -1
-1 1 t3 1 0 0 -1 t4 0 1 -1 0
p1
A
t1
p3
t2
t4
p4
t3
97Conservación. Ejercicio (1)
t1 t2 t3 t4 p1 -1 0 1 0 p2 1 -1
0 1 p3 1 -1 0 -1 p4 0 1 -1 0
? AT0
AT
-?1 ?2 ?3 0 - ? 2 ?3 ?4
0 ?1 ?4 2?2 ?2 ?3 ? 1 - ?4
0 ? 2 1 1 2 , ... ? 2 ?3
0
98Ejercicio (Entregar).
- Calcular las invariantes en places y transiciones
de la red correspondiente al ejercicio 2
entregado el último dÃa.