Una introduccion a las redes de Petri Laboratorio de Control de procesos Carl Adam Petri 1926-

Post on 02-Feb-2016

222 views 0 download

Transcript of Una introduccion a las redes de Petri Laboratorio de Control de procesos Carl Adam Petri 1926-

Una introduccion a las redes de Petri

Laboratorio de Control de procesos

Carl Adam Petri1926-

Contenido

> Introduccion > Estructura de una red de Petri> Dinamica una red de Petri > Modelado con redes de Petri > Finalmente . . .

2

Introduccion

3

¿Qué son las redes de Petri?

> Las redes de Petri (PN) son una herramienta de modelado que captura la dinanica operacional de los sistemas a eventos discretos

> Representacion grafica formal del flujo de actividades en sistemas complejos

> Un lenguaje de modelado

4

Caracteristicas de las redes de Petri > Soportan la simulación del sistema

> Soportan modularidad y abstraccion

> Soportan el análisis formal para propiedades, tales como:

— Acotamiento, — Vivazidad— alacanzabilidad, etc.

> La literatura sobre redes de Petri es abundante

5

Adecuadas para modelar

> Secuencialidad> Concurrencia> Sincronización> Conflicto> Precedencia> Prioridad

6

Aplicaciones

7

— Sistemas de manufactura— Redes de computadoras— Diseño de software— Modelado de sistemas

concurrentes y/o distribuidos— Protocolos de comunicación, etc.

Estructura de una red de Petri

8

Elementos de una red de Petri

9

lugar

transicion

Una marca

arco de entrada

arco de salida

Elementos de una red de Petri

10

Interpretacion de una red de Petri

11

lugar = estado

transicion =

un evento

marca

Estado activo

Un ejemplo sencillo

12

lugar = Bomba encendida

transicion =

Switch ON

marca

Estado activo

lugar = Bomba apagada

Un ejemplo sencillo

13

lugar = Bomba encendida

transicion =

Switch ON

marca

Estado activo

lugar = Bomba apagada

¿Qué sucede en la red si el Switch se conmuta a OFF?

Otro ejemplo

14

Un lector en una biblioteca:

> esperando,> leyendo

esperando

leyendo

strt_reading

stop_reading

Otro ejemplo

15

Un lector en una biblioteca:

> esperando,> leyendo

esperando

leyendo

strt_reading

stop_reading

Otro ejemplo

16

Un lector en una biblioteca:

> esperando,> leyendo

esperando

leyendo

strt_reading

stop_reading

Otro ejemplo

17

Un lector en una biblioteca:

> esperando,> leyendo

esperando

leyendo

strt_reading

stop_reading

Otro ejemplo

18

Un lector en una biblioteca:

> esperando,> leyendo

esperando

leyendo

strt_reading

stop_reading

Ejercicio

19

Dos lectores en una biblioteca:

> esperando,> leyendo

esperando

leyendo

strt_reading

stop_reading

Dinamica una red de Petri

20

Reglas

> Todos los arcos (conecciones) son dirigidas

> No existen arcos entre dos lugares

> No existen arcos entre dos transiciones

> Los lugares pueden tener cero o mas marcas

> Los arcos pueden tener peso: con valor de 1, 2, …, o mas

21

b

a

y

x

Redes de Petri: una definicion

22

Una red de Petri C = P,T,I,O consiste de:

1. Un conjunto finito de lugares P

2. Un conjunto finito de transiciones T

3. Una funcion de entrada I: T NatP

4. Una funcion de salida O: T NatP

5. Una funcion de pesos W: T Nat

Un marcado de C es un mapeo m: P Nat

P = { x, y }

T = { a, b }

I(a) = { x }, I(b) = { x, x }

Ejemplo

O(a) = { x, y }, O(b) = { y }

m = { x, x }

b

a

y

x

Disparo de una transicion

23

Una transicion se produce (“se dispara”):

si todos los lugares de entrada tienen el numero requerido de marcas

p1 p2

t2

t1

Disparo de una transicion

24

Una transicion se produce (“se dispara”):

si todos los lugares de entrada tienen el numero requerido de marcas

Disparo de una transicion

25

NO

Una transicion se produce (“se dispara”):

si todos los lugares de entrada tienen el numero requerido de marcas

Disparo de una transicion

26

Una transicion se produce (“se dispara”):

si todos los lugares de entrada tienen el numero requerido de marcas

2

Transicion habilitada

> Una transición está habilitada cuando el número de marcas en cada uno de sus lugares de entrada es por lo menos igual al peso de arco que va del lugar a la transición.

> Una transición habilitada puede o no dispararse

27

(ocurre o no ocurre un evento)

Disparo de una transicion

> El disparo de una transición habilitada t:

— consume w(p,t) marcas de cada lugar p de entrada de t,

— y produce w(t,p) marcas a cada lugar de salida p de t,

28

2

p1 p2t1

3

2

p1 p2t1

3

29

Disparo de una transicion

Para disparar una transicion t:1. t debe estar habilitado: m ≥ I(t)2. consume entradas y genera salida: m= m - I(t) + O(t)

b

a

b

a

b

Disparo de una transicion

30

H2

O2

H2O

2H2 + O22H2O

2 2t

Antes del disparo

H2

O2

H2O

2

2

t

Despues del disparo

Peso = 2

Ejecucion de las redes de Petri

> La ejecución de las redes de Petri es no-deterministica

— Pueden ser habilitadas múltiples transiciones al mismo tiempo

— Cualquier transicion habilitada puede ser disparada

— No se exige que una transicion sea disparada

– puede dispararse cuando quiera, en un tiempo entre 0 e infinito, o no dispararse nunca

31

Modelado con redes de Petri

32

p2

t1p1

t2

p4

t3p3

Secuencialidad

33

> Ejecucion secuencial

p2

t1

p1 p3

t2

Sincronizacion

34

> Sincronizacion

t1

t1

Conjuncion

35

> Se llega por diferentes caminos

t2

t3

t1

Toma de deciciones

36

> Se toman diferentes caminos

t2

t3

t1

37

Concurrencia

Entradas independientes permiten el disparo “concurrente” de la transicion

Concurrencia

38

Paralell BeginParalell End

p1

p2

p3

p4t1

t2

t3 t4

p5

Lugar de entrada y salida

39

p2

p3

p4

t3

> Lectura sin modificacion de condiciones

Conflicto

40

Resolucion del conflicto

41

Punto de decision

El conflicto resultante puede ser resuelto de manera simplemente determinista o de manera probabilistica, atribuyendo probabilidades apropiadas a las transiciones en conflicto

42

Exclusion mutua

Las dos subredes estan forzadas a sincronizarse

43

Productores y Consumidores

productor consumidor

44

Buffers acotados

# slots ocupados

# slots libres

Finalmente. . .

45

¿Qué mas debería conocer?

> ¿Cómo se especifican formalmente las redes de Petri?

> ¿Cuál el conjunto de “alcanzabilidad” de una red? ¿Cómo se puede calcular este conjunto?

> ¿Cómo puede una (mala) implementacion de una red de Petri quedar bloqueada aun cuando existan transiciones activadas?

> ¿Qué es una red de Petri temporizada? ¿Qué es una red de Petri coloreada?

> “ y ……. ???”

46

Una solucion…

47

Inscribase en la electiva

“Sistemas a eventos discretos”