Está en la página 1de 29

Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin

Redes de Petri como un modelo de especificacin formal 1



Fundamentos de las Redes de Petri
(Captulo 2, Ferreira)

Introduccin.
Una Red de Petri es un modelo grfico, formal y abstracto
para describir y analizar el flujo de informacin.
El anlisis de las Redes de Petri ayuda a mostrar informacin
importante sobre la estructura y el comportamiento dinmico
de los sistemas modelados.
La teora de las Redes de Petri permite la representacin
matemtica del sistema a ser modelado.
Las Redes de Petri son de utilidad en el diseo de sistemas
de hardware y software, para especificacin, simulacin y
diseo de diversos problemas de ingeniera.
Las Redes de Petri pueden considerarse como autmatas
formales o como generadores de lenguajes formales y tienen
asociacin con la teora de grafos.
Son excelentes para representar procesos concurrentes, as
como, procesos donde pueden existir restricciones sobre la
concurrencia, precedencia, o frecuencia de esas ocurrencias.
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 2

Historia
Las Redes de Petri surgen en 1962 con el trabajo doctoral de
Carl Adam Petri "Kommunikation mit Automaten"
(Comunicacin con autmatas), en Alemania.
En su disertacin doctoral Petri formul la base para una
teora de comunicacin entre componentes asncronos de un
sistema de cmputo.
Las ideas de Petri atrajeron la atencin 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 teora del proyecto conocido como
Systemics. Este trabajo fue el que proporcion la teora
primaria, notacin y representacin de las Redes de Petri.
La teora de Redes de Petri fue divulgada en 1968 en el
reporte final del proyecto "Systemics".
Posteriormente, en el artculo titulado "Events and
Conditions", publicado en 1970, Holt y Commoner muestran
como las Redes de Petri pueden aplicarse al modelado y
anlisis de sistemas con componentes concurrentes.

El trabajo de Petri, tambin atrajo la atencin del grupo "The
Computation Structures Group", bajo la direccin 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 doctrales, numerosos
reportes y memoranda sobre Redes de Petri.

Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 3



Carl Adam Petri extendi su teora original, para incluir
conceptos bsicos de flujo de informacin y de la estructura
de sistemas concurrentes, estimulando investigaciones en
diversos centros de investigacin europeos, particularmente
en el "Institut Fr lnformationssystemforschung of the
Gessellschaft Fr 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 representacin y anlisis
de sistemas.
Su trabajo lo realiz principalmente en la investigacin de
aspectos fundamentales de concurrencia y conflicto en
sistemas con mltiples partes.
En el MIT y muchos otros centros de investigacin
Americanos, enfocaron inicialmente sus investigaciones sobre
Redes de Petri hacia la teora de autmatas.
En la actualidad, existe gran difusin de los avances en
Redes de Petri y prcticamente existe una sola corriente
entre los investigadores Europeos y los Americanos, ya que
la comunicacin existente entre todos los grupos beneficia el
conocimiento de los nuevos avances.

Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 4



Definiciones Bsicas.
Las Redes de Petri estn compuestas de cuatro
componentes bsicos que forman su estructura: Un conjunto
de plazas P, un conjunto de transiciones T, la funcin de
entrada I, y la funcin de salida O.
Las funciones de entrada y salida relacionan las transiciones
y las plazas.
La funcin de entrada I es un mapeo a partir del conjunto de
plazas de entrada hacia la transicin t
j
, la funcin se puede
escribir como I(t
j
).
La funcin de salida O es un mapeo a partir de la transicin t
j

hacia el conjunto de plazas de salida, la funcin de salida se
puede escribir como O(t
j
).

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

1. P={p
1
,p
2
,...,p
n
} es un conjunto finito de plazas, n1.
2. T={t1,t
2
,...,t
m
} es un conjunto finito de transiciones m 1.
3. El conjunto de plazas y el conjunto de transiciones son
disyunciones; entonces,
RT 0 y PT = 0
4. I:PT es la funcin de entrada, un mapeo desde las plazas
de entrada hacia el conjunto de transiciones.
5. O:TP es la funcin 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 nmeros naturales).
Un elemento arbitrario de P es p
i
, donde i=1,. . .,n, y un
elemento arbitrario de T es t
j
, donde j=1,...,m.
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin 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 = {p
1
,p
2
,p
3
,p
4
,p
5
} el conjunto de plazas,
T = {t
1
,t
2,
t
3
,t
4
} el conjunto de transiciones,
I(t
1
) = {p
1
} O(t
1
) = {p
2
,p
3
,p
5
},
I(t
2
) = {p
2
,p
3
,p
5
} O(t
2
) = {p
5
},
I(t
3
) = {p
3
} O(t
3
) = {p
4
},
I(t
4
) = {P
4
} O(t
4
) = {p
2
,p
3
}.

p
1
p
2
p
3
p
4 p
5
t
2 t
1
t
4
t
3




Grafo de la Red de Petri.
Una representacin grfica de una Red de Petri es de gran
utilidad para ilustrar los conceptos de la teora 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
crculos 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 Grfica de la red de Petri equivalente de la estructura de
Red de Petri del Ejemplo 1.
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 6


Un arco es dirigido desde una plaza p
i
hasta una transicin t
j

si la plaza es una entrada hacia la transicin.
Similarmente, un arco es dirigido desde una transicin t
j
hacia
una plaza p
i
si la plaza es una salida desde la transicin.
Debido a que los arcos tienen direccin, entonces el grafo de
la Red de Petri es del tipo Grafo Dirigido.


DEFINICIN 3.2. Un grafo G de una Red de Petri es un grafo
dirigido bipartita, G = (V, A), donde V = {v
1
,v
2
,,v
s
} es un
conjunto de vrtices y A={a
1
,a
2
,...,a
r
} es un conjunto de arcos
dirigidos, a
r
= (y
j
,v
k
) con v
j
,v
k
V. El conjunto V puede ser
particionado en dos conjuntos disjuntos P y T tal que V = PT,
PT = O, y para cada arco dirigido, a
r
A, si a
r
= (v
j
, v
k
), donde v
j
P , y , v
k
T , o , v
j
T , y , v
k
P.

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


DEFINICIN 3.3. Sea V = P T, se define A como un conjunto
de arcos dirigidos tal que p
i
P y t
j
T

((p
i
, t
j
),A) = (p
i
,I(t
j
)); ((t
j
, p
i
),A) = (p
i
, O(t
j
))

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
conversin en la direccin opuesta (desde un grafo de Red de
Petri a una estructura de Red de Petri) es similar.
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin 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 crculos 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 mayora
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 marcacin es un vector de asignacin 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 nmero y la
posicin de los tokens en la red puede cambiar durante la
ejecucin de la red.
Los tokens se utilizan para definir la ejecucin de una Red de
Petri.
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 8




DEFINICIN 3.4. Una marcacin de una Red de Petri RP = (P, T,
I, O) es una funcin desde el conjunto de plazas P a los enteros
positivos N, : P N.

La marcacin puede definirse tambin como un vector de
dimensin n, = (
1
,
2
, ,
n
) donde n = | P | (la
cardinalidad de P, o sea el nmero de plazas) y cada
i
N, i
= 0, 1,... ,n.
El vector indica la distribucin y el nmero de tokens para
cada plaza p
i
en una Red de Petri. Entonces, el nmero de
tokens en la plaza p
i
es
i
, con i = 0,1 ,...,n.


Las definiciones de una marcacin como una funcin (p
i
) y
como un vector
i
, se relacionan por (p
i
)=
i
, que se puede leer:
la marcacin en la plaza p
i
es
i
.

La notacin como funcin es ms general y ms comnmente
utilizada.
Una Red de Petri Marcada RPM = (RP, ) es una estructura
de Red de Petri RP = (P, T, I, O) y una marcacin . 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
pequeos puntos negros en los crculos que representan las
plazas de la Red de Petri.






Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 9


Por ejemplo, en la Figura 3.2 se muestra un grafo de una Red de
Petri Marcada, la cual tiene una marcacin = (1,2,0,0,1).
p
1
p
2
p
3
p
4 p
5
t
2 t
1
t
4
t
3

Figura 3.2 definicin


Reglas de Ejecucin.
Una Red de Petri se ejecuta por el disparo de transiciones.
Una transicin puede dispararse si est habilitada.
Una transicin 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 transicin t
2
son las
plazas p
2
, p
3
, y p
5
; pero la transicin t
2
no est habilitada. Para
que t
2
est habilitada, se necesita que las plazas p
2
, p
3
, y p
5
,
tengan cada una, al menos un token.

Figura 3.2 Red de Petri Marcada con Marcacin = (1,2,0,0,1).
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 10

DEFINICIN 3.5. Una transicin tj T, en una Red de Petri
marcada RPM = (P, T, I, O, ) con marcacin estar habilitada
si para p
i
I(t
j
).

Cuando una transicin 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 transicin 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 transicin 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 transicin t
2
se dispara con I(t
2
) = {p
2
,p
3
,p
5
} y
O(t
2
) = {p
5
}; se remueve un token de cada plaza p
2
, p
3
, y p
5
y
se coloca un token en p
5
.
p
1
p
2
p
3
p
4 p
5
t
2 t
1
t
4
t
3



El disparo de una transicin, en general cambiar el marcado
de la Red de Petri a un nuevo marcado
1
.
Como slo las transiciones habilitadas se pueden disparar, el
nmero de tokens en cada plaza nunca ser negativo cuando
se dispara una transicin.
El disparo de una transicin no puede remover tokens
inexistentes, ya que, si cualquiera de las plazas de entrada de
una transicin no contiene tokens, entonces la transicin no
se puede disparar.

Figura 3.3 Una Red de Petri marcada.
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 11

En la figura 3.4 se presenta un resumen de los posibles
resultados al disparar una transicin. Si una plaza es una entrada
a la transicin, se remueve un token, si es una salida, se aade
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 marcacin de una plaza p
i
que
resulta del disparo de la transicin t
j
.

En el ltimo caso (figura 3.4d), cuando la plaza sea de entrada y
salida a una transicin, ser necesario tener al menos un token
en la plaza de entrada aun cuando no ocurra cambio en la
marcacin de esta plaza.
Entradas a t
j


(p
i
, O(t
j
)) = 0


(p
i
, O(t
j
)) = 1

t
j

p
i
u(p
i
) = u(p
i
) u(p
i
) = u(p
i
) +1
p
i

u(p
i
) = u(p
i
) -1
p
i
t
j

t
j

u(p
i
) = u(p
i
) 1+1
p
i

t
j

a) La plaza p
i
no es entrada
ni salida
b) La plaza p
i
es salida de t
j

c) La plaza p
i
es entrada de t
j
d)Plaza p
i
es entrada y salida
a t
j

SALIDAS DE t
j

(pi, O(t
j
)) = 0 (p
i
, O(t
j
)) = 1
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 12


DEFINICIN 3.6. Una transicin t
j
en una Red de Petri Marcada
con marcacin puede disparar siempre y cuando est
habilitada. El disparo de una transicin t
j
habilitada, da por
resultado una nueva marcacin
1
definida por:

1
= -(p
i
, I(t
j
)) + (p
i
,O(t
j
))

La interpretacin de esta frmula es la siguiente: El disparo de la
transicin t
j
genera la nueva marcacin
1
que es igual a la
marcacin anterior , menos el retiro de un toquen en cada una
de las plazas de entrada a t
j
, ms el depsito de un token en cada
una de las plazas de salida de t
j
.

EJEMPLO 3.2. Considere la Red de Petri marcada de la figura
3.5, con marcacin
0
=(1,0,0,2,1). La transicin t
2
no est
habilitada porque no hay tokens en dos de sus plazas (p
2
, p
3
) de
entrada, dos transiciones estn habilitadas t
1
y t
4
, cualquiera de
ellas puede disparar.

Si la transicin t
4
se dispara, se remueve un token de su
entrada p
5
y se deposita un token en p
3
y p
4
respectivamente,
entonces, se incrementa el nmero de tokens en p
3
de cero a
uno, y en p
4
se aumenta de dos a tres. La nueva marcacin
resultante es
1
= (1,0,1,3,0) y se muestra en la figura 3.6.
p
1
p
2
p
3
p
4
p
5
t
2 t
1
t
4
t
3




Figura 3.5 Red de Petri Marcada que ilustra las reglas de disparo.
Las transiciones t
1
, t
3
, y t
4
estn habilitadas.
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 13


p
1
p
2
p
3
p
4
p
5
t
2 t
1
t
4
t
3





A partir de la marcacin
1
= (1,0,1,3,0) de la figura 3.6, slo las
transiciones t
1
y t
3
estn habilitadas. Si se dispara la transicin t
1

se remover el token en p
1
y se depositar un token en cada una
de las plazas p
2
, p
3
, y p
4
. Esto produce la marcacin

2
=(0,1,2,4,0) de la figura 3.7.

p
1
p
2
p
3
p
4
p
5
t
2 t
1
t
4
t
3





Con la red de la figura 3.7, donde se tiene
2
=(0,1,2,4,0), slo las
transiciones t
2
y t
3
estn habilitadas. Si se dispara t
3
resulta la
marcacin
3
= (0,1,2,3,1) de la figura 3.8.
Figura 3.6 Marcacin resultante del disparo de la transicin t
4
de
la Figura 3.5.
Figura 3.7 Marcacin resultante del disparo de la
transicin t
1
de la Figura 3.6.
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 14


p
1
p
2
p
3
p
4
p
5
t
2 t
1
t
4
t
3





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

Espacio de Estado de una Red de Petri.
El estado de una Red de Petri se define por su marcacin.
El disparo de una transicin representa un cambio en el
estado de la Red de Petri debido al cambio en la marcacin
de la red.
El cambio de estado causado por el disparo de una transicin
se define por una funcin de cambio llamada funcin de
estado siguiente.
La aplicacin de la funcin de estado siguiente a una
marcacin y a una transicin t
j
establece el valor de la
marcacin que resultar del disparo de la transicin t
j
en la
marcacin .
Como t
j
puede dispararse solamente si est habilitada, la
funcin (, t
j
) estar indefinida si t
j
no est habilitada en la
marcacin .
Si t
j
est habilitada, entonces (, t
j
) =
1
, donde
1
, es la
marcacin que resulta de remover los tokens de las plazas de
entrada de t
j
y agregar tokens en las plazas de salida de t
j
.
Figura 3.8 Marcacin resultante del disparo de la transicin t
3

de la Figura 3.7.
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 15

En la Figura 3.5, 0 = (1,0,0,2,1). Al disparar t4, se produce la
marcacin del estado-siguiente (0, t4))=( 1,0,1,3 ,0)= 1,
que se muestra en la figura 3.6.
A partir de esta marcacin, con el disparo de t
1
, cambia la
marcacin y el estado-siguiente es (
1
, t
1
))=( 0,1,2,4 ,0)=
2
,
que se muestra en la Figura 3.7.
Con la marcacin de
2
, se dispara t
3
para obtener la
marcacin de estado-siguiente (
2
, t
3
))=(0,1,2,3 ,1)=
3
, esta
marcacin resultante se muestra en la figura 3.8.

En general, de la ejecucin de una Red de Petri, resultan dos
secuencias:
la secuencia, de marcacin (
0
,
1
,
2
,
3
, .) y
la secuencia de disparo de transiciones

De la ejecucin de la Red de Petri del Ejemplo 2, resultan las
secuencias:
de marcacin =(
0
,
1
,
2
,
3
) y
de disparo de transiciones = (t
4
,t
1
,t
3
).

Estas dos secuencias se relacionan por la relacin
(
k
, t
j
) =
k+1
, para k = 0,1,2 donde k, j N.

Dada cualquier secuencia de marcacin , se puede
encontrar la secuencia de transiciones disparadas y
viceversa.
Estas dos secuencias proporcionan el registro de la ejecucin
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.
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 16


En una marcacin
0
, un conjunto de transiciones estar
habilitada y podr dispararse.
El resultado de disparar una transicin en una marcacin
0

ser un nueva marcacin
1
. Esta marcacin se dice que es
alcanzable inmediatamente desde
0
; esto es, se puede
alcanzar el estado
1
inmediatamente a partir del estado
0
.

DEFINICIN 2.7. Para una Red de Petri RP=(P,T,I,O) con
marcacin inicial
0
. Una marcacin
1
es alcanzable
inmediatamente desde
0
si existe una transicin t
j
T tal que
(
0
, t
j
) =
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 marcacin , como todas las marcaciones
alcanzables desde
0
.

Una marcacin
i
es un conjunto alcanzable desde A(RP, ) si
hay cualquier secuencia de transiciones disparando y que
cambiarn la marcacin en una marcacin
i
.
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 17

Ventajas y Desventajas
Ventajas
El sistema completo frecuentemente es fcil de entender
debido a la naturaleza grfica y precisa del esquema de
representacin.
El comportamiento del sistema se puede analizar usando la
teora 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
sistemticamente aquellos sistemas cuyo comportamiento
es conocido o fcilmente 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 anlisis, esto es un reflejo de la complejidad del
sistema a ser modelado y no debe considerrsele como una
desventaja.

Existen muchas variedades de Redes de Petri que pueden
agruparse en dos campos o clases; generalizacin 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 Especficos" tienen ventajas para analizar
el comportamiento de sistemas especficos.
Los modelos generales de Redes de Petri, utilizan la
concepcin original de Petri. Los modelos especficos, han
surgido con diferentes adjetivos y que sus autores han
modificado o extendido del original para resolver
determinados problemas[7].
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 18

ESTADO DEL ARTE. (Captulo 3, Ferreira)

Las extensiones hechas a la red de Petri han surgido como
una solucin a algunas de las limitaciones de la tcnica.
Una de las limitaciones es el hecho de que los tokens son
annimos, la presencia de un token en una plaza puede
denotar slo 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 travs 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
nmero par de 1's.
La representacin 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, slo muestra la existencia de un mensaje, ms no
que es lo que contiene el mensaje, que finalmente es lo que
debera decidir cual transicin se dispara.










Figura 3.1 Una parte de una red de Petri que describe el
paso de mensajes a travs de canales.
P
Canal1 Canal2
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 19

La extensin hecha para poder manejar ste problema se le
conoce como: Asignacin de valores a tokens.

Los tokens pueden llevar un valor del tipo apropiado: entero,
arreglo de bytes, o an, un ambiente ms completo, que
consista de algunas variables y sus valores asociados.
Se asocian a las transiciones predicados y funciones, que
tendrn el siguiente significado:
o una transicin 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 transicin 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 evala sobre exactamente
un token para cada plaza de entrada. As, podra haber ms de
una tupla - lista para alguna transicin, esto es, el mismo token
podra pertenecer a tuplas - listas diferentes.

Cuando una transicin se dispara, esto implica lo siguiente:
La cancelacin de todos los tokens que pertenecen a una
tupla-lista desde las plazas de entrada (si existe ms de un
tupla-lista, su eleccin es no determinstica).
La evaluacin de h nuevos valores de token sobre la base
de los valores de la tupla-lista al aplicar la funcin asociada
con la transicin (o sea, dicha funcin tiene un dominio de
k-tuplas y un rango de h tuplas).
La produccin de un token para cada plaza de salida, cuyo
valor se calcula con la funcin asociada con la transicin.

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
nmero par de 1s puede colocarse en la transicin canal1, y uno similar a
la transicin canal2. Si el paso de los mensajes a travs de los canales
implica alguna modificacin del mensaje, esto se puede hacer de una
manera natural agregando las funciones apropiadas a las transiciones.
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 20

Otro problema de las redes de Petri, es el hecho de que no es
posible especificar una poltica de seleccin entre transiciones
diferentes que estn habilitadas. Por ejemplo, en la figura 3.2(a),
se observa la posibilidad de que la secuencia de disparo <t
1
, t
3
,
t
5
> se repita indefinidamente, bloqueando la actividad consistente
de <t
2
, t
4
, t
6
>.


t
6
t
5
t
6

t
6 t
5 t
6

Figura 3.2 evolucin de una Red de Petri

Cuando un modelo de red de Petri no determinstico puro no es
adecuado, se plantea como solucin lo que se conoce como:

Especificacin de polticas de disparo, que selecciona una
transicin 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 algn estado, varias
transiciones estn habilitadas, slo se permite que disparen las
que tengan la mxima prioridad en ese momento.

Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 21

Las prioridades se definen normalmente de manera esttica. Si
los tokens llevan un valor, sin embargo, se pueden definir
prioridades dinmicas cuyos valores dependern 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 tendra el mismo efecto que no
haberla efectuado o haberla efectuado slo parcialmente[6].

Ejemplo, una lnea 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 prximo llegue, ste se sobrescribe. As, los resultados
del procesamiento varan dependiendo de los tiempos de llegada
de los mensajes.

Para esto, se ha desarrollado una extensin que se le conoce
como:

Redes de Petri Temporizadas. Son redes de Petri en las que un
par <t
min
,t
max
> est asociado a cada transicin. Esos valores
podran ser constantes o calculados como funciones de los
valores de los tokens que estn en las plazas de entrada[6].

Una vez que una transicin est habilitada, sta debe esperar por
lo menos t
min
unidades de tiempo, antes de que pueda ser
disparada. Tambin, si est habilitada, debe dispararse antes de
t
max
unidades de tiempo hayan transcurrido, a menos que se
deshabilite por el disparo de otra transicin antes de t
max
.

Una red de Petri temporizada es equivalente a la original s, para
cada transicin: t
min
= 0 y t
max =

Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 22


Es posible combinar caractersticas 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 transicin puede o debe disparar y a que tiempo. Una
regla natural es que si varias transiciones pueden disparar (sin que esto
slo quiera decir que estn habilitadas, sino que tambin estn habilitadas
durante su intervalo [t
min
,t
max
]), entonces slo las transiciones con
prioridades. mximas podrn dispararse, dentro de un tiempo que es
menor o igual a su propio t
max
.

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 P
2
, Y entonces tanto t
1
como t
2
estn habilitadas en el
mismo tiempo.







Figura 3.3 Una Red de Petri Temporizada

Puede suceder que t
1
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, t
2
puede dispararse tambin y sta
tiene una prioridad ms alta que t
1
. Adems, si en un tiempo t=1 se coloca
un token en P
4
, entonces durante el intervalo 1 t < 2, tanto t
3
como t
1
,
pueden disparar, pero t
1
no puede dispararse antes que t
3
, por su baja
prioridad.

Una de las tcnicas de verificacin de una red de Petri, es la
tcnica por medio de invariantes de red.

Un invariante es un conjunto de plazas, I, tal que,
M(p)
pI
p
3
p
4
p
1
p
2

t
2
t
3
t
1

t
min
= 1
t
max
= 4
prioridad = 1
t
min
= 2
t
max
= 3
prioridad = 3
t
min
= 0
t
max
= 5
prioridad = 2
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin 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 (t
1
p) A, (p,t) A
0 De otra manera

Sea y la solucin 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.
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 24


Para la figura 3.4, el sistema de ecuaciones es equivalente a:

P
1
P
2
P
3
P
4
P
5
P
6
P
7

t
1
-1 1 0 0 0 0 0 y
1
= 0
t
2
1 -1 0 0 -1 0 1 y
2
= 0
t
3
0 0 -1 1 1 0 -1 y
3
= 0
t
4
0 0 1 -1 0 0 0 y
4
= 0
y
5
= 0
y
6
= 0
y
7
= 0

Las ecuaciones correspondientes son:

-y
1
+ y
2
= 0
y
1
- y
2
y
5
+ y
7
= 0
-y
3
+ y
4
+ y
5
- y
7
= 0
y
3
y
4
= 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:

{P
1
,P
2
} , {P
3
,P
4
}, {P
5
,P
7
} , {P
6
}

Dado el conjunto de invariantes, se pueden deducir algunas
propiedades del comportamiento dinmico de la red.

Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 25

Suponga
0
, la marcacin inicial, como se muestra en la figura 3.4
con B > 0, B = tamao del buffer. Sea NP
i
el nmero total de
tokens en P
i
.

Limitacin. Puesto que cada plaza est en algn 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 nmero total de tokens
de la red permanece constante.

Exclusin Mutua. Si una plaza de salida o una de entrada de la
transicin t est contenida en un invariante I, se dice que t es una
transicin de I. Si dos transiciones son transiciones del mismo
invariante, y la marcacin 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 simultneamente.
Esto es, la marcacin inicial y el invariante {P
6
} garantizan que t
2
y
t
3
son mutuamente exclusivas.

Buffer no agotado. El agotamiento (underflow), es imposible
puesto que t
3
no puede dispararse si el buffer est vaci (NP
7
=0).

Buffer no desbordado. Puesto que {P
5
,P
7
} es un invariante, la
marcacin inicial garantiza que NP
5
+ NP
7
es siempre B. Por lo
tanto, NP
7
B y el desbordamiento del buffer no puede ocurrir.

No condicin de Bloqueo. Se dice que ha ocurrido una
condicin de bloqueo si la red llega a una marcacin donde
ninguna transicin pueda dispararse. Si la red est bloqueada, t
2
no puede dispararse. Esto implica que NP
5
= 0 o NP
2
= 0.
En el primer caso, a partir de la marcacin inicial
0
y el
invariante {P
5
,P
7
} puede concluirse que NP
7
> 0; si NP
3
= 0
entonces NP
4
= 1 (del invariante {P
3
,P
4
}) y t
4
puede disparar,
sino NP
3
= 1 y t
3
puede dispararse.
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 26

En el segundo caso, NP
2
= 0, del invariante {P
1
,P
2
} y
0
puede
concluirse que NP
1
= 1 y t
1
puede disparar. As, si t
2
no puede
disparar, entonces ya sea t
3
o t
1
pueden, y la red nunca podr
estar bloqueada.

Campo de Aplicacin y reas de Investigacin.
En general, las redes de Petri pueden verse como una estructura
especial para estudiarse como ejercicio intelectual, tambin se les
puede ver, como otro autmata capaz de aceptar o generar
lenguajes formales, o (la ms relevante para nuestro estudio)
como un esquema de representacin 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
computacin. Por ejemplo, una red puede representar un proceso
qumico donde los lugares de entrada representan reacciones
qumicas, las plazas de salida los resultados de la reaccin, y los
tokens el nmero de molculas de un tipo dado.

Dentro del campo de la computacin los usos ms importantes de
la red de Petri abarcan:

Aplicaciones en tiempo real.
Sistemas operativos y compiladores.
Bases de Datos distribuidas y protocolos de comunicacin.
Hardware de Computadora.

Se han desarrollado tcnicas de anlisis de la red, incluso se ha
derivado un clculo de red, isomrfico al clculo proposicional,
este trabajo lo realizo Thieler-Mevissen [14]. Otra rea novedosa,
es el de las redes de libre eleccin, que han sido tiles para
modelar ambientes industriales de produccin (por ejemplo,
lneas de ensamble).

Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 27

Un rea de investigacin ms reciente es la propuesta para
utilizar el modelo de red de Petri para analizar el DFD y validar la
exactitud de la especificacin. Dentro de las principales razones
para hacerlo de esta manera estn:

Las redes de Petri se pueden expresar tanto grfica como
algebraicamente.
Las representaciones grficas de transiciones y plazas de
una red de Petri corresponden a las componentes proceso y
flujo de datos de los DFDs, 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 ejecucin de los
procesos del DFD.
Las redes de Petri pueden representarse en diagramas
jerrquicos para modelar la naturaleza multinivel de los
DFDs.
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
DFDs como a travs de ellos, a diferentes niveles.

Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin formal 28

Bibliografa
[1] Claudia del Carmen Reyes Rincn
Especificaciones Formales de Transacciones Bsicas Para Sistemas
de Informacin.
Tesis de Maestra en Ciencias
ITESM campus Cuernavaca.
Mayo 1995.
[2] David Chaparro Aguilar
Redes de Petri (Un Editor Grfico)
Tesis de Maestra en Ciencias
ITESM campus Cuernavaca.
Julio 1993.
[3] David Martines Gonzles
Anlisis del Estado de Arte sobre Tcnicas De Especificacin.
Tesis de Maestra en Ciencia
ITESM Campus Cuernavaca.
Diciembre 1993.
[4] Martn Heriberto Cruz Rosales
Redes de Petri con Operadores Temporales
Tesis de Maestra en Ciencias
ITESM campus Cuernavaca.
Mayo 1996.
[5] Reynaldo Alans Cant
Tcnicas de Especificacin y Verificacin
Formal de Programas.
Tesis de Maestra 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] Ingeniera de Software, Un enfoque Prctico
Roger S. Pressman
Tercera Edicin
Ed. McGrawHill
[9] Coloured Petri Nets, Basical Concepts,
Analysis Methods and Practical Use
Volume 1, Second Edition
Kurt Jensen
Ed. Springer
Instituto Tecnolgico de Morelia Departamento de Sistemas y Computacin


Redes de Petri como un modelo de especificacin 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
Linkping University
[14] The Petri Net Calculus of Predicate of Logic
Thieler Mevissen
Computer Science
Vol 45, Springer 1976

También podría gustarte