Post on 06-Sep-2015
description
Redes de Petri - IntroduccinDr Chris LingSchool of Computer Science & Software EngineeringMonash University(Traducido por Cesreo Raimndez)Chris.Ling@csse.monash.edu.au
IntroduccinDesarrolladas por Carl Adam Petri en 1962.Herramienta grfica para modelar concurrencia y sincronizacin en sistemas distribuidos.Muy similar a los Diagramas de Transicin de Estados.Utilizado como mtodo de descripcin visual del comportamiento de sistemas dinmicos.Bases tericas matematicamente slidas.
Especificacin de una RdPEs formada de tres tipos de componentes: plazas (crculos), transiciones (rectngulos) 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 Transicin con una Plaza.
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 accin tomada.El disparo est supeditado a las condiciones de entrada, denominada como disponibilidad de marcado.
El Cambio de EstadoUna transicin es disparable o est habilitada cuando hay marcas suficientes en las plazas que llegan a la transicin.Despus del disparo, las marcas se transferirn de las plazas de entrada (estados viejos) para las plazas de salida, que denotan los estados nuevos.
Ejemplo: Mquina ExpendedoraLa mquina expende dos tipos de productos que cuestan 20c y 15c respectivamente.Apenas se pueden utilizar dos tipos de monedas: 10c y 5c.La mquina no devuelve cambio.
Ejemplo: Mquina Expendedora (MEF)
Ejemplo: Mquina Expendedora (Red de Petri)
Ejemplo: Mquina 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.
Ejemplo: Mquina Expendedora (Evolucin)
Simultaneidad de Evolucin de EstadosEn 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 sincronizacin.
Ejemplo: En un Restaurante (RdP)CamarerolibreCliente 1Cliente 2TomapedidoTomapedidoPedidorealizadoPedido alcocineroesperaesperaPlato servidoPlato servidocomiendocomiendo
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.
Ejemplo: En un Restaurante (Caso 1)
Ejemplo: En un Restaurante (Caso 2)
Red: EstructurasSecuencia de eventos/acciones:
Concurrencia:
Red: EstructurasConflicto, eleccin, decisin: Elejir uno entre diversos e1, e2 ...
Red: EstructurasSincronizacin
Red: EstructurasSincronizacin y Concurrencia
Otro EjemploUn sistema productor-consumidor, est formado por un productor, dos consumidores y un almacn 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 almacn intermediario de cada vez;Cada consumidor consume 2 items de cada vez
Sistema Productor-Consumidorlistop1t1producelibreenviap2t2k=1k=1k=5Almacn p332t3t4p4p5k=2k=2aceptaaceptadoconsumelistoProductoresConsumidores
Ejemplo Productor-ConsumidorEn esta RdP, cada plaza tiene una capacidad y cada arco un peso.Esto hace posible que mltiplas marcas residan en una misma plaza podiendo modelarse comportamientos ms complejos.
Propiedades de ComportamientoAlcanzabilidad Se puede alcanzar un estado particular a partir de qualquier otro estado?Acotacin Puede alguna plaza acumular un nmero ilimitado de marcas?VivacidadPuede la evolucin detenerse en un estado determinado?
Recordando la Mquina Expendedora
Un marcado es un estado ...t8t1p1t2p2t3p3t4t5t6p5t7p4t9M0 = (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
Alcanzabilidad
AlcanzabilidadM2 es alcanzable desde M1 y M4 es alcanzable desde M0.De hecho, en el ejemplo de la mquina expendedora, todos marcados son alcanzables desde cualquier otro marcado.
AcotacinUna RdP se dice k-acotada o simplemente acotada si el nmero de marcas en cada plaza no excede un nmero finito k para cualquier marcado alcanzable a partir del marcado inicial.La RdP de la Mquina Expendedora es 1-acotada.Toda RdP 1-acotada es tambin segura.
VivacidadUna 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.
VivacidadLa mquina expendedora es viva y el sistema productor-consumidor es tambin viva.Una transicin es muerta si no puede ser disparada desde qualquier secuencia de disparo.
Un EjemploRdP Limitada y no-Vivap1p2p3p4t1t2t3t4M0 = (1,0,0,1)M1 = (0,1,0,1)M2 = (0,0,1,0)M3 = (0,0,0,1)
Otro Ejemplop1t1p2p3t2t3p4p5t4RdP No Acotada y Viva
Mtodos de AnlisisReachability Analysis:Reachability or coverability tree.State explosion problem.Incidence Matrix and State Equations.Structural AnalysisBasado en estructuras de red.
Otros Tipos de RdPsRdP coloreadasLas marcas tienen colores, modelando sistemas complejos de informacin.RdP temporizadasRetardos temporales asociados a transiciones y/o plazas.Retardos fijos o intervalados.RdP estocsticas: retardos modelados por variables aleatorias con distribucin exponencial.
Otros Tipos de RdPsRdP Orientadas a ObjetosMarcas son instancias de clases, movindose de plaza a plaza, llamando mtodos y cambiando Atributos.La estructura de la red modela el comportamiento interno de los Objetos.El propsito es elaborar paradigmas Orientados a Objetos para estructurar y construir el sistema.
Una RdP O-O (orientada a objetos)
Referencias de RdPsMurata, 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/