Sistemas de Eventos Discretos. Redes de Petri.

Anuncio
Sistemas de Eventos Discretos
Redes de Petri
2
Sistemas de Eventos Discretos. Redes de Petri
Sistemas de Eventos Discretos. Redes de Petri
3
1.- MÉTODOS FORMALES.
1.1.- Sistemas de Eventos Discretos
Un Sistema de Eventos Discretos, SED, es un sistema de estados discretos dirigido por
eventos, es decir, su evolución de estados depende únicamente de la ocurrencia de eventos discretos
asíncronos en el tiempo. Las características típicas de los SED incluyen concurrencia,
comportamiento asíncrono, selección no determinista, exclusión mutua, y restricciones de tiempo real.
Figura 1.Sistema de eventos discretos.
1.2.- Modelado y especificación
Un modelo es una representación inteligible (abstracta y consistente) de un sistema. Cuando
dos modelos representan la misma realidad a diferentes niveles de detalle o fidelidad, el modelo
menos detallado se dice que es el modelo más abstracto. Los modelos se pueden clasificar desde
distintos puntos vista. Por ejemplo, se pueden clasificar según su capacidad replicativa, su capacidad
de predicción y su validez estructural, o según cuatro dimensiones ortogonales que caracterizan la
representación del modelo, el objetivo del estudio, su naturaleza temporal y la solución técnica.
Figura 2. Dimensiones de los modelos.
Los requisitos de un sistema se pueden especificar según relaciones entrada/salida, ejemplos
representativos o mediante modelos.
Los términos modelo y especificación no son equivalentes: la especificación puede realizarse
sin la utilización de modelos. Un modelo puede ser utilizado para representar una especificación, un
diseño, o incluso, para describir el mismo proceso de desarrollo del software.
4
Sistemas de Eventos Discretos. Redes de Petri
Una especificación se compone de una serie de requisitos funcionales, que pueden ser descritos
formalmente, y no funcionales, que suelen ser más difícil especificar formalmente. Según la notación
se distinguen especificaciones operacionales (forma gráfica, textual o mixta con diferentes grados de
formalidad) y declarativas.
Los requisitos especificados formalmente se pueden verificar y validar. La verificación es
una prueba de que la semántica interna del modelo es correcta, independientemente de sistema
modelado (consistencia interna). La validación establece que el producto final es conforme a la
especificación.
Figura 3. Verificación y validación.
1.3.- Formalismos
Un formalismo proporciona un conjunto de convenciones para especificar una clase de
objetos con precisión y sin ambigüedades. En la literatura podemos encontrar numerosos formalismos
(DEVS, Statecharts, ACD, Redes de Petri, TTM/RTTL, CCS, …).
Figura 4. Formalismos.
En la práctica, un único formalismo no suele satisfacer todas las necesidades del desarrollo,
por lo que suele ser necesario elaborar entornos eclécticos que incorporan varios formalismos.
Formalismos basados en la teoría general de sistemas
Algunos de los métodos y metodologías para modelar SED tienen su origen en la Teoría
General de Sistemas. Según esta teoría, los sistemas reales obedecen a las mismas leyes y muestran
patrones similares de comportamiento incluso aunque no sean semejantes físicamente. Dos métodos
basados en la Teoría General de Sistemas son el formalismo DEVS (Discrete Event Systems
Specification) y el SES (System Entity Structure).
DEVS (Discrete Event Systems Specification) utiliza un enfoque jerárquico y modular que
integra nociones de programación orientada a objetos. Esencialmente, este formalismo considera
modelos atómicos y modelos acoplados que conectan varios modelos atómicos. Un modelo atómico se
describe mediante un conjunto de estados, un conjunto de puertos de entrada y salida, y una serie de
funciones que gobiernan el comportamiento del modelo (Figura 5). El comportamiento dinámico del
modelo se describe mediante eventos de entrada y eventos internos planificables en el tiempo.
5
Sistemas de Eventos Discretos. Redes de Petri
Figura 5. Modelo atómico DEVS
SES (System Entity Structure) es un árbol etiquetado para describir conjuntos de objetos
estructurados jerárquicamente y sus relaciones mutuas (Figura 6). Este método establece el modelo
del sistema en términos de descomposición, taxonomía y relaciones de acoplamiento.
Figura 6. SES.
Formalismos basados en estados y transiciones
Un autómata finito es un sistema de transiciones compuesto de un número finito de estados y
de transiciones etiquetadas entre los estados (Figura 7). Una etiqueta se construye a partir de un
alfabeto y se asocia a cada transición. Permite describir un sistema donde el estado evoluciona a lo
largo del tiempo. Por ejemplo, dos herramientas de modelado basado en autómatas finitos son los
diagramas de Huffmann (tiene en cuenta todas las evoluciones posibles de los estados) y los
diagramas reducidos (sólo tiene en cuenta las evoluciones que aportan información pertinente posible
y no redundante). La mayoría de los métodos basados en máquinas de estados son gráficos y disponen
de gran cantidad de herramientas de desarrollo.
Figura 7. Autómata finito.
6
Sistemas de Eventos Discretos. Redes de Petri
El modelado mediante autómatas finitos puede conducir a diagramas de un tamaño intratable,
representa con dificultad el paralelismo y no dispone de mecanismos para representar jerarquías. Para
paliar estas dificultades han surgido herramientas como las Redes de Petri o los Statecharts.
ACD (Activity Cycle Diagram) es un formalismo que consta de entidades, atributos,
actividades, eventos, colas, conjuntos y estados. La representación alterna estados pasivos y
actividades (Figura 8). Los ACD proporcionan una descripción grosera del comportamiento del
sistema.
Figura 8. ACD.
Bajo el término SA/RT (Structured Analysis/Real-Time) se agrupan un gran número de
métodos, todos ellos basados en el análisis orientado a flujo de datos de DeMarco y Yourdon. En el
modelo se utilizan Diagramas de Flujo de Datos (Data Flow Diagram, DFD) estructurados de forma
jerárquica. Por ejemplo, los métodos Ward/Mellor y Hatley/Pirbhai.
Figura 9. Herramientas Ward/Mellor.
El método de Ward/Mellor consiste en elaborar un modelo esencial y un modelo de
implementación (ambos modelos que utilizan el mismo conjunto de técnicas gráficas, véase Figura 9).
El método de Hatley/Pirbhai separa el esquema de transformación en dos partes, una relativa al
control y otra a los datos. Incorpora la posibilidad de expresar requisitos temporales cuantitativos
desde el punto de vista de la entrada y salida del sistema mediante las especificaciones de tiempo de
respuesta (Response Time Specification, RTS).
Un grafo de eventos es un grado dirigido que describe la interrelación de los eventos (Figura
10). Este tipo de grafos se aplican generalmente a planificación (scheduling).
Sistemas de Eventos Discretos. Redes de Petri
7
Figura 10. Grafo de Eventos.
Los diagramas de estado (Statecharts) son diagramas de transición de estados desarrollados
por D. Harel donde cada estado se puede descomponer en otros subestados (estados XOR y AND) que
representan un menor nivel de abstracción (Figura 11).
Figura 11. Statecharts.
Se ha desarrollado una herramienta comercial denominada Statemate, que soporta la
especificación, análisis, simulación y generación de código de un sistema utilizando diagramas de
estado (Figura 12).
Figura 12. Statemate.
La definición inicial no incorpora la posibilidad de representar aspectos temporales
cuantitativos, pero se han desarrollado extensiones, entre estas, las TTM (Timed Transition
Machines) que incluyen transiciones que describen la ocurrencia de ticks (paso de tiempo de un reloj
externo).
Las HMS (Hierarchical Multi-state Machines) son autómatas de alto nivel, que permiten que
en cualquier momento pueden estar activos varios estados y que se puedan disparar varias transiciones
simultáneamente (Figura 13). Existe métodos de análisis para probar propiedades del modelo.
8
Sistemas de Eventos Discretos. Redes de Petri
Figura 13. HMS.
Las redes de Petri son un formalismo que permite modelar la concurrencia, el no
determinismo y la causalidad de las conexiones entre eventos. Se dispone de una profunda base
teórica desarrollada y, además, permiten una representación gráfica (Figura 14), lo cual hace que las
especificaciones formuladas mediante redes de Petri sean bastante intuitivas.
Figura 14. Red de Petri.
Formalismos basados en la lógica
La lógica temporal permite especificar fácilmente de forma declarativa como cambiará un
sistema a lo largo del tiempo. Fue aplicada por primera vez en la especificación y el razonamiento
sobre sistemas reactivos por A. Pnueli en 1977 y, desde entonces, se han desarrollado numerosas
versiones que se pueden clasificar en lógicas temporales ramificadas y lógicas temporales lineales.
Por ejemplo, Lamport define la TLA (Temporal Logic of Actions) basada en los operadores
temporales "siempre" y "a veces".
RTTL (Real-Time Temporal Logic) es una lógica de primer orden que incluye cuantificación
explícita sobre la variable tiempo. Esta lógica es utilizada junto con modelos TTM (Timed Transition
Models). Se ha desarrollado el entorno StateClock/SteP (Figura 15). StateClock es un entorno para
modelado, descripción y especificación mediante Clockcharts (extensión de los Statecharts que
incluyen relojes y temporizadores incrementales o decrementales que pueden iniciar, contar y/o
finalizar la medida del número de ticks).y LTL (Linear Temporal Logic). SteP (Stanford Temporal
Prover) es una herramienta de análisis y verificación basado en FTS (Fair Transition System) y LTL.
Sistemas de Eventos Discretos. Redes de Petri
9
Figura 15. StateClock/STeP.
Álgebras de procesos
Los lenguajes algebraicos se basan en la descripción de las operaciones que se efectúan sobre
los procesos, a diferencia de los lenguajes orientados a modelos que describen las operaciones sobre
los modelos definiendo como afectan a estos. Para tiempo real los lenguajes algebraicos se denominan
álgebras de procesos. Por ejemplo, CSP (Comunicating Sequential Processes), basado en el lenguaje
Occam, y CCS (Calculus for Communicating Systems). Estos formalismos no disponen de una
representación gráfica estándar, aunque se está trabajando en la creación de entornos para la
descripción de los sistemas. Se han desarrollado numerosas extensiones que incorporar el tiempo.
(TCSP, TCCS, etc.)
2.- REDES DE PETRI
En este apartado se revisarán algunos de los principales conceptos, técnicas y aplicaciones de
las Redes de Petri y se introducirán sus posibilidades como herramienta para el modelado y análisis de
sistemas. Todos estos aspectos no se desarrollan con el rigor que exige un tratamiento formal sino que
son introducidos de forma intuitiva y se incluyen las referencias bibliográficas necesarias.
Carl Adams Petri en 1962 formuló una teoría para sistemas paralelos incluyendo el concepto
de concurrencia: las Redes de Petri, RdP. Una RdP es una herramienta matemática y gráfica para
modelar y analizar sistemas.
Las RdP han demostrado su utilidad para modelar sistemas de eventos discretos y, en general,
su idoneidad para representar el comportamiento de sistemas concurrentes, asíncronos, distribuidos,
paralelos, no deterministas y/o estocásticos. Destaca su representación gráfica fácil, clara y sin
ambigüedades.
Una Red de Petri, RdP, es una clase particular de gráfico dirigido, con un estado inicial
denominado marcado inicial, M0. Básicamente, consta de dos clases de nodos, denominados lugares, p, y
transiciones, t, y de arcos dirigidos, f, que conectan lugares con transiciones (Figura 16).
Cada arco, f, tiene asociado un número entero positivo w(f), que representa el peso del arco y que
pueden interpretarse como un conjunto de arcos paralelos de peso unidad.
La capacidad de un lugar, p, representa el número máximo de marcas o tokens que puede
contener. Así, se pueden definir RdP de capacidad infinita y de capacidad finita. Un marcado asigna a
cada lugar un entero no negativo, k.
10
Sistemas de Eventos Discretos. Redes de Petri
El comportamiento dinámico de un sistema se describe en función de sus cambios de
marcado. En una RdP el marcado cambia según tres reglas básicas:
• Una transición está habilitada si todos sus lugares de entrada están marcados, es decir, los
lugares poseen un número mayor e igual de marcas que el peso de los arcos que los unen a
la transición.
• Una transición habilitada puede o no dispararse dependiendo del tipo de transición (según el
sistema que represente) y de la ocurrencia del evento asociado.
• El disparo de una transición habilitada consiste en quitar marcas de cada uno de los lugares de
entrada (tantas como el peso de los arcos correspondientes) y añadir marcas a cada uno de
los lugares de salida (tantas como el peso de los arcos correspondientes).
Figura 16. Red de Petri.
Permiten representar conflictos y jerarquías, y relacionar propiedades dinámico estructurales
(viveza, limitación, etc.) con criterios de funcionamiento.
La literatura define una red de Petri marcada como una 5-trupla R= á P, T, α , β , M0 ñ
donde: P es un conjunto finito de lugares, T es un conjunto finito de transiciones., α :PxT es una
función de entrada o de incidencia previa, β :TxP es una función de salida o incidencia posterior
(P∩T=∅), y M0 es un marcado inicial.
La ecuación de estado de una red de Petri pura ( ∀t ∈ T / ⋅t ∩ t ⋅ = ∅ ) es:
M k = M k −1 + C· U k
donde C es la matriz de incidencia, Mk es el marcado obtenido al realizar el k-ésimo disparo, y
Uk es un vector de disparos cuyas componentes son nulas salvo la i-ésima si ti es la transición
disparada en k-ésimo lugar: U k (i ) = 1 , U k ( j ) = 0 , ∀j ≠ i .
2.1.- Propiedades
Las propiedades de las redes de Petri se pueden clasificar en dos grandes grupos:
propiedades dinámicas o dependientes del marcado inicial y propiedades estructurales o
independientes del marcado inicial (Tabla 1).
11
Sistemas de Eventos Discretos. Redes de Petri
PROPIEDADES DINÁMICAS
PROPIEDADES ESTRUCTURALES
Alcance
Controlable
Limitación
Estructuralmente limitada
Viveza
Estructuralmente viva
Reversibilidad
Conservativa
Cobertura
Repetitiva
Persistencia
Consistente
Distancia de sincronización
Estructuralmente equitativa
Equidad
Tabla 1. Propiedades.
Se dice que una RdP está k-limitada o simplemente limitada si el número de marcas en cada
lugar no excede un número finito k para cualquier marcado alcanzable a partir del marcado inicial M0.
Se dice que una red está viva si es posible siempre disparar alguna transición de la red, sin
importar que marcado se haya alcanzado ni cual sea la secuencia de disparo futura.
2.2.- Posibilidades de modelado
Mediante redes de Petri se pueden modelar una gran variedad de sistemas. Estas redes son
idóneas para representar aquellos sistemas que tienen un comportamiento asíncrono, distribuido,
paralelo y/o no deterministas. Las redes de Petri permiten reflejar la ejecución concurrente de
distintos procesos, representar la disponibilidad de recursos, representar la imposición de restricciones
de acceso a zonas compartidas, representar la evolución dinámica del sistema, representar la
causalidad, los conflictos, las confusiones, etc. (Figura 17)
ÿþý
ÿ ý
(c)
(d)
12
Sistemas de Eventos Discretos. Redes de Petri
ÿ ý
ÿ ý
Figura 17. (a) Concurrencia, (b) disponibilidad o dependencia de recursos, (c)
recurso compartido, (d) ejecución secuencial, (e) conflicto y
(f) confusión.
2.3.- Redes de Petri interpretadas
Para que una red de Petri pueda representar un sistema hace falta asociarle una interpretación,
es decir, establecer un convenio por el que se define un significado físico a las condiciones necesarias
para el disparo de una transición y a las acciones generadas por la evolución del marcado (Tabla 2).
LUGARES DE ENTRADA
TRANSICIONES
LUGARES DE SALIDA
Condiciones previas
Eventos
Consecuencias
Datos de entrada
Pasos de computación
Datos de salida
Señales de entrada
Procesamiento de señales
Señales de Salida
Recursos necesitados
Tarea o trabajo
Recursos liberados
Condiciones booleanas
Reglas lógicas
Conclusiones
Buffer
Procesamiento
Buffer
Tabla 2. Interpretaciones.
2.4.- Posibilidades de análisis
Se han propuesto diversos métodos de análisis: análisis por búsqueda exhaustiva, análisis
estructural, análisis por reducción y simulación.
El análisis por búsqueda exhaustiva está basado en la generación de un gráfico de
marcados. Está método está limitado a sistemas relativamente simples debido a la explosión
combinatoria.
El análisis estructural esta basado en la ecuación fundamental. Entre las técnicas de análisis
estructural destacan las basadas en invariantes. Las invariantes son propiedades de la estructura lógica
de una RdP que caracterizan, de alguna manera, todos los posibles comportamientos de disparo y que
son las soluciones enteras de las ecuaciones:
CT x = 0
C y=0
Un vector x se dice que es un invariante de lugar si C T x = 0 . Un vector y se dice que es
invariante de transición si C y = 0.
El análisis por reducción está basado en la simplificación de la red preservando las
propiedades que se desean analizar.
Sistemas de Eventos Discretos. Redes de Petri
13
2.5.- Extensiones, subclases y generalizaciones
Para superar las limitaciones de la redes de Petri clásicas se han propuesto extensiones,
subclases y generalizaciones. Las extensiones aumentan la capacidad de representación del modelo,
pero disminuyen, en general, sus posibilidades de análisis (RdP con arcos inhibidores, con extensión
temporal, con prioridades, etc.). Las subclases imponen restricciones en la relación entre los distintos
elementos del modelo de Petri para aumentar las posibilidades analíticas (máquinas de estados, grafos
marcados, sistemas P, sistemas T, libre elección, libre elección extendida, etc.). Las generalizaciones
no modifican ni la capacidad de modelización ni las posibilidades de análisis, pero permiten obtener
descripciones más condensadas y más potentes (RdP coloreadas, etc.)
2.6.- Redes de Petri coloreadas
Las RdP coloreadas tienen idéntica potencia descriptiva que el modelo básico de RdP, pero
permiten construir especificaciones más concisas. Estas redes tienen buena aceptación debido a la
disponibilidad de software de modelado, evaluación y análisis: Design/CPN, CPNTools y otras.
2.7.- Estructura de prioridades
La disponibilidad de diferentes niveles de prioridad en las redes de Petri incrementa la
potencia descriptiva de los modelos: permite dividir las transiciones en clases que representan
acciones a diferentes niveles lógicos y permite introducir la posibilidad de especificar un criterio
determinista para resolver conflictos.
En una RdP con prioridades se introduce una función de prioridad que asigna a cada
transición un número natural correspondiente a su nivel de prioridad.
2.8.- Extensiones temporales
La integración del tiempo cambia considerablemente el comportamiento de una red de Petri,
de manera que muchas de las propiedades que se verifican para una red original no se corresponden
con las de la red con extensión temporal. El tiempo se puede especificar de forma determinista o
estocástica.
Las Redes de Petri con Tiempos asocian a cada transición un intervalo de tiempo y las
Redes de Petri Temporizadas, TPN, asocian un tiempo de retraso a las transiciones. Las redes con
tiempos son más generales que las temporizadas.
Una red de Petri estocástica, SPN, se obtiene asociando a cada transición una variable
aleatoria que representa el retardo de disparo. Durante los últimos años se han propuesto diversas
clases de SPN con diferentes potencias de modelado, debido principalmente a la equivalencia de su
proceso de marcado, para ciertas distribuciones, a procesos de Markov o procesos semimarkovianos
con espacio de estado discreto (Apéndice A).
La clase más común de SPN es aquella en que los retardos de disparo siguen una distribución
exponencial: RdP estocásticas exponenciales, eXPN.
14
Sistemas de Eventos Discretos. Redes de Petri
Figura 18. Clases de SPN
Estas redes son isomórficas a cadenas de Markov de tiempo continuo, CTMC, debido a que
las distribuciones exponenciales asociadas a los retardos de disparo no guardan memoria de la
evolución previa del sistema.
Las CTMC se puede obtener aplicando las siguientes reglas:
• El espacio de estado S={si} de la CTMC se corresponde con el conjunto alcanzable desde un
marcado inicial M0 , RS(M0) de la red de Petri no temporizada asociada a la SPN (Mi → si)
• La tasa de transición de un estado si a otro sj se obtiene como la suma de las tasas de disparo
de las transiciones que están habilitadas en Mi y cuyo disparo genera el marcado Mj.
Considerando las reglas anteriores y partiendo de una SPN, es posible obtener algoritmos para
la construcción automática del generador infinitesimal, Q, también llamado matriz de tasa de
transición de estado, de la CTMC isomórfica.
Si denominamos wk a la tasa de disparo de la transición tk, el conjunto de transiciones cuyo
disparo lleva a la red desde el marcado Mi al marcado Mj es:
E j ( M i ) = {t h ∈ E ( M i ) : M i [t h M j }
donde E(Mi) corresponde al conjunto de transiciones habilitadas en el marcado Mi, con lo que los
componentes del generador infinitesimal son:
wk
qij = k:Tk ∈E j ( M i )
− qi
i≠ j
i= j
15
Sistemas de Eventos Discretos. Redes de Petri
donde:
qi =
åw
k
k :Tk ∈E ( M i )
Una SPN k-limitada se dice que es ergódica si genera un CTMC ergódico.
Si denominamos η al vector de distribución de probabilidad en estado estacionario de los
marcados de la red de Petri, la resolución del siguiente sistema lineal expresado en forma matricial:
η Q = 0
η 1T = 1
nos proporciona la probabilidad en estacionario de los marcados Mi de la red ηi = η(Mi).
El tiempo de permanencia, SJi, en un determinado marcado Mi está exponencialmente
distribuido con tasa qi. La probabilidad de disparo de una transición tk habilitada en Mi, (tk ∈ E(Mi)),
es:
P{Tk M i } =
wk
qi
y el valor medio o esperanza del tiempo de permanencia viene dado por:
E [SJ i ] =
1
qi
En relación al comportamiento de los temporizadores de las transiciones que no se disparan
cuando se dispara una transición, se pueden considerar dos mecanismos básicos de memoria:
continuación (el temporizador mantiene su valor actual y podrá continuar posteriormente su cuenta
atrás) y reinicio (el temporizador se reinicia).
Así, destacan tres alternativas: el remuestreo, en que a todos y cada uno de los disparos de
transiciones se aplican mecanismo de reinicio, la memoria de habilitación, en que se reinician los
temporizadores de todas las transiciones temporizadas que queden inhabilitadas, mientras que los
temporizadores de todas las transiciones temporizadas que no se inhabilitan mantienen su valor actual,
y la memoria de edad, en que en cada disparo de transición, los temporizadores de todas las
transiciones temporizadas mantienen su valor actual, se inhabiliten o no.
Las redes de Petri estocásticas exponenciales, eSPN, tienen buena aceptación debido a la
disponibilidad de software para su evaluación automatizada. Sin embargo, en muchos casos la
propiedad markoviana no es realista y puede producir errores significativas en los cálculos.
Las RdP estocásticas generalizadas, GSPN, incorporan dos tipos de transiciones:
exponenciales e inmediatas. Aquellos marcados en que sólo están sensibilizadas transiciones
exponenciales se denominan marcados tangibles, en cualquier otro caso se denominan marcados
fugaces. En los marcados fugaces los cambios lógicos se producen inmediatamente. En estas redes las
16
Sistemas de Eventos Discretos. Redes de Petri
transiciones inmediatas tienen prioridad de disparo sobre las transiciones temporizadas que se hallen
habilitadas en un instante dado.
Figura 19 GSPN.
Las transiciones inmediatas de la red se dividen en particiones o clases de equivalencia, ECS
de tal forma que las transiciones del mismo conjunto pueden estar en conflicto entre sí, mientras que
transiciones de conjuntos distintos se comportan concurrentemente.
En este tipo de redes es posible definir parámetros dependientes de marcado. Los parámetros
dependientes de marcado se van a especificar como el producto de una tasa nominal (o peso en el caso
de transiciones inmediatas) y de una función de dependencia definida en términos del marcado de los
lugares que están conectados a una transición mediante sus funciones de entrada e inhibición.
Las RdP estocásticas extendidas, ESPN, son una extensión de las GSPN que incorporan
transiciones temporizadas no exponenciales. El proceso de marcado de una ESPN es un proceso
semimarkoviano siempre que todas las transiciones concurrentes tengan asociados tiempos de disparo
exponenciales y que en todas las transiciones competitivas se siga una política sin memoria. A las
transiciones exclusivas y competitivas se les puede asociar tiempos de disparo no exponenciales.
Las RdP deterministas y estocásticas, DSPN, son una extensión de las GSPN que añaden
retardos de disparo deterministas. El análisis de una DSPN depende de la política de disparo. La
DSPN puede analizarse como una cadena de Markov embebida si en cada marcado hay una única
transición determinista.
Figura 20. DSPN.
Sistemas de Eventos Discretos. Redes de Petri
17
Las RdP estocásticas y deterministas extendidas, eDSPN, denominadas también SPN
regenerativas de Markov, permiten retardos de disparo que siguen distribuciones expolinomiales. Las
distribuciones expolinominales pueden se definidas por trozos mediante polinomios exponenciales.
Las Redes estocásticas bien formadas, SWN, son una extensión de las redes de Petri
regulares y de la redes bien formadas, WN.
2.9.- Herramientas
Existen numerosas herramientas para modelado y análisis de sistemas mediante redes de Petri.
Algunas de estas herramientas son: TimeNET, GreatSPN y PESIM.
TimeNET es un software desarrollado para modelar y analizar SPN: GSPN, DSPN, eDSPN y
cDSPN. Dispone de editor gráfico y métodos de análisis para DSPN y eDSPN, métodos aproximados
para eDSPN y métodos de simulación para SPN arbitrarias. El análisis estructural se basa en
invariantes de lugar, ECS, confusión y análisis de grafo de alcance..
GreatSPN es un software desarrollado para modelar, validar y evaluar prestaciones de
sistema con GSPN, SWN y sus extensiones coloreadas bien formadas. Incorpora un editor gráfico y
un simulador conducido por eventos interactivo. Permite analizar las propiedades estructurales,
calcular invariantes de lugar y transición, calcular el grafo de alcanzabilidad que se usa para construir
la cadena de Markov embebida asociada, y analizar prestaciones.
PESIM es un software desarrollado para modelar y analizar redes lugar/transición con arcos
inhibidores, grafos marcado y GSPN. Dispone de un interfaz gráfico desarrollado para MS-Windows,
que incluye un editor gráfico y textual y un simulador etapa por etapa. El análisis se efectúa mediante
el árbol de alcance, invariantes de lugar y de transición y mediante técnicas reducidas para grafos
marcados. Permite el análisis de prestaciones estacionarias (probabilidades de estado, probabilidades
de marca, función de densidad para cada lugar, número medio de marcas en un conjunto de lugares,
etc.).
18
Sistemas de Eventos Discretos. Redes de Petri
3.- PROCESOS ESTOCÁSTICOS.
Introducción
En este apéndice se introducen algunos conceptos sobre procesos estocásticos, haciendo
hincapié en las cadenas de Markov. Se incluye un apartado dedicado a los procesos de Poisson y otro
a los procesos semimarkovianos.
En la práctica, la mayoría de los sistemas operan en entornos llenos de incertidumbre. Esto es
especialmente verdad cuando nos ocupamos de Sistemas de Eventos Discretos (SED), que por su
naturaleza, implican fallos en las máquinas o dispositivos y acciones humanas impredecibles.
La teoría de las cadenas de Markov es la base fundamental de muchos de los paradigmas de
modelado. Las cadenas de Markov constituyen el modelo estocástico básico de los SED [Cass93].
Procesos estocásticos
En la práctica, la mayoría de los sistemas operan en entornos llenos de incertidumbre. Esto es
especialmente verdad cuando nos ocupamos de SED, que por su naturaleza, implican fallos en las
máquinas o dispositivos y acciones humanas impredecibles.
La teoría de las cadenas de Markov (Markov chains) es la base fundamental de muchos de
los paradigmas de modelado. Las cadenas de Markov constituyen el modelo estocástico básico de los
SED [Cass93].
Un proceso estocástico se define como una familia de variables aleatorias {X (t ), t ∈ T } ,
donde X (t ) es una variable aleatoria para cada valor t del espacio paramétrico T. El conjunto de
valores posibles de X (t ) forman el espacio de estados S.
Así, el espacio de estados, S, es el conjunto de valores posibles que puede tomar X (t ) y el
espacio paramétrico, T, es el conjunto de valores posibles que puede tomar t.
En función del espacio de estados, S, los procesos estocásticos se pueden clasificar en dos
grupos:
•
Procesos estocásticos de estado discreto, si el espacio de estados es contable. En este caso los
procesos se denominan cadenas. Los SED se caracterizan por espacios de estados discretos.
•
Procesos estocásticos de estado continuo.
En función del espacio paramétrico, T, los procesos estocásticos se pueden clasificar en dos
grupos:
•
Procesos estocásticos de tiempo discreto, si el espacio paramétrico es discreto.
•
Procesos estocásticos de tiempo continuo.
Sistemas de Eventos Discretos. Redes de Petri
19
En el ámbito de los sistemas de eventos discretos, el parámetro t representa el tiempo. Así, un
proceso estocástico se puede definir como un sistema que sufre cambios en el tiempo debido al azar
{X (t ), t ≥ 0} .
Procesos de Poisson
Los procesos de Poisson son procesos estocásticos de tiempo continuo con espacio de estados
discreto que tienen una serie de propiedades que les hacen interesantes para modelar algunos aspectos
en el contexto de la fabricación.
Dado un proceso estocástico {X (t ), t ≥ 0} se denomina proceso contador si X (t ) representa
el número total de eventos que ocurren en el instante t.
Un proceso contador {X (t ), t ≥ 0} se dice que tiene incrementos independientes si las
variables aleatorias que representan el número de eventos en distintos intervalos son mutuamente
independientes.
Un proceso contador {X (t ), t ≥ 0} se dice que tiene incrementos estacionarios si el número
de llegadas en un intervalo (t , t + h ] , dadas por X (t + h ) − X (t ) es independiente del instante t del
intervalo.
Un proceso contador {X (t ), t ≥ 0} se dice que es un proceso de Poisson [Cass93] si:
X ( 0) = 0 .
Los procesos tienen incrementos independientes.
Los procesos tienen incrementos estacionarios.
La probabilidad de dos o más llegadas en un intervalo de longitud h tiende a 0 cuando h
tiende a 0.
Para un proceso de Poisson el número de llegadas durante un intervalo de longitud t es una
variable aleatoria de Poisson de media λt donde λ , denominada razón del proceso de Poisson, viene
dada por la expresión:
1
[P{X ( s + h ) − X ( s ) = 1}] para a lg ún s > 0
h →0 h
λ = lim
Si Tn representa el intervalo entre la (n-1)-ésima llegada y la n-ésima llegada, entonces los Tn
para n=1,2,3,... son variables aleatorias exponenciales distribuidas idéntica e independientemente con
razón λ .
Las propiedades principales de los procesos de Poisson son la de superposición y la de
descomposición:
20
Sistemas de Eventos Discretos. Redes de Petri
•
Superposición: Si λ1 , λ2 ,..., λn son las razones de procesos de Poisson independientes,
entonces la superposición de estos procesos de Poisson es también un proceso de Poisson,
cuya razón es
λi .
å
i
•
Descomposición: Si un proceso de Poisson de razón λ se descompone en n procesos con
distribución de probabilidad independiente ( p1 , p 2 ,..., p n con p1 + p 2 + ... + p n = 1 ),
entonces cada uno de estos procesos son procesos de Poisson con razones
λ p1 , λ p 2 ,..., λ pn , respectivamente.
Los procesos de Poisson se han utilizado para modelar la llegada de partes a un sistema de
fabricación, la llegada de llamadas telefónicas a un centro de conmutación, la llegada de mensajes a
transmitir en una red de área local, etc.
Cadenas de Markov
En
los
procesos estocásticos de situaciones reales, las variables aleatorias
X (t1 ), X (t 2 ),..., X (t n ) , donde t1 , t 2 ...., t n ∈ T , exhiben algún tipo de dependencia. El tipo más
simple de dependencia, es la dependencia de primer orden.
Sea un proceso estocástico {X (t ), t ∈ T } donde T es un conjunto finito (o infinito contable)
tal que t0 < t1 < ... < tn y t i ∈ T , si la distribución condicional de X(t) para valores dados de
X (t0 ), X (t1 ),..., X (t n ) sólo depende del valor del proceso más reciente conocido, se dice que las
variables aleatorias X (t0 ), X (t1 ),..., X (t n ) exhiben una dependencia de Markov.
Aquellos procesos estocásticos {X (t ), t ∈ T } con esta dependencia se denominan
procesos de Markov. Intuitivamente, en un proceso de Markov la probabilidad de
comportamiento futuro, está totalmente definido si se conoce el estado actual.
Sean X 0 , X 1 ,..., X n los valores correspondientes de X(t) para los t i ∈ T , si X i = j ( j ∈ S ),
se dice que j es el estado del proceso estocástico en el instante tn. Los valores que puede tomar Xi se
conocen como estados y sus cambios de valor se llaman transición.
Así, en un proceso de Markov se cumple que:
P{X t +1 = j | X t = i , X t −1 ,..., X 0 } = P{X t +1 = j | X t = i} para todo t ≥ 0 ; i, j ∈ S .
Para estos procesos la función de probabilidad de transición que da la probabilidad de
alcanzar un cierto estado en un instante futuro conocido el estado en el instante actual, se
puede definir como:
P( j, t; i, s ) = P{X (t ) = j | X ( s ) = i}
t≥s
En el caso de que se trate de procesos estocásticos de estado discreto se les conoce
como Cadenas de Markov.
Para las cadenas de Markov se puede definir una matriz de probabilidad de transición:
pij ( s, t ) = P{X (t ) = X j | X ( s ) = X i }
t≥s
donde pij es la probabilidad de alcanzar el estado j en el instante t, estando el sistema en el
estado i en el instante s.
21
Sistemas de Eventos Discretos. Redes de Petri
Ecuación de Chapman-Kolmogorov
La ecuación de Chapman-Kolmogorov permite obtener las probabilidades de transición entre
estados en un intervalo de tiempo dado, a través de las probabilidades de transición de los posibles
estados intermedios. Esta ecuación se puede expresar como:
pij ( s, t ) =
å P{X (t ) = X
j
| X (u ) = X r , X ( s ) = X i
} P{X (u) = X r | X ( s) = X i }
s≤u≤t
todo r
Considerando que se trata de un proceso de Markov:
P{X (t ) = X j | X (u ) = X r , X ( s ) = X i }= P{X (t ) = X j | X (u ) = X r }= p rj (u, t )
P{X (u ) = X r | X ( s ) = X i }= pir ( s, u )
s≤u≤t
s≤u
Se llega a otra de las formas de la ecuación de C-K:
pij ( s, t ) =
å
pir ( s, u ) p rj (u, t )
s≤u≤t
todo r
Cadenas de Markov de tiempo discreto
Consideremos un sistema que evoluciona aleatoriamente en el tiempo y supongamos que se
observa en instantes discretos de tiempo. Sea Xt el estado del sistema en el instante t. Supongamos que
para todo t ≥ 0 , X t es una variable aleatoria que toma valores del espacio de estados S. Entonces
{X t , t ≥ 0} es un proceso estocástico de tiempo discreto con espacio de estados S [ABCDF96].
Si un valor fijo de t se denomina presente, entonces X t se denomina estado presente del
sistema, {X t +1 , X t + 2 ,...} se denomina futuro del sistema y {X 0 , X 1 ,..., X t −1 } se denomina pasado del
sistema. Así, la propiedad de Markov se puede expresar como que la probabilidad del comportamiento
futuro {X t +1 , X t + 2 ,...} está totalmente definida si se conoce el estado presente X t y no se altera por el
conocimiento adicional del pasado {X 0 , X 1 ,..., X t −1 }.
Si un proceso estocástico de tiempo discreto {X t , t ≥ 0} se usa para describir un sistema con
la propiedad de Markov, entonces se denomina una Cadena de Markov de Tiempo Discreto
(Discrete-Time Markov Chain, DTMC).
Cuando el espacio de estados es contable, se puede definir formalmente un DTMC de la
siguiente forma:
Un proceso estocástico {X t , t ≥ 0} se llama Cadena de Markov de Tiempo Discreto, DTMC,
en el espacio de estados S, si:
1. Para todo t ≥ 0 X t ∈ S con probabilidad 1.
2.
P{X t +1 = j | X t = i , X t −1 ,..., X 0 } = P{X t +1 = j | X t = i} para todo t ≥ 0 ; i, j ∈ S .
22
Sistemas de Eventos Discretos. Redes de Petri
Sean Pij ( t ) = P{X t +1 = j | X t = i} las probabilidades de que el proceso pase del estado Xt al
estado Xt+1 cuando el parámetro pasa de t a t+1.
Una
DTMC
se
denomina
homogénea
si
las
probabilidades
Pij (t ) = P{X t +1 = j | X t = i} son independientes de t para todo i ∈ S :
condicionales
Pij (t ) = Pij para todo t ≥ 0 ; i, j ∈ S .
[ ]
Sea P = Pij
la matriz de probabilidades condicionales Pij denominada matriz de
probabilidades de transición en una etapa de la DTMC (one-step transition probability matrix of
the DTMC) .
Sea ψ i (t ) la probabilidad (marginal) que tiene el proceso en el estado i en el instante t
(también denominada probabilidad de estado). Sea ψ i (0) la distribución inicial. Formalmente
tenemos que:
ψ i (0) = P{X 0 = i} i ∈ S
ψ i (t ) = P{X t = i} = å P{X t = i | X 0 = k }P{X 0 = k } =å P{X t = i | X 0 = k }ψ k (0)
k∈S
k∈S
Se puede calcular la distribución marginal de Xt si conocemos como evolucionan las
probabilidades condicionales en la etapa t.
Pij = P{X t = j | X 0 = i} i, j ∈ S
[t ]
Es posible mostrar que:
[t ]
[k ]
Pij = å Pir Prj
[t − k ]
i, j ∈ S y 0 ≤ k ≤ t
r∈S
que es una de las formas de la ecuación de Chapman-Kolmogorov.
Además, es posible mostrar que la matriz de probabilidad de transición en la t-ésima etapa de
la DTMC se puede poner como su matriz de transición de la primera etapa, de la siguiente forma:
[ [ ]]= Ρ
Ρ [t ] = Pij
t
t
donde Ρ t es la t-ésima potencia de la matriz Ρ .
H
ψ (t ) se representa la distribución de la DTMC para la etapa t:
H
ψ (t ) = {ψ 1 (t ),ψ 2 (t ),...} (también denominado vector de probabilidades de estado), entonces:
Si
por
1.
H
H
ψ (t ) = ψ (t − 1)·Ρ
2.
H
H
ψ (t ) = ψ (0)·Ρ t
23
Sistemas de Eventos Discretos. Redes de Petri
Una DTMC es ergódica si para cada estado A∈ S la cadena puede visitar cualquier otro
estado infinitamente a menudo, y de una manera tal que el tiempo previsto entre dos visitas
consecutivas al mismo estado sea finito.
H
H
Si una DTMC es ergódica entonces existe una distribución: ψ = limψ (t ) que se puede
t →∞
obtener (independientemente de la distribución inicial) resolviendo el siguiente sistema de ecuaciones
lineales:
H H
ψ = ψ ·Ρ
åψ i = 1
i∈S
La solución ψ = {ψ i , i ∈ S } se denomina distribución limitada de la cadena o distribución
en el estacionario. En particular, si la distribución inicial de la DTMC cumple que
P{X 0 = j} = ψ j , j ∈ S entonces P{X t = j} = ψ j , ∀t ≥ 1 . Por esta razón ψ = {ψ i , i ∈ S } se llama
también distribución estacionaria de la DTMC.
Para estudiar el comportamiento estacionario de una cadena de Markov se pueden clasificar
los estados en base a los conceptos de estado alcanzable, absorbente, transeúnte, recurrente, periódico
y aperiódico.
Un estado se dice que es alcanzable para un estado i si pij( n ) > 0 para algún n=1,2,…
Un estado se dice que es absorbente si p jj = 1 .
Sea f j( n ) la probabilidad de que el primer retorno al estado j se produzca en n etapas, y
∞
f j = å f j( n ) . Un estado j se dice que es transeúnte si f j < 1 y recurrente si f j = 1 . Un estado
n =1
absorbente es recurrente.
Se define el periodo de un estado j, dj, como el máximo común divisor de todos los posibles
enteros positivos n tal que sea posible alcanzar el estado j a partir del estado j en n etapas. Un estado
recurrente se dice que es periódico con periodo dj si d j > 1 y aperiódico si d j = 1
Para un estado recurrente j se define el tiempo de recurrencia medio, Mj como:
∞
M j = å n· f j( n )
n =1
El estado recurrente para el que M j < ∞ se denomina recurrente no nulo, y para el que
M j = ∞ se denomina recurrente nulo. En una DTMC finita los estados recurrentes no pueden ser
nulos.
Un subconjunto A del espacio de estados S se dice que es cerrado si no es posible ninguna
transición entre los estados de A y los estados del subconjunto complementario de A, A :
åå p
i∈A j∈A
ij
=0
24
Sistemas de Eventos Discretos. Redes de Petri
Una DTMC se dice que es irreducible si ningún subconjunto de S es cerrado, es decir, que
cada estado de la cadena se puede alcanzar a partir de cualquier otro. Todos los estados de una DTMC
finita e irreducible son recurrentes. Además, o todos los estados son aperiódicos o tienen el mismo
periodo d. En el primer caso la DTMC se dice que es aperiódica y en el segundo que es periódica.
Las cadenas de Markov irreducibles aperiódicas poseen una serie de propiedades
particularmente atractivas en el análisis estacionario.
A partir de las definiciones anteriores se puede clasificar los estados de una cadena de
Markov. Como muestra la figura siguiente, un estado i es recurrente si la probabilidad fi de retornar a i
es 1, en otro caso se trataría de un estado transeúnte. Un estado recurrente i es recurrente no nulo si el
tiempo de recurrencia medio Mi es finito. Un estado recurrente no nulo i es aperiódico si el periodo di
de las etapas requeridas para retornar al estado i es 1, en otro caso se trataría de un estado periódico.
Figura 21. Clasificación de estados.
Cadenas de Markov de tiempo continuo
Consideremos un sistema que evoluciona aleatoriamente en el tiempo en un espacio de
estados contable. Supongamos que el sistema entra en el estado i en el instante t ( t ≥ 0 ), permanece
en el estado i una cantidad de tiempo aleatoria, denominada tiempo de permanencia, que está
distribuida exponencialmente con parámetro qi ( qi ≥ 0 ) y entonces salta a un nuevo estado j con
probabilidad pij
Si el tiempo de permanencia y el nuevo estado sólo depende del estado i y no de t, entonces se
dice que el sistema es homogéneo en el tiempo.
Por otra parte, el tiempo de permanencia y el nuevo estado no dependen de la historia del
sistema previa al instante t y son independientes entre sí.
Sea X (t ) el estado del sistema en el instante t. Sea τ n el tiempo de la n-ésima transición (salto
de un estado a otro) y δ n = τ n − τ n −1 el n-ésimo tiempo de permanencia (con n ≥ 1 y τ 0 = 0 ).
Además, sea X 0 = X (0) el estado inicial y X n = X (τ n + ) el estado del sistema inmediatamente
después de la n-ésima transición, cumpliéndose que X (τ n + ) = X (τ n ) .
25
Sistemas de Eventos Discretos. Redes de Petri
Se define una Cadena de Markov de Tiempo Continuo (Continuous-Time Markov Chain,
CTMC) de la siguiente forma [ABCDF96]:
Un proceso estocástico {X (t ), t ≥ 0} se llama Cadena de Markov de Tiempo Continuo en el
espacio de estados contable S, si:
1. Para todo t ≥ 0 X (t ) ∈ S con probabilidad 1.
2.
P{X (t ) = j | X (t n ) = i, X (t n −1 ),..., X (t 0 )} = P{X (t ) = j | X (t n ) = i}
t > t n > t n −1 > ... > t 0 ; i, j ∈ S .
para
todo
En un CTMC para cada para de estados (i, j ) i ≠ j tenemos un evento Eij Supuesto que
cuando la cadena entra en el estado i en el instante t el evento Eij se planifica para que se produzca en
el instante t + σ ij donde σ ij es una instancia de una variable aleatoria exponencial negativa con
parámetro rij , y que se cumplen las siguientes condiciones:
{
P E ij
se
produce en
(t, t + ∆ ] | X (t ) = i} = P{X (t + ∆) =
j | X (t ) = i} = rij ∆ + o( ∆ )
Suponiendo las siguientes condiciones:
P{Eij se produce en (t , t + ∆ ] | X (t ) = i} =
= P{ X (t + ∆ ) = j | X (t ) = i} = rij ∆ + o( ∆ )
P{ no se producen eventos en (t , t + ∆ ] | X (t ) = i} =
= P{ X (t + ∆ ) = i | X (t ) = i} = (1 −
å r ∆ ) + o( ∆ )
j ≠i
ij
P{ se producen múltiples eventos en (t , t + ∆ ] | X (t ) = i} = o(∆ )
Entonces si Π i (t ) = P{ X (t ) = i} y Π i (0) = P{ X (0) = i} t ≥ 0, i ∈ S tenemos que:
Π i (t + ∆ ) = å Π j (t ) rij ∆ + Π i (t )(1 − å rij ∆ ) + o( ∆ ) =
j ≠i
j ≠i
= Π i (t ) + ∆ å Π j (t )rij − Π i (t )å rij + o( ∆ )
j ≠i
j ≠i
En notación matricial tenemos:
H
Π (t + ∆ ) = Π ( t ) R ( ∆ ) + o( ∆ )
H
donde Π (t ) = {Π i (t ), Π 2 (t ),...} es la distribución marginal de los procesos en el instante t y
R ( ∆ ) = I + Q∆ . La matriz Q se denomina generador infinitesimal de la CTMC y se define de la
siguiente forma:
26
Sistemas de Eventos Discretos. Redes de Petri
rij
qij = − r
ik
å
k ≠i
Q = [qij ]
i≠ j
i= j
Continuando con la derivación, tenemos que:
Π i ( t + ∆ ) − Π i (t )
o( ∆ )
= å Π j (t ) qij +
∆
∆
j∈S
tomando el límite cuando ∆ → 0 tenemos:
dΠ i ( t )
= å Π j (t ) qij
dt
j∈S
En notación matricial:
dΠ ( t ) H
= Π (t )·Q
dt
resolviendo la ecuación diferencial tenemos:
H
H
Π (t ) = Π (0)·H (t ) donde H (t ) = e Qt
En el caso de que la cadena sea ergódica, existe una distribución limitada:
H
H
Π = lim Π (t )
t →∞
que puede ser calculada resolviendo el sistema de ecuaciones lineales siguiente:
H
0 = ΠQ
Π =1
i
å
i∈S
H
La distribución Π se denomina distribución estable o estacionaria de la CTMC.
Procesos semimarkovianos
Si examinamos la evolución de una CTMC {X (t ), t ≥ 0} sólo en los instantes en que se
producen los cambios de estado, obtenemos un proceso estocástico {X n , n ∈ ℵ} donde X 0 es el
estado inicial, X 1 es el estado que se obtiene después de la primera transición y así sucesivamente. El
proceso estocástico {X n , n ∈ ℵ} así obtenido, es una DTMC.
Dada una CTMC {X (t ), t ≥ 0}, el proceso estocástico {X n , n ∈ ℵ}, donde X n es el estado
del proceso en el instante de la n-ésima transición se denomina cadena de Markov embebida
(embedded Markov chain, EMC).
Sistemas de Eventos Discretos. Redes de Petri
27
Un proceso semimarkoviano es un proceso estocástico de tiempo continuo {X (t ), t ≥ 0} tal
que:
1. El proceso estocástico de tiempo discreto embebido {X n , n ∈ ℵ}, donde X n es el estado
del proceso en el instante de la n-ésima transición, es una cadena de Markov embebida.
2. El tiempo de permanencia en cada estado de proceso es una variable aleatoria continua o
con una duración determinista, y los tiempos de permanencia son independientes entre sí.
Si todos los tiempos de permanencia son variables aleatorias exponenciales, entonces los
procesos semimarkovianos se conviertes en CTMC.
Descargar