Programación ConcurrenteRedes de Petri
Maestría en Desarrollo de Software
ISC. Erivan Martínez Ovando
¿ Redes de Petri ?
Una Red de Petri es un modelo gráfico, formal y abstracto para describir y analizar el flujo de información.
Herramienta matemática para modelar concurrencia, no determinismo, comunicación y sincronización.
Fundamentos de las Redes de Petri El análisis de las Redes de Petri ayuda a mostrar información
importante sobre la estructura y el comportamiento dinámico de los sistemas modelados.
La teoría de las Redes de Petri permite la representación matemática del sistema a ser modelado.
Las Redes de Petri son de utilidad en el diseño de sistemas de hardware y software, para especificación, simulación y diseño de diversos problemas de ingeniería.
Las Redes de Petri pueden considerarse como autómatas formales o como generadores de lenguajes formales y tienen asociación con la teoría de grafos.
Son excelentes para representar procesos concurrentes, así como, procesos donde pueden existir restricciones sobre la concurrencia, precedencia, o frecuencia de esas ocurrencias
ISC. Erivan Martinez Ovando
Ventajas Redes de Petri
El sistema completo es a menudo más fácil de entender debido a la naturaleza gráfica y precisa del esquema de representación.
El comportamiento del sistema puede ser analizado utilizando la teoría de las redes de Petri, que incluye herramientas para el análisis tales como los árboles (grafos) y establece relaciones entre ciertas estructuras de redes y el comportamiento dinámico. Pueden aplicarse también técnicas para la verificación de programas paralelos.
Puesto que las redes de Petri pueden, es posible diseñar automáticamente sistemas cuyo comportamiento es conocido o fácilmente verificable.
ISC. Erivan Martinez Ovando
Elementos de Red PetriRepresentan los estados posibles del sistema
Transiciones son eventos o acciones que causan el cambio de estado;
Cada Arco conecta una Plaza con una Transición o una Transición con una Plaza.
La salida de un sistema puede ser la
entrada a otro sistema
PLAZA TRANSICIONES ARCOS
ISC. Erivan Martinez Ovando
Diagrama de estados es un diagrama utilizado para identificar cada una de las rutas o caminos que puede tomar un flujo de información luego de ejecutarse cada proceso.
Diagrama de estados es un diagrama utilizado para identificar cada una de las rutas o caminos que puede tomar un flujo de información luego de ejecutarse cada proceso.
Diagrama de Flujo de Datos(DFD´s) Muestran en forma visual sólo el flujo de datos entre los distintos procesos, entidades externas y almacenes que conforman un sistema.
Podemos ver 3 lenguajes de modelado, en los cuales nosotros debemos basarnos para “modelar” procesos; nos permite que podamos ver el flujo de como se ira ejecutando el proceso.
ISC. Erivan Martinez Ovando
Estados
Transiciones
Arcos Dirigido: nos permite poner los estados o transiciones, transiciones con estado
Que permitirá que nuestra de Red de Petri se ejecute? Que permitirá que nuestra de Red de Petri se ejecute?
Tokens
Token:se representa por un punto dentro de un estado ”plaza”; permite saber en que momento se ejecutara nuestro proceso cuando cambiara de estado por medio de una transición.
Token:se representa por un punto dentro de un estado ”plaza”; permite saber en que momento se ejecutara nuestro proceso cuando cambiara de estado por medio de una transición.
ISC. Erivan Martinez Ovando
Estado: Momento o tiempo que espera un evento
Transiciones: Eventos o acontecimientos del ambiente externo, que el sistema puede dectectar, puede ser, una señal, interrupción, o llegada de paquetes de datos
A--------------------B
Esto hace que el sistema cambie de espera A, a un estado de espera B, o de ejecutar una actividad A, pasar a un estado de espera B
Como parte del cambio de estado normalmente el sistema hará una o más actividades, producirá una salida, desplegara una señal en una computadora o llevara un calculo matemático
ISC. Erivan Martinez Ovando
Las acciones de Redes de Petri; se llevan acabo, con respuestas expresada al ambiente externos. Bien cálculos que el sistema puede recordar almacenando para poder responder algún acontecimiento.
Las Redes de Petri; para poder conectar los estados con las transiciones utilizan grafos dirigidos, igualmente las Redes de Petri tienen propiedades y reglas las cuales definiré…Me basare en las representativas
1.- Regla: Una red de Petri se ejecuta por el disparo de transiciones; es decir nuestra red cambiara de estado en el momento que transición se ejecute “surja un evento que nos permita cambiar de estado”
2.- Regla: Una transición pueda dispararse si esta habilitada para entender esta regla la explicare en la 3.- Regla
3.- Regla: Una transición pueda dispararse si esta habilitada, si cada uno de sus estados, tienen al menos un token, esto que quiere decir;
Si nosotros tenemos esta transición vamos a poder ejecutar o se va poder disparar, siempre y cuando el estado de entrada tenga al menos un token; es decir esta transición esta lista para dispararse por que tenemos un tokens.
De lo contrario estas transiciones no se podrán disparar por que no tenemos en el estado de entrada ningun tokens; que le permita dispararse
ISC. Erivan Martinez Ovando
Cuando una transición es disparada el token que esta en el estado de entrada, se mueve al estado, o estados, que estén a la salida de esa transición
En este apartado veremos como es el flujo de Petri
1
Un ejemplo en este momento que tengo la transición 1 habilitada en el momento que se ejecute o se dispare nuestra transición entonces pasara esto, observen con cuidado……
ISC. Erivan Martinez Ovando
El Token del estado A cambio al estado B
Cada transición que es disparada el token que esta en el estado de entrada, se mueve al estado, o estados, que estén a la salida de esa transición y así sucesivamente.
ISC. Erivan Martinez Ovando
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.
ISC. Erivan Martinez Ovando
Ejemplo: Máquina Expendedora
0 cent
5 cents
10 cents
15 cents
20 cents
Deposita 5c
Deposita 10c
Deposita 10c
Deposita 10cD
eposita 5c
Deposita 5c
Deposita 5c
Retira producto 20c
Retira producto 15c
ISC. Erivan Martinez Ovando
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.
ISC. Erivan Martinez Ovando
ISC. Erivan Martinez Ovando
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
Top Related