Redes de Petri bsicas PT, B - PowerPoint PPT Presentation

1 / 98
About This Presentation
Title:

Redes de Petri bsicas PT, B

Description:

Salida k. vac o. Registro. entrada k 1. lleno. Unidad k 1. ocupada ... Salida k 1. lleno. 31. Ejemplos. Sistemas Paralelos. La cena de los fil sofos. E1. M1 ... – PowerPoint PPT presentation

Number of Views:495
Avg rating:3.0/5.0
Slides: 99
Provided by: juande85
Category:

less

Transcript and Presenter's Notes

Title: Redes de Petri bsicas PT, B


1
Redes de Petri básicas(P/T, BW)
  • Juan de Lara con modificaciones de Gonzalo
    Martínez Muñoz

2
Indice
  • 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.

3
Definició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
4
Definición
Algunas interpretaciones típicas de estados y
transiciones.
5
Definició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 ? ?

6
Definició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.

7
Definició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
8
Semá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

9
Semántica regla de transición o disparo
  • Ejemplos

Desactivada
Activada
Activada
Activada
9
10
Semá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.

11
Semá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
12
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) ? 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)

13
Transiciones 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
14
Algunos 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
15
Enlaces Inhibidores.
p
Si (s, t) es un enlace inhibidor, entonces t sólo
está habilitada si m(s) 0.
t
q
s
16
Ejemplo.
Arrival
Averia
Queue
Process
En Reparación
Avería-I
Busy
Avería-B
Arreglado
Finish
Exit
Idle
Borrado
17
Ejercicio
  • 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
18
Solució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
19
Ejercicio
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
20
Solució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
21
Modificar 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
22
Solució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
23
Redes 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 ? ?

24
Pesos. 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

25
Pesos. 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)

26
Pesos. 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
27
Indice
  • 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.

28
Ejemplos. 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
29
Ejemplos. Máquinas de Estados.
1/1
0/0
0/0
1/1
S0
S1
S0
0
0
1
1
S1
30
Ejemplos. 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
31
Ejemplos. Sistemas Paralelos. La cena de los
filósofos.
C4
C5
C3
M1
C2
E1
C1
32
Ejemplos. Reacciones Químicas.
H2C2O4
CO2
2
H2C2O4 ? 2e-2H2CO2 2e-2HH2O2 ?2H2O
H
2
2
H2O2
2
2
e-
2
H2O
33
Ejercicio (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.

34
Solución
Componente 1
Componente 2
Id2
A
B
D
Id1
C
AEx
BEx
DEx
CEx
CWait
BWait
DOut
Disco
HDId
HDQueue
HDEnd
Writing
35
Indice
  • 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.

36
Alcanzabilidad.
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.
37
Grafo 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)

38
Grafo 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.
39
Grafo de Alcanzabilidad. Ejercicio.
prod
cons
empty
Ready consume
deliver
read
Ready Produce
full
cwait
pwait
40
Grafo 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
41
Ejercicio (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
42
Ejercicio
  • 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

43
Solución(Sólo entradas de este y oeste)
From East
east
From West
west
44
Grafo 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

45
Grafo 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)
46
Grafo de Cubrimiento.
(1 0 0 0)
p2
t1
t2
p1
t1
p4
p3
t3
47
Grafo de Cubrimiento.
(1 0 0 0)
p2
t1
(0 1 1 0)
t2
t2
t3
p1
t1
p4
p3
t3
48
Grafo de Cubrimiento.
(1 0 0 0)
p2
t1
(0 1 1 0)
t2
t2
t3
p1
t1
(1 0 w 0)
p4
p3
t3
49
Grafo 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
50
Grafo 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)
51
Grafo de Cubrimiento.
Ejercicio Calcular el grafo de cubrimiento de
esta red
p2
p1
t1
p3
t2
52
Grafo 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)
53
Grafo 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)
54
Ejercicio Calcula el grafo de cubrimiento
p1
t1
p3
t2
t4
p4
t3
55
Solució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
56
Grafo 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
57
Grafo 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
58
Indice
  • 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.

59
Propiedades
  • Capacidad.
  • Acotación.
  • Reversibilidad.
  • Conservación.
  • Deadlock / Liveness.
  • Cubrimiento.
  • Persistencia.

60
Propiedades. Capacidad.
Arrival
Queue
Capacidad infinita
Process
Capacidad finita 1
Busy
Idle
Finish
Exit
61
Propiedades. 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
62
Ejercicios. 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
63
Ejercicios. 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
64
Propiedades. 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
65
Propiedades. 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
66
Propiedades. Capacidad.
Reemplazar el arco inhibidor desde un place
acotado por un complemento débil.
p
t
q
k3
s
67
Propiedades. 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.

68
Propiedades. 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.

69
Propiedades. 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
70
Ejercicios. Reversibilidad. Es reversible esta
red?
Sí, podemos volver a m0 desde cualquier marcado
M2
eat2
E2
med2
M1
C1
C2
eat1
E1
med1
71
Propiedades. 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
72
Propiedades. 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

73
Ejercicios. Conservación. Es conservativa esta
red?
M2
eat2
E2
med2
M1
C1
C2
eat1
E1
med1
74
Ejercicios. 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
75
Propiedades. 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.

76
Propiedades. Deadlock.
t2
t4
t3
t1
t5
t2
t4
t3
t1
t5
Si t3 se dispara gt la red entra en deadlock
77
Propiedades. 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.

78
Propiedades. Liveness.
t3
  • t2 está muerta.
  • t1 está viva a nivel L1.
  • t3 está viva a nivel L3.

p1
t1
t2
p2
79
Propiedades. 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

80
Propiedades. 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.

81
Ejercicio(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.

82
Indice
  • 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.

83
Té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
84
Representació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
85
Representació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).

86
Representació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
87
Representación Matricial de una Red de Petri.
Ejercicio.
Calcula la Matriz de la siguiente red
p1
t1
p3
t2
t4
p4
t3
88
Representació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
89
Representació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

90
Representació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).

91
Representació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
92
Representació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

93
Conservació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

94
Conservació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
95
Conservació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
96
Conservació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
97
Conservació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
98
Ejercicio (Entregar).
  • Calcular las invariantes en places y transiciones
    de la red correspondiente al ejercicio 2
    entregado el último día.
Write a Comment
User Comments (0)
About PowerShow.com