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.