Está en la página 1de 29

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

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.

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


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

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.

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


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

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

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


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

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.

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


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

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

p2

t2 t4
p1 t1 p5 p4

t3

p3

Figura 3.1 Gráfica de la red de Petri equivalente de la estructura de


Red de Petri del Ejemplo 1.

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 ( ).

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


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

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

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


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

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.

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


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

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.

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


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

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).
p2

t2 t4
p1 t1 p5 p4

t3

p3

Figura 3.2 Red de Figura 3.2 definición


Petri Marcada con Marcación µ = (1,2,0,0,1).

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.

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


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

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

t2 t4
p1 t1 p5 p4

t3

p3

Figura 3.3 Una Red de Petri marcada.

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

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


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

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

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

tj tj
(pi, O(tj)) = 0
u’(pi) = u(pi) u’(pi) = u(pi) +1
pi pi
a) La plaza pi no es entrada b) La plaza pi es salida de tj
ni salida

tj tj
(pi, O(tj)) = 1
u’(pi) = u(pi) -1 u’(pi) = u(pi) –1+1
pi pi
c) La plaza pi es entrada de tj d)Plaza pi es entrada y salida
a tj

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.

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


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

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

t2 t4
p1 t1 p2 p5

t3

p4

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

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


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

p3

t2 t4
p1 t1 p2 p5

t3
p4

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


la Figura 3.5.

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.

p3

t2 t4
p1 t1 p2 p5

t3
p4

Figura 3.7 Marcación resultante del disparo de la


transición t1 de la Figura 3.6.

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.

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


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

p3

t2 t4
p1 t1 p2 p5

t3
p4

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


de la Figura 3.7.

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.

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


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

• 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”.

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


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

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.

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


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

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].
Redes de Petri como un modelo de especificación formal 17
Instituto Tecnológico de Morelia Departamento de Sistemas y Computación

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.

Canal1 Canal2

Figura 3.1 Una parte de una red de Petri que describe el


paso de mensajes a través de canales.

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


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

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.

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


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

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.

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


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

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 =∞

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


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

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.

p1 p2 p3 p4

t1 t2 t3
tmin = 1 tmin = 2 tmin = 0
tmax = 4 tmax = 3 tmax = 5
prioridad = 1 prioridad = 3 prioridad = 2

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

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


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

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.

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


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

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
y 1 - y2 – y 5 + y 7 =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.

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


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

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.

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


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

• 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).

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


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

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.

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


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

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

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


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

[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

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

También podría gustarte