1 Una introduccion a las redes de PetriLaboratorio de Control de procesos Carl Adam Petri 1926-
2 Contenido Introduccion Estructura de una red de PetriDinamica una red de Petri Modelado con redes de Petri Finalmente . . .
3 Introduccion
4 ¿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
5 Caracteristicas de las redes de PetriSoportan 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
6 Adecuadas para modelarSecuencialidad Concurrencia Sincronización Conflicto Precedencia Prioridad
7 Aplicaciones Sistemas de manufactura Redes de computadorasDiseño de software Modelado de sistemas concurrentes y/o distribuidos Protocolos de comunicación, etc.
8 Estructura de una red de Petri
9 Elementos de una red de Petrilugar transicion arco de entrada arco de salida Una marca
10 Elementos de una red de Petri
11 Interpretacion de una red de Petrilugar = estado marca Estado activo transicion = un evento
12 Un ejemplo sencillo lugar = Bomba encendida marca Estado activotransicion = Switch ON lugar = Bomba apagada
13 Un ejemplo sencillo lugar = Bomba encendida marca Estado activo transicion = Switch ON lugar = Bomba apagada ¿Qué sucede en la red si el Switch se conmuta a OFF?
14 Otro ejemplo Un lector en una biblioteca: esperando esperando, leyendostrt_reading leyendo stop_reading
15 Otro ejemplo Un lector en una biblioteca: esperando esperando, leyendostrt_reading leyendo stop_reading
16 Otro ejemplo Un lector en una biblioteca: esperando esperando, leyendostrt_reading leyendo stop_reading
17 Otro ejemplo Un lector en una biblioteca: esperando esperando, leyendostrt_reading leyendo stop_reading
18 Otro ejemplo Un lector en una biblioteca: esperando esperando, leyendostrt_reading leyendo stop_reading
19 Ejercicio Dos lectores en una biblioteca: esperando esperando, leyendostrt_reading leyendo stop_reading
20 Dinamica una red de Petri
21 Reglas Todos los arcos (conecciones) son dirigidasNo 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 b a y x
22 Redes de Petri: una definicionUna red de Petri C = P,T,I,O consiste de: Un conjunto finito de lugares P Un conjunto finito de transiciones T Una funcion de entrada I: T NatP Una funcion de salida O: T NatP Una funcion de pesos W: T Nat Un marcado de C es un mapeo m: P Nat b a y x P = { x, y } T = { a, b } I(a) = { x }, I(b) = { x, x } Ejemplo O(a) = { x, y }, O(b) = { y } m = { x, x }
23 Disparo de una transicionUna transicion se produce (“se dispara”): si todos los lugares de entrada tienen el numero requerido de marcas p1 p2 t2 t1
24 Disparo de una transicionUna transicion se produce (“se dispara”): si todos los lugares de entrada tienen el numero requerido de marcas
25 Disparo de una transicionUna transicion se produce (“se dispara”): si todos los lugares de entrada tienen el numero requerido de marcas NO
26 Disparo de una transicionUna transicion se produce (“se dispara”): si todos los lugares de entrada tienen el numero requerido de marcas 2
27 Transicion habilitadaUna 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 (ocurre o no ocurre un evento)
28 Disparo de una transicionEl 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, 2 p1 p2 t1 3 2 p1 p2 t1 3
29 Disparo de una transicionPara disparar una transicion t: t debe estar habilitado: m ≥ I(t) consume entradas y genera salida: m= m - I(t) + O(t) a b a b b
30 Disparo de una transicionH2 O2 H2O 2H2 + O2 2H2O 2 t Antes del disparo Peso = 2 H2 O2 H2O 2 t Despues del disparo
31 Ejecucion de las redes de PetriLa 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
32 Modelado con redes de Petri
33 Ejecucion secuencial Secuencialidad p2 t1 p1 p3 t2
34 Sincronizacion Sincronizacion t1 t1
35 Se llega por diferentes caminosConjuncion t1 t2 t3
36 Se toman diferentes caminosToma de deciciones t1 t2 t3
37 Concurrencia Entradas independientes permiten el disparo “concurrente” de la transicion
38 Concurrencia p3 p1 t2 Paralell Begin Paralell End t1 p2 p4 t4 t3 p5
39 Lugar de entrada y salidaLectura sin modificacion de condiciones Lugar de entrada y salida p2 p4 t3 p3
40 Conflicto
41 Resolucion del conflictoPunto 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
44 Buffers acotados # slots ocupados # slots libres
45 Finalmente. . .
46 ¿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 ……. ???”
47 Una solucion… Inscribase en la electiva “Sistemas a eventos discretos”