10
Redes de Petri Historia: Las redes de Petri representan una alternativa para modelar sistemas, sus características hacen que, para algunos problemas las redes de Petri funcionen de una manera natural. Las PN como ahora conoceremos a las redes de Petri (Petri Net) fueron inventadas por el alemán Karl Adam Petri en 1962. En su tesis doctoral “kommunikation mit automaten” (Comunicación con autómatas), establece los fundamentos para el desarrollo teórico de los conceptos básicos de las PN. Las PN son consideradas una herramienta para el estudio de los sistemas. Con su ayuda podemos modelar el comportamiento y la estructura de un sistema, y llevar el modelo a condiciones límite, que en un sistema real son difíciles de lograr o muy costosas. La teoría de PN ha llegado a ser reconocida como una metodología establecida en la literatura de la robótica para modelar los sistemas de manufactura flexibles. Comparada con otros modelos de comportamiento dinámico gráficos, como los diagramas de las máquinas de estados finitos, las PN ofrecen una forma de expresar procesos que requieren sincronía. Y quizás lo más importante es que las PN pueden ser analizadas de manera formal y obtener información del comportamiento dinámico del sistema modelado. Para modelar un sistema se usan representaciones matemáticas logrando una abstracción del sistema, esto es logrado con las PN, que además pueden ser estudiadas como autómatas e investigar sus propiedades matemáticas. Definicion: Una red de Petri es un grafo dirigido bipartito, con un estado inicial, llamado marcación inicial. Los dos componentes principales de

Redes de Petri

  • Upload
    vlad-vl

  • View
    82

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Redes de Petri

Redes de Petri

Historia:

Las redes de Petri representan una alternativa para modelar sistemas, sus características hacen que, para algunos problemas las redes de Petri funcionen de una manera natural.

Las PN como ahora conoceremos a las redes de Petri (Petri Net) fueron inventadas por el alemán Karl Adam Petri en 1962. En su tesis doctoral “kommunikation mit automaten” (Comunicación con autómatas), establece los fundamentos para el desarrollo teórico de los conceptos básicos de las PN.

Las PN son consideradas una herramienta para el estudio de los sistemas. Con su ayuda podemos modelar el comportamiento y la estructura de un sistema, y llevar el modelo a condiciones límite, que en un sistema real son difíciles de lograr o muy costosas.

La teoría de PN ha llegado a ser reconocida como una metodología establecida en la literatura de la robótica para modelar los sistemas de manufactura flexibles.

Comparada con otros modelos de comportamiento dinámico gráficos, como los diagramas de las máquinas de estados finitos, las PN ofrecen una forma de expresar procesos que requieren sincronía. Y quizás lo más importante es que las PN pueden ser analizadas de manera formal y obtener información del comportamiento dinámico del sistema modelado.

Para modelar un sistema se usan representaciones matemáticas logrando una abstracción del sistema, esto es logrado con las PN, que además pueden ser estudiadas como autómatas e investigar sus propiedades matemáticas.

Definicion:

Una red de Petri es un grafo dirigido bipartito, con un estado inicial, llamado marcación inicial. Los dos componentes principales de la red de Petri son los sitios (también conocidos como estados) y las transiciones.

Gráficamente, los sitios son dibujados como círculos y las transiciones como barras o rectángulos. Las aristas del grafo son conocidas como arcos. Estos tienen un

Page 2: Redes de Petri

peso específico, el cual es indicado por un número entero positivo, y van de sitio a transición y viceversa. Por simplicidad, el peso de los arcos no se indica cuando éste es igual a 1. Un arco que esté etiquetado con k puede ser interpretado como k arcos paralelos.

El estado del sistema que la red esté modelando es representado con la asignación de enteros no-negativos a los sitios. Esta asignación es conocida como una marcación, la cual es representada gráficamente mediante unos pequeños círculos negros dentro de un sitio p, llamados tokens . Si el número de tokens es demasiado grande, los k tokens son representados con un número no-negativo dentro del correspondiente sitio.

Típicamente, los estados representan algún tipo de condición en el sistema, y una transición representa un evento. Un sitio de entrada (salida) a una transición representan las pre- (post-) condiciones. Los tokens pueden tener muchas interpretaciones. Por ejemplo, cuando un sitio está marcado con un token, este puede representar que la correspondiente condición es verdadera. En otros casos, k tokens pueden representar k recursos, por ejemplo, el número de clicks del mouse realizados. Debido a que las redes de Petri pueden modelar muchos tipos de sistemas, lo que los sitios, transiciones y tokens representen varía enormemente.

Una red de Petri es una tupla de cinco elementos, PN = (P,T,F,W,M0) donde:

1……..P=p1,p2,…,pm es un conjunto finito de sitios

2……..T = t1,t2,…,tn es un conjunto finito de transiciones

3……..   es un conjunto de arcos.

4……..   es una función de peso

5. ……   es la marcación inicial

6……..   y 

Page 3: Redes de Petri

Es conveniente utilizar la siguiente notación: Para una transición t, los sitios de

entrada y los sitios de salida serán denotados como   y

t   , respectivamente.

De manera formal, una marcación M es definida como M : P   .

También es conveniente, en algunos casos, el denotar una marcación M de m sitios como un vector-m donde el i-ésimo componente es denotado como M(pi), por ejemplo M = <M(p1)…,M(pm)>.

Una transición t está habilitada con una marcación M si cada sitio de entrada p está marcado con al menos W(p,t) tokens. Una transición puede o no ser disparada al habilitársele.

Cuando más de una transición es habilitada, alguna de ellas es seleccionada de manera no-determínistica dependiendo del modelo empleado. Conforme las transiciones son disparadas, el número total de tokens distribuidos a lo largo de la red puede variar, esto es, la conservación de los tokens no siempre sucede.

Ejemplo:

Se tiene una sola línea para atender a 100 clientes. Los tiempos de llegada de los clientes serán valores sucesivos de la variable aleatoria ta, los tiempos de servicio están dados por la variable aleatoria ts, y N es el número de servidores. Este modelo en su estado inicial tiene la cola vacía y todos los servidores en estado de espera. La red de Petri para este escenario se muestra en la figura 2.7.

Figura 2.7: Ejemplo de una red de Petri

Page 4: Redes de Petri

Los estados están etiquetados con letras mayúsculas y las transiciones con minúsculas. Las etiquetas de los sitios también serán usados como las variables de cuyos valores son los tokens.

Las aristas tienen etiquetas que podrían representar las funciones de transición, las cuales especifican el número de tokens eliminados o agregados cuando una transición es activada.

El estado A incialmente contiene la llegada de 100 clientes; el sitio B evita que los clientes entren más de una vez; el sitio Q es la fila que realizan los clientes cuando tienen que esperar a que se les atienda. El estado S es donde los servidores ociosos esperan la oportunidad para trabajar, y el sitio E cuenta el número de clientes que abandonan el sistema. El estado inicial implica que los sitios tengan los siguientes valores:

• A = 100

• B = 1

• Q = 0

• S = N

• E = 0

La transición a sirve para modelar a los clientes que entran al sistema y la transición b modela a los clientes cuando están siendo atendidos.

Disparo y habilitación de las transiciones:

Los cambios en los estados de un sistema son modelados mediante las reglas de activación y habilitación. Las reglas se describen de la siguiente manera:

1. Una transición t está habilitada con una marcación M si cada sitio de entrada p está marcado con al menos W(p,t) tokens. De una manera más

formal,   si y sólo si t está habilitado.

2. Una transición puede o no ser disparada al habilitársele. Cuando más de una transición es habilitada, alguna de esas transiciones es seleccionada de manera no-determínistica dependiendo del modelo empleado.

Page 5: Redes de Petri

3. Un disparo de una transición t resulta en W(p,t) tokens eliminados de cada sitio de entrada p de t y la adición de W(t,p’) tokens a cada sitio de salida p’. Formalmente, el disparar una transición habilitada t resulta en un cambio de la marcación M a M’, donde:

M’(p) = M(p) + W(t,p) si p   y p 

M’(p) = M(p) - W(p,t) si p   y p 

M’(p) = M(p) para cualquier otro caso.

Si t no tiene estados de entrada (por ejemplo, si   ), se trata de una transición fuente y está habilitada por vacuidad. Si t no tiene sitios de salida (por

ejemplo, si   ), se dice que esta es una transición sumergida . Una transición sumergida ``consume’‘ tokens, pero no produce ningún token. Si una transición t es habilitada bajo la marcación M, y M’ es la marcación resultante del disparo de t,

se representa como   .

Debe hacerse notar el hecho de que conforme las transiciones son disparadas, el número total de tokens distribuidos a lo largo de la red puede variar, esto es, la conservación de los tokens no siempre sucede.

Figura 2.8: Secuencia de disparo en una red de Petri

Page 6: Redes de Petri

Ejemplo:

La figura 2.8(a) es un ejemplo de una red de Petri con ambas transiciones habilitadas mediante la marcación inicial M0 = < 1,2,0>. Cualquiera de las dos

puede ser disparada. Es posible tener:   

o   . Las figuras 2.8(b) y 2.8© muestran las marcaciones de M1 y M2, respectivamente. En M1 tanto t1 como t2 están deshabilitadas. En M2, t2 está habilitada y, si t2 se vuelve a disparar, se tendrá

que   . La figura 2.8(d) muestra a M3 marcada. En M3 ninguna transición ha sido habilitada. Una transición que nunca es habilitada se conoce como transición muerta ([Dwyer et al., 1995]) .

Es importante hacer notar el que la definición de la red de Petri y sus reglas de disparo y habilitación le permiten a un sitio estar marcado con un número ilimitado de tokens.

Estas redes de Petri en particular, reciben el nombre de redes de capacidad infinita. Existen también las redes de capacidad finita, en donde la marcación de cada sitio p tiene una cota superior K(p). Así, una restricción extra es incluída para

Page 7: Redes de Petri

la habilitación de una transición t : M(p) no puede excederse de K(p) para

todo   , si t fuera a ser disparada.

Figura 2.9: Arco inhibidor

Una extensión importante a las redes de petri es el arco inhibidor , el cual es indicado como un pequeño circulo en lugar de una flecha, al final del arco. En la figura 2.9(a) la transición T1 está habilitada porque no existe ningun token en P1. En general, una transición está habilitada si hay al menos un token en cada uno de sus arcos de entrada (normales) y ningun token en su arco inhibidor. En la figura 2.9(b) T1 está deshabilitada, debido a que hay un token en P1.

Caso de estudio de las redes de Petri:

Retomando el ejemplo del elevador visto en la sección correspondiente a las redes de transición de estados, se hará a continuación la especificación utilizando redes de Petri. En esta especificación cada piso p del edificio (el cual tiene m pisos) será

representado por un sitio Pp,   , en la red de Petri; un elevador está representado por un token. Un token en Pp indica que un elevador está en el piso p.

La primera condición es:

• C1: Cada elevador tiene un grupo de botones, uno para cada piso. Los botones se iluminan al presionárseles y hacen que el elevador visite el piso correspondiente. La iluminación se cancela cuando el piso es visitado por el elevador.

Para incorporar esto en la especificación es necesario la adición de más sitios. El botón del elevador para el piso p es representado en la red de Petri por el sitio

BEp,   . De una manera más precisa, debido a que existen n elevadores

Page 8: Redes de Petri

el sitio debe ser denotado como BEf,e, con   ,   . Pero para hacer más simple la notación, el subíndice e que representa al elevador será suprimido. Un token en BEp indica que el botón del elevador para el piso p está iluminado. Debido a que el botón debe estar iluminado la primera vez que este sea presionado y que las subsecuentes ocasiones en que se presione ese botón serán ignoradas. Esto se muestra en la figura 2.10.

Figura 2.10: Red de Petri para representar un botón del elevador

Primero, supóngase que el botón BEp no está iluminado. No existe ningún token en el sitio, debido a la presencia del arco inhibidor, la trancisión BEp presionado está habilitada. La transición es disparada, y un nuevo token es puesto en BEp (figura 2.11).

Figura 2.11: Red de Petri para representar un botón del elevador, después de haber presionado EBf

Ahora, no importa cuantas veces sea presionado el botón, la combinación del arco inhibidor y el token probocan que la trancisión BEp presionado no puede ser habilitada. Por lo tanto, no es posible que exista más de un token en el sitio BEp. Supongamos que el elevador va a viajar del piso g al piso p. Debido a que el elevador está en el piso g un token está en Pg, como se muestra en la figura 2.10. La transición elevador en acción es habilitada y entonces es disparada.

Page 9: Redes de Petri

Los tokens en BEp y Pg son consumidos, apagando de esta manera la luz en el botón BEp, y un nuevo token aparece en Ff, figura 2.12; el disparo de esta transición lleva al elevador del piso g al piso p.

Figura 2.12: Red de Petri para representar un botón del elevador, después de haber disparado EBf

La segunda condición del problema indica:

• C2: Cada piso, exceptuando al primer y último piso, tienen dos botones, uno para solicitar un elevador ``hacia arriba y otro para pedir un elevador ``hacia abajo.

Estos botones se iluminan al presionárseles. Dejan de estar iluminados cuando el elvador visita ese piso y se mueve en la dirección deseada.

Los botones de piso son representados por los sitios BPpu y BPp

d, los cuales representan los botonres para solicitar un elevador hacia arriba y un elevador hacia abajo, respectivamente. De manera más precisa, el piso 1 tiene un botón BP1

u, y el piso m tiene un botón BPmd, los pisos intermedios tienen dos botones,

BPpu y BPp

d, 1 < p < m. La figura 2.13 muestra el momento en que el elevador llega al piso p desde el piso g con uno o ambos botones iluminados. Si ambos botones están iluminados, sólo uno se apagará.

Figura 2.13: Red de Petri para representar los botones de piso

Page 10: Redes de Petri

La tercera condición dice:

• C3: Cuando un elevador no tiene ninguna petición de servicio, este debe permanecer con las puertas cerradas en el piso en que se encuentre en ese momento. Debido a que no existen peticiones de servicio del elevador, ninguna transición elevador en acción es habilitada.