Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Procodis 5 01
Procodis 5 01
DISTRIBUIDA
J.M. Drake
Notas:
1
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 Colas
Red 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.
Notas:
2
Diagramas de estados
l1 r1
Los diagramas de estados es el
método mas usado para analizar A T1 B
sistemas dinámicos.
M l2 r2
C T2 D
Autómatas: C
1
A
Al pulsar M ambos carros se MAC
5 l1 , l2
A C
6 7
l2 l1
Notas:
3
Diagramas de estados y sistemas concurrentes
1
El espacios de estados se hace MACE
muy complejo cuando se tratan r1 , r 2 , r 3
2
sistemas concurrentes. B D F
10 l2 , l 3 11 l1 , l 3 12 l1 , l 2
C E A E A C
13 l3 14 l2 15 l1
Notas:
4
Redes de Petri
Una red de Petri (RdP) es un grafo p1
orientado con dos clases de nodos:
lugares (circunferencias) y t
1
transiciones (barras). Los arcos unen
un lugar con una transición o
viceversa. p p
2 3
Notas:
5
Evolución de una RdP
Una transición está sensibilizada si todos sus lugares de entrada están
marcados
Transición sensibilizada => puede disparar
Disparo => evolución del estado: Retirada de una marca de cada lugar de
entrada, depósito de una marca en cada lugar de salida
t1 t2 t3
t1 t2 t3
Notas:
6
Modelos de los problemas de carros
r1 r2 r1 r2 r3
B D B D F
l1 l2 l1 l2 l3
A C A C E
M M
2 carros 3 carros
Procodis’08: V.1- Descripción por redes de Petri José M.Drake 7
Notas:
7
Formalización de las RdP
Red de Petri (RdP): es una cuádrupla R = {P, T, α, β} tal que
P es un conjunto finito y no vacío de lugares
T es un conjunto finito y no vacío de transiciones
P∩T=Ø
α:P x T → N es la función de incidencia previa
β:T x P → N es la función de incidencia posterior
Notas:
8
Representación gráfica Representación matricial
Arco de pi a tj ⇔ α(pi,tj) ≠ 0 Matriz de incidencia previa: C− =
Arco de tk a pi ⇔ β(tk,pi) ≠ 0 [cij−] donde cij− = α(pi,tj)
Arcos etiquetados con un peso = Matriz de incidencia posterior: C+
α(pi,tj) ó β(tk,pi)
= [cij+] donde cij+ = β(tj,pi)
p
1
Matriz de incidencia: C = C+ - C-
t
1
2 p1 ⎡− 1 0 1 ⎤
p p 1 ⎢ 0 − 1⎥
3
C = 2⎢ ⎥
p3 ⎢ 2 − 1 0 ⎥
p2 t2 ⎢ ⎥
p4 ⎣ 0 1 − 2⎦
p
4
2
t
3
Notas:
9
Representación matricial de una red de Petri
⎡0 0 0 0 1⎤
⎢1 0 0 1 0⎥⎥
C+ ⎢
⎢ 0 0 0 0⎥
Matriz incidencia posterior ⎢1 ⎥
⎢0 1 0 0 0⎥
⎢⎣0 0 1 0 0⎥⎦
⎡1 0 0 0 0⎤
⎢0 1 0 0 0⎥⎥
C- ⎢
⎢ 0 1 0 0⎥
Matriz incidencia previa ⎢0 ⎥
⎢0 0 0 1 1⎥
⎢⎣0 0 0 0 1⎥⎦
⎡− 1 0 0 0 1 ⎤
⎢ 1 −1 0 1 0 ⎥
C=C+-C- ⎢ ⎥
Matriz incidencia ⎢ 1 0 −1 0 0 ⎥
⎢ ⎥
⎢ 0 1 0 − 1 − 1⎥
⎢⎣ 0 0 1 0 − 1⎥⎦
Notas:
10
Cálculo de la evolución con RdP
M i +1 = M i + CU
⎡1 ⎤
⎢0 ⎥
⎢ ⎥
U1 = ⎢0⎥ Se dispara t1
⎢ ⎥
⎢0 ⎥
⎢⎣0⎥⎦
Notas:
11
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}
RdP Libre Elección (RLE): ∀p∈P, |p•| > 1 => ∀tk∈p•, |•tk| = 1
Si ti y tj tienen una plaza de entrada común, esta es la única plaza
de ambas transiciones.
Notas:
12
Clasificación RdP
RdP generalizada (RdPG): las funciones de incidencia pueden tomar valores en todos
los números naturales => arcos con peso
RdP Generalizada
GE GM
RS
RLE
RdP Ordinaria
Notas:
13
Modelo de representación
abc a
Entradas: b
c
(eventos discretos, condiciones lógicas externas), evento
Salidas: (eventos discretos, salidas a nivel),
Código asociado a las transiciones.
señal
set(s) s
Acc. impulsionales asociadas a transiciones
=> disparo instantáneo
abc a
b
c
Código/actividades en transiciones
----
=> disparo no instantáneo ----
---- w
----
----
Notas:
14
Modos fundamentales
Ejecución secuencial
Ejecución concurrente
Notas:
15
Modelo de Productor-Consumidor
Notas:
16
Modelo Productor-Consumidor con buffer limitado
Notas:
17
Modelo Productor-Consumidor: 2 prod.x2 cons.
Consumidor 1
Productor 1
Consumidor 2
Productor 2
Notas:
18
Exclusión mútua
Notas:
19
Exclusión mutua con prioridad
Notas:
20
Filósofos chinos
Piensa
Come
Notas:
21
Ejemplo modelado: Carros con vía común
MA lA
rA lB rB
LA A
WA G B MU
WB U
MB LB
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 MA
está 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 fin
de 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ía
común, B es prioritario. El recorrido WA-U o WB-U se establece por un cambio de agujas
controlado por la acción G.
Notas:
22
RdP: Carros con vía común
1 2
Transiciones => entradas de sensores
MA MB
Lugares => señales de salida
14 rA rB 15
WA WB
MA lA
4 3 5
rA lB rB
WB LA A
rA ,G 6 7 rB WA G B MU
U U
WB U
G 8 9 MB L B
MU MU
l A ,G 10 11 l B
WA WB
12 13
lA lB
LA LB
Notas:
23
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 datos
los 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.
Notas:
24
RdP: Modelo de lectores y escritores (2L y 2E)
X1 X2
RL 1 RL 2 RR 1 RR 2
DL 1 DL 2 DR 1 DR 2
EL 1 EL 2 ER 1 ER 2
CL 1 CL 2 CR 1 CR 2
AL 1 AL 2 AR 1 AR 2
FL 1 FL 2 FR 1 FR 2
Notas:
25
Ejemplo Modelo: Transmisión datos
STRB
PORTCL
T
DATO
SCI ACK/NACK
STRA
Notas:
26
RdP: Transmisión datos
NACK C5
P1 ACK
TC51 TC52
TP1 llegada_dato
leer() llegada_caracter TC4
P2 C4
TP2 enviar()
procesar()
TC3
P3 C3
H
TP3
sacar() TC2
P4 MUTEX C2
TP4 meter()
TC1
O
C1
Notas:
27
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:
M j ( p ) = M i ( p ) + β (t , p ) − α ( p, t )∀p ∈ P
y se representa M i ]t > M j
Notas:
28
Ecuación de estado
Mk → marcado obtenido en el k-ésimo disparo
Uk → vector cuyas componentes son nulas salvo la i-ésima si ti es la
transición disparada en k-ésimo lugar
p1 p1
Uk ( i) = 1,Uk ( j ) = 0, ∀j ≠ i t1 t1
2 2
Mk = Mk−1 + CUk =
p3 p3
p2 σ p2
= Mk−2 + C (Uk−1 + Uk ) =
t2 t2
2 2
t t
3 3
σ = t1t2 t2
k
= M0 + C ∑ U j = M0 + C σ
j=1
⎛ 1⎞
⎜ ⎟
σ = ⎜ 2⎟
⎜ ⎟
⎝ 0⎠
Notas:
29