Upload
dangduong
View
239
Download
0
Embed Size (px)
Citation preview
1
Notas:
J.M. Drake
PROGRAMACION CONCURRENTE Y DISTRIBUIDA
V.1 Redes de Petri: Descripción de sistemas concurrentes.
2
Notas:
2Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Redes de Petri
Las redes de Petri (PN) (C.A. Petri, 1962) son una herramienta de modelado muy efectiva para la representación y el análisis de procesos concurrentes.Su éxito se debe básicamente a la simplicidad de su mecanismo básico, si bien, la representación de grandes sistemas es costosa.Numerosos autores han extendido el modelo básico:
Redes de Petri Temporizadas o Timed Petri Nets: Introduciendo el concepto de tiempo, para modelar el comportamiento temporal de los sistemas dinámicos.Red de Petri Estocástica (Stochastic Petri Net, SPN): Se especifica el comportamiento temporal con variables aleatorias exponenciales. Son isomorficas a las cadenas de Markov. Tienen mayor capacidad que la Teoría de ColasRed de Petri Coloreada (CPN): A los testigo se le añade atributos que se denominan color. Permiten modelar sistemas concurrentes descritos mediante flujos de datos.
3
Notas:
3Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Diagramas de estados
C
M
A B
D
l r1 1
l r22
T
T
1
2
Los diagramas de estados es elmétodo mas usado para analizarsistemas dinámicos.
Autómatas: Al pulsar M ambos carros se desplazan a la derecha. El regreso lo hacen simultáneamente cuando ambos carros se encuentren en el extremo derecho.
1
2
3 4
5
MAC
B
6 7l1l2
r 2 r 1
l 1 l 2,
r 1 r 2,
D
A C
D B
AC
4
Notas:
4Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Diagramas de estados y sistemas concurrentes
El espacios de estados se hacemuy complejo cuando se tratansistemas concurrentes.- Para N carros: 2N+1-1 estados- Son pocos flexibles, Cambios de laespecificación implica cambiosdrásticos del modelo
Se requieren otros métodos formales,por ejemplo Redes de Petri
A C E
13 14 15
C E A E A C
r1r2r3
l1l2l3
A C E
10 11 12
9
1
2
B FD
3 4 5
D F F DB B
6 7 8
F D B
MACE
l2 , l 3 l1 , l 3 l1 , l 2
l1 , l 2 , l 3
r2 , r 3 r1 , r 3 r1 , r 2
r1 , r2 , r 3
5
Notas:
5Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Redes de Petri
Una red de Petri (RdP) es un grafo orientado con dos clases de nodos: lugares (circunferencias) y transiciones (barras). Los arcos unen un lugar con una transición o viceversa.Un lugar pude contener un número positivo o nulo de marcas. Distribución de marcas en los lugares, marcado → estado de la RdP.Se asocian entradas y salidas a lugares y transiciones p.e.:
salida → lugar marcadoentrada → transición
p3
p2
t2 t
3
t4
p5
p4
t1
p1
6
Notas:
6Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Evolución de una RdP
Una transición está sensibilizada si todos sus lugares de entrada están marcadosTransición sensibilizada => puede dispararDisparo => evolución del estado: Retirada de una marca de cada lugar de entrada, depósito de una marca en cada lugar de salida
t 3t 2t1
t1 t 2 t 3
7
Notas:
7Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Modelos de los problemas de carros
B
r1
D
r2
A
l1
C
l2
M
2 carros
r
B
1
D
r2
A
l1
C
l2
F
r3
E
l3
M
3 carros
8
Notas:
8Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Formalización de las RdP
Red de Petri (RdP): es una cuádrupla R = {P, T, α, β} tal queP es un conjunto finito y no vacío de lugaresT es un conjunto finito y no vacío de transicionesP ∩ T = Øα:P x T → N es la función de incidencia previaβ:T x P → N es la función de incidencia posterior
RdP marcada: es un par {R, Mo}, donde R es una RdP y Moes un marcado inicial.
Marcado actual: M={m1, m2, m3, ..., mn}Marcado inicial: Mo={mo1, mo2, mo3, ..., mon}
9
Notas:
9Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Representación gráficaArco de pi a tj ⇔ α(pi,tj) ≠ 0Arco de tk a pi ⇔ β(tk,pi) ≠ 0Arcos etiquetados con un peso = α(pi,tj) ó β(tk,pi)
p3
p2 t
2
t3
p4
t1
p1
2
2
Representación matricialMatriz de incidencia previa: C− = [cij
−] donde cij− = α(pi,tj)
Matriz de incidencia posterior: C+
= [cij+] donde cij
+ = β(tj,pi)Matriz de incidencia: C = C+ - C-
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−
−−
=
210012101
101
4
3
2
1
pppp
C
10
Notas:
10Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Representación matricial de una red de Petri
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
0010000010000010100110000
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
1000011000001000001000001
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−
−−
−
1010011010
001010101110001
C+
Matriz incidencia posterior
C-
Matriz incidencia previa
C=C+-C-
Matriz incidencia
11
Notas:
11Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Cálculo de la evolución con RdP
CUMM ii +=+1
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−
−−
−
+
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
=
00110
00001
1010011010
001010101110001
00001
1M
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
=
00001
1U Se dispara t1
12
Notas:
12Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Clasificación de RdP
• RdP ordinaria: sus funciones de incidencia sólo pueden tomar los valores 0 y 1:α(p,t) ∈ {0,1}, β(t,p) ∈ {0,1}
Grafo de Estados (GE): ∀t∈T |•t| = 1 y |t•| = 1Toda transición tiene una unica plaza de entrada y una única plazade salida
Grafo Marcado (GM): ∀p∈P |•p| = 1 y |p•| = 1
Todo lugar tiene como máximo una transición de entrada y una transición de salida
RdP Libre Elección (RLE): ∀p∈P, |p•| > 1 => ∀tk∈p•, |•tk| = 1Si ti y tj tienen una plaza de entrada común, esta es la única plazade ambas transiciones.
RdP Simple (RS):Cualquier transición tiene como máximo una única plaza de entrada compartida con otras transiciones.
13
Notas:
13Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Clasificación RdP
GMGE
RLERS
RdP Ordinaria
RdP Generalizada
RdP generalizada (RdPG): las funciones de incidencia pueden tomar valores en todos los números naturales => arcos con peso
RdP binaria: M(p) ≤ 1 ∀p∈P
RdP con arcos inhibidores: t1 t1
t1 habilitada t1 no habilitada
14
Notas:
14Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Modelo de representación
abcevento
s
señal
set(s)
a b c
abc
a b c
---- ---- ---- w ---- ----
Entradas:(eventos discretos, condiciones lógicas externas),
Salidas: (eventos discretos, salidas a nivel),Código asociado a las transiciones.
Acc. impulsionales asociadas a transiciones=> disparo instantáneo
Código/actividades en transiciones => disparo no instantáneo
15
Notas:
15Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Modos fundamentalesEjecución secuencial
Ejecución concurrente
16
Notas:
16Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Modelo de Productor-Consumidor
P1: Dispuesto a producirT1: Produce elementoP2: Dispuesto a entregar T2: Entrega elementoP3: Dispuesto a recibirT3: Recibe elementoP4: Dispuesto a consumirT4: Consume elementoP5: Buffer
17
Notas:
17Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Modelo Productor-Consumidor con buffer limitado
P1: Dispuesto a producirT1: Produce elementoP2: Dispuesto a entregar T2: Entrega elementoP3: Dispuesto a recibirT3: Recibe elementoP4: Dispuesto a consumirT4: Consume elementoP5: Elementos transferidosP6: Huecos disponibles
18
Notas:
18Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Modelo Productor-Consumidor: 2 prod.x2 cons.
Productor 1
Productor 2
Consumidor 1
Consumidor 2
20
Notas:
20Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Exclusión mutua con prioridad
21
Notas:
21Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Filósofos chinos
Come
Piensa
22
Notas:
22Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Ejemplo modelado: Carros con vía común
BM
L
L
WA
G
U
A
B
A
A
A
lr
WB
B
BrBlMA
M U
Dos carros A y B transportan cierto material desde los puntos de carga LA y LB, respectivamente, hasta el punto de descarga D. Los diferentes movimientos son controlados mediante las señales lA, lB, rA, rB. Si A está en LA y el pulsador MAestá oprimido, comienza un ciclo LA-U-LA:
- Espera eventual en WA hasta que la zona común a los dos carros esté libre, con el finde evitar colisiones;
- Espera obligatoria en U hasta MU (pulsador de fin de descarga).El carro B tiene un funcionamiento similar pero, en caso de demanda simultánea de la víacomún, B es prioritario. El recorrido WA-U o WB-U se establece por un cambio de agujascontrolado por la acción G.
23
Notas:
23Procodis’08: V.1- Descripción por redes de Petri José M.Drake
RdP: Carros con vía común
15
53
L L
W W
l
l
A
A
B
G
U
Al
A
B
Bl
B
W B
,G
, G
Ar Br
4
7
14
9
11
1312
10
8
6
1 2
MA M B
Ar Br
WA BW
U
MUMU
Transiciones => entradas de sensores
Lugares => señales de salida
BM
L
L
WA
G
U
A
B
A
A
A
lr
WB
B
BrBlMA
MU
24
Notas:
24Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Ejemplo modelo: Lectores y escritores
Dos conjuntos de usuarios (lectores y redactores) tienen que coordinarse para acceder a unos datos comunes:
los lectores sólo inspeccionan, y por lo tanto pueden acceder simultáneamente a los datoslos redactores actualizan los datos y su trabajo debe estar en exclusión mutua con el resto de usuarios
Cada usuario puede estar en uno de los siguientes estados: activo, espera y reposo.
25
Notas:
25Procodis’08: V.1- Descripción por redes de Petri José M.Drake
RdP: Modelo de lectores y escritores (2L y 2E)
X X1 2
RL 1
DL1
1EL
CL 1
AL 1
FL 1
2
2
2
2
2
2
RR 1
DR 1
ER 1
CR 1
AR 1
FR 1
2
2
2
2
2
2
RL
DL
EL
CL
AL
FL
RR
DR
ER
CR
AR
FR
1ª letra: R = reposo 2ª letra: Li = i-ésimo lectorE = espera Rj = j-ésimo redactorA = activoD = demanda de recursoC = comienzo operaciónF = fin de operación
26
Notas:
26Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Ejemplo Modelo: Transmisión datos
Se desea diseñar un sistema de transmisión de datos con las siguientes características:- El sistema recibe datos (8 bits) de un puerto paralelo (p.e. PORTCL del 68HC11con handshake)
- Cada dato es procesado e introducido en un buffer con capacidad para 8 datos- Los datos son sacados del buffer con política FIFO y enviados por línea serie (SCI)
mediante un sencillo protocolo con reenvío
STRB
STRA
PORTCL
SCI
T
ACK/NACKDATO
27
Notas:
27Procodis’08: V.1- Descripción por redes de Petri José M.Drake
RdP: Transmisión datos
P1
P2
P3
P4
C1
C2
C3
C4
C5
MUTEX
H
O
TP1
TP2
TP3
TP4
TC1
TC2
TC3
TC4
TC51 TC52
leer()
procesar()
meter()
sacar()
enviar()
llegada_dato
llegada_caracter
ACKNACK
28
Notas:
28Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Ecuación de estado
Transición sensibilizada: Una transición t ∈ T está sensibilizada por el marcado M ⇔ cada uno de sus lugares de entrada posee al menos α(p,t) marcas. Es decir, se exige que ∀p ∈ • t M(p) ≥ α(p,t). Disparo de un transición: Disparar una transición sensibilizada es la operación que consiste en eliminar α(p,t) marcas de cada lugar de entrada y añadir β(t,p) marcas a cada lugar de salida. Es decir al disparar t se obtiene:
y se representa
Secuencia de disparos:
Vector característico de una secuencia
PptpptpMpM ij ∈∀−+= ),(),()()( αβ
] ji MtM >
] ] ]] qrji
qrji
MMttt
MtMtMtM
>→=
>>>
σσ 0
210
...
...
σ (σ i = nº de apariciones de ti en σ )
29
Notas:
29Procodis’08: V.1- Descripción por redes de Petri José M.Drake
Ecuación de estado
Mk → marcado obtenido en el k-ésimo disparoUk → vector cuyas componentes son nulas salvo la i-ésima si ti es la transición disparada en k-ésimo lugar
Uk i( ) = 1,Uk j( ) = 0,∀j ≠ i
Mk = Mk−1 + CUk =
= Mk−2 + C Uk−1 + Uk( )=
= Mk−3 + C Uk−2 + Uk−1 +Uk( )=...=
= M0 + C Ujj=1
k
∑ = M0 + Cσ
p3
p2 t
2
t3
p4
t1
p1
2
2
p3
p2 t
2
t3
p4
t1
p1
2
2
σ
σ = t1t2t2
σ =120
⎛
⎝
⎜ ⎜ ⎜
⎞
⎠
⎟ ⎟ ⎟