Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering...
-
Upload
maria-rosa-cordero-barbero -
Category
Documents
-
view
217 -
download
0
Transcript of Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering...
Redes de Petri - Introducción
Dr Chris LingSchool of Computer Science & Software
EngineeringMonash University
(Traducido por Cesáreo Raimúndez)[email protected]
(C) Copyright 2001, Chris Ling
Introducción
Desarrolladas por Carl Adam Petri en 1962. Herramienta gráfica para modelar concurrencia y
sincronización en sistemas distribuidos. Muy similar a los Diagramas de Transición de
Estados. Utilizado como método de descripción visual del
comportamiento de sistemas dinámicos. Bases teóricas matematicamente sólidas.
(C) Copyright 2001, Chris Ling
Especificación de una RdP
Es formada de tres tipos de componentes: plazas (círculos), transiciones (rectángulos) y arcos (flechas):– Las Plazas representan los estados posibles del
sistema;– Las Transiciones son eventos o acciones que
causan el cambio de estado;– Cada Arco conecta una Plaza con una
Transicion o una Transición con una Plaza.
(C) Copyright 2001, Chris Ling
El Cambio de Estado … Se indica por el movimiento de marca(s)
(puntos negros) de plaza(s) a plaza(s); es causado por el disparo de una transicion.
El disparo representa un evento ocurrido o una acción tomada.
El disparo está supeditado a las condiciones de entrada, denominada como disponibilidad de marcado.
(C) Copyright 2001, Chris Ling
El Cambio de Estado
Una transición es disparable o está habilitada cuando hay marcas suficientes en las plazas que llegan a la transición.
Después del disparo, las marcas se transferirán de las plazas de entrada (estados viejos) para las plazas de salida, que denotan los estados nuevos.
(C) Copyright 2001, Chris Ling
Ejemplo: Máquina Expendedora
La máquina expende dos tipos de productos que cuestan – 20c y 15c respectivamente.
Apenas se pueden utilizar dos tipos de monedas: – 10c y 5c.
La máquina no devuelve cambio.
(C) Copyright 2001, Chris Ling
Ejemplo: Máquina Expendedora (MEF)
0 cent
5 cents
10 cents
15 cents
20 cents
Deposit
a 5c
Deposita 10c
Deposita 10c
Deposita 10cD
eposita 5c
Deposita 5c D
eposita 5c
Retira producto 20c
Retira producto 15c
(C) Copyright 2001, Chris Ling
Ejemplo: Máquina Expendedora (Red de Petri)
5c
Retira prod.15c
Dep. 5c
0c
Dep. 10c
Dep. 5c
10c
Dep. 10c
Dep. 5c
Dep. 10c20c
Dep. 5c
15c
Retira prod. 20c
(C) Copyright 2001, Chris Ling
Ejemplo: Máquina Expendedora (3 Casos)
Caso 1: – Deposita 5c, deposita 5c, deposita 5c, deposita 5c,
compra producto de 20c.
Caso 2:– Deposita 10c, deposita 5c, compra producto de 15c.
Caso 3:– Deposita 5c, deposita 10c, deposita 5c, compra
producto de 20c.
(C) Copyright 2001, Chris Ling
Ejemplo: Máquina Expendedora (Evolución)
5c
Compra 15c
Dep. 5c
0c
Dep. 10c
Dep. 5c
10c
Dep. 10c
Dep. 5c
Dep. 10c20c
Dep. 5c
15c
Compra 20c
(C) Copyright 2001, Chris Ling
Simultaneidad de Evolución de Estados
En el mundo real, los eventos ocurren simultaneamente.
Un sistema puede poseer muchos estados locales constituyendo un estado global.
Hay necesidad de modelar la concurrencia y la sincronización.
(C) Copyright 2001, Chris Ling
Ejemplo: En un Restaurante (RdP)
CamarerolibreCliente 1 Cliente 2
Tomapedido
Tomapedido
Pedidorealizado
Pedido alcocinero
espera espera
Plato servido Plato servido
comiendo comiendo
(C) Copyright 2001, Chris Ling
Ejemplo: En un Restaurante (Dos Casos)
Caso 1:– Camarero emite pedido de cliente 1; sirve
cliente 1; emite pedido de cliente 2; sirve al cliente 2.
Caso 2:– Camarero emite pedido de cliente 1; emite
pedido de cliente 2; sirve cliente 2; sirve al cliente 1.
(C) Copyright 2001, Chris Ling
Ejemplo: En un Restaurante (Caso 1)
CamarerolibreCliente 1 Cliente 2
Emitepedido
Emitepedido
Pedidoemitido
Pedido alcocinero
Esperando Esperando
Sirve Plato Sirve Plato
Comiendo Comiendo
(C) Copyright 2001, Chris Ling
Ejemplo: En un Restaurante (Caso 2)
CamarerolibreCliente 1 Cliente 2
EmitePedido
EmitePedido
PedidoEmitido
Pedido alCocinero
Esperando Esperando
Sirve Plato Sirve Plato
Comiendo Comiendo
(C) Copyright 2001, Chris Ling
Red: Estructuras
Secuencia de eventos/acciones:
Concurrencia:
e1 e2 e3
e1
e2 e3
e4 e5
(C) Copyright 2001, Chris Ling
Red: Estructuras
Conflicto, elección, decisión: Elejir uno entre diversos e1, e2 ...
e1 e2
e3 e4
(C) Copyright 2001, Chris Ling
Red: Estructuras
Sincronización
e1
(C) Copyright 2001, Chris Ling
Red: Estructuras
Sincronización y Concurrencia
e1
(C) Copyright 2001, Chris Ling
Otro Ejemplo
• Un sistema productor-consumidor, está formado por un productor, dos consumidores y un almacén intermediario, de acuerdo con las reglas:• El almacen intermediario tiene capacidad 5;
• El productor produce 3 items de cada vez;
• Apenas un consumidor puede acceder al almazen intermediario de cada vez;
• Cada consumidor consume 2 items de cada vez
(C) Copyright 2001, Chris Ling
Sistema Productor-Consumidor
listo
p1
t1
produce
libre
envia
p2
t2
k=1
k=1
k=5
Almacén p3
3 2 t3 t4
p4
p5
k=2
k=2
acepta
aceptado
consume
listo
Productores Consumidores
(C) Copyright 2001, Chris Ling
Ejemplo Productor-Consumidor
• En esta RdP, cada plaza tiene una capacidad y cada arco un peso.
• Esto hace posible que múltiplas marcas residan en una misma plaza podiendo modelarse comportamientos más complejos.
(C) Copyright 2001, Chris Ling
Propiedades Comportamentales
• Alcanzabilidad• “¿Se puede alcanzar un estado particular a partir de
qualquier otro estado?”
• Acotación • “¿Puede alguna plaza acumular un número ilimitado de
marcas?”
• Vivacidad• “¿Puede la evolución detenerse en un estado
determinado?”
(C) Copyright 2001, Chris Ling
Recordando la Máquina Expendedora
5c
Compra 15c
Deposita 5c
0c
Deposita 10c
Deposit 5c
10c
Deposita 10c
Deposita5c
Deposita 10c20c
Deposita5c
15c
Compra 20c
(C) Copyright 2001, Chris Ling
Un marcado es un estado ...
t8
t1
p1
t2
p2
t3
p3
t4
t5
t6 p5
t7
p4
t9
M0 = (1,0,0,0,0)
M1 = (0,1,0,0,0)
M2 = (0,0,1,0,0)
M3 = (0,0,0,1,0)
M4 = (0,0,0,0,1)
Marcado Inicial:M0
(C) Copyright 2001, Chris Ling
Alcanzabilidadt8
t1
p1
t2
p2
t3
p3
t4
t5
t6 p5
t7
p4
t9
Marcado inicial:M0
M0 M1 M2 M3 M0 M2 M4t3t1 t5 t8 t2 t6
M0 = (1,0,0,0,0)
M1 = (0,1,0,0,0)
M2 = (0,0,1,0,0)
M3 = (0,0,0,1,0)
M4 = (0,0,0,0,1)
(C) Copyright 2001, Chris Ling
Alcanzabilidad
• “M2 es alcanzable desde M1 y M4 es alcanzable desde M0.”
• De hecho, en el ejemplo de la máquina expendedora, todos marcados son alcanzables desde cualquier otro marcado.
M0 M1 M2 M3 M0 M2 M4t3t1 t5 t8 t2 t6
Dada la secuencia de disparo:
(C) Copyright 2001, Chris Ling
Acotación
• Una RdP se dice k-acotada o simplemente acotada si el número de marcas en cada plaza no excede un número finito k para cualquier marcado alcanzable a partir del marcado inicial.
• La RdP de la Máquina Expendedora es 1-acotada.
• Toda RdP 1-acotada es también segura.
(C) Copyright 2001, Chris Ling
Vivacidad
• Una RdP con marcado inicial M0 es viva si, independientemente del marcado alcanzado a partir de M0, es posible disparar cualquier transicion escogiendo una secuencia de disparo adecuada.
• En una RdP viva no puede ocurrir abrazo-mortal, sea cual fuere la secuencia de disparo escogida.
(C) Copyright 2001, Chris Ling
Vivacidad
• La máquina expendedora es viva y el sistema productor-consumidor es también viva.
• Una transición es muerta si no puede ser disparada desde qualquier secuencia de disparo.
(C) Copyright 2001, Chris Ling
Un Ejemplo
RdP Limitada y no-Viva
p1 p2
p3
p4
t1
t2
t3 t4
M0 = (1,0,0,1)
M1 = (0,1,0,1)
M2 = (0,0,1,0)
M3 = (0,0,0,1)
(C) Copyright 2001, Chris Ling
Otro Ejemplo
p1
t1
p2 p3
t2 t3
p4 p5
t4 RdP No Acotada y Viva
M0 = (1, 0, 0, 0, 0)
M1 = (0, 1, 1, 0, 0)
M2 = (0, 0, 0, 1, 1)
M3 = (1, 1, 0, 0, 0)
M4 = (0, 2, 1, 0, 0)
(C) Copyright 2001, Chris Ling
Métodos de Análisis
• Reachability Analysis:• Reachability or coverability tree.• State explosion problem.
• Incidence Matrix and State Equations.• Structural Analysis
• Based on net structures.
(C) Copyright 2001, Chris Ling
Otros Tipos de RdP’s• RdP coloreadas
• Las marcas tienen “colores”, modelando sistemas complejos de información.
• RdP temporizadas• Retardos temporales asociados a transiciones
y/o plazas.• Retardos fijos o intervalados.• RdP estocásticas: retardos modelados por
variables aleatorias con distribución exponencial.
(C) Copyright 2001, Chris Ling
Otros Tipos de RdP’s
• RdP Orientadas a Objetos• Marcas son instancias de clases, moviéndose de
plaza a plaza, llamando métodos y cambiando Atributos.
• La estructura de la red modela el comportamiento interno de los Objetos.
• El propósito es elaborar paradigmas Orientados a Objetos para estructurar y construir el sistema.
(C) Copyright 2001, Chris Ling
Una RdP O-O
ready
produceStorage
accepted
consume
ready
Producer Consumer
send accept
Producer
data: ITEM
ITEM produce( )
void send(ITEM)
Consumer
data: ITEM
ITEM accept( )
void consume(ITEM)
(C) Copyright 2001, Chris Ling
Referencias de RdP’s
Murata, T. (1989, April). Petri nets: properties, analysis and applications. Proceedings of the IEEE, 77(4), 541-80.
Peterson, J.L. (1981). Petri Net Theory and the Modeling of Systems. Prentice-Hall.
Reisig, W and G. Rozenberg (eds) (1998). Lectures on Petri Nets 1: Basic Models. Springer-Verlag.
The World of Petri nets:
http://www.daimi.au.dk/PetriNets/