Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering...

37
Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) [email protected]

Transcript of Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering...

Page 1: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

Redes de Petri - Introducción

Dr Chris LingSchool of Computer Science & Software

EngineeringMonash University

(Traducido por Cesáreo Raimúndez)[email protected]

Page 2: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

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

Page 3: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

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

Page 4: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

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

Page 5: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

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

Page 6: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

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

Page 7: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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

Page 8: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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

Page 9: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

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

Page 10: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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

Page 11: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

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

Page 12: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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

Page 13: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

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

Page 14: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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

Page 15: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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

Page 16: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(C) Copyright 2001, Chris Ling

Red: Estructuras

Secuencia de eventos/acciones:

Concurrencia:

e1 e2 e3

e1

e2 e3

e4 e5

Page 17: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(C) Copyright 2001, Chris Ling

Red: Estructuras

Conflicto, elección, decisión: Elejir uno entre diversos e1, e2 ...

e1 e2

e3 e4

Page 18: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(C) Copyright 2001, Chris Ling

Red: Estructuras

Sincronización

e1

Page 19: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(C) Copyright 2001, Chris Ling

Red: Estructuras

Sincronización y Concurrencia

e1

Page 20: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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

Page 21: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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

Page 22: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

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

Page 23: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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?”

Page 24: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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

Page 25: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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

Page 26: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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)

Page 27: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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:

Page 28: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

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

Page 29: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

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

Page 30: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

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

Page 31: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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)

Page 32: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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)

Page 33: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

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

Page 34: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

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

Page 35: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

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

Page 36: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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)

Page 37: Redes de Petri - Introducción Dr Chris Ling School of Computer Science & Software Engineering Monash University (Traducido por Cesáreo Raimúndez) Chris.Ling@csse.monash.edu.au.

(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/