Está en la página 1de 37

TEMA 11.

ACD y RDP para modelar SED

• Objetivos
• Conocer los ACD y RDP.
• Dado un SED modelarlo usando ACD y RdP.

Sistemas. Grado en IEAI


Modelado y Simulación de
• Objetivos adicioneles:
• Uso de las RdP para analizar el comportamiento de SED.

• Algo de documentación adicional: 1


http://italica.us.es/asignaturas/Simulacion/trasparencia_final.pdf
Diagramas de ciclo de actividad (ACD)
• ¿Qué son?
• Son una representación gráfica del ciclo de actividades que realiza
cada tipo de entidad a lo largo de su vida, así como de los estados
pasivos por los que pasa.

• Reglas para dibujar un ACD:

Sistemas. Grado en IEAI


Modelado y Simulación de
• Cada tipo de entidad tiene un ciclo de actividad.
• El ciclo consiste en actividades y colas.
• Actividades y colas alternan en el ciclo.
• El ciclo es cerrado.
• Las actividades se representan por rectángulos y las colas por
círculos o elipses. 2
• Formas básicas de ACD:
• 1) La entidad pueda realizar una o más diferentes actividades en
cualquier secuencia o estar parada.
• 2) La entidad pueda realizar actividades en una secuencia definida
cíclica.
• Información adicional al diagrama:
• Criterios de selección en el caso de que exista una bifurcación.

Sistemas. Grado en IEAI


Modelado y Simulación de
• Ejemplo 1: Taller. Se revisa una pieza, y el resultado de la inspección
puede ser que la pieza esté correcta y pase al almacén de piezas para
empaquetar o no esté correcta y pase al almacén de piezas a reparar.
• Ejemplo 2: Hospital. Un paciente puede necesitar consultas con
diferentes especialistas, y debe distinguirse si después de una consulta
vuelve a la sala de espera o ya ha terminado y se puede ir a casa.
• Cómo se modifican los atributos de cada entidad y las variables
globales del sistema.
3
• Etapas para describir un modelo de eventos discretos usando
ACD:
• 1) Definir las entidades (recursos y entidades temporales).
• 2) Desarrollar los ACD para cada entidad.
• 3) Identificar los atributos de cada tipo de entidad, que en general son
de dos clases:
• Para determinar como se comporta la entidad, por ejemplo en las colas o
ante una bifurcación.

Sistemas. Grado en IEAI


Modelado y Simulación de
• Para registrar información sobre el ciclo de vida de la entidad.
• 4) Establecer la disciplina en las cola: determinar que entidades se
seleccionan de las colas y que actividades son iniciadas.
• Generalmente las colas son de tipo FIFO, pero en otras ocasiones la
selección de entidades de ellas depende del valor de los atributos de las
entidades que contienen.
• 5) Definir la duración de las actividades.
• Usando una tabla de tiempos de operación. 4

• Usando un valor estadístico (ej: tiempo de llenado de un depósito de


combustible).
• 6) Definir los cálculos necesarios en los valores de los atributos.
• Estos valores serán luego necesarios tanto en las reglas de prioridad, en la
duración de actividades o en la obtención de resultados.
• Deben definirse fórmulas y cuando aplicarse.
• 7) Especificar las estadísticas que serán usadas posteriormente. Dos
tipos:
• Funciones en el tiempo.
• Ejemplo: número de máquinas ocupadas en el taller en cada instante de tiempo.

Sistemas. Grado en IEAI


• Valores finales.

Modelado y Simulación de
• Ejemplo: tiempo que ha tardado en procesarse un trabajo en el taller.

• 8) Especificar las condiciones iniciales:


• El modelo puede tener variables globales que deben ser inicializadas.
• Debe especificarse el estado inicial de cada entidad:
• En que cola o actividad se encuentra
• Los valores iniciales de sus atributos.
5
• Y las actividades en realización y en que grado de ejecución se encuentran.
• Ejemplo: en un taller de máquinas lo más usual es que inicialmente todos los
trabajos estén en el exterior y todas las máquinas paradas.
Ejemplo de ACD: modelado de una cafetería
• Objetivo del modelo:
• Modelar el comportamiento (grado de ocupación, rendimiento del personal, tiempo de
espera de los clientes).
• Descripción del sistema:
• La cafetería consta de un número determinado de camareros y de máquinas que expiden
tickets.
• Los clientes llegan a la cafetería, obtienen un ticket de la máquina expendedora, los
camareros les sirven los productos que indica el ticket, consumen los productos adquiridos

Sistemas. Grado en IEAI


Modelado y Simulación de
y salen de la cafetería.
• Adicionalmente los camareros tienen otras tareas que realizar, dichas tareas se generan
cada cierto tiempo. La atención de los clientes es prioritario a la realización de otras tareas.

6
Ejemplo de ACD: modelado de una cafetería
• Entidades:
• Temporales: clientes y otras actividades de los camareros.
• Permanentes (recursos): camareros y las cajas expendedoras de vales de
comida/bebida. Se ignoran otro tipo de recursos como podrían ser las mesas
y sillas disponibles.
• Actividades:
• De los clientes (realizan actividades en una secuencia definida, ACD del

Sistemas. Grado en IEAI


Modelado y Simulación de
segundo tipo): entrar en la cafetería, solicitan un vale de comida en la
máquina expendedora, ser servidos por un camarero, comer y dejar la
cafetería.
• De las otras actividades (llegan al sistema, son realizadas por los camareros
y salen del sistema , ACD del segundo tipo)
• De los camareros: servir comida a los clientes y otras actividades (cada
cierto tiempo ira a por comida para ponerla en el expositor; cada cierto
tiempo tendrá que limpiar la barra, lavar vasos y tazas, …). Si existen
camareros ociosos es prioritario el atender a un cliente que el iniciar
cualquier otra actividad. Así el ACD para esta entidad es del primer tipo.
• De las máquinas expendedoras de vales de comida: estar ocupadas 7
emitiendo un vale (ACD para esta entidad es del primer tipo).
• Colas:
• Camareros:
• Espera por cliente para servir comida o para otras actividades. Tipo FIFO.
• Máquinas expendedoras de vales de comida:
• Espera por cliente que solicite un vale de comida (FIFO).
• Clientes:

Sistemas. Grado en IEAI


Modelado y Simulación de
• Exterior (FIFO).
• Espera por máquina expendedora disponible (FIFO).
• Espera por camarero disponible (FIFO).
• Otras actividades:
• Exterior (FIFO) y esperar por camarero disponible para ser realizadas.

8
En este caso existe
una ramificación que
• ACD: parte de una cola.
Máquinas expendedoras: Camareros: Pero también puede
partir de una
EMITIR VALE
SERVIR A UN
CLIENTE
actividad. Ejemplo,
imaginemos una
CAMARERO operación de
DISPONIBLE inspección que
MAQUINAS dependiendo del
DISPONIBLES REALIZAR OTRAS
ACTIVIDADES resultado acepte o
rechace el objeto

Sistemas. Grado en IEAI


Modelado y Simulación de
inspeccionado.
Otras actividades/tareas:

Así, donde exista una


ramificación debe
9
existir una regla para
determinar que rama
debe ser seleccionada
• ACD: Entre cada par de
actividades debe haber
– Clientes: una cola, en sentido
real, tal como
EXTERIOR ESPERAR POR
MÁQUINA o en
ENTRAR SALIR sentido ficticio para
separar actividades
sucesivas tales como
SERVIR A UN
ESPERAR POR COLA CLIENTE y COMER
MÁQUINA FICTICIA B

Sistemas. Grado en IEAI


Modelado y Simulación de
EMITIR VALE COMER

ESPERAR POR COLA


CAMARERO FICTICIA A

SERVIR A UN
CLIENTE 10
• Duración de las actividades:
• Función de algunas distribuciones de probabilidad.
• Variables globales:
• Número de clientes en la cafetería (cc)
• Número de clientes esperando por máquina expendedora (cm)
• Número de clientes esperando por camarero (ccam)
• Número de tareas esperando por camarero (tcam)
• Número de camareros “ociosos” (co)

Sistemas. Grado en IEAI


Modelado y Simulación de
• Número de máquinas paradas (mp)
• Estadísticas a analizar:
• Evolución de las variables cc, cm, ccam, tcam, co y mp a lo largo del tiempo.
• % del tiempo que algún camarero está libre.
• Valor medio de cm, ccam, tcam, co y mp.
• Estado inicial:
• Todos los clientes en el exterior, resto de colas vacías. 11
• Dos camareros (co=2) y una máquina expendedora (mp=1).
• Grado de realización de las actividades nulo.
cc=-1

cc=+1; cm=+1

mp=-1; cm=-1

ccam=+1; mp=+1
tcam=+1

Sistemas. Grado en IEAI


Modelado y Simulación de
co=+1
co=-1; ccam=-1
co=-1; tcam=-1
co=+1

SI ccam=0

12
Redes de Petri (RdP)
• Aspectos generales
• Definición, características, elementos, reglas de funcionamiento,
mecanismos básicos
• Extensiones a las RdP: arcos inhibidores y redes de Petri temporales.
• Ejemplo
• Redes de Petri coloreadas

Sistemas. Grado en IEAI


Modelado y Simulación de
• Definición, características, elementos, reglas de funcionamiento,
mecanismos básicos
• Ejemplo
• Material adicional:
• Programación jerárquica de RdP (bottom-up)
• Análisis de las RdP: árbol de alcance, RdP acotadas, arbol de 13
cobertura
Redes de Petri (RdP). Aspectos básicos.
• Inventadas por Karl Adam Petri (1962)
• ¿Qué son?
• Un caso particular de grafo dirigido, ponderado y bipartito, con dos tipos de
nodos: lugares y transiciones, donde los arcos pueden conectar los nodos
lugares a los nodos transiciones o al revés.
• Características de las RdP:
• Determinan todos los eventos que pueden aparecer cuando el sistema está

Sistemas. Grado en IEAI


Modelado y Simulación de
en cierto estado y como cambia el estado al desencadenarse un evento.
• Determinan los eventos que pueden desencadenar la aparición de un cierto
evento.
• Estas pensadas para describir fenómenos de paralelismo y concurrencia.
• Permite describir un sistema complejo mediante la metodología bottom-up
(descripción jerárquica).
• Es una herramienta gráfica con muy pocas reglas sintácticas.
• Facilita el mantenimiento del modelo. 14
• Elementos de una RdP:
• Nodos tipo lugar (Pj):
• Se representan gráficamente por círculos.
• Describen:
a. Colas de espera.
• El número de elementos (piezas, personas, recursos, …) se representan gráficamente por puntos (tokens)
dentro del nodo lugar

b. Condiciones sobre el estado en que se encuentran los elementos que integran el sistema.
• Dada un nodo lugar que representa una condición lógica (verdadero o falso). Si el nodo
contiene un token se entiende que el estado de la condición es verdadero y si no lo tiene

Sistemas. Grado en IEAI


Modelado y Simulación de
es falso.
• Ejemplo: un nodo P representa que el estado de un almacén (completamente lleno o tiene
huecos disponibles). Si el almacén está completamente lleno el nodo tendrá un “token” y si
tiene huecos disponibles estará vacío.

• El marcado de una red de Petri (M) es la representación del estado del sistema y viene
dado por el número de puntos/tokens dentro de cada nodo lugar (Pj), en un instante
dado.
M es un vector con tantos elementos como nodos lugar tenga la Red de Petri.
• Nodos tipo transición (Ti):
15
• Se representan gráficamente por rectángulos.
• Modelan los eventos que aparecen en la dinámica del sistema.
• Arcos (A)
• Conectan los nodos lugar con los nodos transición
• Tienen asociado un peso, W(Ti,Pj) ó W(Pj,Ti), que describe las
precondiciones y postcondiciones del evento representado por un nodo
tipo transición.

• Definición matemática de una RdP:


• Una tupla de 5 elementos: {P,T,A,W,M0}

Sistemas. Grado en IEAI


Modelado y Simulación de
• P= {P1, P2, P3, P4,... Pn}. Conjunto de nodos tipos lugar.
• T= {T1, T2, T3, T4,... Tm}. Conjunto de nodos tipos transición.
• A. Conjunto de arcos de la RdP.
• W. Peso asociado a cada arco.
• M0. Número de marcas iniciales (tokens) en cada nodo lugar (marcado
inicial). El estado inicial se describe con el vector M0.
• Además también se describen la funciones de entrada y salida de las
transiciones: E(Ti) y S(Ti) que indican los nodos de tipo lugar 16
conectados a la entrada o salida de cada transición de la RdP.
• Reglas para determinar el comportamiento dinámico de una RdP:
• Una transición Ti está habilitada si cada uno de los nodos Pj conectados a la
entrada contienen al menos W(Pj,Ti) objetos (tokens). Donde W(Pj,Ti)
representan el peso del arco que une el nodo Pj a la transición Ti.
• Una transición habilitada/activada puede dispararse en cualquier momento.
• Como resultado de disparar una transición se eliminan W(Pj,Ti) objetos de
cada nodo Pj a la entrada de Ti y se añaden W(Ti,Pk) objetos a cada nodo Pk a
la salida de Ti..

Sistemas. Grado en IEAI


Modelado y Simulación de
Disparo

17
• Mecanismos básicos que
pueden modelarse con RdP.
• Ejecución secuencial
• Decisión (conflictos que deben
resolverse de un modo
determinístico o probabilístico)

Sistemas. Grado en IEAI


Modelado y Simulación de
• Concurrencia
• Agrupación

18
• Sincronización
• Extensiones de las RdP: ARCOS INHIBIDORES
• Un arco inhibidor es otro componente de una RdP que conecta un nodo
lugar a una transición y se representa con un pequeño círculo al final del
arco.
• Mecanismo: la transición que tiene arcos inhibidores no puede dispararse
si el nodo a la entrada del arco inhibidor contiene más o los mismos
tokens como marca el peso del arco inhibidor.
• Cuando se dispare la transición, por los arcos inhibidores NO PASAN
entidades
• Ejemplo: T1 no se puede disparar si P2 tiene un token o más o/y P3 tiene

Sistemas. Grado en IEAI


Modelado y Simulación de
2 tokens o más. En otras palabras, T1 solo se podrá disparar si P2 está
vacío y P3 tiene como mucho 1 token.
P1 P2 P3 P1 P2 P3

2 2
T1 T1
19

P4 P4
Ejemplo de RdP: modelado de una cafetería
Nodos tipo lugar (condiciones sobre el estado o colas de espera):
P1 Cliente esperando por máquina
P2 Máquina libre
P3 Máquina emitiendo recibo (cliente solicitando recibo)
P4 Cliente esperando por camarero
P5 Camareros esperando por cliente
P6 Camarero atendiendo a un cliente
P7 Camarero realizando otras actividades
P8 Cliente comiendo
P9 Cola de otras actividades a realizar por el camarero

Sistemas. Grado en IEAI


Modelado y Simulación de
P10 Clientes ya atendidos
P11 Otras actividades realizadas
Nodos tipo transición (eventos):
T1 Llegada de un cliente (suponemos que llegan de uno en uno)
T2 Inicio emitir recibo
T3 Fin emitir recibo
T4 Inicio atender cliente
T5 Fin atender cliente (inicio comer)
T6 Fin comer cliente (salir de la cafetería)
20
T7 Inicio de otra actividad para el camarero
T8 Fin de otra actividad para el camarero
T9 Llegada de otra actividad para el camarero
Nótese que una actividad está formada por dos
nodos T y uno P.
Ejemplo la actividad servir a un cliente está
formado por T4-P6-T5.

Nótese que todos los arcos


tienen peso unitario, eso
implica, entre otras cosas,
que los clientes y las otras
actividades llegan
individualmente.

Sistemas. Grado en IEAI


Modelado y Simulación de
Inicialmente, el nodo P2
tiene 1 token (1 máquina
disponible) y P5 tiene dos
tokens (dos camareros
disponibles). El resto de
nodos P están vacíos, así:
M0={0,1,0,0,2,0,0,0,0,0,0}

SINCRONIZACIÓN
21
AGRUPACIÓN DECISIÓN Definición
de nodos
Evolución dinámica de la red

Sistemas. Grado en IEAI


Modelado y Simulación de
Situación Llega el primer Se inicia la emisión
inicial cliente de un vale
(disparo de T1) (disparo de T2)
Existen simuladores de redes de Petri, en los que el estado del
sistema va cambiando a medida que van llegando tokens, cuando
las transiciones externas (T1 y T9) se disparan, y se van disparando 22
el resto de transiciones.
• Extensiones de las RDP: RdP temporales
• Este tipo de redes son las que consideran el tiempo en el
modelo de la red.
• La introducción del tiempo en los modelos de redes de Petri
estándar permite la descripción del comportamiento
dinámico del sistema, teniendo en cuenta la duración de
cada acción realizada en el mismo.
• Extensiones temporales en los nodos lugar:
• Cada token tiene una “marca de tiempo” que puede tener un
significado distinto:

Sistemas. Grado en IEAI


Modelado y Simulación de
a. Indica el tiempo que estará el token disponible dentro del nodo.
Pasado ese tiempo desaparece del nodo.
b. En otras ocasiones los tokens llegan al nodo lugar y solo están
disponibles pasado un tiempo desde la llegada (cuando son
suficientemente “viejos”).
• Para que la red de Petri del modelo de la cafetería refleje bien la
conducta temporal del sistema, los nodos P3, P6, P7 y P8 (en los que los
tokens deben de pasar un tiempo realizando una acción/actividad)
deben ser nodos lugar temporales del segundo tipo. En ellos los
“tokens” tendrán una marca de tiempo que indique, respectivamente, el
tiempo de emitir un vale (P3), el tiempo de servir a un cliente (P6), el
tiempo de hacer otra actividad (P7) o el tiempo de comer (P8).
• Extensiones de las RDP: RdP temporales
• Extensiones temporales en los nodos transición (situación
más habitual):
• Asociar con cada transición una marca temporal que indica el retraso
temporal que se produce desde que una transición se habilita hasta
que se dispara. Dicho de otro modo: un evento toma una cierta
cantidad de tiempo en ocurrir  “emula” una actividad.
• Cuando la duración de los eventos no es fija, o no puede ser
expresada con valores nominales, simplemente se estiman los
límites dentro de los cuales el evento puede suceder.
• Ejemplo:

Sistemas. Grado en IEAI


Modelado y Simulación de
Esta transición
Esta transición tiene tiene una duración
una duración fija de variable mayor o
2 unidades de tiempo igual que cero y
menor que 2
Esta transición tiene una duración unidades de tiempo
variable de valor desconocido

• Las extensiones temporales pueden reducir el tamaño de una


una RdP, al reducir el número de nodos P. Véase la siguiente
diapositiva. 24
T1
T1
RdP temporal
RdP cafetería P2

T2
P1
P2 P1
cafetería
[tiempo 1] T2
P3
T6
T3 P4 P5
T9 P3
P4 P5 [tiempo 2] T3 T [tiempo 3]
P9 5
T4 T7
P6
P7
P6 P7
T4
T5 T8
P8
P8
P11

Sistemas. Grado en IEAI


Modelado y Simulación de
T2: emitir vale
T6
T3: atender a un cliente
P10 T5: poner comida en el expositor
En ocasiones, con el objetivo de reducir la complejidad de una RdP, a un nodo tipo transición se le
asigna un tiempo de modo que modela el evento de inicio de actividad, el evento final de actividad y la
duración de la misma. De este modo dicha transición debe tener asociado un tiempo de proceso.
En este caso podemos agrupar T2-P3-T3; T4-P6-T5; T7-P7-T8, y asociar un tiempo a cada transición.
Sin embargo, T5-P8-T6, que refleja la actividad de comer, no puede agruparse. Porque en ese caso el
arco que conecta T5 con P5 no haría su función (liberar al camarero al finalizar de servir comida). Si
agrupásemos T5-P8-T6, el camarero sería liberado cuando el cliente terminase de comer.
25
Observe que reducir la red de Petri al añadir transiciones temporales ha implicado una reducción del
estado del sistema (ya no existen P3, P6 y P7). Se ha reducido el tamaño del vector M que establece
el marcado de la red.
Grafo de eventos cafetería
Variables de estado Condiciones de los eventos
Nombre Rango Valor Descripción
Nombre Descripción
inicial
C1 ML>0
CEM [0, ∞[ 0 Clientes esperando máquina
C2 CEM>0
CEC [0, ∞[ 0 Clientes esperando camarero
C3 CL>0
OAEC [0, ∞[ 0 Otras Actividades esperando camarero
C4 CEC>0
ML 0,1 1 Máquinas libres
C5 CL>0 AND CEC=0
CL 0,2 2 Camareros libres
C6 OAEC>0 AND CEC=0
CC [0, ∞[ 0 Clientes comiendo

Sistemas. Grado en IEAI


Modelado y Simulación de
Eventos Tiempos
Número Descripción Actualización
Nombre Descripción
1 Llegada cliente CEM++
Tet Tiempo emitir ticket
2 Llegada otra actividad OAEC++
Tsc Tiempo servir cliente
3 Inicio emitir ticket ML--; CEM-- Tc Tiempo comer
4 Fin emitir ticket ML++; CEC++ Troa Tiempo realizar otra actividad
5 Inicio servir cliente CL--; CEC-- Tllc Tiempo llegada cliente
6 Fin servir cliente=inicio comer CL++; CC++ Tlloa Tiempo llegada otra actividad
7 Fin comer=salir cafetería CC-- Tc0 Tiempo llegada primer cliente
Toa0 Tiempo llegada primera otra
8 Inicio realizar otra actividad CL--; OAEC--
actividad
9 Fin realizar otra actividad CL++ 26
Los eventos 1, 2, 4, 6, 7 y 9 son INCONDICIONALES
Los eventos 3, 5 y 8 son CONDICIONALES
Grafo de eventos cafetería

Modelado y Simulación de
27

Sistemas. Grado en IEAI


Análisis de las RdP
Material adicional

Modelado y Simulación de
28

Sistemas. Grado en IEAI


Análisis de las Redes de Petri (RdP).
• Objetivo: determinar propiedades del modelo ligadas a su
comportamiento dinámico
• Determinación de bloqueos en el sistema
• Encontrar el conjunto de estados posibles a los que se puede llegar
a partir de un estado inicialDeterminar la función de
alcanzabilidad (Reachability).

Sistemas. Grado en IEAI


Modelado y Simulación de
• Obtener los posibles caminos para alcanzar un estado final
partiendo de un estado inicial, y obtener el coste de cada uno de
esos caminos.
• Determinar si existe colas con ocupación creciente sin limite: redes
no acotadas
• Herramientas disponibles
• Árbol de alcance 29
• Árbol de cobertura
Arbol de alcance de una RdP
• Determinan la secuencia de estados por la que pasa un sistema desde
un estado inicial M0.
• Reglas de construcción:
• La raíz del árbol es el estado inicial del sistema (vector M0).
• Para cada uno de los nodos del árbol se generan tantos nodos hijos
como transiciones estén activadas. Los nodos hijos representan el
estado de la RdP una vez se han disparado cada una de las

Sistemas. Grado en IEAI


Modelado y Simulación de
transiciones activadas. Los arcos que conectan los nodos padres
con los nodos hijos indican gráficamente la transición que se ha
disparado.
• Cuando se genera un nodo hijo que ya existe en algún otro nivel del
árbol anterior o igual al actual, éste se marca como nodo old y no
se generan nuevos nodos hijos a partir de él.
• Un nodo del árbol que no tiene ninguna transición activada se
marca como dead end. 30
• Un nodo que no sea del tipo old o dead end es del tipo new.
Ejemplo de árbol de alcance de una RdP
• Estado inicial M0={2,1,0}

2,1,0
T1
P1 P2 P3
1,1,1

Sistemas. Grado en IEAI


Modelado y Simulación de
T1 T2
T1 T2
0,1,2 2,1,0 old
T2

1,1,1 old

31
RdP acotada
• Definición:
• Un nodo lugar Pi perteneciente a una RdP (N) con estado inicial M0
se denomina K-acotado si M(Pi)≤K para todos los estados M
alcanzables desde M0. Si es posible encontrar un valor entero K
distinto de infinito, entonces el lugar es acotado.
• Definición:
• Una RdP está acotada si todos los nodos lugar son K-acotados.

Sistemas. Grado en IEAI


Modelado y Simulación de
• Se puede determinar si una RdP es acotada usando su árbol de
alcance.
• Ejemplo: 2,1,0

T1
P1 P2 P3 1,1,1 RdP 2-acotada
T1 T2

T1 T2 0,1,2 2,1,0 old 32


T2

1,1,1 old
• Ejemplo: 1,0,1
Estructura secuencial: T1-
T1 >T2
1,1,0
P1
T2 Estructura repetitiva: T1-
P3 T1 2,0,1 >T2; T1->T2; ...
Árbol de T1 Cada T1->T2, M(P1) se
P2 alcance 2,1,0 incrementa en 1

12/13
T2
T2 P2 y P3 son 1-acotados

Sistemas. Grado en IEAI


Modelado y Simulación de
3,0,1 pero P1 ¿es k-acotado?
T1

3,1,0 NO
T2

RdP no
acotada
33
Árbol de
cobertura
Arbol de cobertura de una RdP
• Es una variante del árbol de alcance para analizar RdP no acotadas.
• Se obtiene a partir del árbol de alcance teniendo en cuenta la siguiente regla:
• Dado el árbol de alcance de un RdP, si existe un estado M en el camino entre el estado
inicial M0 y un estado cualquiera M* de modo que:
• M*(Pi)≥M(Pi) ∀ Pi ∈ P.
• M*(Pk)>M(Pk) para algún Pk ∈ P como mínimo.
• Entonces el valor Pk se reemplaza por ω (infinito) en los hijos sucesivos del nodo M*.
• Ejemplo:

Sistemas. Grado en IEAI


Modelado y Simulación de
Consideremos M*=M3 y M=M1
M0 1,0,1 M0 1,0,1
T1 T1
M1 1,1,0
T2
Se cumple que: M1 1,1,0
T2
M2 2,0,1 •M*(Pi)≥M(Pi) ∀ Pi ∈ P. M2 2,0,1
T1 •M*(P1)>M(P1) T1
M3 2,1,0 M3 ω,1,0
T2 Entonces reemplazamos P1 por T2
M4 3,0,1

T1
ω a partir de M3. M4 ω,0,1
34
T1
M5 3,1,0 old ω,1,0
T2
Bloqueos
• Es uno de los aspectos más importantes en en el análisis y diseño
de sistemas concurrentes que comparten recursos.
• Las herramientas de simulación no disponen de herramientas
para la detección de situaciones de bloqueo. Aunque se observan
si:
• Tenemos recursos infrautilizados y colas de espera elevadas.

Sistemas. Grado en IEAI


Modelado y Simulación de
• Elevada utilización de recursos pero con una baja productividad.

• Los árboles de alcance o cobertura de una RdP nos indican


las posibles situaciones si observamos algún estado que no
tiene ninguna posible transición (nodos dead end).
• Si se ha determinado alguna situación de bloqueo habrá
que modificar el funcionamiento del sistema, quitando o 35
añadiendo restricciones, para evitar las situaciones de
bloqueo.
Bloqueos: ejemplo.

P1 P2 P3 P4

T1 T2
1,1,1,1,0,0,0
P5 P6
T1 T2

Sistemas. Grado en IEAI


Modelado y Simulación de
1,0,1,1,1,0,0 1,1,0,1,0,1,0

T3 T4 T3 T4
T1

P7 T2 1,0,0,1,0,0,1 1,0,0,1,1,1,0
old

T5 T5 dead end

1,1,1,1,0,0,0 old
1,0,0,1,1,1,0 36
dead end
Véase cuando se
Árbol de alcance de una RdPC estudien las RdPC
8’(1,1)+8’(2,1) 1’(1)+1’(2)+ 1’(3)+1’(4)
8’(1,1)+8’(2,1),1’(1)+1’(2)+1’(3)+1’(4),Ø
P1 P2
if (y=4) then 1’(z) T1: A1(1’(1,1),A2(1’(1)) T1: A1(1’(2,1),A2(1’(1))

1’(1,y)+1’(2,y)
7’(1,1)+8’(2,1),1’(2)+1’(3)+1’(4),1’(1,1) 8’(1,1)+7’(2,1),1’(2)+1’(3)+1’(4),1’(2,1)
else 1’(x,y)
[y=z &
T1 x<3 ]
T2
if (y=4) then 1’(3,y)
else 1’(x,y) 7’(1,1)+1’(1,2)+8’(2,1),1’(1),1’(2)+1’(3)+1’(4), Ø

P3

1’(x,y)
1’(x,y+1) T2 T1: A1(1’(2,1),A2(1’(1))
1’(y)
T1: A1(1’(1,1),A2(1’(1))

T1: A1(1’(1,2),A2(1’(2))

• Cada transición tiene diferentes colores de activación

• Explosión combinatoria de las ramas del árbol de alcance

• El análisis de este tipo de árboles de alcance requiere del uso de herramientas informáticas

También podría gustarte