Diapositiva 1

Anuncio
Modelado de
Sistemas:
Redes de Petri
Modelos conceptuales
mediante redes de Petri
Índice



Introducción
Redes de Petri (RdP)
Modelando con redes de Petri





Análisis de las redes de Petri




Precondiciones i postcondiciones de un evento
Ejemplos. Descomposición en subsistemas
Modelando programas
Problemas. Otros sistemas
Árbol de alcance
Redes de Petri no acotadas y árbol de cobertura
Bloqueos
Redes de Petri coloreadas (RdPC)


Definición
Ejemplos
2
Introducción

Sistemas
Conjunto de objetos que interactúan entre sí

Estado i variables de estado
El estado del sistema queda determinado por los
valores de las variables que se necesitan para
caracterizar al sistema
 Sistemas continuos

Cambios continuos de las variables
 Sistemas discretos
 Cambios discretos de las variables
 Sistemas orientados a eventos discretos
 Cambios discretos + secuencia temporal aleatoria
3
Introducción

Modelos
Representación simbólica (matemática) del sistema que
permite representar las dinámicas de interés
(reproduce el comportamiento y las características
del sistema)

Modelos de simulación de eventos discretos
Elementos utilizados
 Evento

Acción instantánea que cambia el estado del modelo
 Actividad
 Tareas del sistema con duración temporal
 Entidades
 Entidades temporales: Objetos que se procesan
 Recursos: Medios utilizados para ejecutar las
actividades
4
Introducción

Bibliografía
 Guasch,
A.; Piera, M.A.; Casanovas, J.; Figueras, J.
Modelado y simulación. Aplicación a procesos
logísticos de fabricación y servicios. Ediciones UPC,
2002.
 Jensen,
K. Coloured Petri Nets. Basic Concepts,
Analysis Methods and Practical Use. Volume 1, Basic
Concepts. Springer-Verlag. 1997
 Peterson,
J. L. Petri Net Theory and the Modelling of
Systems. Prentice-Hall, 1981.
5
Redes de Petri




Los modelos de eventos discretos se basan
fundamentalmente en los conceptos de evento y
actividad.
Un evento genera un cambio en las variables de estado
y marca el inicio o el final de una actividad.
Las Redes de Petri (RdP) permiten representar de forma
natural un modelo de eventos discretos. En una RdP los
eventos están asociados a transiciones y las actividades
a lugares.
Las RdP permiten representar formalmente la
concurrencia (actividades paralelas) y la sincronización
(transferencia sincronizada de materiales o de
información).
6
Redes de Petri




Es un formalismo de modelado gráfico con muy pocas
reglas sintácticas.
Permiten estudiar aspectos estructurales tales como las
situaciones de bloqueo o la alcanzabilidad de ciertos
estados.
Permiten formalizar un sistema a distintos niveles de
abstracción de acuerdo con los objetivos de modelado.
Permiten la descripción de un sistema complejo
mediante la metodología Bottom-Up: construcción del
modelo del sistema completo a partir de las RdP de los
subsistemas (submodelos), que han sido previamente
desarrollados y verificados (modularización).
7
Redes de Petri: Definiciones básicas

Una estructura de Red de Petri, C, está
compuesta por 4 elementos, C = (P, T, I, O).
P = {P1, P2, …, Pn} conjunto finito de lugares, n ≥ 0.
T = {T1, T2, …, Tm} conjunto finito de transiciones, m ≥ 0.
I:T→P∞ es una función de entrada, una aplicación de las
transiciones a bolsas de lugares.
O:T→P∞ es una función de salida, una aplicación de las
transiciones a bolsas de lugares.
La Teoría de Bolsas es una extensión natural de la Teoría de
Conjuntos. En las bolsas se admiten elementos repetidos.
Entrada/salida múltiple → grado de multiplicidad del lugar de E/S
8
Notación P∞: Es posible un número ilimitado de repeticiones
Redes de Petri: Definiciones básicas

Asignación de marcas (tokens) M de una Red
de Petri, C.
M:P→N es una función del conjunto de lugares P al
conjunto de los números enteros no negativos N.
 El
estado del sistema se caracteriza a través de la
asignación de marcas. Se representa a través del
vector

p
M P1 , M P2 , , M Pn
 Nn
es el conjunto de todas las asignaciones de
marca (todos los estados del sistema).
9
Redes de Petri: Definiciones básicas

La representación gráfica de las RdP es un
multigrafo dirigido, ponderado y bipartito
 Dos
tipos de nodos: lugares (círculos) y transiciones
(rectángulos).
 Las conexiones entre los lugares de entrada y de
salida de cada transición y la transición se representan
a través de arcos (orientados).
 El grado de multiplicidad de los lugares de entrada y
salida se representa a través del peso asociado al arco
correspondiente.
10
Redes de Petri: Definiciones básicas

El grafo de una Red de Petri está compuesta por
5 elementos: RdP = (P, T, A, W, M).
P = {P1, P2, …, Pn} conjunto de n lugares (círculos).
T = {T1, T2, …, Tm} conjunto de m transiciones (rectáng.).
A = {A1, A2, …, As} conjunto de s arcos.
Entradas lugar-transición Ak1 ≡ (Pi1, Tj1)
Salidas transición-lugar Ak2 ≡ (Pi2, Tj2)
W(Ak) k = 1, 2, …, s Peso asociado a cada arco.
Ak1 ≡ (Pi1, Tj1)
W(Ak1) = W(Pi1, Tj1)
Ak2 ≡ (Pi2, Tj2)
W(Ak2) = W(Pi2, Tj2)
M(Pi)
i = 1, 2, …, n Asignación de marcas (estado)
11
Redes de Petri: Definiciones básicas



Para analizar la RdP se utilizará el conjunto de lugares de
entrada, I(Tr), y el conjunto de lugares de salida, O(Tr), de
cada transición Tr.
El número de elementos (piezas, personas, recursos, etc.)
que hay en una cola de espera se representa
gráficamente a través del número de marcas.
El estado de una condición (verdadero o falso) se
representa gráficamente con una marca en el interior del
nodo lugar cuando la condición se cumple.
I Tr
Pi
P : Pi , Tr
A
O Tr
Pi
P : Tr , Pi
A
12
Redes de Petri: Definiciones básicas

Reglas para simular el comportamiento de una RdP

Una transición Tr está activada si cada uno de los lugares de
entrada a la transición Tr contiene un número de marcas superior
o igual al peso del arco correspondiente (precondiciones).
M Pi


W Pi , Tr
Pi
I Tr
Una transición activada puede ejecutarse (dispararse) en
cualquier momento.
Como resultado de ejecutar (disparar) una transición activada, Tr,
se eliminan W(Pi,Tr) marcas del lugar Pi, para todos los lugares
de entrada de la transición Tr, y se añaden W(Tr, Pj) marcas al
lugar Pj, para todos los lugares de salida de Tr (postcondiciones).
13
Redes de Petri: Definiciones básicas
P
1
2 T
1
P
1
2
P
3
P
2
1
P
1
4
P
3
2 T
1
1
2
P
5
P
1
2
P
5
3
3
P
5
Ejemplo:
A la izquierda se representa el estado inicial de la RdP con la
transición T1 activada: M(P1)=3, M(P2)=1 y M(P3)=4.
A la derecha se representa el estado final de la RdP después de
dispararse la transición.
14
Redes de Petri: Definiciones básicas

Función estado siguiente δ(M, Tr) de una asignación de
marcas M y una transición Tr.
δ: Nn T → Nn
δ(M, Tr) = M’

M ' Pi

La función estado siguiente de M y Tr está definida si y solo si Tr
está activada con la asignación de marcas M.
M, Tr
M Pi
W Pi , Tr
W Tr , Pi
Pi
P
Como resultado de disparar la transición activada, Tr, se eliminan
W(Pi,Tr) marcas del lugar Pi, (si Pi no es un lugar de entrada de la
transición Tr, W(Pi,Tr) = 0, y se añaden W(Tr, Pi) marcas al lugar Pi
(si Pi no es un lugar de salida de Tr, W(Tr, Pi) = 0.
15
P
1
2 T
1
P
1
2
P
P
2
3
1
P
1
4
P
3
2 T
1
1
2
P
5
P
1
2
P
5
3
3
P
5
M’ = δ(M, T1)
T1
M’(P1) = M(P1) – W(P1,T1) + W(T1, P1) = 3 – 2 + 0 = 1
-2
M’(P2) = M(P2) – W(P2,T1) + W(T1, P2) = 1 – 1 + 0 = 0
-1
M’(P3) = M(P3) – W(P3,T1) + W(T1, P3) = 4 – 2 + 0 = 2
-2
M’(P4) = M(P4) – W(P4,T1) + W(T1, P4) = 0 – 0 + 1 = 1
+1
M’(P5) = M(P5) – W(P5,T1) + W(T1, P5) = 1 – 0 + 3 = 4
+3
16
Redes de Petri: Definiciones básicas



Estado inmediatamente alcanzable
La asignación de marcas M’ es inmediatamente alcanzable desde M
si existe una transición Tr tal que M’ = δ(M, Tr).
Estado alcanzable
La asignación de marcas M’ es alcanzable desde M si existe una
secuencia de ejecución de transiciones que transforme M en M’.
Conjunto de estados alcanzables R(C, M) de una red de Petri
C = (P, T, I, O) desde una asignación de marcas M.
R(C, M) es el conjunto que cumple:
1) M є R(C, M)
2) M’ є R(C, M) y M’’ = δ(M’, Tk) → M’’ є R(C, M)
La relación de alcanzabilidad es el cierre reflexivo transitivo de la
relación de alcanzabilidad inmediata.
17
Redes de Petri: Definiciones básicas

Las RdP permiten representar las dinámicas de los procesos orientados a
eventos discretos:
a) secuencia; b) decisión; c) concurrencia; d) sincronización; e) agrupación.
P
a)
P
b)
1T
3
c)
4
1
P
1
2T
P2
d)
T
T
T
T
T
1
2
3
1
P
P
P
1
2
3
e)
P
P
P
1
2
3
T
2
3
T
T
T
1
2
3
T
P
1
1
P
T
T
18
Precondiciones y postcondiciones

Modelo de un recurso limitado
Estación de trabajo formada por dos máquinas dedicadas a
procesar piezas. Las piezas que llegan se esperan en una única
cola, son procesadas, y finalmente abandonan la estación.
P1
P2
P3
P4
Piezas en cola
CONDICIONES
Máquinas libres
Piezas en proceso. (máquinas ocupadas)
Piezas procesadas
T
P1
1
T1
Llegada de la pieza
Precondiciones: Ninguna
Postcondiciones: Pieza en cola
T2
T3
P
T
P2
2
3
EVENTOS
(arco ent.)
(arco sal.)
Inicio del proceso
Precondiciones: Pieza en cola; Máquina libre
Postcondiciones: Pieza en proceso
T
P3
Fin del proceso
4
Precondiciones: Pieza en proceso
Postcondiciones: Pieza procesada; Máq. libre
19
Modelando con Redes de Petri

Modelo de un proceso robotizado simple
Dos flujos diferentes de fabricación (piezas tipo 1 i piezas tipo 2)
compiten por un mismo recurso. Un mismo robot transporta todas
las piezas.
P1
P2
P4
P6
Robots libres
Cola piezas 1
Transp. pieza 1
Salida piezas 1
T1 Lleg. piezas 1
T3 Inicio transp. 1
T5 Fin transp. 1
P3 Cola piezas 2
P5 Transp. pieza 2
P7 Salida piezas 2
T2 Lleg. piezas 2
T4 Inicio transp. 2
T6 Fin transp. 2
La marca de la posición P1 puede activar T3 o
T4 (decisión: especificar criterio)
T
1P
T
P2
2
T
3P
4
T
5P
6
3
P
1
T
P4
5
T
P6
7
20
Modelando con Redes de Petri

Modelo de una máquina ensambladora
Se considera que sólo llegan al sistema piezas de tipo a. Las piezas
de tipo b están previamente almacenadas en el sistema
(RdP no acotada; M(P2) puede crecer ilimitadamente)
P1 Almacén piezas b (bebida) P2 Cola de entrada piezas a (cliente)
T0 Llegada cliente
T1 Proceso de ensamblado
a
Piezas
ensamblad
as
M
1
b
P
P
2
1
T
T
0
1
21
Modelando con Redes de Petri

Modelo de una máquina ensambladora con limitación en
el número de piezas que llegan
Se considera una cola de entrada de 3 plazas para las piezas de tipo
a. Las piezas de tipo b están previamente almacenadas en el
sistema. (RdP acotada)
P1 Almacén piezas b
P2 Cola de entrada piezas a (cliente)
P3 Plazas libres en la cola de entrada de piezas a
T0 Llegada cliente
T1 Proceso de ensamblado
P
P
2
1
T
T
1
0
P
3
22
Descomposición en subsistemas

Modelo de una línea de producción
Robots transporte: R1, R2; Máquinas: M1, M2, M3;
Almacenes: S1, S2.
Funcionamiento:
R1 transporta pieza S1 → M1; M1 efectúa la 1ª operación;
R2 transporta pieza M1 → M2 o M3; M2 o M3 efectúa 2ª operación
R2 transporta pieza M2 o M3 → S2
Subsistema 1: S1 → M1 + proceso M1
Subsistema 2: M1 → M2 + proceso M2 + M2 → S2
Subsistema 3: M1 → M3 + proceso M3 + M2 → S2
M
S
1
R1
M
R2
2
S
1
2
M
3
23
Subsistema 1
P1 M1 libre
P3 R1 libre
P5 M1 ocupada
P2 R1 transp S1→M1
P4 M1 procesando
P6 Almacén S1
T1 Inicio transp S1→M1
T2 Final transp S1→M1; Inicio proceso M1
T3 Final proceso M1
P
P6
1
P
P
3
2T
Estado incial
(1, 0, 1, 0, 0, 5)
M1 libre M(P1)=1; M(P4)=0; M(P5)=0
R1 libre M(P2)=0; M(P3)=1
S1 (5 piezas) M(P6)=5
S
1
M
R2
2
P
4T
P
M
R1
T1
2
S
1
5
2
M
24
3
Dinámica del subsistema 1
P
P6
1
P
T1 P6
P
P
3
2T
2
P
5
T1
P
P
3
2T
P
4T
1
P
2
P
3
Disparo T1 P
Inicio transp. S1→M1
5
4T
P6
1
T1
P
P
3
2T
2
P
3
4T
3
Disparo T2 P
Final transp. S1→M1;
5 Inicio M1
25
Dinámica del subsistema 1
P
P6
1
P
T1 P6
P
P
3
2T
2
P
T1
P
P
3
2T
P
4T
1
P
2
P6
Disparo T2 P
5
5 M1
Final
transp. S1→M1; Inicio
4T
T1
P
P
3
2T
P
3
1
2
P
4T
3
Disparo T3 P
Final M1 5
26
3
Subsistema 2
P1
P7
P9
P11
P18
M1 libre
M2 libre
R2 M1→M2
M2 ocupada
Almacén S2
P5
P8
P10
P12
1
1
8
T59
P1
T6
0
P1
2
M
S
1
2
M
P
P1
T28
M
S
5
P1
T17
P1 P5 P7 P8 P9 P10 P11 P12 P18
(0, 1, 1, 1, 0, 0, 0, 0, 0)
R2
7
P
T5 Final M1→M2; Inicio M1
T7 Inicio M2→S2
R1
P
T4
P
T4 Inicio M1→M2
T6 Final M2
T8 Final M2→S2
Estado inicial
M1 ocupada
R2 libre
M2 procesando
R2 M2→S2
P
8
27
Subsistema 3
P1
P13
P14
P16
P18
M1 libre
M3 libre
R2 M1→M3
M3 ocupada
Almacén S2
P5
P8
P15
P17
T9 Inicio M1→M3
T11 Final M3
T13 Final M3→S2
Estado inicial
M1 ocupada
R2 libre
M3 procesando
R2 M3→S2
P1
P
5
3
T9
P
P1
4 T1 P
8
P10
T10 Final M1→M3; Inicio M3
T12 Inicio M3→S2
5
S
1
R1
M
R2
P1
S
1
P12
7
2
T11
P1
6 T1
P1 P5 P8 P13 P14 P15 P16 P17 P18
(0, 1, 1, 1, 0, 0, 0, 0, 0)
M
1
T1
3
8
2
M
28
P6
P
1
T1 Inicio S1→M1
T2 Final S1→M1; Inicio M1
T3 Final M1
T4 Inicio M1→M2
T5 Final M1→M2; Inicio M2
T6 Final M2
T7 Inicio M2→S2
T8 Final M2→S2
T9 Inicio M1→M3
T10 Final M1→M3; Inicio M3
T11 Final M3
T12 Inicio M3→S2
T13 Final M3→S2
Estado inicial:
(1,0,1,0,0,5,1,1,0,0,0,0,1,0,0,0,0,0)
T1
P
2 T2
P
3
P
4 T3
P
7
T4
P
T95
P
5
P1
3
P
8
T9
P1
4 T1
P1
T06
P01
5 T1
P1
T17
P11
6 T1
P1
T28
P21
P1
8
7T
3
1
29
Modelando programas


El programa de un proceso es un conjunto de operaciones
de computación ejecutadas en un cierto orden.
Programa → Computación + control
Computación: ejecución de operadores aritméticos y/o
lógicos; manipulación de entradas, salidas y valores de las
variables.
Control: Orden en el cual deben ejecutarse las operaciones.
Representado a través de los diagramas de flujo. Las RdP
permiten representar la estructura de control de los
programas.
begin
Input(y1); Input(y2); y3:=1;
while y1>0
do begin
if odd(y1)
then begin
y3:=y3*y2; y1:=y1-1;
end;
y2:=y2*y2; y1:=y1-2;
end;
Output(y3);
end;
Acción Interpretación
a
Input(y1); Input(y2); y3:=1;
b
y1>0 ?
c
odd(y1) ?
d
y3:=y3*y2; y1:=y1-1;
e
y2:=y2*y2; y1:=y1-2;
f
Output(y3);
a
b
F
V
c
F
V
d
e
f
30
Modelando programas


Nodos del diagrama de flujo: computación (rectángulos);
decisión (diamantes) → Transiciones de la RdP
En las RdP las decisiones se toman a partir de un lugar
Arcos del diagrama de flujo → Lugares de la RdP
En el diagrama de flujo el proceso debe detenerse entre
nodos (antes de iniciar una operación de toma de
decisiones o de computación).
ai
ai
Computación
F
aj
aj
aj
ai
ai
Decisión
F
V
ak
V
aj
ak
31
Modelando programas

Diagrama de flujo y RdP correspondiente del programa ejemplo
a
a
F
b
F
V
c
b,
V
d
V
e
c,
F
c,
V
b,
F
d
e
f
f
32
Problema de la exclusión mutua



Datos compartidos por varios procesos (lectura de datos y
escritura de nuevos valores).
Exclusión mutua:
Mientras un proceso manipula los datos compartidos (sección
crítica) ningún otro proceso puede manipular estos mismos datos
Lugar m de la RdP ≡ autorización para acceder a la sección
crítica
33
Problema productor / consumidor




Sistema formado por s productores de objetos que se depositan
en un aparador (buffer) y t consumidores.
Para que el número de objetos en el aparador no pueda crecer
indefinidamente, se introduce un número máximo n de plazas.
Lugar B ≡ Objetos en el aparador
Lugar B’ ≡ Plazas libres en el aparador
34
Otros sistemas

Reacción química de oxidación reducción.
Ejemplo: Oxidación reducción de ácido oxálico y peróxido de hidrógeno
Lugar ≡ Número de moléculas (moles) de cada compuesto
Transiciones ≡ Reacción
Arcos ≡ Número de moléculas (moles) que se consumen/producen
H2C2O4
H2C2O4 → 2 CO2 + 2 H+ + 2 e2 e - + 2 H + + H2 O 2 → 2 H 2 O
2
CO2
2
2 e
H+
H2O2
-
2
2
2
H2O
35
Modelando de sistemas:
Redes de Petri
Descanso
36
Análisis de las RdP



Objetivos
Determinar las situaciones de bloqueo del sistema.
Determinar los estados posibles a partir de un cierto estado inicial.
Determinar caminos para alcanzar un estado final a partir de un estado
inicial.
Árbol de alcance
Representación del conjunto de estados alcanzables R(C, M0) de una
red de Petri C = (P, T, I, O) con una asignación inicial de marcas M0.
Nodos del árbol de alcance ≡ Estados del sistema (asig. marcas)
Reglas de construcción del árbol de alcance:
1. El nodo raíz es el estado inicial
2. Cada nodo genera nodos hijos ejecutando las transiciones activadas
3. Nodo duplicado (old) → no genera nodos hijos
4. Nodo terminal (dead) ≡ No tiene transiciones activadas
→ no genera nodos hijos
37
Árbol de alcance
Reglas de construcción:
1. El nodo raíz es el estado inicial
2. Cada nodo genera nodos hijos ejecutando las transiciones activadas
3. Nodo duplicado (old) → no genera nodos hijos
4. Nodo terminal (dead) ≡ No tiene transiciones activadas
→ no genera nodos hijos
Ejemplo:
(2, 1, 0)
P1 2
T1
P2 1
P3
T2
T1 (-1, (1, 1,1+1,
1) +1)
T1
T2 (+1, 1+1, -1)
(0, 1, 2)
(2, 1, 0)
T2
(1, 1, 1)
old
old
38
Análisis de las RdP
Redes de Petri acotadas
Definición: Un lugar Pi de una RdP C = (P, T, I, O) con una asignación
inicial de marcas M0 es k-acotado si para todas las asignaciones de
marcas M del conjunto de estados alcanzables R(C, M0), M(Pi) ≤ k.
En el ejemplo anterior P1 y P3 son 2-acotados; P2 es 1-acotado.
Definición: Una RdP C = (P, T, I, O) con una asignación inicial de
marcas M0 es k-acotada si todos los lugares son k-acotados
Definición: Un lugar o una RdP con una asignación inicial de marcas M0
es acotado si es k-acotado para algún valor finito k.
En el ejemplo anterior la RdP es 2-acotada.
Los lugares P1, P2, P3 y la RdP son acotados
39
Árbol de alcance
Ejemplo de RdP 1-acotada
Sistema de producción
Máquinas M1, M2; Cintas transportadoras C1, C2; piezas tipo a, b
Restricciones para la secuencia de operaciones
1. Pieza tipo a: Proceso en M1; transporte C1 M1→M2; Proceso en M2.
2. Pieza tipo b: Proceso en M1; transporte C2 M1→M2; Proceso en M2.
3. Las máquinas no pueden efectuar dos operaciones consecutivas de
un mismo tipo de pieza.
4. Almacenes de piezas a y b a la entrada de capacidad infinita
5. Los palets de las cintas C1 y C2 tienen dos posiciones: M1 y M2.
40
Árbol de alcance
T1 Final proceso de a en M1 ; Inicio proceso de b en M1
T2 Final proceso de b en M2; Inicio proceso de a en M2
T3 Final proceso de b en M1; Inicio proceso de a en M1
T4 Final proceso de a en M2; Inicio proceso de b en M2
P1 palet C1 en M1
P5 M1 procesando a
P2 palet C1 en M2
P6 M1 procesando b
P3 palet C2 en M2
P7 M2 procesando b
P4 palet C2 en M1
P8 M2 procesando a
Estado inicial: M1 procesando a; C1 en M1; M2 procesando b; C2 en M1
(1, 0, 0, 1, 1, 0, 1, 0)
41
Árbol de alcance
A partir del árbol de alcance de la RdP se puede concluir:
1) La RdP es 1-acotada
2) Desde el estado inicial se puede llegar a 5 estados distintos
42
RdP no acotadas: Árbol de alcance
RdP no acotada → Árbol de alcance infinito (crece de forma ilimitada)
Ejemplo: Estado inicial (1, 0, 0)
t1 (-1+1,+1, 0)
t2 (-1,+1,+1)
t3 (0, -1, -1+1)
dead
old
43
RdP no acotadas: Árbol de cobertura
Ampliación de la asignación de marcas:
A cada lugar de la RdP se le puede asignar un número de
marcas:


Número no negativo (0, 1, 2, 3, …)
Símbolo especial ω para representar a un número de marcas que
puede crecer ilimitadamente (infinito)
Cuando el disparo de una transición comporte sumar o restar n marcas
a un lugar con símbolo especial, ω, se comportará de la siguiente
manera
1)
ω+n=ω
2)
ω-n=ω
3)
n<ω
44
RdP no acotadas: Árbol de cobertura


Árbol de cobertura
Caracteriza las tipologías de nodos del árbol de alcance
Se genera con las 4 reglas de generación del árbol de
alcance + Regla de cobertura
Regla de cobertura
Si en el camino desde el nodo raíz M0 hasta el nodo M del
árbol de alcance se puede encontrar un nodo M’ tal que
M(Pi) ≥ M’(Pi)
para todos los lugares Pi
Existe un lugar Pk tal que
M(Pk) > M’(Pk)
entonces el valor M’(Pk) del árbol de alcance se substituye
por M’(Pk) = ω
45
RdP no acotadas: Árbol de cobertura
Árbol de cobertura
t1 (-1+1,+1, 0)
t2 (-1,+1,+1)
t3 (0, -1, -1+1)
M = (1, 2, 0) y M’ = (1, 1, 0)
M’ = (1, 1, 0) → M’ = (1, ω, 0)
(1, ω, 0) + t2 = (0, ω, 1)
(0, ω, 1) + t3 = (0, ω, 1)
(1, 0, 0)
t1
t2
(1, ω, 0)
t1
(1, ω, 0)
old
(0, 1, 1)
t2
t3
(0, ω, 1)
t3
(0, 0, 1)
dead
(0, ω, 1)
old
46
RdP no acotadas: Árbol de cobertura
Árbol de cobertura
T1 (-1+1,+1, -1)
T2 (+1,-1,+1)
M0 = (1, 0, 1)
Estructura secuencial repetitiva: T1 , T2 , T1 , T2 , …
M = (2, 1, 0) y M’ = (1, 1, 0)
M’ = (1, 1, 0) → M’ = (ω, 1, 0)
(ω, 1, 0) + T2 = (ω, 0, 1)
(ω, 0, 1) + T1 = (ω, 1, 0)
47
Bloqueos
Bloqueo
Dos procesos concurrentes utilizan recursos compartidos y quedan
parados en mitad del proceso a la espera de recursos que tiene
reservados otro proceso.
Ejemplo: Después de ejecutar T1 y T2 (T2 y T1) ninguna transición está
activada
48
Bloqueos
Ejemplo: Línea de producción
Sistema de producción
Máquinas M1, M2; Transporte R1, R2; piezas tipo a, b
Restricciones para la secuencia de operaciones
1. Pieza tipo a: Proceso en M1; transporte R M1→M2; Proceso en M2.
2. Pieza tipo b: Proceso en M2; transporte R M2→M1; Proceso en M1.
3. Pieza accede máquina si la máquina y un manipulador están libres
4. A la entrada de una pieza al sistema se le asigna un transporte que
mantiene ocupado hasta la salida.
5. Concluida la primera operación, la pieza espera hasta que la 2ª
máquina esté libre. Durante la espera la 1ª máquina está ocupada.
6. Cuando finaliza 2ª operación queda libre la 2ª máquina y transporte.
7. No puede haber más de una pieza tipo a o tipo b en el sistema
49
Bloqueos
P7
T1
T4
2
T1 Inicio proceso de a en M1
P
1
T2 Inicio proceso de a en M2
T3 Final proceso de a en M2 P3 1 T2
T4 Inicio proceso de b en M2
P2
T5 Inicio proceso de b en M1
T3
T6 Final proceso de b en M1
P1 M1 procesa a
P4 M2 procesa b
P2 M2 procesa a
P5 M1 procesa b
P3 Plazas a libres P6 Plazas b libres
P7 Unidades transporte libres
P8 M2 libre
P9 M1 libre
Estado inicial: Máquinas, transportes y
plazas libres
(0, 0, 1, 0, 0, 1, 2, 1, 1)
P4
P8
1
P9
1
T5
1 P6
P5
T6
50
Bloqueos
T1 Inicio proceso de a en M1
T2 Inicio proceso de a en M2
T3 Final proceso de a en M2
T4 Inicio proceso de b en M2
T5 Inicio proceso de b en M1
T6 Final proceso de b en M1
El sistema se bloquea cuando M1 y M2 están efectuando la primera
operación i el estado del sistema es (1, 0, 0, 1, 0, 0, 0, 0, 0)
P7
T1
P1
P3
T2
P2
T3
T4
1
1
P8
P9
P4
T5
P6
P5
T6
51
Bloqueos
Árbol de alcance
P7
T1
T4
2
P1
P3
P4
P8
T2
1
1
P2
P9
1
T5
1 P6
P5
T3
T6
(0, 0, 1, 0, 0, 1, 2, 1, 1)
T1
T4
(1, 0, 0, 0, 0, 1, 1, 1, 0)
T2
(0, 1, 0, 0, 0, 1, 1, 0, 1)
T3
(0, 0, 1, 0, 0, 1, 2, 1, 1)
old
T4
(0, 0, 1, 1, 0, 0, 1, 0, 1)
T1
(1, 0, 0, 1, 0, 0, 0, 0, 0)
dead (bloqueo)
T5
(0, 0, 1, 0, 1, 0, 1, 1, 0)
T6
(0, 0, 1, 0, 0, 1, 2, 1, 1)
old
52
Bloqueos
Una forma de evitar el bloqueo es incorporar la restricción de que
antes de empezar la primera operación en una pieza deben estar las
dos máquinas libres.
P7
T1
2
El sistema procesa las
piezas de una en una.
Un transporte es suficiente.
P1
P3
1
(0, 0, 1, 0, 0, 1, 2, 1, 1)
(1, 0, 0, 0, 0, 1, 1, 1, 0)
T2
(0, 1, 0, 0, 0, 1, 1, 0, 1)
T3
(0, 0, 1, 0, 0, 1, 2, 1, 1)
old
P4
P8
T2
1
P2
T1
T4
T3
P9
1
T5
1 P6
P5
T6
T4
(0, 0, 1, 1, 0, 0, 1, 0, 1)
T5
(0, 0, 1, 0, 1, 0, 1, 1, 0)
T6
(0, 0, 1, 0, 0, 1, 2, 1, 1)
old
53
Redes de Petri coloreadas
Una Red de Petri coloreada, RdPC, está compuesta por 9 elementos
RdPC = (Σ, P, T, A, N, C, G, E, I).
Σ = {C1, C2, …, Cnc} conjunto finito de nc colores. Cada color
corresponde a un atributo y tiene asociados m valores, Ci = {ci1, ci2,
…, cim}.
P = {P1, P2, …, Pnp} conjunto finito de np lugares
T = {T1, T2, …, Tnt} conjunto finito de nt transiciones
A = {A1, A2, …, Ana} conjunto finito de nt arcos
N Función nodo: Definida sobre el conjunto de los arcos. Asocia a
cada arco sus nodos terminales: origen y destino.
C Función color: Definida sobre el conjunto de los lugares. Asocia a
cada lugar un único color (una tipología de objeto).
G Función guarda: Definida sobre el conjunto de las transiciones.
Especifica las condiciones para desinhibir la transición. Se
formaliza a través de expresiones booleanas.
Gráficamente condición entre corchetes (al lado de la transición).
54
Redes de Petri coloreadas
Una Red de Petri coloreada, RdPC, está compuesta por 9 elementos
RdPC = (Σ, P, T, A, N, C, G, E, I).
E Función entidad: Definida sobre el conjunto de los arcos.
(Generalización de la función peso W de las RdP).
En arco de entrada: especifica el número de marcas de cada tipo
de objeto (valor de la variable color) que se necesitan para activar
la transición.
En arco de salida: especifica el número de marcas de cada tipo de
las entidades de salida.
Gráficamente
nc1’(c1)+ nc2’(c2)+ … + ncm’(cm) (al lado arco)
I Función de inicialización: Definida sobre el conjunto de los lugares.
Especifica el número de marcas para cada valor de la variable
color (el número de cada tipo de objeto). (Generalización de la
asignación de marcas).
Gráficamente
nc1’(c1)+ nc2’(c2)+ … + ncm’(cm) (al lado lugar)
55
Redes de Petri coloreadas
Una Red de Petri coloreada, RdPC, está compuesta por 9 elementos
RdPC = (Σ, P, T, A, N, C, G, E, I).
Adicionalmente es posible formalizar las prioridades entre
transiciones mediante la función Π:T→N que asigna un entero no
negativo de prioridad a cada transición. Para disparar una
transición hace falta que no esté activada ninguna otra con mayor
prioridad.
Mismas técnicas de análisis que para las RdP.
Las RdPC permiten formalizar las características de los objetos
(color) y las condiciones para que un evento se produzca (G y E).
Los modelos con RdPC son más compactos y más abstractos que
con RdP.
56
Redes de Petri coloreadas
Ejemplo: Dos tipos de piezas distintas a, b son procesadas por la
misma máquina.
RdP
T1 Inicio proceso de a
T2 Inicio proceso de b
T3 Final proceso de a
T4 Final proceso de b
RdPC
T1 Inicio proceso de a
T2 Inicio proceso de b
57
Redes de Petri coloreadas
Conjunto de colores
Σ = {x, y, R}
x = {1, 2}
y = {0, 1}
R=x y
Transiciones
T1 Inicio proceso
T2 Fin proceso
Lugares
P1 Almacén entrada
P2 Máquina libre
P3 Máquina procesando
P4 Almacén salida
Color tipo pieza 1→a 2→b
Color estado máquina 0→libre 1→ocupada
Color máquina procesando
(1, 1) máquina procesa pieza 1
(2, 1) máquina procesa pieza 2
58
Redes de Petri coloreadas
Función guarda
G(T1) = true
G(T2) = true No hay restricciones
Función entidad
E(A1) = 1’(x)
Una marca tipo pieza (puede ser a o b)
E(A2) = 1’(0)
Sólo se activa transición con y = 0 (maq. libre)
E(A3) = 1’(x,1)
Una máquina procesando pieza (a o b)
E(A4) = 1’(x,1)
Una máquina procesando pieza (a o b)
E(A5) = 1’(x)
Una marca tipo pieza
E(A6) = 1’(0)
Marca tipo estado máquina
Función estado inicial
I(P1) = 3’(1)+3’(2)
I(P2) = 1’(0)
Función nodo flechas
59
Redes de Petri coloreadas
Ejemplo: Sistema de producción
Sistema: 2 máq. erosión, 2 máq. mecanizado, 2 máq. Ensambladoras
Proceso siguiendo secuencia: erosión, mecanizado y ensamblado.
Conjunto de colores
Σ = {x, z, R}
x = {1, 2, 3, 4} Color cola Ci
z = {1, 2, 3} Color tipo máquina
R = z x Color estado máquina
(1, 1); (2, 2); (3, 3)
60
Redes de Petri coloreadas
Nodos lugar
P = {P1, P2, p3}
P1 Máq. libre (color z) P2 Piezas en cola (x) P3 Máq. proces. (R)
Transiciones
T1 Inicio proceso
T2 Fin proceso
Función guarda
G(T1) = [x = z]
La máquina z = 1 sólo puede procesar pieza de
cola x = 1
G(T2) = true
Función entidad
E(A1) = 1’(x) Una pieza activa T1
E(A2) = 1’(x+1) Una pieza pasa a
la cola siguiente
E(A3) = E(A4) = 1’(z)
E(A5) = E(A6) = 1’(z, x)
61
Modelando de sistemas:
Redes de Petri
Muchas gracias por su atención
62
Descargar