redes de petri

15
Programación Concurrente Redes de Petri Maestría en Desarrollo de Software ISC. Erivan Martínez Ovando

Upload: erivan-m-ovando

Post on 21-Jun-2015

907 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Redes de Petri

Programación ConcurrenteRedes de Petri

Maestría en Desarrollo de Software

ISC. Erivan Martínez Ovando

Page 2: Redes de Petri

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

Page 3: Redes de Petri

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

Page 4: Redes de Petri

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

Page 5: Redes de Petri

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

Page 6: Redes de Petri

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

Page 7: Redes de Petri

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

Page 8: Redes de Petri

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

Page 9: Redes de Petri

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

Page 10: Redes de Petri

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

Page 11: Redes de Petri

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

Page 12: Redes de Petri

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

Page 13: Redes de Petri

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

Page 14: Redes de Petri

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

Page 15: Redes de Petri

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