Redes de Petri para modelado de sistemas dinámicos



La vida en sociedad está organizada alrededor de sistemas complejos en los cuales, y por los cuales, el hombre trata de proporcionar alguna apariencia de orden a su universo. Ejemplo de ello, son los denominados sistemas dinámicos que sirven para entender cómo evolucionan los procesos de la naturaleza. Los sistemas dinámicos son sistemas cuyos parámetros internos (variables de estado) siguen una serie de reglas temporales. Se llaman sistemas porque son descritos por un conjunto de ecuaciones y dinámicos porque varían con respecto a alguna variable que generalmente es el tiempo. Estos sistemas pueden dividirse en dos grandes clases: aquellos en los que el tiempo varía continuamente, y aquellos en los que el tiempo transcurre discretamente. A los primeros se les llama sistemas de eventos continuos y a los segundos sistemas de eventos discretos. Ejemplos de sistemas de eventos continuos son: el cambio de temperatura, la cantidad de agua que fluye de un depósito hacia los diferentes hogares para uso doméstico. Por otro lado, las personas que se encuentran formadas esperando a ser atendidas en un banco o en una gasolinera, son ejemplos de sistemas discretos.

Debido a que nuestra vida diaria está rodeada de estos tipos de sistemas, es de gran importancia estudiarlos para conocer de qué manera puede mejorarse su desempeño. De tal forma que puedan brindar sus servicios en tiempos y costos adecuados. Actualmente, existe una gran cantidad de herramientas para dicho propósito, como son el software de simulación (ProModel, Arena, FlexSim). Otra herramienta es la llamada Redes de Petri (RdP), las RdP fueron creadas por Carl Adam Petri en 1962. Las RdP son una herramienta de modelado gráfica y matemática que pueden aplicarse en el estudio de muchos sistemas, permitiendo describir y estudiar sistemas de procesamiento de información que son caracterizados como asíncronos, distribuidos, paralelos, no deterministas y estocásticos. Debido a su amplia aplicación, se han desarrollado una gran cantidad de trabajos, uno de ellos es el propuesto por (David y Alla, 1994) denominado “Petri Nets for Modeling of Dynamic Systems: A survey”, cuyas principales ideas se mencionan a continuación.

El trabajo de David y Alla se divide en cinco secciones, la sección I trata de una breve introducción del origen de RdP. En la sección II se ilustran conceptos básicos de estas herramientas. La sección III aborda las RdP ordinarias, además se presentan sus abreviaciones y extensiones. Las RdP en las cuales interviene la sincronización externa y el tiempo se presentan en la sección IV; y finalmente en la sección V se presentan las conclusiones.

Una RdP comprende dos tipos de nodos que son llamados lugares y transiciones. Un lugar es representado por un círculo y una transición por una barra, los lugares y transiciones son conectados por arcos. El número de lugares es finito y diferente de cero, de la misma manera el número de transiciones es diferente de cero y es finito. Un arco es dirigido y conecta tanto un lugar a una transición como una transición a un lugar. Se dice que una RdP es marcada si cada lugar contiene un entero (positivo o cero) de tokens (los tokens son pequeños círculos negros dentro de un lugar p que representan gráficamente la asignación de una marcación) o marcas. El número de tokens contenido en un lugar Pi es llamado M(Pi) o mi. El marcado M es definido por el vector de estos marcados M=(m1, m2,…,mn). El marcado en un determinado momento define el estado de la RdP o más precisamente el estado del sistema descrito por la RdP. La evolución del estado corresponde a la evolución del marcado. Una transición puede ser disparada sólo si cada uno de los lugares de entrada de esta transición contiene por lo menos un token, se dice entonces que la transición está habilitada. Disparar una transición Tj consiste en quitar un token de cada uno de los lugares de entrada de la transición Tj y agregar un token para cada uno de los lugares de salida de la transición Tj. Si una transición está habilitada, esto no implica que será disparada inmediatamente. El disparo de una transición es indivisible. El marcado de una RdP en un momento dado es un vector columna cuyo i-ésimo componente es el marcado del lugar Pi en ese momento.

Las RdP pueden ser divididas en tres clases principales: RdP ordinarias, abreviaciones y extensiones. En una RdP todos los arcos tienen el mismo peso que es 1. Solo hay una clase de tokens, mientras que las capacidades de los lugares son infinitas, el disparo de una transición puede ocurrir si cada lugar precedente contiene por lo menos un token y no está involucrado el tiempo. Las abreviaciones corresponden a representaciones simplificadas útiles para aclarar la representación gráfica. Existen extensiones de RdP, a las cuales les han sido agregadas reglas de funcionalidad para enriquecer el modelo inicial permitiendo tener un gran número de aplicaciones. Aquí se pueden considerar tres subclases principales: la primera corresponde a modelos que tienen la capacidad de descripción de máquinas: arco inhibidor y prioridad; la segunda subclase corresponde a extensiones que permiten el modelado de sistemas híbridos y continuos; la tercera subclase corresponde a RdP no autónomas, que describen la funcionalidad de sistemas cuya evolución es considerada por eventos externos y/o tiempo, como son: RdP sincronizadas, RdP temporalizadas y RdP estocásticas.

Una RdP generalizada es aquella en la que los pesos son asociados a los arcos (estrictamente enteros positivos). Una RdP coloreada es aquella en la que a los tokens se les atribuyen colores (datos), lo que permite representar cualquier sistema por complejo que sea. Una RdP de arco inhibidor es una RdP cuyo arco inhibidor es un arco dirigido con salidas al lugar Pi para cada transición Tj. El cual habilita a Tj cuando M(Pi )=0. Una RdP continua, es aquella cuyo marcado es un número positivo real y no más de un entero, su disparo se realiza de forma continua. Una RdP híbrida, es una red que contiene tanto lugares y transiciones discretas como lugares y transiciones continuas.

El modelado por RdP autónomas puede ser aplicado a varias clases de sistemas correspondientes al de eventos discretos. Un campo de aplicación de las RdP son los protocolos de comunicación en sistemas computarizados, puesto que la concurrencia, sincronización y almacenamiento de recursos pueden ser especificados en tales sistemas. Otro de los campos de aplicación que ha tenido gran importancia son los sistemas de manufactura. Así mismo, una RdP continua ha sido usada esencialmente como una aproximación de sistemas de eventos discretos cuando el número de marcados alcanzable es un número grande. Por ejemplo, el procesado de partes por una máquina es modelado como un flujo continuo. Algunos sistemas son híbridos cuando están compuestos de partes continuas y partes discretas; de forma más precisa, algunos componentes de los estados del sistema involucran funciones continuas del tiempo, mientras otros componentes se involucran en forma discreta de ocurrencia de eventos. Un sistema de manufactura puede ser considerado como híbrido cuando el flujo de partes es representado por un flujo continuo y el estado de los recursos es modelado en forma discreta.

Por otro lado, el modelado por RdP no autónomas posibilita modelar sistemas cuyos disparos son sincronizados en eventos externos y cuyas evoluciones son dependientes del tiempo. Una RdP sincronizada es una red cuyos disparos de transiciones son sincronizados en eventos externos (los eventos externos corresponden a cambios en el estado del mundo externo). En una RdP sincronizada un evento es asociado con cada transición y el disparo de esta transición ocurre si la transición está habilitada cuando el evento asociado ocurre. Una RdP temporalizada permite describir un sistema cuya función es dependiente del tiempo. Por ejemplo, el tiempo que puede transcurrir entre el inicio y el final de una operación. Si una marca en cierto lugar indica que esta operación está en progreso, una RdP temporalizada permite que este tiempo sea tomado en cuenta. Estas redes son útiles para evaluar el desempeño de un sistema. Una RdP interpretada puede ser aplicada a varias interpretaciones de acuerdo al uso que se desee. Las interpretaciones son adaptadas a la descripción del software, hardware, controladores lógicos, para lenguaje formal y para la evaluación de desempeño. Mientras que las RdP estocásticas pueden ser usadas para modelar sistemas donde la duración del tiempo no es constante. Un tiempo aleatorio es asociado con el disparo de una transición.

La mayoría de las hipótesis comúnmente usadas son que los tiempos están distribuidos de acuerdo a una ley exponencial. Las RdP no autónomas tienen dos campos principales de aplicación: (1) Controladores: un controlador lógico es un sistema de eventos discretos cuyo propósito es controlar el comportamiento de un proceso que es en sí mismo un sistema de eventos discretos, tomando en cuenta el estado de este proceso y de otra información recibida de un operador o de otro sistema; (2) Evaluación de desempeño: es un análisis cuantitativo que puede ser desarrollado en RdP cuyo comportamiento depende del tiempo.

Conclusiones

El trabajo de David y Alla describe los tipos de RdP de forma teórica y otorga ejemplos de cada uno de esos tipos. En su contenido resalta la clasificación de las RdP en autónomas y no autónomas, donde las primeras pueden ser aplicadas a varias clases de sistemas que corresponden a sistemas de eventos discretos. Un campo de aplicación es el protocolo de comunicación en sistemas de computadora. Por otro lado, las RdP no autónomas pueden ser aplicadas principalmente en controladores y evaluación de desempeño.

Bibliografía

David, R., Alla, H. (1994). Petri Nets for Modeling of Dynamic Systems- A Survey, Elsevier Science Ltd. Great Britain, vol. 30, no. 2. pp. 175-202.



[a] Profesor Investigador de la Universidad Autónoma del Estado de Hidalgo.