Documente Academic
Documente Profesional
Documente Cultură
Objetivos
• Comprender os conceptos fundamentales de
teoria de redes de Petri.
• Modelar problemas de natureza concurrente,
no determinísta, asíncrona etc.
• Conocer los métodos de análisis de
propiedades cualitativas.
• Estudiar los modelos temporizados.
• Modelar problemas considerando aspectos
temporales.
• Analizar prestaciones considerando los
modelos temporales.
1
Indice
• Definiciones Propiedades
• Clasificación Comportamiento
Estructurales
• Conceptos Básicos Análisis Cualitativo
• Modelos Semánticos Grafo de Marcados
Ecuación de Estados
• Redes Elementales Invariantes
• Modelado de Redución
Problemas Clásicos Modelado y Análisis de
• Clases Problemas
Indice
2
Indice
Modelos de Alto Nível
Introducción a CPN
Bibliografía:
•Lectures on Petri Nets (Advances in Petri Nets) - Spring Verlag, Editado por
W. Reisig, G Rozenberg
•Aplications of Petri nets in Manufacturing Systems. IEEE press. A.
Desrochers, R. Al-Jaar,
•Pratice of Petri Nets in Manufacturing. Chapman & Hall. Dicesare et al.
•Hardware Design and Petri Nets. Kluwer. Editado por A Yakovlev et al.
•Performance Modelling with Deterministic and Stochastic Petri nets. Wiley.
C. Lidemann.
•Performance Modelling of Automated Manufacturing Systems. Prentice Hall.
Viswanadham and Narahari
•Petri net Theory and the Modelling of Systems. Prentice Hall. Peterson.
Redes de Petri
3
Redes de Petri
• Áreas de Aplicación:
– Concurrencia – Modelado y Análisis de
– Arquitetura de Computadores Prestaciones
– Protocolo de Redes – Diagnóstico de Fallos
– Sistemas Operativos – Control de Tráfico
– Workflow
– Sistemas de Producción – Administración
– Sistemas Digitales – Química
– – etc
Hardware/Software Co-design
– Ingeniería de Software
– Sistemas de Tiempo Real
Redes de Petri
Nivel
de
Abstracción
Obj.RdP
Pr/T, CPN Espacio de
P,T Formalismos
CE, EN
Señales Externas
Determinístico
Interpretaciones
Estocástico
Predicados
Autónomo
Intervalo
Límites
4
Redes de Petri
Componentes
Lugar
Transición
Red
p0 t0 p1
Redes de Petri
• Períodos del Dia
anochecer anochecer
amanecer amanecer
noche noche
5
Redes de Petri
Componentes p0
Múltiples Arcos
Lugar
t0
Transición
p1 p2
Red
Arcos Valorados p0
3
p0 t0 p1 t0
2
p1 p2
Redes de Petri
• Línea de Producción
máquina
tornillos
3 depósito
3
monta pieza envia
pieza pieza
tuercas
6
Redes de Petri
• Línea de Producción
máquina
tornillos
3 depósito
3
monta pieza envia
pieza pieza
tuercas
Redes de Petri
• Línea de Producción
máquina
tornillos
3 depósito
3
monta pieza envia
pieza pieza
tuercas
7
Redes de Petri
N=(P,T,I,O,Mo)
P - Conjunto de Lugares - P={p0, ..., pn}
T - Conjunto de transiciones - T={t0, ..., tm}
I - Conjunto de arcos de entrada - I: P → T∞
O - Conjunto de arcos de salida - O: T → P∞
M0- Vector marcado inicial - M0:P → N
Redes de Petri
• Línea de Producción RLP=(P,T,I,O,M0)
P={tornillos, tuercas, pieza, máquina depósito}
T={monta_pieza,envia_pieza}
máquina I={I(monta_pieza),I(envia_pieza)}
tornillos
O={O(monta_pieza),O(envia_pieza)}
I(monta_pieza)=[tornillos, tornillos, tornillos,
3 depósito tuercas, tuercas, tuercas, máquina],
I(envia_pieza)=[pieza]
3
envia O(monta_pieza)=[pieza]
monta pieza
pieza pieza O(envia_pieza)=[máquina, depósito]
tuercas
M0=|7,7,0,1,0|
8
Redes de Petri
N=(P,T,I,O,Mo)
P - Conjunto de Lugares - P={p0, ..., pn}
T - Conjunto de transiciones - T={t0, ..., tm}
I - Matriz de entrada - I: P × T → N
O - Matriz de salida - O: T × P → N
M0- Marcado inicial - M0:P → N
Redes de Petri
• Línea de Producción RLP=(P,T,I,O,M0)
P={tornillos, tuercas, pieza, máquina
depósito}
máquina T={monta_pieza,envia_pieza}
tornillos
m_p e_p m_p e_p
3 0 0 0 tornillos
3 depósito 3 0 0 0 tuercas
I= 1 0 O= 0 1 máquina
3 0 0 0 1 depósito
monta pieza envia 0 1 1 0 pieza
pieza pieza
tuercas
M0=|7,7,0,1,0|
9
Redes de Petri
• Definición: Place/Transition Nets - Relación de Flujo
N=(P,T,A,V,Mo)
P - Conjunto de Lugares - Estados locales
T - Conjunto de transicioness - Acciones
A - Arcos - A ⊆ (P × T) ∪ (T × P)
V - Valoración - V: A → N
M0- Marcado inicial - M0:P → N
Sea X = P ∪ T
•x={y T∈X | (x,y) ∈ A) - Conjunto de entrada
x•={y T∈X | (x,y) ∈ A) - Conjunto de salida
Redes de Petri
• Linea de Producción RLP=(P,T,A,V,M0)
P={tornillos, tuercas, pieza, máquina depósito}
máquina
T={monta_pieza,envia_pieza}
tornillos A={(tornillos, monta_pieza),(tuercas,
monta_pieza),(monta_pieza, pieza),
3 depósito ( pieza, envia_pieza),
(envia_pieza, máquina),
3 (envia_pieza, depósito)}
monta pieza envia V=|3,3,1,1,1,1|
pieza pieza
tuercas
M0=|7,7,0,1,0|
10
Redes de Petri
• Clasificación
Redes de Petri
Nivel
de
Abstracción
Obj.RdP
Pr/T, CPN Espacio de
P,T Formalismos
CE, EN
Señales Externas
Determinístico
Interpretaciones
Estocástico
Predicados
Autónomo
Intervalo
Límites
11
Redes de Petri
• P={p1,p2,p3,p4,p5,p6,p7}
• T={t1,t2,t3,t4,t5,t6}
p1 p4
100000 000000
010000 100000 t1 t4
001000 011000 t3 t6
I= 000100 O=000001 p2 p5
000010 000100
p7
000001 000010
100100 011010
t2 t5
p3 p6
Redes de Petri
12
Redes de Petri
Redes de Petri
Semántica de Disparo de Transición
• Reglas de habilitación p1 p4
M[tj> , M(pi) >=Ι(pi,tj)
t1 t4
∀ pi ∈P
t3 t6
• Reglas de disparo p2 p5
Si M[tj>M’ p7
t2 t5
M’(pi)= M0(pi) - I(pi,tj) + O(pi,tj)
∀ pi ∈P p3 p6
13
Redes de Petri
Semántica de Disparo de Transición
• Reglas de habilitación p1 p4
M[tj> , M(pi) >=Ι(pi,tj)
t1 t4
∀ pi ∈P
t3 t6
• Reglas de disparo p2 p5
Si M[tj>M’ p7
t2 t5
M’(pi)= M0(pi) - I(pi,tj) + O(pi,tj)
∀ pi ∈P p3 p6
Redes de Petri
• Transición Sink • Transición Source
p0 p0 t0 t0
t0 t0 p0 p0
Antes del Despues del Antes del Despues del
disparo disparo disparo disparo
14
Redes de Petri
p0 p’1
par dummy O sea, red sin self-loop
t’1
t0 p’’1
Redes de Petri
•Grafo de Marcados
p1 p4
Accesibles (Alcanzables)
M0
t1 t4
t1
t3 t6
p2 p5
M1
p7
t2 t5
p3 p6
15
Redes de Petri
•Grafo de Marcados
p1 p4
Accesibles (Alcanzables)
M0 t1 t4
t1 t3 t6
p2 p5
t2 M1 p7
t2 t5
M3 p3 p6
Redes de Petri
•Grafo de Marcados
p1 p4
Accesibles (Alcanzables)
t1 t4
M0
t3 t1 t4 t6 t3 t6
p2 p5
M2
t2 M1 M4 p7
M3 t4 t3 t6 t1 t2 t5
t6 M5 M6 t3 p3 p6
t5 t2
M7
16
Redes de Petri
Sea M[tj>M’
p1 p4
M’(pi)=M0(pi) - I(pi,tj)+O(pi,tj)
∀ pi ∈P
t1 t4
M’(pi)=M0(pi) - I.s(tj)T+O.s(tj) T t3 t6
∀ pi ∈P p2 p5
M’(pi)=M0(pi) +(O - I).s(tj)T
p7
∀ pi ∈P
t2 t5
Para una secuencia sq=t0,t1,...tk
p3 p6
M’(pi)=M0(pi) +(O - I).[s(t0)T+...+ s(tk)T]
∀ pi ∈P
M’(pi)=M0(pi) +C.S, ∀ pi ∈P
Redes de Petri
• Ecuación de Estado
(Eq. Fundamental)
Para una secuencia sq=t0,t1,...
sq=t0,t1,...tk
tk
17
Redes de Petri
Ecuación de Estados
p1 p4
M’(pi) = M0(pi) + C × s, ∀ pi ∈P
t1 t4
t3 t6
Matriz de Incidencia p2 p5
C=O-I p7
t2 t5
m1 = 1 -1
m2 = 0 1
m3 = 0 0
p3 p6
m4 = 1 + 0
m5 = 0 0
m6 = 0 0
m7 = 1 -1
Redes de Petri
Ecuación de Estados
p1 p4
M’(pi) = M0(pi) + C × s, ∀ pi ∈P
t1 t4
t3 t6
Matriz de Incidencia p2 p5
C=O-I p7
t2 t5
m1 = 0
m2 = 1
m3 = 0
p3 p6
m4 = 1
m5 = 0
m6 = 0
m7 = 0
18
Redes de Petri
Semántica de Paso Simple
(single step) p1 p3
Step s⊆ T
• Reglas de habilitación s t2 t1
Redes de Petri
Semántica de Paso Simple
(single step) p1 p3
Step s⊆ T
• Reglas de habilitación s t2 t1
19
Redes de Petri
• Reglas de habilitación s t1
∀ pi ∈P O(p1)={t1} O(p2)=∅
• Reglas de disparo s=s(t1) = 2 ∑t1 ∈O(p2) s(t1) = 0
Sea M[sj>M’ ∑ t1 ∈O(p1) s(t1) = 2
M’(pi)=M0(pi) - ∑∀t∈O(pi)s(t) + M(p1) =2 M(p2) = 0
∑∀t∈I(pi)s(t), ∀ pi ∈P
Por tanto, s es disparable
Redes de Petri
• Reglas de habilitación s t1
∀ pi ∈P O(p1)={t1} O(p2)=∅
• Reglas de disparo s=s(t1) = 2 ∑t1 ∈O(p2) s(t1) = 0
Sea M[sj>M’ ∑t1 ∈O(p1) s(t1) = 2
M’(pi)=M0(pi) - ∑∀t∈O(pi)s(t) + M(p1) =2 M(p2) = 0
∑∀t∈I(pi)s(t), ∀ pi ∈P
Por tanto, s es disparable
20
Redes de Petri
• Reglas de habilitación s
t1
Redes Básicas
• Distribución
• Selección
21
Redes Básicas
• Distribución
• Selección
Redes Básicas
• Distribución
• Selección
22
Redes Básicas
• Distribución
• Selección
Redes Básicas
• Distribución
• Selección
23
Redes Básicas
• Distribución
• Selección
Conflicto Estructural
• N=(P,T,I,O), t1, t2 ∈ T
están en conflicto
estructural iif ∃p ∈ P tal t1 t2
que I(p,t1) × I(p,t2) ≠ 0 p
24
Conflicto Efectivo
• N=(P,T,I,O,M0), t1, t2 ∈ T
están en conflicto efectivo
t1 t2
para M’ si está en p
conflicto estructual y
M[t1>, M[t2> y
M(p) < I(p,t1) + I(p,t2)
Confusión
• Simétrica •Asimétrica
p2
p0 p1
t2
p0 p1
t0 t1 t2
t0 y t2 son concurrentes, t0 t1
pero están en conflicto con t0 y t2 son concurrentes, pero si t2
t1. El disparo de t1 se dispara primero t0 e t1 estarán
imposibilita el disparo de t0 en conflicto efectivo.
y t2.
25
Flujo de Control
• Computación Simple • Secuencia
Flujo de Control
• If-then-else
(a) (¬a)
26
Flujo de Control
• While-do
(a) (¬a)
Flujo de Control
• While-do
(a) (¬a)
27
Flujo de Control
• While-do
(a) (¬a)
Flujo de Control
• While-do
(a) (¬a)
28
Flujo de Control
• While-do
(a) (¬a)
Flujo de Control
• For-do
nit nit
n=3 n=3
29
Flujo de Control
• For-do
nit nit
n=3 n=3
Flujo de Control
• For-do
nit nit
n=3 n=3
30
Flujo de Control
• For-do
nit nit
n=3 n=3
Flujo de Control
• For-do
nit nit
n=3 n=3
31
Flujo de Control
• For-do
nit nit
n=3 n=3
Flujo de Control
• For-do
nit nit
n=3 n=3
32
Flujo de Control
• For-do
nit nit
n=3 n=3
Flujo de Control
• For-do
nit nit
n=3 n=3
33
Flujo de Control
• For-do
nit nit
n=3 n=3
Flujo de Control
• For-do
nit nit
n=3 n=3
34
Flujo de Control
• Sub-rutina
Flujo de Control
• Sub-rutina
35
Flujo de Control
• Sub-rutina
Flujo de Control
• Sub-rutina
36
Flujo de Control
• Sub-rutina
Flujo de Control
• Sub-rutina
37
Flujo de Control
• Sub-rutina
Flujo de Control
• Sub-rutina
38
Flujo de Control
• Sub-rutina
Procesos Paralelos
M0
p0
M0
t0 M1
p1
p2
M1
t1 t2 M2 M3
p3 p4 M2
M4
t3
p5 M3
M5
Reachability Graph Step Graph
39
Procesos Paralelos
M0
p0 t0
M0
t0 M1
s0={t0}
p1
p2
M1
t1 t2 M2 M3
p3 p4 M2
M4
t3
p5 M3
M5
Reachability Graph Step Graph
Procesos Paralelos
M0
p0 t0
M0
t0 M1
s0={t0}
p1 t1
p2
M1
t1 t2 M2 M3
p3 p4 M2
M4
t3
p5 M3
M5
Reachability Graph Step Graph
40
Procesos Paralelos
M0
p0 t0
M0
t0 M1
s0={t0}
p1 t1
p2
M1
t1 t2 M2 M3
t2
p3 p4 M2
M4
t3
p5 M3
M5
Reachability Graph Step Graph
Procesos Paralelos
M0
p0
t0
M0
t0 M1
s0={t0}
p1 t1 t2
p2
M1
t1 t2 M2 M3 s1={t1,t2}
t2 t1
p3 p4 M2
M4
t3
p5 M3
M5
Reachability Graph Step Graph
41
Procesos Paralelos
M0
p0 t0
M0
t0 M1
s0={t0}
p1 t1 t2
p2
M1
t1 t2 M2 M3 s1={t1,t2}
t2 t1
p3 p4 M2
M4
t3 s2={t3}
t3 M3
p5
M5
Reachability Graph Step Graph
Exclusión Mútua
p1 p4
t1 t4
t3 t6
p2 p5
p7
t2 t5
p3 p6
42
Exclusión Mútua
p1 p4
t1 t4
t3 t6
p2 p5
p7
t2 t5
p3 p6
Exclusión Mútua
p1 p4
t1 t4
t3 t6
p2 p5
p7
t2 t5
p3 p6
43
Exclusión Mútua
p1 p4
t1 t4
t3 t6
p2 p5
p7
t2 t5
p3 p6
Computación Data-Flow
x
x+y
t4 (x+y)/y
y
y t1
t0
t5 e(x+y)/y
y
t2 y<>0
t3
y=0
44
Computación Data-Flow
x
x+y
t4 (x+y)/y
y
y t1
t0
t5 e(x+y)/y
y
t2 y<>0
t3
y=0
Computación Data-Flow
x
x+y
t4 (x+y)/y
y
y t1
t0
t5 e(x+y)/y
y
t2 y<>0
t3
y=0
45
Computación Data-Flow
x
x+y
t4 (x+y)/y
y
y t1
t0
t5 e(x+y)/y
y
t2 y<>0
t3
y=0
Computación Data-Flow
x
x+y
t4 (x+y)/y
y
y t1
t0
t5 e(x+y)/y
y
t2 y<>0
t3
y=0
46
Computación Data-Flow
x
x+y
t4 (x+y)/y
y
y t1
t0
t5 e(x+y)/y
y
t2 y<>0
t3
y=0
Pipeline
Entrada Salida
Inter- UB_P
UA_P
conexión
47
Pipeline
Entrada Salida
Inter- UB_P
UA_P
conexión
Pipeline
Entrada Salida
Inter- UB_P
UA_P
conexión
48
Pipeline
Entrada Salida
Inter- UB_P
UA_P
conexión
Pipeline
Entrada Salida
Inter- UB_P
UA_P
conexión
49
Pipeline
Entrada Salida
Inter- UB_P
UA_P
conexión
Pipeline
Entrada Salida
Inter- UB_P
UA_P
conexión
50
Pipeline
Entrada Salida
Inter- UB_P
UA_P
conexión
Pipeline
Entrada Salida
Inter- UB_P
UA_P
conexión
51
Comunicación
Síncrona
p0 p1
t0
p2 p3
Comunicación
Síncrona
p0 p1
t0
p2 p3
Asíncrona
p0 p1
t0 p4 t1
p2 p3
52
Comunicación
Síncrona
p0 p1
t0
p2 p3
Asíncrona
p0 p1
t0 p4 t1
p2 p3
Comunicación
Síncrona Síncrona (send/ack)
p0 p1 p0 p1
t0 t0 p4 t1
p2 p3 p2 p3
Asíncrona t2 t4
p0 p1
p4 p6 p5
t0 p4 t1
p2 p3
53
Comunicación
Síncrona Síncrona (send/ack)
p0 p1 p0 p1
t0 t0 p4 t1
p2 p3 p2 p3
Asíncrona t2 t4
p0 p1
p4 p6 p5
t0 p4 t1
p2 p3
Comunicación
Síncrona Síncrona (send/ack)
p0 p1 p0 p1
t0 t0 p4 t1
p2 p3 p2 p3
Asíncrona t2 t4
p0 p1
p4 p6 p5
t0 p4 t1
p2 p3
54
Comunicación
Síncrona Síncrona (send/ack)
p0 p1 p0 p1
t0 t0 p4 t1
p2 p3 p2 p3
Asíncrona t2 t4
p0 p1
p4 p6 p5
t0 p4 t1
p2 p3
Comunicación
Síncrona Síncrona (send/ack)
p0 p1 p0 p1
t0 t0 p4 t1
p2 p3 p2 p3
Asíncrona t2 t4
p0 p1
p4 p6 p5
t0 p4 t1
p2 p3
55
Comunicación
Buffer Limitado
p4
p0 p1
t0 p5 t1
p2 p3
Comunicación
Buffer Limitado
p4
p0 p1
t0 p5 t1
p2 p3
56
Comunicación
Buffer Limitado
p4
p0 p1
t0 p5 t1
p2 p3
Comunicación
Buffer Limitado
p4
p0 p1
t0 p5 t1
p2 p3
57
Comunicación
Buffer Limitado
p4
p0 p1
t0 p5 t1
p2 p3
Comunicación
Buffer Limitado
p4
p0 p1
t0 p5 t1
p2 p3
58
Productor/Consumidor
Buffer Ilimitado
Productor Consumidor
p0 p2
buffer
t0 t2
p1 p3
t1 t3
Productor/Consumidor
Buffer Ilimitado
Productor Consumidor
p0 p2
buffer
t0 t2
p1 p3
t1 t3
59
Productor/Consumidor
Buffer Ilimitado
Productor Consumidor
p0 p2
buffer
t0 t2
p1 p3
t1 t3
Productor/Consumidor
Buffer Ilimitado
Productor Consumidor
p0 p2
buffer
t0 t2
p1 p3
t1 t3
60
Productor/Consumidor
Buffer Ilimitado
Productor Consumidor
p0 p2
buffer
t0 t2
p1 p3
t1 t3
Productor/Consumidor
Buffer Ilimitado
Productor Consumidor
p0 p2
buffer
t0 t2
p1 p3
t1 t3
61
Productor/Consumidor
Buffer Limitado
Productor Consumidor
p0 p2
t0 t2
p1 buffer p3
t1 t3
tamaño
Productor/Consumidor
Buffer Limitado
Productor Consumidor
p0 p2
t0 t2
p1 buffer p3
t1 t3
tamaño
62
Productor/Consumidor
Buffer Limitado
Productor Consumidor
p0 p2
t0 t2
p1 buffer p3
t1 t3
tamaño
Productor/Consumidor
Buffer Limitado
Productor Consumidor
p0 p2
t0 t2
p1 buffer p3
t1 t3
tamaño
63
Productor/Consumidor
Buffer Limitado
Productor Consumidor
p0 p2
t0 t2
p1 buffer p3
t1 t3
tamaño
Productor/Consumidor
Buffer Limitado
Productor Consumidor
p0 p2
t0 t2
p1 buffer p3
t1 t3
tamaño
64
Productor/Consumidor
Buffer Limitado
Productor Consumidor
p0 p2
t0 t2
p1 buffer p3
t1 t3
tamaño
Productor/Consumidor
Buffer Limitado
Productor Consumidor
p0 p2
t0 t2
p1 buffer p3
t1 t3
tamaño
65
Productor/Consumidor
Buffer Limitado
Productor Consumidor
p0 p2
t0 t2
p1 buffer p3
t1 t3
tamaño
Productor/Consumidor
Buffer Limitado
Productor Consumidor
p0 p2
t0 t2
p1 buffer p3
t1 t3
tamaño
66
Productor/Consumidor
Buffer Limitado
Productor Consumidor
p0 p2
t0 t2
p1 buffer p3
t1 t3
tamaño
Productor/Consumidor
Buffer Limitado
Productor Consumidor
p0 p2
t0 t2
p1 buffer p3
t1 t3
tamaño
67
Productor/Consumidor
Buffer Limitado
Productor Consumidor
p0 p2
t0 t2
p1 buffer p3
t1 t3
tamaño
Productor/Consumidor
Buffer Limitado
Productor Consumidor
p0 p2
t0 t2
p1 buffer p3
t1 t3
tamaño
68
Lectores/Escritores
Lectores Escritores
p0 p2
comienza 4
t0 a leer t2 comienza
a escribir
p1 p3
termina
t1 de leer t3 termina
4
de escribir
Lectores/Escritores
Lectores Escritores
p0 p2
comienza 4
t0 a leer t2 comienza
a escribir
p1 p3
termina
t1 de leer t3 termina
4
de escribir
69
Lectores/Escritores
Lectores Escritores
p0 p2
comienza 4
t0 a leer t2 comienza
a escribir
p1 p3
termina
t1 de leer t3 termina
4
de escribir
Lectores/Escritores
Lectores Escritores
p0 p2
comienza 4
t0 a leer t2 comienza
a escribir
p1 p3
termina
t1 de leer t3 termina
4
de escribir
70
Lectores/Escritores
Lectores Escritores
p0 p2
comienza 4
t0 a leer t2 comienza
a escribir
p1 p3
termina
t1 de leer t3 termina
4
de escribir
Lectores/Escritores
Lectores Escritores
p0 p2
comienza 4
t0 a leer t2 comienza
a escribir
p1 p3
termina
t1 de leer t3 termina
4
de escribir
71
Lectores/Escritores
Lectores Escritores
p0 p2
comienza 4
t0 a leer t2 comienza
a escribir
p1 p3
termina
t1 de leer t3 termina
4
de escribir
comienza
a pensar Comida de los Filósofos comienza
a pensar
pensando
pensando
comienza a tener hambre
con hambre con hambre
Filósofo 3 comienza a tener
tenedor 2 hambre
comienza comiendo comienza
a comer comiendo
a comer Filósofo 2
comiendo
comienza
a comer
tenedor 3
con hambre tenedor 1
pensando
comienza
a pensar Filósofo 1
72
comienza
a pensar Comida de los Filósofos comienza
a pensar
pensando
pensando
comienza a tener hambre
con hambre con hambre
Filósofo 3 comienza a tener
tenedor 2 hambre
comienza comiendo comienza
a comer comiendo
a comer Filósofo 2
comiendo
comienza
a comer
tenedor 3
con hambre tenedor 1
pensando
comienza
a pensar Filósofo 1
comienza
a pensar Comida de los Filósofos comienza
a pensar
pensando
pensando
comienza a tener hambre
con hambre con hambre
Filósofo 3 comienza a tener
tenedor 2 hambre
comienza comiendo comienza
a comer comiendo
a comer Filósofo 2
comiendo
comienza
a comer
tenedor 3
con hambre tenedor 1
pensando
comienza
a pensar Filósofo 1
73
comienza
a pensar Comida de los Filósofos comienza
a pensar
pensando
pensando
comienza a tener hambre
con hambre con hambre
Filósofo 3 comienza a tener
tenedor 2 hambre
comienza comiendo comienza
a comer comiendo
a comer Filósofo 2
comiendo
comienza
a comer
tenedor 3
con hambre tenedor 1
pensando
comienza
a pensar Filósofo 1
comienza
a pensar Comida de los Filósofos comienza
a pensar
pensando
pensando
comienza a tener hambre
con hambre con hambre
Filósofo 3 comienza a tener
tenedor 2 hambre
comienza comiendo comienza
a comer comiendo
a comer Filósofo 2
comiendo
comienza
a comer
tenedor 3
con hambre tenedor 1
pensando
comienza
a pensar Filósofo 1
74
comienza
a pensar Comida de los Filósofos comienza
a pensar
pensando
pensando
comienza a tener hambre
con hambre con hambre
Filósofo 3 comienza a tener
tenedor 2 hambre
comienza comiendo comienza
a comer comiendo
a comer Filósofo 2
comiendo
comienza
a comer
tenedor 3
con hambre tenedor 1
pensando
comienza
a pensar Filósofo 1
Modelando Interacciones
Múltiples Procesos
MakeA MakeB Assemble
75
Modelando Interacciones
Múltiples Procesos
MakeA MakeB Assemble
makeA makeB
ready assemble
used
Modelando Interacciones
Múltiples Procesos
MakeA MakeB Assemble
makeA makeB
ready assemble
used
76
Modelando Interacciones
Múltiples Procesos
MakeA MakeB Assemble
makeA makeB
ready assemble
used
Modelando Interacciones
Múltiples Procesos
MakeA MakeB Assemble
makeA makeB
ready assemble
used
77
Modelando Interacciones
Múltiples Procesos
MakeA MakeB Assemble
makeA makeB
ready assemble
used
Modelando Interacciones
Múltiples Procesos
MakeA MakeB Assemble
makeA makeB
ready assemble
used
78
Modelando Interacciones
Múltiples Procesos
MakeA MakeB Assemble
makeA makeB
ready assemble
used
Flujo de Control
de un Protocolo Simple
message
message
ack
ack
message
message ack
Sender Channel Receiver ack
79
Protocolo 1
Simplex sin restricciones
Protocolo 2
Stop and Wait
80
Protocolo 3
(Retransmisión y Canal no confiable)
void sender1(void) void receiver1(void)
{seq_nr next;_frame_to_send; {
frame s; packet buffer; frame r,s; seq_nr next;
event_type event; frame_expected;
next_frame_to_send=0; event_type event;
from_network_layer(&buffer); while(true) {
while (true) { wait_for_event(&event);
s.info=buffer; if(event==frame_arrival) {
s.seq= next_frame_to_send; from_physical_layer(&r);
to_physical_layer(&s); if(r.seq==frame_expected){
start_timer(s.seq); to_network_layer(&r.info);
wait_for_event(&event); inc(frame_expected);
if(event==frame_arrival) { }
from_network_layer(&buffer); s.ack=1-frame_expected;
if(s.ack==next_frame_to_send){ to_physical_layer(&s);
from_network_layer(&buffer); }
inc(next_frame_to_send); }
}}}} }
Modelado
- Principios -
• Top-down
– Refinamiento
• Botton-up
– Composición
• Híbrida
– Refinamiento y Composición
81
• Top-down
p0
t4 t421
t0 p6
p1 2 p421 p422
t5
p2
t1 t2 P41 t422 t423
t41 t42
RF2
p3 2 p4 p423 p424
RF1 t424
t3 p42
p5
• Botton-up
p0 p0
t4
p2 p6
t0 t0
p1 2 t5
p2
Sincronización Fusión
t1 t2
p3 2 p4
t3 t3
p5 p5
82
• Más detalles cuando se presenten las
propiedades!
Sub-Clases
PN
SN PN Petri Net
SN Simple Net
FC
EFC Extended Free Choice
FC Free Choice
MG SM
MG Marked Graph
SM State Machine
EFC
83
Sub-Clases
• Complexidad × Decidibilidad
Sub-Clases
• Máquina de Estado (SM)
– Definición: Sea una red R=(P,T,I,O).
R es una SM iif |I(ti)|=|O(ti)|=1, ∀ ti ∈P.
.......
.......
.......
84
Sub-Clases
• Grafo Marcado (MG)
– Definición: Sea una red R=(P,T,I,O).
R es un MG iif |I(pi)|=|O(pi)|=1, ∀ pi ∈P.
.......
.......
.......
Sub-Clases
• Libre Elección (FC)
– Definición: Sea una red R=(P,T,I,O).
R es un FC iif I(tj)={pi} ó O(pi)={tj}, ∀ ti ∈T
y pi ∈P.
pi pi pk pi Conflicto
controlable
tj tj tj tm
– Cuando un lugar es entrada de más de una transición, este
lugar es la única entrada de esas transiciones. De esta
forma, todas esas transiciones estarán habilitadas ó no lo
estarán. Posibilita libremente la elección del evento a
realizar.
85
Sub-Clases
• Libre Elección (FC)
– Definición: Sea una red R=(P,T,I,O).
R es un FC iif I(tj)={pi} ó O(pi)={tj}, ∀ ti ∈T
y pi ∈P.
pi pi pk pi Conflicto
controlable
tj tj tj tm
– Cuando un lugar es entrada de más de una transición, este
lugar es la única entrada de esas transiciones. De esta
forma, todas esas transiciones estarán habilitadas ó no lo
estarán. Posibilita libremente la elección del evento a
realizar.
Sub-Clases
tj tj tj tm tj tm
pi pk
*Redes con esta estructura no son EFC
- Solución del conflicto no es libre tj tm
86
Confusión
Simétrica Asimétrica
p2
p0 p1
t2
p0 p1
t0 t1 t2
t0 t1
t0 y t2 son concurrentes, pero t0 y t2 son concurrentes, pero si
están en conflicto con t1. El t2 dispara primero t0 y t1 estarán
disparo de t1 imposibilita el en conflicto efectivo.
disparo de t0 y t2.
Sub-Clases
87
Propiedades
• Verificación
• Prueba
• Análisis
• Validación
Propiedades
• Verificación - está basada en algorítmos
determinísticos para responder si un modelo posee o
no una determiminada propiedad.
– one sided - respuestas: si o no
– más genérico - respuestas: si o no (mayor
complejidad)
88
Propiedades
• Análisis - está basada en algorítmos que no tienen
como objetivo la verificación de una determinada
propiedad. Al contrario, son algorítmos más genéricos
que proporcionan informaciones sobre diversas
propiedades y sus resultados puede ser utlizados
como base para algorítmos de verificación.
– Da lo mismo que la respuesta sea sí o no, no hay
prioridad de un sí sobre un no
– También son usadas para responder cuestiones de
tipo: ¿cuales son los conjuntos de lugares cuyo
sumatorio de marcas permanece constante?
Propiedades
• Validación - es el proceso de obtención de
confiabilidad de que el sistema funciona como era
deseado.
– El comportamento del sistema es comparado con la
expectativa de la persona que está validando el
sistema.
– Es un proceso inherentemente informal.
– En principio es un proceso realizado sobre el
sistema ya implantado. Sin embarbo, puede
también ser realizado sobre un modelo
(simulación).
– Verificación o análisis no garantizan que el sistema
funciona como se desea. De hecho, obtienen las
propiedades de los modelos.
89
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
Indica la posibilidad de alcanzar un determinado marcado por
el disparo de un número finito de transiciones, a partir de un
marcado inicial.
• Marcado Alcanzable: sea Mi[tj>Mk y Mk[th>Ml
entonces Mi[tj th>Ml. Por recurrencia designamos el
disparo de una secuencia s ∈ T* por M[s>M’. Decimos
que M’ es alcanzable desde M. El conjunto de todos
los posibles marcados alcanzables a partir de M0 en
la red N=(R, M0) se denota por:
A(R; M0)={M’ ∈ ℵm| M0[s>M’} (RS). m = |P|
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
•M’=(0,0,0,1) es accesible a
p0
partir de M0?
t0 t4
t1 t3
p2
90
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
•M’=(0,0,0,1) es accesible a
p0
partir de M0?
t0 t4
t1 t3
p2
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
•M’=(0,0,0,1) es accesible a
p0
partir de M0?
t0 t4
t1 t3
p2
91
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
•M’=(0,0,0,1) es accesible a
p0
partir de M0?
t0 t4
t1 t3
p2
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
•M’=(0,0,0,1) es accesible a
p0
partir de M0?
t0 t4
t1 t3
p2
92
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
•M’=(0,0,0,1) es accesible a
p0
partir de M0?
t0 t4
t1 t3
p2
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
•M’=(0,0,0,1) es accesible a
p0
partir de M0?
t0 t4
t1 t3
p2
93
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
p0 t5
p3
2 t3 •M’=(0,0,0,0,1) es un
t4
deadlock.
t6 t1 2 p2
•¿Este marcado es
2 3 alcanzable?
2 t2
p4 p1
94
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
p0 t5
p3
2 t3 •M’=(0,0,0,0,1) es un
t4
deadlock.
t6 t1 2 p2
•¿Este marcado es
2 3 alcanzable?
2 t2
p4 p1
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
p0 t5
p3
2 t3 •M’=(0,0,0,0,1) es un
t4
deadlock.
t6 t1 2 p2
•¿Este marcado es
2 3 alcanzable?
2 t2
p4 p1
95
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
p0 t5
p3
2 t3 •M’=(0,0,0,0,1) es un
t4
deadlock.
t6 t1 2 p2
•¿Este marcado es
2 3 alcanzable?
2 t2
p4 p1
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
p0 t5
p3
2 t3 •M’=(0,0,0,0,1) es un
t4
deadlock.
t6 t1 2 p2
•¿Este marcado es
2 3 alcanzable?
2 t2
p4 p1
96
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
p0 t5
p3
2 t3 •M’=(0,0,0,0,1) es un
t4
deadlock.
t6 t1 2 p2
•¿Este marcado es
2 3 alcanzable?
2 t2
p4 p1
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
p0 t5
p3
2 t3 •M’=(0,0,0,0,1) es un
t4
deadlock.
t6 t1 2 p2
•¿Este marcado es
2 3 alcanzable?
2 t2
p4 p1
97
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
p0 t5
p3
2 t3 •M’=(0,0,0,0,1) es un
t4
deadlock.
t6 t1 2 p2
•¿Este marcado es
2 3 alcanzable?
2 t2
p4 p1
Propiedades de
Comportamiento
• Alcanzabilidad (Reachability)
p0 t5
p3
2 t3 •M’=(0,0,0,0,1) es un
t4
deadlock.
t6 t1 2 p2
•¿Este marcado es
2 3 alcanzable?
2 t2
p4 p1 Respuesta: Sí
98
Propiedades de
Comportamiento
• Limitación (Boundedness)
Un lugar se dice limitado si el número de marcas que este
lugar puede almacenar es finito.
Propiedades de
Comportamiento
• Red Limitada : Decimos que una red N1=(R,
M0) es limitada (bounded) si k(pi) < ∞, ∀ pi ∈ P.
p0 p1 p2 p3 p4 p5
p4 p0
Mj = ( 0, 1, 1, 2, 1, 1)
t2 t0
p5 p3 p1
p2
t3 t1
99
Propiedades de
Comportamiento
• Red Limitada : Decimos que una red N1=(R,
M0) es limitada (bounded) si k(pi) < ∞, ∀ pi ∈ P.
p0 p1 p2 p3 p4 p5
p4 p0
Mj = ( 0, 1, 1, 1, 0, 2)
t2 t0
p5 p3 p1
p2
t3 t1
Propiedades de
Comportamiento
• Red Limitada : Decimos que una red N1=(R,
M0) es limitada (bounded) si k(pi) < ∞, ∀ pi ∈ P.
p0 p1 p2 p3 p4 p5
p4 p0
Mj = ( 0, 1, 1, 2, 1, 1)
t2 t0
p5 p3 p1
p2
t3 t1
100
Propiedades de
Comportamiento
• Red Limitada : Decimos que una red N1=(R,
M0) es limitada (bounded) si k(pi) < ∞, ∀ pi ∈ P.
p0 p1 p2 p3 p4 p5
p4 p0
Mj = ( 1, 0, 0, 3, 1, 1)
t2 t0
p5 p3 p1
p2
t3 t1
Propiedades de
Comportamiento
• Red Limitada : Decimos que una red N1=(R,
M0) es limitada (bounded) si k(pi) < ∞, ∀ pi ∈ P.
p0 p1 p2 p3 p4 p5
p4 p0
Mj = ( 1, 0, 0, 3, 1, 1)
t2 t0 •p4 es 1-limitado
•p3 es 3-limitado
p5 p3 p1
p2 •Red limitada
t3 t1
101
Propiedades de
Comportamiento
• Seguridad (binaria) (Safeness)
Es una particularización del concepto de Boundedness.
Propiedades de
Comportamiento
• Seguridad (Safeness)
p0
t0
p1 p2
t3 t1 p3 t2
p5 p4
102
Propiedades de
Comportamiento
• Seguridad (Safeness)
p0
t0
p1 p2
t3 t1 p3 t2
p5 p4
Propiedades de
Comportamiento
• Seguridad (Safeness)
p0
t0
p1 p2
t3 t1 p3 t2
p5 p4
103
Propiedades de
Comportamiento
• Seguridad (Safeness)
p0
t0
p1 p2
t3 t1 p3 t2
p5 p4
Propiedades de
Comportamiento
• Seguridad (Safeness)
p0
t0
p1 •Red safe
p2
t3 t1 p3 t2
p5 p4
104
Propiedades de
Comportamiento
• Seguridad (Safeness)
Transformando una red no-segura en segura
Propiedades de
Comportamiento
• Seguridad (Safeness)
– Transformando una red no-segura en segura
pk
pz ti
pz ti pk
p’k
pz ti pk tj pz ti pk tj
p’k
105
Propiedades de
Comportamiento
• Seguridad (Safeness)
– Transformando una red p’1
no-segura en una segura
p0 t3 p0 t3
p1
p1 p’4
p’2
t0 t1 t2 t0 t1 t2
p’0
p2 p4 p2 p4
p3 p3
Red no-segura Red segura
Propiedades de
Comportamiento
• Deadlock - Indica la imposibilidad de disparo de
cualquier transición de la red.
p0 p3
t0 t3
p6
p1 p4
t1 t4
p2 p5
p7
t2 t5
106
Propiedades de
Comportamiento
• Deadlock - Indica la imposibilidad de disparo de
cualquier transición de la red.
p0 p3
t0 t3
p6
p1 p4
t1 t4
p2 p5
p7
t2 t5
Propiedades de
Comportamiento
• Deadlock - Indica la imposibilidad de disparo de
cualquier transición de la red.
p0 p3
t0 t3
p6
p1 p4
Deadlock
t1 t4
p2 p5
p7
t2 t5
107
Propiedades de
Comportamiento
• Deadlock - Indica la imposibilidad de disparo de
cualquier transición de la red.
p0 p3
t0 t3
p6
p1 p4
t1 t4
p2 p5
p7
t2 t5
Propiedades de
Comportamiento
• Deadlock - Indica la imposibilidad de disparo de
cualquier transición de la red.
p0 p3
t0 t3
p6
p1 p4
t1 t4
p2 p5
p7
t2 t5
108
Propiedades de
Comportamiento
• Deadlock - Indica la imposibilidad de disparo de
cualquier transición de la red.
p0 p3
t0 t3
p6
p1 p4
t1 t4
p2 p5
p7
t2 t5
Propiedades de
Comportamiento
• Deadlock - Indica la imposibilidad de disparo de
cualquier transición de la red.
p0 p3
t0 t3
p6
p1 p4
t1 t4
p2 p5
p7
t2 t5
109
Propiedades de
Comportamiento
• Deadlock - Indica la imposibilidad de disparo de
cualquier transición de la red.
p0 p3
t0 t3
p6
p1 p4
t1 t4
p2 p5
p7
t2 t5
Propiedades de
Comportamiento
• Deadlock - Indica la imposibilidad de disparo de
cualquier transición de la red.
p0 p3
t0 t3
p6
p1 p4
t1 t4
p2 p5
p7
t2 t5
110
Propiedades de
Comportamiento
• Deadlock - Indica la imposibilidad de disparo de
cualquier transición de la red.
p0 p3
t0 t3
p6
p1 p4
Sin deadlock
t1 t4
p2 p5
p7
t2 t5
Propiedades de
Comportamiento
Para que un sistema esté en
deadlock es necesario que
sean satisfechas estas tres (3)
condiciones :
111
Propiedades de
Comportamiento
• Transición Potencialmente Disparable:
llamamos una transición tj potencialmente disparable en un
marcado M0 si ∃ M’ ∈ A(R; M0) tal que M’[tj>.
Propiedades de
Comportamiento
• Liveness es más fuerte que deadlock freedom
M0
p0
t0
p1 p2
t1
p3 t3 p4
t2 t4
112
Propiedades de
Comportamiento
• Liveness es más fuerte que deadlock freedom
M0
p0
t0 t0
M1
p1 p2
t1
p3 t3 p4
t2 t4
Propiedades de
Comportamiento
• Liveness es más fuerte que deadlock freedom
M0
p0
t0 t0
M1
p1 p2
t1
t1 M2
p3 t3 p4
t2 t4
113
Propiedades de
Comportamiento
• Liveness es más fuerte que deadlock freedom
M0
p0
t0 t0
M1
p1 p2
t1
t1 M2
p3 t3 p4 t3
t2 t4
M3
Propiedades de
Comportamiento
• Liveness es más fuerte que deadlock freedom
•Deadlock free
•Non-live M0
p0
t0 t0
M1
p1 p2
t1 t4
t1 M2
p3 t3 p4 t3
t2 t4
M3
114
Propiedades de
Comportamiento
• Liveness es una propiedad “cara” de analizar.
• Una transición ti puede clasificarse en niveles.
• Niveles de liveness:
0 . Muerta (dead) o nivel N0, si ∃ s ∈ L(R,M0), tal que ti ∈ s, o
sea, ∃ M’ ∈ A(R,M0), tal que M’[ti> .
1 . N1-live, si ti puede ser disparada por lo menos una vez en
alguna secuencia s ∈ L(R,M0).
2 . N2-live, si ti puede ser disparada por lo menos k veces en
alguna secuencia s ∈ L(R,M0).
3 . N3-live, si ti aparece un número infinito de veces en alguna
secuencia s ∈ L(R,M0).
4 . N4-live, o simplemente live, si ti es N1-live ∀ M’ ∈ A(R,M0),
Propiedades de
Comportamiento
• Cobertura (coverability) de un marcado: sea el
marcado M’ en una red N=(R,M0). M’ se dice
cubierto si existe M’’ ∈ A(R, M0) tal que
M’’(pi)≥M’(pi) ∀pi ∈ P.
115
Propiedades de
Comportamiento
• Reversibilidad: inicialmente una red se dice reversible
si para cada marcado Mi del conjunto de marcados
accesibles desde el marcado inicial puede ser
nuevamente alcanzado.
Propiedades de
Comportamiento
• Reversibilidad
p0
t0
p3
t2
p1
t3
t1 p2
116
Propiedades de
Comportamiento
• Reversibilidad
p0
t0
p3
t2
p1
t3
t1 p2
Propiedades de
Comportamiento
• Reversibilidad
p0
t0
p3
t2
p1
t3
t1 p2
117
Propiedades de
Comportamiento
• Reversibilidad
p0
t0
p3
t2
p1
t3 Reversible
t1 p2
Propiedades de
Comportamiento
• Reversibilidad
p0
t4
t0
p1 p2 p3
t2 t1 t3
118
Propiedades de
Comportamiento
• Reversibilidad
p0
t4
t0
p1 p2 p3
t2 t1 t3
Propiedades de
Comportamiento
• Reversibilidad
p0
t4
t0
p1 p2 p3
t2 t1 t3
119
Propiedades de
Comportamiento
• Reversibilidad
p0
t4
t0
p1 p2 p3
t2 t1 t3
Propiedades de
Comportamiento
• Reversibilidad
p0
t4
t0
p1 p2 p3
Reversible
t2 t1 t3
120
Propiedades de
Comportamiento
• Reversibilidad
p0 p2
t0 t1
p4
p1 p3
t2 t3
Propiedades de
Comportamiento
• Reversibilidad
p0 p2
t0 t1
p4
p1 p3
t2 t3
121
Propiedades de
Comportamiento
• Reversibilidad
p0 p2
t0 t1
p4
p1 p3
t2 t3
Propiedades de
Comportamiento
• Reversibilidad
p0 p2
t0 t1
p4
p1 p3
t2 t3
122
Propiedades de
Comportamiento
• Reversibilidad
p0 p2
t0 t1
p4
p1 p3
t2 t3
Propiedades de
Comportamiento
• Reversibilidad
p0 p2
t0 t1
p4
p1 p3
t2 t3
123
Propiedades de
Comportamiento
• Reversibilidad
p0 p2
t0 t1 Irreversible
p4
p1 p3
t2 t3
Propiedades de
Comportamiento
• Persistencia: una red se dice persistente si
para cualquier par de transiciones el disparo de
una no deshabilita la otra.
124
Propiedades de
Comportamiento
• Persistencia: todo grafo-marcado es persistente. No toda
red persistente es un grafo-marcado.
p0 p0
t0 t0
p1 p2 p1 p2
t1 t2 t1 t2
Persistentes
p4 p4
p3 p3
t3 t3
Grafo-marcado No es grafo-marcado
Propiedades de
Comportamiento
• Justicia Limitada (imparcialidad) (Bounded Fairness):
una red se dice bounded fair si para cualquier par de
transiciones el número de disparos de una mientras la
otra no se dispara está limitado.
125
Propiedades de
Comportamiento
• Justicia Limitada
p0 p5
p2
2
t1 t2 t3
t0 2
p4
p1 p6
p3 2
Propiedades de
Comportamiento
• Justicia Limitada
p0 p5
p2
2
t1 t2 t3
t0
p4 2
p1 p6
p3 2
S=t0
126
Propiedades de
Comportamiento
• Justicia Limitada
p0 p5
p2
2
t1 t2 t3
t0
p4 2
p1 p6
p3 2
S=t0,t1
Propiedades de
Comportamiento
• Justicia Limitada
p0 p5
p2
2
t1 t2 t3
t0 2
p4
p1 p6
p3 2
S=t0,t1,t0
127
Propiedades de
Comportamiento
• Justicia Limitada
p0 p5
p2
2
t1 t2 t3
t0
p4 2
p1 p6
p3 2
S=t0,t1,t0,t1
Propiedades de
Comportamiento
• Justicia Limitada
p0 p5
p2
2
t1 t2 t3
t0 2
p4
p1 p6
p3 2
S=t0,t1,t0,t1,t2
128
Propiedades de
Comportamiento
• Justicia Limitada
p0 p5
p2
2
t1 t2 t3
t0
p4 2
p1 p6
p3 2
S=t0,t1,t0,t1,t2,t3
Propiedades de
Comportamiento
• Distancia Sincrónica: relaciona el grado de
dependencia mútua entre eventos.
129
Propiedades de
Comportamiento
• Conservación: está relacionada con el
sumatorio de marcas a medida que se disparan
las transiciones.
Propiedades de
Comportamiento
• Red Extrictamente Conservativa
∑ M(pi) = 1, ∀pi ∈ P
t0 p2 t2
p0 p3
t1 p1 t3
t4
130
Propiedades de
Comportamiento
• Red Extrictamente Conservativa
∑ M(pi) = 1, ∀pi ∈ P
t0 p2 t2
p0 p3
t1 p1 t3
t4
Propiedades de
Comportamiento
• Red Extrictamente Conservativa
∑ M(pi) = 1, ∀pi ∈ P
t0 p2 t2
p0 p3
t1 p1 t3
t4
131
Propiedades de
Comportamiento
• Red Extrictamente Conservativa
∑ M(pi) = 1, ∀pi ∈ P
t0 p2 t2
p0 p3
t1 p1 t3
t4
Propiedades de
Comportamiento
• Red Extrictamente Conservativa
∑ M(pi) = 1, ∀pi ∈ P
t0 p2 t2
p0 p3
t1 p1 t3
t4
132
Propiedades de
Comportamiento
• Conservación: está relacionada con el
sumatorio de marcas a medida que se disparan
las transiciones.
Propiedades de
Comportamiento
• Conservación
∑ pi ∈ P w4i × m0(pi) = 17, ∀pi ∈ P
p0 p1
t0 t2 W1 = (3,0,1,0,0)
3 2 p6 2 W2 = (0,2,0,1,0)
p2 p3 W3 = (0,0,4,3,6)
W4 = (3,2,5,4,6)
t1 3 2 2 t3
133
Propiedades de
Comportamiento
• Conservación
∑ pi ∈ P w4i × m0(pi) = 17, ∀pi ∈ P
p0 p1
t0 t2 W1 = (3,0,1,0,0)
3 2 p6 2 W2 = (0,2,0,1,0)
p2 p3 W3 = (0,0,4,3,6)
W4 = (3,2,5,4,6)
t1 3 2 2 t3
Propiedades de
Comportamiento
• Conservación
∑ pi ∈ P w4i × m0(pi) = 17, ∀pi ∈ P
p0 p1
t0 t2 W1 = (3,0,1,0,0)
3 2 p6 2 W2 = (0,2,0,1,0)
p2 p3 W3 = (0,0,4,3,6)
W4 = (3,2,5,4,6)
t1 3 2 2 t3
134
Propiedades de
Comportamiento
• Conservación
∑ pi ∈ P w4i × m0(pi) = 17, ∀pi ∈ P
p0 p1
t0 t2 W1 = (3,0,1,0,0)
3 2 p4 2 W2 = (0,2,0,1,0)
p2 p3 W3 = (0,0,4,3,6)
W4 = (3,2,5,4,6)
t1 3 2 2 t3
Análisis de Propiedades de
Comportamiento
135
Grafo de Marcados
Accesibles (Alcanzables)
p1 p4
M0 t1 t4
t3 t1 t4 t6
M2 p7
t2 M1 M4 t3 p2 p5 t6
t2 t5
M3 t4 t3 t6 t1
t6 M5 M6 t3
p3 p6
t5 t2
A(N,M0)={M0,M1,M2,M3,M4,M5,M6,M7}
M7
A=RS - reachability set
Grafo de Marcados
Accesibles (Alcanzables)
• RG Infinito
p1
M0 t2 t1
p3 p2
A(N,M0)={M0,M1,M2,...}
A=RS - reachability set
136
Grafo de Marcados
Accesibles (Alcanzables)
• RG Infinito
p1
M0 t2 t1
t1
p3 p2
M1
A(N,M0)={M0,M1,M2,...}
A=RS - reachability set
Grafo de Marcados
Accesibles (Alcanzables)
• RG Infinito
p1
M0 t2 t1
t1
p3 p2
M1
t2
M2
A(N,M0)={M0,M1,M2,...}
A=RS - reachability set
137
Grafo de Marcados
Accesibles (Alcanzables)
• RG Infinito
p1
M0 t2 t1
t1
p3 p2
M1
t2
M2
t1 A(N,M0)={M0,M1,M2,...}
M3
A=RS - reachability set
Árbol de Cobertura
138
Árbol de Cobertura
• Rotule el marcado inicial M0 como • Obtenga un nuevo
raiz y discrimínelo como nuevo marcado M’que resulta del
• Mientras haya marcados nuevos, disparo de una transicoçpm
haga: t habilitada para M.
Seleccione un marcado M. • Si en el camino desde la
• Si M es idéntico a un raiz hasta el marcado M
marcado en el camino desde existe un marcado M’’ tal
la raiz hasta M, entonces que para todo lugar p
rotulelo como antiguo y
seleccione un nuevo M’(p)≥M’’(p) y M’≠M’’
marcado. entonces substituyase
Si ninguna transición está M’(p) por ω para cada p
habilitada para M, rotule este donde M’(p)>M’’(p).
marcado como final • Introduza M’ como nodo y
Mientras haya transiciones dree un arco rotulado como
habilitadas para M, haga lo t de M a M’ y rotule
siguiente para cada transición M’como nuevo.
habilitada:
Árbol de Cobertura
• CG
N p1
(1,0,0)
t2 t1 t0
(0,1,1)
p0 p2
t1 t2
(1,0,0) (1,0,ω)
t0 antiguo t0
(0,1, ω)
t1 t2
(1,0, ω) (1,0, ω)
antiguo antiguo
139
Árbol de Cobertura
t0 t2
p1 p2
t1
p3
Árbol de Cobertura
p1 p2
t1
p3
140
Árbol de Cobertura
t1
p3
Árbol de Cobertura
141
Árbol de Cobertura
Árbol de Cobertura
142
Árbol de Cobertura
Árbol de Cobertura
• N2
• N1
p0 p0
t0 t2 t0 t2
2
p1 p2 p1 p2
t1 t1
p3 p3
143
Árbol de Cobertura
• N2
• N1 t4
p1
t1 t2 t4 2 2
p3
p3 p2 t1 t3
p1
t3 p2
t2
S= t1t2t3 lleva a deadlock
Descripción Lineal
y
Objetos Estruturales
•Grafo de Marcados
Accesibles (Alcanzables) p1 p4
M0 t1 t4
t3 t1 t4 t6
M2 p7
t2 M1 M4 t3 p2 p5 t6
t2 t5
M3 t4 t3 t6 t1
t6 M5 M6 t3
p3 p6
t5 t2
A(N,M0)={M0,M1,M2,M3,M4,M5,M6,M7}
M7
A=RS - reachability set
144
Redes de Petri
• Solución de la Ecuación de p0 p2
Estado t0 t2
M’(pi)=M0(pi) +C.S, ∀ pi ∈P
• ALℵ(N,M0)=LRSℵ ={M ∈ ℵ|P|| t4 p1
p6
p3 t5
∃ s ∈ ℵ|T| donde t1 t3
M’(pi)=M0(pi) +C.S}
p4 p5
• Condición suficiente para no-
alcanzabilidad (polinomial)
• RS(N) ⊆ LRSℵ(N)
• Condición necesaria para
alcanzabilidad M’=(0,0,0,1,1,0,1)
• NP-Completo para redes s = (s0,s0,1+s3,s3,s0-1,s3)
genéricas Una solución:
s = (1,1,1,0,0,0)
Redes de Petri
• Solución de la Ecuación de
p1
Estado
• RS(N) ⊆ LRSℵ(N) t2 t1
• Condición suficiente para no-
alcanzabilidad p5 p4 p3 p2
• Condición necesaria para
alcanzabilidad t6 t5 t4 t3
p7 p6
• para M’=(0,1,0,0,1,0,0),
s=(1,1,0,2,2,0,2) es solución de ES, t7
pero M’∉ RS(N, M0)
145
Redes de Petri
• Solución de la Ecuación de
Estado
• RS(N) ⊆ LRSℵ(N) LRSℵ
• Condición suficiente para no- RS
alcanzabilidad
• Condición necesaria para
alcanzabilidad
Redes de Petri
• Solución de la Ecuación de
Estado p1 p5
M’(pi)=M0(pi) +C.S, ∀ pi ∈P p2 p6
• ALℜ(N,M0)=LRSℜ ={M ∈ ℜ|P|| t1 t2 t3 t4 t5
∃ s ∈ ℜ|T| donde
M’(pi)=M0(pi) +C.S} p3 p7
• RS(N) ⊆ LRSℵ(N) ⊆ LRSℜ(N) p4 p8
• Condición suficiente para no-
alcanzabilidad M’=(1,0,1,0,1,1,0,0)
• Condición necesaria para
alcanzabilidad M’∉RS, M’∉LRSℵ , pero
• Polinomial para redes genéricas
(método de eliminación de Gauss) M’∈ LRSℜ
s = (0,1,1,1/2,1/2)
146
Redes de Petri
• Solución de la Ecuación de
Estado
• RS(N) ⊆ LRSℵ(N) ⊆ LRSℜ(N) LRSℜ
• Condición suficiente para no- LRSℵ
alcanzabilidad
RS
• Condición necesaria para
alcanzabilidad
Redes de Petri
• Propiedades que se pueden analizar con la
Ecuación de Estados
– Condición necesaria para alcanzabilidad
– Condición suficiente para no-alcanzabiliad
– ¿El límite de p es igual a k? No existencia de M tal que
M(p) > k (condición suficiente)
– ¿Cual es el límite de p? (condición suficiente)
– ¿Son un par de lugares P’=(pi,pj)⊆ P mutuamente
exclusivos? No existencia de M tal que M(pi)+ M(pi)>1
– ¿Deadlock freedom? No existencia de M donde ninguna
transición esté habilitada (condición suficiente)
147
Redes de Petri
• ¿Es el límite de p igual a k? No existencia de M tal
que M(p) > k (condición suficiente)
M’(pi)=M0(pi) +C.S, ∀ pi ∈P
Si ∃ M’(p)>k, entonces M’(p)=k
• Ejemplo:
Es el límite de p3 = 4 ?
Si no existe M(p3) = 5 como solución de
M’(pi)=M0(pi) +C.S, ∀ pi ∈P, entonces el límite de p3
es 4
Redes de Petri
• ¿Cual es el límite de p? (condición suficiente)
148
Redes de Petri
• ¿Son un par de lugares P’=(pl,pj)⊆ P mútuamente
exclusivos? No existencia de M tal que M(pi)+ M(pi)>1
Si ∃ M tal que
M(pl)+ M(pj)>1
∀ M ∈ LRSℵ={M | M(pi) = M0(pi) + C.S, ∀ pi ∈P, M ≥ 1pi,pj
S≥0}
Entonces pl,pj son mútamente exclusivos
Redes de Petri
• ¿Son un sub-conjunto de lugares P’ ⊆ P mútuamente
exclusivos?
149
Redes de Petri
• ¿Deadlock freedom? No existencia de M donde
ninguna transición esté habilitada (condición
suficiente)
Invariantes de Transición
Sea M0 [s> M y M= M0
C.S = 0 ⇒ C. It = 0
T-flow vector): It :T → ℑ
(un vector)
T-semiflow vector): It :T → ℵ
(un vector)
Ley de repetición de transiciones (una ecuación)
Componente repetitivo (una red)
150
Invariantes de Transición
M0 [s> M y M= M0
Entonces, de M=M0 + C.S ⇒ M - M0 = C.S, tenemos
C.S = 0 ⇒ C. It = 0
I. s0 = s1 = s4
II. s2 = s3 = s5
p2 t2 p3 t3 p5 t5 Para s0 = 1 y s2= 0
p6 • It1 = (1,1,0,0,1,0)
Para s0 = 0 y s2 =1
p0 t0 p1 t1 p4 t4
• It2=(0,0,1,1,0,1)
• It3 = It1 + It2 = (1,1,1,1,1)
Invariantes de Transición
M0 [s> M y M= M0
Então, de M=M0 +C.S ⇒ M - M0 = C.S, temos
C.S = 0 ⇒ C. It = 0
I. T-semiflow (vector)
II. Ley de repetición (ecuación)
III. Componente repetitivo
(una red)
p2 t2 p3 t3 p5 t5
p6
•It1 = (1,1,0,0,1,0)
p0 t0 p1 t1 p4 t4
151
Invariantes de Transición
Invariantes de Lugar
• N se dice conservativa si ∑pi ∈ P wi × M (pi) = cte
• Dado que todo marcado debe satisfacer la ecuación de
estado, podemos hacer: M’=M0 + C.S
• Por tanto, para cualquier marcado inicial M0
WT.M’= WT.M0 = WT.(M0 + C.S)
WT.M0 = WT.M0 + WT. C.S
WT. C.S = 0
• Como S ≠ 0 ⇒ WT. C = 0
• Invariante de Lugar - Ip . C = 0
152
Invariantes de Lugar
• P-semiflow (un vector)
• Marcado invariante o ley de conservación de marcas (una
ecuación)
• Componente conservativo (una red)
• P-semiflow: Sea un vector Ip ≥ 0, tal que ωi ≥ . Ip se
llama p-semiflow iif Ip . C = 0
• Soporte de un p-semiflow: Sea Ip un p-semiflow, SP
se define como soporte de p-semiflow SP={p |
IP(p)>0}
• Minimal P-semiflow: Un p-semiflow es mínimo iif su
soporte no contiene ningún soporte de cualquier otro
p-semiflow. ==> P-invariant
Invariantes de Lugar
• P-semiflow (un vector)
• Marcado invariante o ley de conservación de marcas (una
ecuación)
• Componente conservativo (una red)
Ip . C = 0
p0,p1,p2,p3,p4,p5,p6
p2 t2 p3 t3 p5 p5 Ip1= |1, 1, 0, 0, 1, 0, 0|
Ip2= |0, 0, 1, 1, 0, 1, 0|
p6 Ip3= |0, 1, 0, 1, 0, 0, 1|
p0 t0 p1 t1 p4 t4
153
Invariantes de Lugar
• P-semiflow (un vector)
• Marcado invariante o ley de conservación de marcas (una
ecuación)
• Componente conservativo (una red)
Ip . C = 0
p0,p1,p2,p3,p4,p5,p6
p2 t2 p3 t3 p5 p5 Ip1= |1, 1, 0, 0, 1, 0, 0|
Ip2= |0, 0, 1, 1, 0, 1, 0|
p6 Ip3= |0, 1, 0, 1, 0, 0, 1|
p0 t0 p1 t1 p4 t4
Invariantes de Lugar
• P-semiflow (un vector)
• Marcado invariante o ley de conservación de marcas (una
ecuación)
• Componente conservativo (una red)
Ip . C = 0
p0,p1,p2,p3,p4,p5,p6
p2 t2 p3 t3 p5 p5 Ip1= |1, 1, 0, 0, 1, 0, 0|
Ip2= |0, 0, 1, 1, 0, 1, 0|
p6 Ip3= |0, 1, 0, 1, 0, 0, 1|
p0 t0 p1 t1 p4 t4
154
Invariantes de Lugar
• P-semiflow (un vector)
• Marcado invariante o ley de conservación de marcas (una
ecuación)
• Componente conservativo (una red)
Ip . C = 0
p0,p1,p2,p3,p4,p5,p6
p2 t2 p3 t3 p5 p5 Ip1= |1, 1, 0, 0, 1, 0, 0|
Ip2= |0, 0, 1, 1, 0, 1, 0|
p6 Ip3= |0, 1, 0, 1, 0, 0, 1|
p0 t0 p1 t1 p4 t4
Invariantes de Lugar
• P-semiflow (un vector)
• Marcado invariante o ley de conservación de marcas (una
ecuación)
• Componente conservativo (una red)
Ip . C = 0
p0,p1,p2,p3,p4,p5,p6
p2 t2 p3 t3 p5 t5 Ip1= |1, 1, 0, 0, 1, 0, 0|
Ip2= |0, 0, 1, 1, 0, 1, 0|
p6 Ip3= |0, 1, 0, 1, 0, 0, 1|
p0 t0 p1 t1 p4 t4
155
Invariantes de Lugar
Algoritmo para el cálculo de p-semiflows mínimos
• Input: matriz de incidencia C, donde m =|P | y n=|T |
• Ouput: conjunto de p-semiflows
– A:=C , W:=In donde In indentidad de dimensión n
– for i:=1 to m, hacer:
• Sume en la matriz [A|W] todas las líneas que son combinación lineal
de pares de lineas de [A|W] y anulan la i-ésima columna de A
• Elimine de [A|W] las líneas en que la columna i-ésima no es nula.
– Elimine las líneas de W en que los soportes no son mínimos y divida
cada una por el MCD de los elementos no nulos. (todos los mínimos están
aquí)
Invariantes de Lugar
p0 t0 p1
0123 0123456
-1 1 0 0 1000000 0
1-1 0 0 0100000 1 t1
0 0-1 1 0010000 2 p6 p4
0 0 1-1 0001000 3 p5
0-1 1 0 0000100 4
0000 0000010 5 t2
0 1-1 0 0000001 6 p2 p3
t3
156
Invariantes de Lugar
p0 t0 p1
0123 0123456
-1 1 0 0 1000000 0
1-1 0 0 0100000 1 t1
0 0-1 1 0010000 2 p6 p4
0 0 1-1 0001000 3 p5
0-1 1 0 0000100 4
0000 0000010 5 t2
0 1-1 0 0000001 6 p2 p3
t3
Invariantes de Lugar
p0 t0 p1
0123 0123456
-1 1 0 0 1000000 0
1-1 0 0 0100000 1 t1
0 0-1 1 0010000 2 p6 p4
0 0 1-1 0001000 3 p5
0-1 1 0 0000100 4
0000 0000010 5 t2
0 1-1 0 0000001 6 p2 p3
0000 1100000
t3
157
Invariantes de Lugar
p0 t0 p1
0123 0123456
0 0-1 1 0010000 2
0 0 1-1 0001000 3 t1
0-1 1 0 0000100 4 p6 p4
0000 0000010 5 p5
0 1-1 0 0000001 6
0000 1100000 t2
0000 0000101 p2 p3
t3
Invariantes de Lugar
p0 t0 p1
0123 0123456
0 0-1 1 0010000 2
0 0 1-1 0001000 3 t1
0000 0000010 5 p6 p4
0000 1100000 p5
0000 0000101
0000 0011000 t2
p2 p3
t3
158
Invariantes de Lugar
p0 t0 p1
0123 0123456
0000 0000010 5
0000 1100000 t1
0000 0000101 p6 p4
0000 0011000 p5
t2
Ip0={p5} p2 p3
Ip1={p0,p1}
Ip2={p4,p6} t3
Ip3={p2,p3}
Propiedades Estruturales
• Limitación Estrutural
• Conservación Estrutural
• Repetitividad
• Consistencia
159
Propiedades Estruturales
Propiedades Estruturales
160
Propiedades Estruturales
• Límite Estructural de un Lugar
M(pi) ≤ W. M0 / W(pi)
M(pi) ≤ ∑ωk. m0(p k)/ ωi , ∀p k∈ P
Propiedades Estruturales
• Límite Estructural de un Lugar
161
Propiedades Estruturales
Propiedades Estruturales
• Conservación Estructural
p0 p3
t0 t1 p2 t2 t3
p1 p4
•Red no
SP1={p0, p1} estructuralmente
SP2={p3, p4} conservativa
162
Propiedades Estruturales
Propiedades Estruturales
p0 p3
t0 t1 p2 t2 t3
p1 p4
•Red parcialmente
SP1={p0, p1} estruturalmente
SP2={p3, p4} conservativa
163
Propiedades Estruturales
Propiedades Estruturales
• Repetitividad
p0
p0
t0 t0
p1 p2 t2 t2 p1 p2
t1 t3 t1
•Red p3 t3
repetitiva p3
t4 •Red no-repetitiva
p4
164
Propiedades Estruturales
Propiedades Estruturales
• Repetitividad Parcial
p0
t0
t2 p1 p2
t1
t3
p3 •Red parcialmente repetitiva
165
Propiedades Estruturales
Propiedades Estruturales
• N1 p1
t2 t4
t1
p3
p2
t3
•Consistente
166
Propiedades Estruturales
Propiedades Estruturales
• Consistencia Parcial
p0
t0
t2 p1 p2
t1
t3
p3 •Red parcialmente consistente
167
Reducciones
Redes Temporizadas
168
Redes Temporizadas
Estocásticas
Natkin - 1980
Molloy - 1981
Marsan et al. - 1984
Redes Temporizadas
• Redes de Petri con Lugares Temporizados (PTPN)
(Sifakis77)
• Definición: PTPN=(P,T,F,K,W,M0,Γ,υ), donde
P es el conjunto de lugares,
T es el conjunto de transiciones,
F ⊆ (P × T) ∪ (T × P) una relación que representa los
arcos
W Valoración (peso de los arcos) - W: F → N
M0 Marcado inicial - M0:P → N
Γ={γ1, γ2,…, γi,…} números reales denominada base de
tiempos.
υ:P → Γ una función υ(p) = γj
169
Redes Temporizadas
- PTPN -
• Regla de Disparo
p1
2 2
t0 p0 t1
υ(p0) = 3
Redes Temporizadas
- PTPN -
• Regla de Disparo
p1
2 2
t0 p0 t1
υ(p0) = 3 Instante=0
170
Redes Temporizadas
- PTPN -
• Regla de Disparo
p1
2 2
t0 p0 t1
υ(p0) = 3 Instante=1
Redes Temporizadas
- PTPN -
• Regla de Disparo
p1
2 2
t0 p0 t1
υ(p0) = 3 Instante=2
171
Redes Temporizadas
- PTPN -
• Regla de Disparo
p1
2 2
t0 p0 t1
υ(p0) = 3 Instante=3
Redes Temporizadas
Estocásticas
• Modelado para Análisis de Prestaciones
– Modelos Analíticos
• Cadenas de Markov
• Teoria de Colas
• Redes de Petri
172
Redes Temporizadas
Estocásticas
• Proriedad Markoviana
– Ausencia de Memoria
173