redes petri

29
Instituto Tecnológico de Morelia Departamento de Sistemas y Computación Redes de Petri como un modelo de especificación formal 1 Fundamentos de las Redes de Petri (Capítulo 2, Ferreira) Introducción. Una Red de Petri es un modelo gráfico, formal y abstracto para describir y analizar el flujo de información. 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.

Upload: trisan

Post on 23-Jun-2015

375 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 1

Fundamentos de las Redes de Petri (Capítulo 2, Ferreira)

Introducción. • Una Red de Petri es un modelo gráfico, formal y abstracto

para describir y analizar el flujo de información. • 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.

Page 2: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 2

Historia • Las Redes de Petri surgen en 1962 con el trabajo doctoral de

Carl Adam Petri "Kommunikation mit Automaten" (Comunicación con autómatas), en Alemania.

• En su disertación doctoral Petri formuló la base para una teoría de comunicación entre componentes asíncronos de un sistema de cómputo.

• Las ideas de Petri atrajeron la atención de un grupo de investigadores del Applied Data Research Inc. Dirigido por Anatol Holt y que trabajaban en el proyecto "Information System Theory Project".

• El grupo, desarrolló la teoría del proyecto conocido como “Systemics”. Este trabajo fue el que proporcionó la teoría primaria, notación y representación de las Redes de Petri.

• La teoría de Redes de Petri fue divulgada en 1968 en el reporte final del proyecto "Systemics".

• Posteriormente, en el artículo titulado "Events and Conditions", publicado en 1970, Holt y Commoner muestran como las Redes de Petri pueden aplicarse al modelado y análisis de sistemas con componentes concurrentes.

• El trabajo de Petri, también atrajo la atención del grupo "The

Computation Structures Group", bajo la dirección de Jack Dennis, que trabajaban en un proyecto llamado "Project MAC" en el MIT.

• Este grupo, ha sido una fuente productiva de investigaciones y literatura, publicando varias tesis doctórales, numerosos reportes y memoranda sobre Redes de Petri.

Page 3: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 3

• Carl Adam Petri extendió su teoría original, para incluir conceptos básicos de flujo de información y de la estructura de sistemas concurrentes, estimulando investigaciones en diversos centros de investigación europeos, particularmente en el "Institut Für lnformationssystemforschung of the Gessellschaft Für Mathematik und Datenverarbeitung" en Bonn, Alemania.

• Holt continuó con el desarrollo de nuevos conceptos a partir de su trabajo original en "Systemics", se concentró en el desarrollo de herramientas para la representación y análisis de sistemas.

• Su trabajo lo realizó principalmente en la investigación de aspectos fundamentales de concurrencia y conflicto en sistemas con múltiples partes.

• En el MIT y muchos otros centros de investigación Americanos, enfocaron inicialmente sus investigaciones sobre Redes de Petri hacia la teoría de autómatas.

• En la actualidad, existe gran difusión de los avances en Redes de Petri y prácticamente existe una sola corriente entre los investigadores Europeos y los Americanos, ya que la comunicación existente entre todos los grupos beneficia el conocimiento de los nuevos avances.

Page 4: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 4

Definiciones Básicas.

• Las Redes de Petri están compuestas de cuatro componentes básicos que forman su estructura: Un conjunto de plazas P, un conjunto de transiciones T, la función de entrada I, y la función de salida O.

• Las funciones de entrada y salida relacionan las transiciones y las plazas.

• La función de entrada I es un mapeo a partir del conjunto de plazas de entrada hacia la transición tj, la función se puede escribir como I(tj).

• La función de salida O es un mapeo a partir de la transición tj hacia el conjunto de plazas de salida, la función de salida se puede escribir como O(tj).

DEFINICION: Una estructura de Red de Petri RP, es una cuarteta RP = (P, T, I, O), donde:

1. P={p1,p2,...,pn} es un conjunto finito de plazas, n≥1. 2. T={t1,t2,...,tm} es un conjunto finito de transiciones m≥ 1. 3. El conjunto de plazas y el conjunto de transiciones son

disyunciones; entonces, R∪T ≠ 0 y P∩T = 0

4. I:P⇒T es la función de entrada, un mapeo desde las plazas de entrada hacia el conjunto de transiciones.

5. O:T⇒P es la función de salida, un mapeo desde las transiciones hacia el conjunto de plazas de salida.

• La cardinalidad del conjunto P es n, y la cardinalidad del

conjunto T es m; n,m ∈ N (N en los números naturales). • Un elemento arbitrario de P es pi, donde i=1,. . .,n, y un

elemento arbitrario de T es tj, donde j=1,...,m.

Page 5: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 5

EJEMPLO 1. Considere la Red de Petri de la figura 3.1 cuya estructura está definida por la cuarteta RP = (P, T, I, O), donde cada componente está compuesto por: P = {p1,p2,p3,p4,p5} el conjunto de plazas, T = {t1,t2, t3,t4} el conjunto de transiciones, I(t1) = {p1} O(t1) = {p2,p3,p5 }, I(t2) = {p2,p3,p5 } O(t2) = {p5}, I(t3) = {p3} O(t3) = {p4}, I(t4) = {P4} O(t4) = {p2,p3}.

p1

p2

p3

p4p5t2t1

t4

t3

Grafo de la Red de Petri. • Una representación gráfica de una Red de Petri es de gran

utilidad para ilustrar los conceptos de la teoría de las Redes de Petri.

• En el grafo de la Red de Petri existen dos tipos de nodos que corresponden a las plazas y transiciones, representadas por círculos y barras respectivamente ( , ).

• Las funciones de entrada y salida se representan por arcos dirigidos desde las plazas a las transiciones y desde las transiciones a las plazas ( ).

Figura 3.1 Gráfica de la red de Petri equivalente de la estructura de Red de Petri del Ejemplo 1.

Page 6: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 6

• Un arco es dirigido desde una plaza pi hasta una transición tj

si la plaza es una entrada hacia la transición. • Similarmente, un arco es dirigido desde una transición tj hacia

una plaza pi si la plaza es una salida desde la transición. • Debido a que los arcos tienen dirección, entonces el grafo de

la Red de Petri es del tipo Grafo Dirigido. DEFINICIÓN 3.2. Un grafo G de una Red de Petri es un grafo dirigido bipartita, G = (V, A), donde V = {v1,v2,…,vs} es un conjunto de vértices y A={a1,a2,...,ar} es un conjunto de arcos dirigidos, ar = (yj,vk) con vj,vk∈V. El conjunto V puede ser particionado en dos conjuntos disjuntos P y T tal que V = P∪T, P∩T = O, y para cada arco dirigido, ar∈A, si ar = (vj, vk), donde vj

∈ P , y , vk ∈ T , o , vj ∈ T , y , vk ∈ P.

• La gráfica de la figura 3.1 será el grafo de Red de Petri equivalente de la Estructura de Red de Petri del Ejemplo 1.

• Las dos representaciones, la Estructura de la Red de Petri y el Grafo de Red de Petri son equivalentes, es decir, G = (V, A) es un grafo de la Red de Petri que es equivalente a la estructura de Red de Petri RP = (P, T, I, O).

DEFINICIÓN 3.3. Sea V = P ∪ T, se define A como un conjunto de arcos dirigidos tal que ∀pi ∈ P y ∀tj ∈ T

((pi, tj),A) = (pi,I(tj)); ((tj, pi),A) = (pi , O(tj))

Es decir, G = (V, A) es un grafo de la Red de Petri que es equivalente a la estructura de Red de Petri RP = (P, T, I, O). La conversión en la dirección opuesta (desde un grafo de Red de Petri a una estructura de Red de Petri) es similar.

Page 7: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 7

Se tienen dos posibles concepciones de las Redes de Petri:

• Condiciones en las plazas y eventos en las transiciones o • Condiciones en las transiciones y eventos en las plazas.

Si bien es cierto que no hay un consenso de cual presenta mayores ventajas, la tendencia es utilizar la primera.

• La dualidad de una Red de Petri RP = (P, T, I, O) es la Red de Petri ¬RP = (P, T, I, O) que resulta de intercambiar plazas por transiciones. La estructura del grafo se mantiene, simplemente se intercambian los círculos y barras del grafo para indicar el cambio de plazas a transiciones y viceversa.

• La correspondencia entre el grafo de la Red de Petri y la estructura de Red de Petri es tan natural que en la mayoría de trabajos se consideran el mismo concepto y refieren a un grafo de Red de Petri o a una estructura de Red de Petri como Red de Petri.

Marcaciones • Una marcación µ es un vector de asignación de tokens a las

plazas de una Red de Petri. • Un Token, es un concepto primario para Redes de Petri como

lo son las plazas y transiciones. • Los tokens residen en las plazas de la Red. El número y la

posición de los tokens en la red puede cambiar durante la ejecución de la red.

• Los tokens se utilizan para definir la ejecución de una Red de Petri.

Page 8: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 8

DEFINICIÓN 3.4. Una marcación de una Red de Petri RP = (P, T, I, O) es una función desde el conjunto de plazas P a los enteros positivos N, µ: P⇒ N.

• La marcación µ puede definirse también como un vector de dimensión n, µ = (µ1, µ2, … , µn) donde n = | P | (la cardinalidad de P, o sea el número de plazas) y cada µi ∈ N, i = 0, 1,... ,n.

• El vector µ indica la distribución y el número de tokens para cada plaza pi en una Red de Petri. Entonces, el número de tokens en la plaza pi es µi, con i = 0,1 ,...,n.

Las definiciones de una marcación como una función µ (pi) y como un vector µi , se relacionan por µ (pi)= µi, que se puede leer: la marcación en la plaza pi es µi.

• La notación como función es más general y más comúnmente

utilizada. • Una Red de Petri Marcada RPM = (RP, µ) es una estructura

de Red de Petri RP = (P, T, I, O) y una marcación µ. Otra forma de escribir una Red de Petri Marcada es RPM = (P, T, I, O, µ).

En el grafo de la Red de Petri, los tokens se representan como pequeños puntos negros • en los círculos que representan las plazas de la Red de Petri.

Page 9: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 9

Por ejemplo, en la Figura 3.2 se muestra un grafo de una Red de Petri Marcada, la cual tiene una marcación µ = (1,2,0,0,1).

p1

p2

p3

p4p5t2t1

t4

t3

Figura 3.2 definición

Reglas de Ejecución. • Una Red de Petri se ejecuta por el disparo de transiciones. • Una transición puede dispararse si está habilitada. • Una transición está habilitada si cada una de sus plazas de

entrada tiene al menos un token. En la figura 3.2, por ejemplo, las entradas a la transición t2 son las plazas p2, p3, y p5; pero la transición t2 no está habilitada. Para que t2 esté habilitada, se necesita que las plazas p2, p3, y p5, tengan cada una, al menos un token.

Figura 3.2 Red de Petri Marcada con Marcación µ = (1,2,0,0,1).

Page 10: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 10

DEFINICIÓN 3.5. Una transición tj ∈ T, en una Red de Petri marcada RPM = (P, T, I, O, µ) con marcación µ estará habilitada si para pi ∈ I(tj).

• Cuando una transición habilitada se dispara, se remueve un token de cada una de sus plazas de entrada y se deposita un token dentro de cada una de sus plazas de salida.

• La transición t3 en la figura 3.3, con I(t3) = {p3} y O(t3) = {p4},

está habilitada ya que existen tokens en la plaza p3. • La transición t3 se dispara, removiendo un token de p3 (su

entrada) y colocando un token en p4 (su salida). • Los tokens extras en p3 no se afectan al disparo actual de t3. • Así mismo, la transición t2 se dispara con I(t2) = {p2,p3,p5} y

O(t2) = {p5}; se remueve un token de cada plaza p2, p3, y p5 y se coloca un token en p5.

p1

p2

p3

p4p5t2t1

t4

t3

• El disparo de una transición, en general cambiará el marcado µ de la Red de Petri a un nuevo marcado µ1.

• Como sólo las transiciones habilitadas se pueden disparar, el número de tokens en cada plaza nunca será negativo cuando se dispara una transición.

• El disparo de una transición no puede remover tokens inexistentes, ya que, si cualquiera de las plazas de entrada de una transición no contiene tokens, entonces la transición no se puede disparar.

Figura 3.3 Una Red de Petri marcada.

Page 11: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 11

En la figura 3.4 se presenta un resumen de los posibles resultados al disparar una transición. Si una plaza es una entrada a la transición, se remueve un token, si es una salida, se añade un token. No ocurren cambios de la red si la plaza ni es una entrada, ni es una salida (figura 3.4a), o es ambas una entrada y una salida (figura 3.4d).

Figura 3.4 Cambios en la marcación de una plaza pi que

resulta del disparo de la transición tj. En el último caso (figura 3.4d), cuando la plaza sea de entrada y salida a una transición, será necesario tener al menos un token en la plaza de entrada aun cuando no ocurra cambio en la marcación de esta plaza.

Entradas a tj

(pi, O(tj)) = 0

(pi, O(tj)) = 1

tj

pi

u’(pi) = u(pi) u’(pi) = u(pi) +1

pi

u’(pi) = u(pi) -1

pi

tj

tj

u’(pi) = u(pi) –1+1 pi

tj

a) La plaza pi no es entrada ni salida

b) La plaza pi es salida de tj

c) La plaza pi es entrada de tjd)Plaza pi es entrada y salida a tj

SALIDAS DE tj (pi, O(tj)) = 0 (pi, O(tj)) = 1

Page 12: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 12

DEFINICIÓN 3.6. Una transición tj en una Red de Petri Marcada con marcación µ puede disparar siempre y cuando esté habilitada. El disparo de una transición tj habilitada, da por resultado una nueva marcación µ1 definida por:

µ1=µ -(pi, I(tj)) + (pi,O(tj)) La interpretación de esta fórmula es la siguiente: El disparo de la transición tj genera la nueva marcación µ1 que es igual a la marcación anterior µ, menos el retiro de un toquen en cada una de las plazas de entrada a tj, más el depósito de un token en cada una de las plazas de salida de tj. EJEMPLO 3.2. Considere la Red de Petri marcada de la figura 3.5, con marcación µ0=(1,0,0,2,1). La transición t2 no está habilitada porque no hay tokens en dos de sus plazas (p2, p3) de entrada, dos transiciones están habilitadas t1 y t4, cualquiera de ellas puede disparar.

• Si la transición t4 se dispara, se remueve un token de su entrada p5 y se deposita un token en p3 y p4 respectivamente, entonces, se incrementa el número de tokens en p3 de cero a uno, y en p4 se aumenta de dos a tres. La nueva marcación resultante es µ1 = (1,0,1,3,0) y se muestra en la figura 3.6.

p1 p2

p3

p4

p5t2t1

t4

t3

Figura 3.5 Red de Petri Marcada que ilustra las reglas de disparo. Las transiciones t1, t3, y t4 están habilitadas.

Page 13: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 13

p1 p2

p3

p4

p5t2t1

t4

t3

A partir de la marcación µ1 = (1,0,1,3,0) de la figura 3.6, sólo las transiciones t1 y t3 están habilitadas. Si se dispara la transición t1 se removerá el token en p1 y se depositará un token en cada una de las plazas p2, p3, y p4. Esto produce la marcación µ2=(0,1,2,4,0) de la figura 3.7.

p1 p2

p3

p4

p5t2t1

t4

t3

Con la red de la figura 3.7, donde se tiene µ2=(0,1,2,4,0), sólo las transiciones t2 y t3 están habilitadas. Si se dispara t3 resulta la marcación µ3= (0,1,2,3,1) de la figura 3.8.

Figura 3.6 Marcación resultante del disparo de la transición t4 de la Figura 3.5.

Figura 3.7 Marcación resultante del disparo de la transición t1 de la Figura 3.6.

Page 14: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 14

p1 p2

p3

p4

p5t2t1

t4

t3

La ejecución puede continuar con el disparo de las transiciones mientras exista al menos una transición habilitada. Cuando no existan transiciones habilitadas, la ejecución se detiene.

Espacio de Estado de una Red de Petri. • El estado de una Red de Petri se define por su marcación. • El disparo de una transición representa un cambio en el

estado de la Red de Petri debido al cambio en la marcación de la red.

• El cambio de estado causado por el disparo de una transición se define por una función de cambio δ llamada función de estado siguiente.

• La aplicación de la función de estado siguiente a una marcación µ y a una transición tj establece el valor de la marcación que resultará del disparo de la transición tj en la marcación µ.

• Como tj puede dispararse solamente si está habilitada, la función δ(µ, tj) estará indefinida si tj no está habilitada en la marcación µ.

• Si tj está habilitada, entonces δ(µ, tj) = µ1, donde µ1, es la marcación que resulta de remover los tokens de las plazas de entrada de tj y agregar tokens en las plazas de salida de tj.

Figura 3.8 Marcación resultante del disparo de la transición t3

de la Figura 3.7.

Page 15: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 15

• En la Figura 3.5, µ0 = (1,0,0,2,1). Al disparar t4, se produce la marcación del estado-siguiente δ(µ0, t4))=( 1,0,1,3 ,0)= µ1, que se muestra en la figura 3.6.

• A partir de esta marcación, con el disparo de t1, cambia la marcación y el estado-siguiente es δ(µ1, t1))=( 0,1,2,4 ,0)= µ2, que se muestra en la Figura 3.7.

• Con la marcación de µ2, se dispara t3 para obtener la marcación de estado-siguiente δ(µ2, t3))=(0,1,2,3 ,1)=µ3, esta marcación resultante se muestra en la figura 3.8.

En general, de la ejecución de una Red de Petri, resultan dos secuencias:

• la secuencia, de marcación (µ0 ,µ1 ,µ2 ,µ3, ….) y • la secuencia de disparo de transiciones α …

De la ejecución de la Red de Petri del Ejemplo 2, resultan las secuencias:

• de marcación µ=(µ0 ,µ1 ,µ2 ,µ3) y • de disparo de transiciones α = (t4,t1 ,t3).

Estas dos secuencias se relacionan por la relación

δ(µk, tj) = µk+1, para k = 0,1,2 … donde k, j ∈ N.

• Dada cualquier secuencia de marcación µ, se puede encontrar la secuencia de transiciones disparadas y viceversa.

• Estas dos secuencias proporcionan el registro de la ejecución de la Red de Petri.

• Esto es posible para todo tipo de Red de Petri, excepto para una reducida cantidad de casos de redes del tipo que se le denomina "degeneradas”.

Page 16: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 16

En una marcación µ0, un conjunto de transiciones estará habilitada y podrá dispararse.

• El resultado de disparar una transición en una marcación µ0 será un nueva marcación µ1. Esta marcación se dice que es alcanzable inmediatamente desde µ0; esto es, se puede alcanzar el estado µ1 inmediatamente a partir del estado µ0.

DEFINICIÓN 2.7. Para una Red de Petri RP=(P,T,I,O) con marcación inicial µ0. Una marcación µ1 es alcanzable inmediatamente desde µ0 si existe una transición tj ∈ T tal que δ(µ0, tj) = µ1. Se puede extender este concepto para definir el conjunto de marcaciones alcanzables para una Red de Petri marcada.

• Si µ1 es alcanzable inmediatamente desde µ0 y µ2 es alcanzable inmediatamente desde µ1, entonces se dice que µ2 es alcanzable desde µ0.

• Se define el conjunto de alcanzabilidad A(RP, µ) de una Red de Petri RP con marcación µ, como todas las marcaciones alcanzables desde µ0.

Una marcación µi es un conjunto alcanzable desde A(RP, µ) si hay cualquier secuencia de transiciones disparando y que cambiarán la marcación µ en una marcación µi.

Page 17: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 17

Ventajas y Desventajas Ventajas

• El sistema completo frecuentemente es fácil de entender debido a la naturaleza gráfica y precisa del esquema de representación.

• El comportamiento del sistema se puede analizar usando la teoría de red de Petri.

• Puesto que las redes de Petri pueden ser sintetizadas usando los enfoques ascendente (bottom-up) y descendente (top-down), es posible especificar sistemáticamente aquellos sistemas cuyo comportamiento es conocido o fácilmente verificable.

Desventajas • Las redes de Petri generales no pueden modelar ciertas

situaciones de prioridad. • En general, el problema de alcanzabilidad en redes de Petri,

aunque decidible, se ha visto, que es de tiempo exponencial y fuerte consumidor de espacio.

Sin embargo, para esta última desventaja, si se encuentran problemas en el análisis, esto es un reflejo de la complejidad del sistema a ser modelado y no debe considerársele como una desventaja.

• Existen muchas variedades de Redes de Petri que pueden agruparse en dos campos o clases; generalización de Redes de Petri y subclases del modelo general.

• Las primeras, llamadas "Modelos Generales", tienen algunas ventajas para el modelado, mientras que las segundas, llamadas "Modelos Específicos" tienen ventajas para analizar el comportamiento de sistemas específicos.

• Los modelos generales de Redes de Petri, utilizan la concepción original de Petri. Los modelos específicos, han surgido con diferentes adjetivos y que sus autores han modificado o extendido del original para resolver determinados problemas[7].

Page 18: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 18

ESTADO DEL ARTE. (Capítulo 3, Ferreira)

• Las extensiones hechas a la red de Petri han surgido como una solución a algunas de las limitaciones de la técnica.

• Una de las limitaciones es el hecho de que los tokens son anónimos, la presencia de un token en una plaza puede denotar sólo la presencia de un mensaje en un buffer, pero no lo que dice el mensaje.

• Esto, útil en ciertos casos, no modela un sistema en donde un mensaje debe pasar a través de uno de dos canales diferentes: el canal1 se selecciona si el mensaje está bien formado; el canal2, el canal de "error", se selecciona si el mensaje es incorrecto[4].

• Ejemplo, un mensaje está bien formado si contiene un

número par de 1's. • La representación en una red de Petri de este sistema, como

la figura 3.1, no es correcta, ya que la presencia del token en la plaza P, sólo muestra la existencia de un mensaje, más no que es lo que contiene el mensaje, que finalmente es lo que debería decidir cual transición se dispara.

Figura 3.1 Una parte de una red de Petri que describe el paso de mensajes a través de canales.

P

Canal1 Canal2

Page 19: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 19

La extensión hecha para poder manejar éste problema se le conoce como: Asignación de valores a tokens. • Los tokens pueden llevar un valor del tipo apropiado: entero,

arreglo de bytes, o aún, un ambiente más completo, que consista de algunas variables y sus valores asociados.

• Se asocian a las transiciones predicados y funciones, que tendrán el siguiente significado: o una transición con k plazas de entrada y h plazas de

salidas estará habilitada si existe una k-tupla de tokens, uno para cada plaza de entrada, de tal manera que el predicado asociado con la transición sea satisfecha por los valores de los tokens de la tupla. Estos tokens en conjunto se llaman una tupla - lista.

• Debe notarse que el predicado se evalúa sobre exactamente un token para cada plaza de entrada. Así, podría haber más de una tupla - lista para alguna transición, esto es, el mismo token podría pertenecer a tuplas - listas diferentes.

Cuando una transición se dispara, esto implica lo siguiente:

• La cancelación de todos los tokens que pertenecen a una tupla-lista desde las plazas de entrada (si existe más de un tupla-lista, su elección es no determinística).

• La evaluación de h nuevos valores de token sobre la base de los valores de la tupla-lista al aplicar la función asociada con la transición (o sea, dicha función tiene un dominio de k-tuplas y un rango de h tuplas).

• La producción de un token para cada plaza de salida, cuyo valor se calcula con la función asociada con la transición.

De esta manera, el problema mencionado anteriormente se puede solucionar. Es suficiente considerar que los tokens llevan un valor del tipo de los mensajes, es decir, secuencias de bits. El predicado “P tiene un número par de 1’s” puede colocarse en la transición canal1, y uno similar a la transición canal2. Si el paso de los mensajes a través de los canales implica alguna modificación del mensaje, esto se puede hacer de una manera natural agregando las funciones apropiadas a las transiciones.

Page 20: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 20

Otro problema de las redes de Petri, es el hecho de que no es posible especificar una política de selección entre transiciones diferentes que estén habilitadas. Por ejemplo, en la figura 3.2(a), se observa la posibilidad de que la secuencia de disparo <t1, t3, t5> se repita indefinidamente, bloqueando la actividad consistente de <t2, t4, t6>.

t6 t5 t6

t6 t5 t6 Figura 3.2 evolución de una Red de Petri

Cuando un modelo de red de Petri no determinístico puro no es adecuado, se plantea como solución lo que se conoce como: Especificación de políticas de disparo, que selecciona una transición para disparar entre todas las transiciones habilitadas. • Una manera simple de hacer esto es asignar prioridades a

las transiciones. • La regla de disparo se modifica a: si, en algún estado, varias

transiciones están habilitadas, sólo se permite que disparen las que tengan la máxima prioridad en ese momento.

Page 21: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 21

Las prioridades se definen normalmente de manera estática. Si los tokens llevan un valor, sin embargo, se pueden definir prioridades dinámicas cuyos valores dependerán de los valores de los tokens de las plazas de entrada de las transiciones[9]. Otro aspecto que se ha cubierto dentro del modelo de red de Petri es el que se refiere a las consideraciones de tiempo. En sistemas que precisan del manejo de esta variable, llega a ser altamente riesgoso el que se presente una falla al efectuar una tarea dentro de un tiempo dado, ya que tendría el mismo efecto que no haberla efectuado o haberla efectuado sólo parcialmente[6]. Ejemplo, una línea externa manda mensajes a una computadora a una velocidad dada. Cada mensaje que se recibe se coloca en un "buffer" y luego se procesa. Si no se toma un mensaje antes de que el próximo llegue, éste se sobrescribe. Así, los resultados del procesamiento varían dependiendo de los tiempos de llegada de los mensajes.

Para esto, se ha desarrollado una extensión que se le conoce como: Redes de Petri Temporizadas. Son redes de Petri en las que un par <tmin,tmax> está asociado a cada transición. Esos valores podrían ser constantes o calculados como funciones de los valores de los tokens que están en las plazas de entrada[6]. Una vez que una transición está habilitada, ésta debe esperar por lo menos tmin unidades de tiempo, antes de que pueda ser disparada. También, si está habilitada, debe dispararse antes de tmax unidades de tiempo hayan transcurrido, a menos que se deshabilite por el disparo de otra transición antes de tmax. Una red de Petri temporizada es equivalente a la original sí, para cada transición: tmin = 0 y tmax =∞

Page 22: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 22

Es posible combinar características de tiempo con otras como las anteriormente mencionadas en una red de Petri; de tal manera, que si se le agregan tiempo y prioridades a las transiciones, es necesario tener cuidado para determinar cual transición puede o debe disparar y a que tiempo. Una regla natural es que si varias transiciones pueden disparar (sin que esto sólo quiera decir que estén habilitadas, sino que también estén habilitadas durante su intervalo [tmin,tmax]), entonces sólo las transiciones con prioridades. máximas podrán dispararse, dentro de un tiempo que es menor o igual a su propio tmax .

A manera de ejemplo, se presenta la red de la figura 3.3, en donde a un tiempo t = 0, la marca se modifica por la llegada de un token a P2, Y entonces tanto t1 como t2 están habilitadas en el mismo tiempo.

Figura 3.3 Una Red de Petri Temporizada Puede suceder que t1 se dispare dentro de un tiempo menor a 2. Sin embargo, si ésta no dispara dentro de ese tiempo, ya no podrá dispararse, por el hecho de que en un tiempo t=2, t2 puede dispararse también y ésta tiene una prioridad más alta que t1. Además, si en un tiempo t=1 se coloca un token en P4, entonces durante el intervalo 1 ≤ t < 2, tanto t3 como t1 , pueden disparar, pero t1 no puede dispararse antes que t3, por su baja prioridad. Una de las técnicas de verificación de una red de Petri, es la técnica por medio de invariantes de red. Un invariante es un conjunto de plazas, I, tal que,

∑M(p) p∈I

p3 p4 p1 p2

t2 t3 t1 tmin = 1 tmax = 4 prioridad = 1

tmin = 2 tmax = 3 prioridad = 3

tmin = 0 tmax = 5 prioridad = 2

Page 23: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 23

Es una constante para cada marcaje alcanzable M, e I no tiene subconjuntos propios que sean invariantes. Sea N=(T,P,A) una red de Petri.

La matriz de incidencia C de N está definida como C= (C(t, p)) donde t ∈ T y p ∈ P tal que: -1 Si (p,t) ∈ A, (t,p) ∉ A C(t,p) = +1 Si (t1p) ∈ A, (p,t) ∉ A 0 De otra manera Sea y la solución del sistema de ecuaciones C •••• y = 0

Donde cada elemento de y es 0 o 1 e y no se puede ser obtener aditivamente a partir de otras soluciones. El conjunto de plazas que corresponden a elementos diferentes de cero en y es un invariante.

Figura 3.4 Una Red compacta de un sistema de dos procesos.

Page 24: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 24

Para la figura 3.4, el sistema de ecuaciones es equivalente a: P1 P2 P3 P4 P5 P6 P7 t1 -1 1 0 0 0 0 0 y1 = 0 t2 1 -1 0 0 -1 0 1 y2 = 0 t3 0 0 -1 1 1 0 -1 y3 = 0 t4 0 0 1 -1 0 0 0 y4 = 0 y5 = 0

y6 = 0 y7 = 0

Las ecuaciones correspondientes son:

-y1 + y2 = 0 y1 - y2 – y5 + y7 = 0 -y3 + y4 + y5 - y7 = 0 y3 – y4 = 0

Las soluciones que no pueden ser obtenidas aditivamente de otras soluciones son:

[1 1 0 0 0 0 0] [0 0 1 1 0 0 0] [0 0 0 0 1 0 1] [0 0 0 0 0 1 0] Los invariantes son:

{P1,P2} , {P3,P4}, {P5,P7} , {P6} Dado el conjunto de invariantes, se pueden deducir algunas propiedades del comportamiento dinámico de la red.

Page 25: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 25

Suponga µ0, la marcación inicial, como se muestra en la figura 3.4 con B > 0, B = tamaño del buffer. Sea NPi el número total de tokens en Pi.

Limitación. Puesto que cada plaza está en algún invariante y la red inicia con un marcaje limitado, la red es limitada. Conservatividad. Puesto que el conjunto de plazas puede particionarse en subconjuntos disjuntos cada uno de los cuales es un invariante, la red es conservativa y el número total de tokens de la red permanece constante. Exclusión Mutua. Si una plaza de salida o una de entrada de la transición t está contenida en un invariante I, se dice que t es una transición de I. Si dos transiciones son transiciones del mismo invariante, y la marcación inicial es tal que la suma de los tokens en las plazas del invariante es 1, entonces las transiciones son mutuamente exclusivas y no pueden dispararse simultáneamente. Esto es, la marcación inicial y el invariante {P6} garantizan que t2 y t3 son mutuamente exclusivas. Buffer no agotado. El agotamiento (underflow), es imposible puesto que t3 no puede dispararse si el buffer está vació (NP7=0). Buffer no desbordado. Puesto que {P5,P7} es un invariante, la marcación inicial garantiza que NP5 + NP7 es siempre B. Por lo tanto, NP7 ≤ B y el desbordamiento del buffer no puede ocurrir. No condición de Bloqueo. Se dice que ha ocurrido una condición de bloqueo si la red llega a una marcación donde ninguna transición pueda dispararse. Si la red está bloqueada, t2 no puede dispararse. Esto implica que NP5 = 0 o NP2 = 0. • En el primer caso, a partir de la marcación inicial µ0 y el

invariante {P5,P7} puede concluirse que NP7 > 0; si NP3 = 0 entonces NP4 = 1 (del invariante {P3,P4}) y t4 puede disparar, sino NP3 = 1 y t3 puede dispararse.

Page 26: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 26

• En el segundo caso, NP2 = 0, del invariante {P1,P2} y µ0 puede concluirse que NP1 = 1 y t1 puede disparar. Así, si t2 no puede disparar, entonces ya sea t3 o t1 pueden, y la red nunca podrá estar bloqueada.

Campo de Aplicación y Áreas de Investigación. En general, las redes de Petri pueden verse como una estructura especial para estudiarse como ejercicio intelectual, también se les puede ver, como otro autómata capaz de aceptar o generar lenguajes formales, o (la más relevante para nuestro estudio) como un esquema de representación para describir, analizar, y sintetizar diferentes sistemas "en tiempo real". Como se ve, las interpretaciones que se le pueden dar a una red de Petri no tienen necesariamente que ser relacionadas con computación. Por ejemplo, una red puede representar un proceso químico donde los lugares de entrada representan reacciones químicas, las plazas de salida los resultados de la reacción, y los tokens el número de moléculas de un tipo dado. Dentro del campo de la computación los usos más importantes de la red de Petri abarcan:

• Aplicaciones en tiempo real. • Sistemas operativos y compiladores. • Bases de Datos distribuidas y protocolos de comunicación. • Hardware de Computadora.

Se han desarrollado técnicas de análisis de la red, incluso se ha derivado un cálculo de red, isomórfico al cálculo proposicional, este trabajo lo realizo Thieler-Mevissen [14]. Otra área novedosa, es el de las redes de libre elección, que han sido útiles para modelar ambientes industriales de producción (por ejemplo, líneas de ensamble).

Page 27: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 27

Un área de investigación más reciente es la propuesta para utilizar el modelo de red de Petri para analizar el DFD y validar la exactitud de la especificación. Dentro de las principales razones para hacerlo de esta manera están:

• Las redes de Petri se pueden expresar tanto gráfica como algebraicamente.

• Las representaciones gráficas de transiciones y plazas de una red de Petri corresponden a las componentes proceso y flujo de datos de los DFD’s, respectivamente.

• Las representaciones algebraicas de los tokens y los marcajes en las redes de Petri pueden utilizarse para analizar el flujo de datos durante la ejecución de los procesos del DFD.

• Las redes de Petri pueden representarse en diagramas jerárquicos para modelar la naturaleza multinivel de los DFD’s.

• La red soporta el paralelismo y puede utilizarse para analizar la naturaleza concurrente de los procesos en el DFD.

• Las redes de Petri pueden usarse para reforzar la integridad y consistencia, debido a su rico formalismo, tanto entre DFD’s como a través de ellos, a diferentes niveles.

Page 28: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 28

Bibliografía [1] Claudia del Carmen Reyes Rincón Especificaciones Formales de Transacciones Básicas Para Sistemas

de Información. Tesis de Maestría en Ciencias

ITESM campus Cuernavaca. Mayo 1995.

[2] David Chaparro Aguilar Redes de Petri (Un Editor Gráfico) Tesis de Maestría en Ciencias ITESM campus Cuernavaca. Julio 1993.

[3] David Martines Gonzáles Análisis del Estado de Arte sobre Técnicas De Especificación.

Tesis de Maestría en Ciencia ITESM Campus Cuernavaca. Diciembre 1993.

[4] Martín Heriberto Cruz Rosales Redes de Petri con Operadores Temporales Tesis de Maestría en Ciencias ITESM campus Cuernavaca. Mayo 1996.

[5] Reynaldo Alanís Cantú Técnicas de Especificación y Verificación Formal de Programas. Tesis de Maestría en Ciencias ITESM campus Cuernavaca. Julio 1996.

[6] Petri Nets James L. Peterson Computing Surveys Vol 9, No. 3 1977

[7] Petri Nets, marked graphs and circuit system theory Tadao Murata Dep. Of Electrical Engineering and Computer Sciences University of California. Berkley Berkeley, CA.

[8] Ingeniería de Software, Un enfoque Práctico Roger S. Pressman Tercera Edición Ed. McGrawHill

[9] Coloured Petri Nets, Basical Concepts, Analysis Methods and Practical Use Volume 1, Second Edition Kurt Jensen Ed. Springer

Page 29: Redes Petri

Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

Redes de Petri como un modelo de especificación formal 29

[10] Jeffrey W. Herrmann, Edward Lin

Petri Nets: Tutorial and Applications CIM Lab Institute for Systems Research University of Maryland Washington, D. C. November 5, 1997

[11] Petri Nets and Modeling of Systems Zebo Peng CADLAB Dept. of Computer and Information Science Linköping University

[14] The Petri Net Calculus of Predicate of Logic Thieler – Mevissen Computer Science Vol 45, Springer 1976