Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DEFINICIN
FORMALIZACIN Y EJECUCIN
PROGRAMACIN CONCURRENTE
MASTER EN COMPUTACIN
DEPARTAMENTO DE ELECTRNICA Y COMPUTADORES
UNIVERSIDAD DE CANTABRIA
CURSO 2012/13
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
REDES DE PETRI
Las redes de Petri (RdP) (C.A. Petri, 1962) son una
herramienta de modelado muy efectiva para la
representacin
t i y ell anlisis
li i de
d procesos concurrentes.
t
Modelar un sistema usando redes de Petri tienen tres
ventajas potenciales:
1) El sistema completo es a menudo ms fcil de entender debido a la
naturaleza grfica y precisa del esquema de representacin.
2) El comportamiento del sistema puede ser analizado utilizando la teora
de las redes de Petri, que incluye herramientas para el anlisis tales
como los rboles de marcados y establece relaciones entre ciertas
estructuras de redes y el comportamiento dinmico. Pueden aplicarse
tambin tcnicas para la verificacin de programas paralelos.
3) Puesto que las redes de Petri pueden sintetizarse usando tcnicas
"bottom-up" y "top-down", es posible disear automticamente sistemas
cuyo comportamiento es conocido o fcilmente verificable.
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
REDES DE PETRI
Su xito se debe bsicamente a la simplicidad de su
mecanismo bsico, si bien, la representacin de grandes
sistemas
i t
es costosa.
t
Para facilitar su uso en diferentes campos de aplicacin,
el modelo original se ha extendido en dos aspectos:
1) Introduccin de modificaciones estructurales para
incrementar la potencia o la comodidad de modelado
o para facilitar la solucin de los problemas de
anlisis
anlisis.
2) Definicin de redes de Petri temporizadas que se
pueden utilizar para analizar cuantitativamente las
prestaciones del sistema modelado.
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
REDES DE PETRI:
DEFINICIONES BSICAS
Las redes de Petri son un grafo orientado formado por:
Plazas o lugares,
lugares representadas mediante circunferencias
circunferencias.
Transiciones, representadas por segmentos rectilneos.
Arcos dirigidos que unen transiciones y plazas.
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
REDES DE PETRI:
DEFINICIONES BSICAS
Una plaza p es entrada de una transicin t si existe un
arco desde p a tt.
Una plaza p es salida de una transicin t si existe un arco
desde t a p.
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
REDES DE PETRI:
MARCADO
Una plaza puede contener un nmero positivo o nulo de testigos o
que se representan
p
p
por un p
punto en el interior del crculo
marcas, q
que representa una plaza.
El marcado de una red de Petri es el conjunto de testigos asociados
con cada una de las plazas en un instante dado. Define el estado de
la red de Petri.
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
REDES DE PETRI Y
PROGRAMACIN CONCURRENTE
Transiciones: representan los procesos del
programa.
programa
Plazas: representan las condiciones
necesarias para que un proceso se ejecute.
Arcos dirigidos: relacionan condiciones y
procesos.
Testigos:
T ti
sii estn
t presentes
t en una plaza,
l
indican que se verifica la condicin que
representa esa plaza.
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
Mercedes Granda
Departamento de Electrnica y Computadores
REDES DE PETRI:
EJEMPLOS DE DISPARO
ANTES
DEL DISPARO
DESPUS
DEL DISPARO
Programacin Concurrente:
Redes de Petri
t1
t1
t2
t2
Mercedes Granda
Departamento de Electrnica y Computadores
t3
t3
t1
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
10
t2
t3
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
11
t2
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
12
t3
t4
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
13
t4
t5
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
14
t3
p3
t2
p5
p3
t5
t1
t4
t1
p2
t2
t2
t2
p1
p2
p5
t4
p4
t3
p3
p3
t5
t1
t2
p1
p5
t4
Programacin Concurrente:
Redes de Petri
t5
t1
t2
p2
t5
t1
p5
t4
p44
p4
t3
p3
t2
p1
t3
t3
p4
t3
p2
p1
t5
t5
t1
p1
t3
p2
p5
t4
t4
Mercedes Granda
Departamento de Electrnica y Computadores
15
REDES DE PETRI:
FORMALIZACIN
En una red de Petri, se permite que ms de un arco
conecte una plaza con una transicin o una transicin
con una plaza.
l
Si P es el conjunto de plazas de la red de Petri y T es el
conjunto de transiciones, se define:
Funcin incidencia previa, I:PT N
I(pi,tj)=nmero de arcos que unen la plaza pi con la
transicin tj.
Funcin incidencia posterior, O:TP N
O(tj,pi)=nmero de arcos que unen la transicin tj
con la plaza pi.
Peso o valoracin de un arco: etiqueta de valor
I(p,t) u O(t,p). Un arco no etiquetado tiene peso uno.
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
16
REDES DE PETRI:
FORMALIZACIN
Una red de Petri es una cuadrupla RdP=(P,T,I,O)
tal que
P es un conjunto finito y no vaco de plazas.
T es un conjunto finito y no vaco de
transiciones.
PT=
I:P T N es la funcin de incidencia
previa.
O:T P N es la funcin de incidencia
posterior.
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
17
REDES DE PETRI:
FORMALIZACIN
Una red de Petri es ordinaria si sus funciones
de incidencia slo pueden tomar valores 0 y 1
(todos sus arcos son de peso unitario).
Una red de Petri es generalizada si sus
funciones de incidencia pueden tomar cualquier
valor entero mayor o igual que cero.
Una red de Petri es pura o no reflexiva si
ninguna plaza es a la vez entrada y salida de
una misma transicin.
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
18
Mercedes Granda
Departamento de Electrnica y Computadores
19
C=(RdP,M0)
RdP=(P,T,I,O)
P={p1, p2,...,pn}
T={t1, t2,...,tm}
I:PT N
O:TP N
M0=(m01, m02,..., m0n)
El estado de una red de Petri marcada se define por el nmero mi de
testigos contenidos en cada plaza pi y se representa por su marcado.
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
20
10
Mercedes Granda
Departamento de Electrnica y Computadores
21
Mercedes Granda
Departamento de Electrnica y Computadores
22
11
DISPARO Y CONJUNTO DE
ALCANZABILIDAD
t3
p4
p3
t5
t1
t5
t1
t2
p1
p2
p5
p2
t3
p4
p3
t5
t5
t1
t2
t4
(0,1,1,0,0)
p1 p2 p3 p4 p5
Programacin Concurrente:
Redes de Petri
t3
p2
t5
t1
t2
p2
t2
p5
t4
p5
t4
(0,0,0,1,1)
t2
p1
p4
p3
p1
p4
p5
t3
(0,0,1,0,1)
t2
t1
t5
t3
t4
p3
p2
p5
t4
t1
p1
t2
2
p1
(1,0,0,0,0)
t3
p4
t3
p3
t4
(0,1,0,1,0)
Mercedes Granda
Departamento de Electrnica y Computadores
23
Mercedes Granda
Departamento de Electrnica y Computadores
24
12
t1
t2
(0,1,1,0,0)
(0,0,1,0,1)
t3
t4
(0,0,0,1,1)
t5
Programacin Concurrente:
Redes de Petri
(0,1,0,1,0)
t2
(0,1,1,0,0) (0,0,0,1,1)
t4
(1,0,0,0,0)
Red de Petri
t3
(0,1,0,1,0)
rbol de alcanzabilidad
Mercedes Granda
Departamento de Electrnica y Computadores
25
Mercedes Granda
Departamento de Electrnica y Computadores
26
13
t1
t1
(1,0,0,0,0)
(0,1,1,0,0)
p1 p2 p3 p4 p5
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
27
p4
p3
t5
t1
t5
t1
t2
p1
p2
p2
p5
t3
p4
p3
t5
t5
t1
t2
t4
(0,1,1,0,0)
Programacin Concurrente:
Redes de Petri
t3
p2
t5
t1
t2
p2
t2
p5
t4
p5
t4
(0,0,0,1,1)
t2
p1
p4
p3
p1
p4
p5
t3
(0,0,1,0,1)
t2
t1
t5
t3
t4
p3
p2
p5
t4
t1
p1
t2
p1
(1,0,0,0,0)
t3
p4
t3
p3
t4
(0,1,0,1,0)
Mercedes Granda
Departamento de Electrnica y Computadores
28
14
t1
t2
(0,1,1,0,0)
(0,0,1,0,1)
t3
t4
(0,0,0,1,1)
t5
Programacin Concurrente:
Redes de Petri
(0,1,0,1,0)
t2
(0,1,1,0,0) (0,0,0,1,1)
t4
(1,0,0,0,0)
Red de Petri
t3
(0,1,0,1,0)
rbol de alcanzabilidad
Mercedes Granda
Departamento de Electrnica y Computadores
29
rbol de alcanzabilidad
infinito
Programacin Concurrente:
Redes de Petri
rbol de alcanzabilidad
finito con la notacin w
Mercedes Granda
Departamento de Electrnica y Computadores
30
15
RBOL DE ALCANZABILIDAD:
MQUINA DE TESTIGOS
La MT es un grafo dirigido que est formado por todos los posibles estados
(con esta nueva notacin) en que puede estar una red de Petri dada y por
las posibles transiciones entre ellos. Los estados se encierran en valos y
se unen entre s mediante arcos dirigidos etiquetados con el nombre de la
transicin que se dispara para pasar de un estado a otro de los que
conecta el arco.
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
31
RBOL DE ALCANZABILIDAD
Y MQUINA DE TESTIGOS
(1 0 0 0 0)
(1,0,0,0,0)
t2
t1
(0,1,1,0,0)
(0,0,1,0,1)
t3
t4
t3
(0,1,0,1,0)
t2
(0,1,0,1,0)
rbol de
alcanzabilidad
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
Mquina de
testigos
32
16
REDES DE PETRI:
REPRESENTACIN MATRICIAL
Una red de Petri con n plazas y m transiciones se
representa
p
p
por dos matrices de incidencia de dimensin
mn que representan las conexiones entre los nudos de
la red:
La matriz de incidencia previa, C-:
C-(j,i)=I(pi, tj)
La matriz de incidencia posterior, C+:
C+(j,i)=O(pi, tj)
Se define la matriz de incidencia, C, como C= C+ - C-.
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
33
C 0
0
1
p1 p2 p3 p4 p5
1 1 0 0 t1
0 0 0 1 t2
0 0 1 0 t3
1 0 0 0 t4
0 0 0 0 t5
C 0
0
0
p1
CC C 0
0
1
p2
0 0 0 0 t1
1 0 0 0 t2
0 1 0 0 t3
0 0 0 1 t4
0 0 1 1 t5
p3
p4
p5
1 1 0 0
1 0 0 1
0 1 1 0
1 0 0 1
0 0 1 1
t1
t2
t3
t4
t5
Matriz de incidencia
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
34
17
REDES DE PETRI:
REPRESENTACIN MATRICIAL
La definicin matricial de una red de Petri
RdP=(P T C+, C-) es equivalente a la utilizada
RdP=(P,T,
hasta ahora, pero permite redefinir los
conceptos en trminos vectoriales y matriciales.
Una transicin tj se define por un vector ej de
dimensin m (nmero de transiciones) de
componentes:
1 si i j
e j i
0 si i j
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
35
REDES DE PETRI:
REPRESENTACIN MATRICIAL
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
36
18
REPRESENTACIN MATRICIAL:
EVOLUCIN DEL MARCADO
Disparo de la transicin t1
M 0 1 0 0 0 0
e1 1 0 0 0 0
La transicin t1 est habilitada:
1
M 0 e1 C 1 0 0 0 0 0
0
0
Programacin Concurrente:
Redes de Petri
0 0 0 0
1 0 0 0
0 1 0 0 1 0 0 0 0
0 0 0 1
0 0 1 1
Mercedes Granda
Departamento de Electrnica y Computadores
37
REPRESENTACIN MATRICIAL:
EVOLUCIN DEL MARCADO
t1
M=M0+e1 C=
1 1 1 0 0
0 1 0 0 1
1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 1 0 0
0 1 0 0 1
1 0 0 1 1
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
38
19
REPRESENTACIN MATRICIAL:
EVOLUCIN DEL MARCADO
Resultado de la secuencia de disparo t1, t2, t3:
f()=e1+e2+e3=(1 1 1 0 0)
(M, )=M0+ f()C
1 1 1 0 0
0 1 0 0 1
( M , ) 1 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1
0 1 0 0 1
1 0 0 1 1
Programacin Concurrente:
Redes de Petri
Mercedes Granda
Departamento de Electrnica y Computadores
39
20