You are on page 1of 73
INSTITUTO POLITECNICO NACIONAL CENTRO DE INVESTIGACION Y DESARROLLO DE TECNOLOGIA DIGITAL MAESTRIA EN CIENCIAS CON ESPECIALIDAD EN SISTEMAS DIGITALES “DISENO E IMPLEMENTACION DE UN SIMULADOR DE REDES DE PETRI” TESIS QUE PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS PRESENTA: JUAN FRANCISCO ARENAS TREJO TIJUANA, B. C. DICIEMBRE 2002 GREYS! INSTITUTO POLITECNICO NACIONAL COORDINACION GENERAL DE POSGRADO E INVESTIGACION ACTA DE REVISION DE TESIS EnlaCiudad de TIJUANA, B.C. siendo las _1 horas deldia_13 del mes dé diciembre — 4€! ago _ Se reunieron los miembros de la Comisién Revisora de Tesis designada Por el Colegio de Profesores de Estudios de Posgrado e Investigacion de CITEDI para examinar la tesis de grado titulada: DISENO E IMPLEMENTAGION DE UN SIMULADOR DE REDES DE PETRI Presentada por el alumno: ARENAS, TREJO JUAN FRANCISCO ‘Apelido paterno matemo TombreG. Conregistro:| o | o | 1 | 5 | 3] 4 aspirante al grado de: MAESTRO EN CIENCIAS CON ESPECIALIDAD EN SISTEMAS DIGITALES Después de intercambiar opiniones los miembros de la Comisién manifestaron SU APROBACION DE LA TESIS, en vitud de que satsface los requisites senalados por las disposiciones reglamentarias vigentes. LA COMISION REVISORA msTIUTO PoLiTEGK% axa De ston v esc WC UN IOSET ENTA Ree EL PRESIDENTE DEL couesio! ‘DR-ALFONSO ANGELES VALENCIA AGRADECIMIENTOS ADios. Amis padres y hermanos. Amis Maestros. Amis compafieros y amigos. CONTENIDO Glosario ....... Lista de Figuras ... Lista de Tablas ........... vi Objetivo. a Vi Resumen .... viii Abstract...... Vill Introduccién ............. Capitulo 1 Las Redes de Petri . 1.1 Estructura de una red de Petri 1.2 Grafica de una red de Petri 1.3 Red de Petri marcada ....... 1.4 Regla de ejecucién para redes de Petri 1.5 Espacio de estados de una red de Petri . Capitulo 2 Analisis de redes de Petri ...... 2.1 Analisis de problemas con redes de Petri ........-..ss ese sevessssseee V1 2.1.4 Seguridad : . 2.1.2 Acotamiento 2.1.3 Conservacion 2.1.4 Vida ...... : 2.2. Técnicas de andlisis .... 2.2.1 Arbol de alcance de una red de Petri 15 2.2.2 Ecuaciones Matticiales «0...» 20 Capitulo 3 Disefio occ sveentsenevenen 22 3.1 Descripoién de SERPe a 22 3.2 Interfaz Grafica de Usuario 8 = 26 3.2.1 Barra de Ment ... 27 3.2.2 Barra de Herramientas 33 3.2.3 Area de Edicion 34 3.2.4 Barra de Estado .... 34 3.3 Objetos (Arco, Lugar y Transicién). 3.3.1 Arco .. 3.3.2 Lugar y Transicion 3.4 Simulaci6n 3.4.1 Paso por paso. 3.4.2 Retroceder ... 3.4.3 Reiniciar .... 3.4.4 Simulacion 3.4.5 Parar .. 3.5 Analisis .. : 3.5.1 Construccion del Arbol de Alcance 3.5.2 Propiedades 3.6 Formato de Archivo ... 3.7 Criterios de disefio Capitulo 4 Resultados 4.1 Redes de Petri 4.2 Lenguaje de programacion Java . 4.3 Herramienta de Disefio ........... Capitulo 5 Conclusiones ..... 49 5.1 Metas vs. Resultados. 49 5.2 Trabajo Futuro . 51 Anexo1 Formato de Archivo ...... 52 Anexo2 Modelado con redes de Petri . . 53 Referencing oes BF Acotacién Arbol de Alcance Arco AWT Conservacién Explosién de espacio de estado Funcién de entrada GLOSARIO Una red de Petri tiene la propiedad de acotacién si para todos los marcados alcanzables existe un ntimero entero k tal que el ntimero de “tokens” en todo lugar nunca excede k. El drbol de alcance de una red de Petri representa todos sus marcados obtenibles. El arbol comienza con el marcado inicial, con una linea desde el marcado inicial hacia los nuevos marcados para cada transicién habilitada. EI proceso es repetido para cada nuevo marcado hasta que es encontrado un nodo duplicado o un nodo terminal. Un arco es un componente de las redes de Petri, el cual conecta o relaciona los lugares con las transiciones y las transiciones con los lugares, entonces forma una funcién de salida o una funcién de entrada para cada transicién. Por lo regular un arco es representado como una linea o arista dirigida dentro de una red de Petri. Abstract Windows Toolkit. Es una interfaz independiente de la plataforma para la construccién de interfaces de usuario. Una red de Petri tiene la propiedad de conservacién si para todos los posibles marcados, el numero total de “tokens” siempre permanece constante. Es el efecto creado cuando el ntimero posible de estados de una red de Petri se incrementa en forma ‘exponencial cuando nuevos elementos son incluidos en la red. Una funcién de entrada / es un mapeo de una transicién f; a la bolsa de lugares it), conocidos como lugares de entrada a la transicién [1]. Funcién de salida Una funcién de salida O es un mapeo de una transici6n f; a la bolsa de lugares O(t), conocidos como lugares de salida de la transici6n [1] Gul Interfaz Grafica de Usuario IDDE Ambiente Integrado de Desarrollo y Depuracién. Java Java es un lenguaje de programacién que es interpretado, orientado a objetos, multitarea con una sintaxis similar a c++. JDK Java Developmet Kit. Es un conjunto de herramientas que incluye un compilador, interpret, documentacion, etcétera, es propiedad de Sun Microsystems JVM Java Virtual Machine. Es una maquina virtual que permite la_interpretacién del cédigo Java. Lugar Es un componente basico de las redes de Petri, el cual representa una condicién. Si un lugar es miembro de una funcién de entrada a una transicién, entonces es precondicién para la transici6n. Si el lugar es miembro de la funcién de salida de la transicién, entonces es poscondicién para el evento o disparo de la transicion. Un lugar es generalmente representado por un circulo en una red de Petri Es un mapeo de “tokens” a los lugares y define un estado para una red de Petri Marcado inicial es el numero de “tokens” asignados a cada lugar que definen el estado inicial de una red de Petri Marcado alcanzable Es un marcado que puede ser obtenido al disparar alguna secuencia de transiciones desde un marcado inicial uy que por tanto contenido en el arbol de alcance. Nodo Duplicado Un nodo duplicado es un marcado que ya esté presente en el arbol de alcance y por tanto ya no necesita ser analizado, ya que sus sucesores fueron generados en la primera ocurrencia del marcado. Nodo Frontera Un nodo frontera es un marcado generado durante la construccién del arbol de alcance el cual atin no ha sido analizado para encontrar sus sucesores. ii Nodo Terminal Red de Petri Red de Petri Ordinaria Seguridad Token Transicién Vida Un nodo terminal es un marcado generado durante la construccién del arbol de alcance que no tiene transiciones habilitadas, y que por tanto no tiene sucesores y frena el crecimiento del arbol en esa direccién. Una red de Petri es una herramienta grafica y matematica que permite el modelado se sistemas concurrentes, asincronos, distribuidos y paralelos. Una red de Petri es ordinaria cuando la multiplicidad maxima de los arcos es 1. Una red de Petri_ tiene la propiedad de seguridad si para todos los marcados alcanzables el numero de “tokens” en cada lugar nunca excede uno. Un “token” es un componente basico de las redes de Petri el cual reside en los lugares. Un ‘token’ indica que el lugar 0 condicién es verdadero. Generalmente un “token” es indicado en una red de Petri como un punto dentro de los lugares. Una transicién es un componente basico de las redes de Petri el cual representa un evento. El evento puede ocurrir cuando todos los lugares de entrada a esa transicin tienen suficientes “tokens” para habilitarla. Generalmente una transicién es representada en una red de Petri como un rectangulo o segmento rectilineo. Una red de Petri_ tiene la propiedad de vida cuando no existen nodos terminales en su arbol de alcance. Para cada marcado en el Arbol de alcance, debe existir al menos una transicién habilitada. iii LISTA DE FIGURAS. 1.1. Grafica de la red de Petri equivalente a la estructura de! Ejemplo 1.1... 1.2. Grafica de la red de Petri equivalente a la estructura del Ejemplo 1.2 1.3. Grafica de la red de Petri con un marcado (1, 2, 0, 0, 1)... : 1.4. Disparo de una transicién ...... 15 24 Red de Petri para ejemplificar el conjunto alcanzable de marcados Asignacién de recursos para dos procesos (a y b) y dos recursos glmodelado por ps] y rfmodelado por ps)).. 2.2. Red de Petri marcada para ejemplificar el calculo del arbol de alcance ...15 2.3. Primer paso en la construccién del arbol de alcance ... 15 2.4 Segundo paso en la construccién del arbol de alcance 16 2.5 Tercer paso en la construcci6n del arbol de alcance 16 2.6 Red de Petri simple con arbol de alcance infinito ........ 2.7 Arbol de alcance de la Red de Petri de la figura 2.2. a 2.8 Red de Petri para ilustrar la construccién del arbol de alcance . 19 2.9 Arbol de alcance de la Red de Petri de la figura 2.8 ... 3.1. Diagrama de disefio de la aplicacion SERPe : 3.2. Diagrama de disefio Clases que se extienden de Object. one 3.3 Diagrama de disefio Clases que se extienden de JFrame oa 4 3.4 Diagrama de disefio Clases que se extienden de JScrollPane 24 3.5 Diagrama de disefio Clases que se extienden de JDialog 24 3.6 Diagrama de disefio Clases que se extienden de Thread .. 3.7 Diagrama de disefio Clases que se extienden de DefaultTreeCellRender ... 3.8 Estructura jerarquica de extension de clases . 3.9 Apariencia de la IGU de la aplicacion SERPe en Windows, Linux(Red Hat, KDE) y Solaris concn = 3.10 Barra de Menti de la IGU de SERPe....... 3.11 Ment Archivo desplegado de la IGU de SERPe 3.12 Ment Editar desplegado de la IGU de SERPe . 3.13 Se muestra el didlogo de configuracién de Sitio .... 3.14 Mend Elemento desplegado de la IGU de SERPe ... 3.15 Ment Ver desplegado de la IGU de SERPe ..... 3.16 Mend Simulacién desplegado de la IGU de SERPe ... — 3.17 Se muestra deslizador para aumentar la velocidad de Simulacion 32 3.18 Mend Analisis desplegado de la IGU de SERPE ..............0::. cece ard 3.19 Menu Ayuda desplegado de la IGU de SERPe 33 3.20 Barra de Herramientas de la IGU de SERPe .. 33 3.21 Barra de Estado de la IGU de SERPe......... 4 3.22 Detalle de la construccion de un arco en la aplicacion SERPe ... 36 3.23 Detalle de la construccién de la flecha de un arco en la aplicacion SERPe........... ot 4 Red'dePetids pick 0 eee 42 AA A2 A3 A4 AS AS AZ AB Comportamiento del algoritmo para el cdlculo del arbol de alcance de la red de la figura 1, ejecutando el algoritmo en los sistemas operativos Linux y Windows .... ee Proceso de dos etapas para el modelo con redes de Petri ec) Red de Petri que modela el sistema de la figura A.1. .. Matriz de flujo para la red de Petri de la figura A.2 . Matriz de cambios para la red de Petri_de la figura A.2 ........ Arbol de alcance grafico de la red de Petri de la figura A.2 : Arbol de alcance en texto de la red de Petri de la figura A.2 .........0......58 Todos los marcados que pueden ser alcanzados por la red de la figura A.2. : Propiedades que cumple la red de la figura A.2. . LISTA DE TABLAS e & 3.1 Mensajes de la Barra de Estado .... 4.1. Medida del tiempo de célculo del arbol de alcance para los modelos consultados... 4.2 Comportamiento del arbol de alcance para la red de la figura 1... ‘A Condiciones del sistema de la figura A.1. a 2 Eventos del sistema de la figura A.1.... 3 Precondiciones y poscondiciones de cada evento dei sistema de la figura A.1.. geese vi Objetivo El objetivo de este trabajo de tesis es el disefio y construccién de una herramienta computacional en lenguaje de programacién Java, que permita la especificacion rapida (dibujo y edicién), simulacién y andlisis (determinacién de caracteristicas) de redes de Petri Lugar/Transicién, usando el método basado en el célculo del rbol de alcance de la red. vii Resumen En este trabajo _se estudian las redes de Petri dado que poseen un atractivo importante para el modelado y simulacién de sistemas, debido a que integran en el mismo formalismo grafico, la representacién del sistema y el entomno de animacién respectivo con una sencillez inherente que hace simple la verificacién de propiedades de los sistemas modelados. Se elige la técnica de andlisis y verificacién de propiedades basada en el calculo del arbol de alcance, lo que permite abordar diversos tipos de redes incluidos en las redes Lugar-Transicion. Se implementa una herramienta computacional que permite la animacion, el andlisis y verificacién de propiedades de redes de Petri Lugar-Transici6n la cual es presentada como aportacién de este trabajo. Abstract Petri nets theory is studied in this thesis because they play an important role in the area of systems modeling and simulation. This fact is possible because Petri nets embed in the same formalism and in the graphical representation, the structure of the system and the needed dynamics, making possible that the verification of the properties of the modeled system be a simple task. Reach tree analysis is selected for analysis and verification of properties, which allows the tool to deal with several kinds of nets belonging to Place transition nets. Last but very important, a Computational Tool (Petri net Simulator) that allows animation, analysis and verification of properties of place-transition nets is introduced. This Tool is designed and implemented as the main contribution of this thesis. viii Introduccién Introducci6én Los sistemas, dentro de las diversas disciplinas de la ingenieria, cambian continuamente y de manera inevitable tanto en tamafio como en funcionalidad, para dar cabida a nuevas necesidades y nuevas caracteristicas. Debido al incremento en la complejidad, la posibilidad de cometer errores también aumenta, Por otra parte estos errores suponen un costo econémico, en tiempo, @ incluso, hasta en vidas humanas. Uno de los mayores objetivos de la simulacién es el poder facilitar a los desarrolladores la construccién de sistemas que operen con cierto grado de confianza, independientemente de la complejidad asociada. Una forma de conseguir este objetivo es usando métodos formales a manera de lenguajes, técnicas y herramientas con base matematica que permitan tanto la especificacién como la verificacién de dichos sistemas. A priori, el uso de métodos formales no garantiza la correccién aunque puede incrementar de manera considerable el conocimiento del sistema al detectar inconsistencias, exclusiénes, ambigtiedad, etc. Las redes de Petri (3, 1, 2, 4] son un método formal para el modelado y estudio de sistemas. La teoria de redes de Petri permite modelar sistemas y representarios matematicamente. El andlisis de redes de Petri permite revelar informacién importante acerca de la estructura y el comportamiento dindmico de los sistemas modelados [1]. En este trabajo se disefié un programa simulador para la edici6n, simulacién y verificacién de propiedades de una red de Petri (SERPe), que cuenta con una interfaz grafica amigable para la répida verificacién de las propiedades de una red de Petri, La herramienta SERPe ha sido programada en lenguaje de programacién Java. Java fue seleccionado de entre otros lenguajes como Delphi, Visual C++, Visual J++, Visual Basic 0 incluso C#, por diversas razones. Primeramente por que Java es un lenguaje interpretado y que por tanto es portable a la mayoria de los sistemas operativos, con solo el hecho de contar con el intérprete conocido Introduccién como Maquina Virtual. Aunque C# también pretende ser portable en el futuro, atin no lo logra y no es muy conocido, ademds su compilador es caro, Actualmente, existen intérpretes de Java para Windows en todas sus presentaciones a excepcién de las versiones 3.x, para Macintosh, Solaris, HP Unix, y otras [10]. Java tiene ademas, la caracteristica de ser orientado a objetos, esto permite una mayor maniobrabilidad y modularizacién de las aplicaciones, lo cual es de gran ayuda en el disefio de la aplicacion SERPe Capitulo 1 Las Redes de Petri Capitulo 1 Las Redes de Petri Las redes de Petri fueron introducidas por C. A. Petri en 1962 en la disertacién de su tesis doctoral, y pronto fueron reconocidas como un formalismo muy adecuado para la descripcién y el analisis de numerosos sistemas [6]. En las ultimas tres décadas ha habido una gran contribucién por parte de la comunidad cientifica (congresos, tesis, herramientas de simulacién, etc.), dando lugar a resultados tanto tedricos como aplicados. Las Redes de Petri se utilizan para el modelado de sistemas cubriendo aplicaciones tan diversas como el modelado y andlisis de sistemas de software distribuido (tal como bases de datos distribuidas), programas concurrentes, sistemas tolerantes a fallas, sistemas de control industrial, redes de rea local, redes neuronales, y otras aplicaciones que presentan paralelismo[6, 2, 4] 1.1 Estructura de una red de Petri De acuerdo con [1] una red de Petri esta compuesta por un conjunto finito de lugares P, un conjunto finito de transiciones T, una funcién de entrada /, y una funcién de salida O. Las funciones de entrada y salida relacionan los lugares y las transiciones. La funcién de entrada / es un “mapeo” de la transicién tya la coleccién de lugares I(t), conocidos como los lugares de entrada a la transicién. La funcion de salida O es un “mapeo” de la transicién t) a la coleccién de lugares O(t), Conocidos como los lugares de salida de la transicién. DEFINICION 1.1 Mateméticamente, la estructura de una red de Petri es representada por una 4-tupla C= (P, T, |, Q) donde, P= {p1, Pa, Bs, ..., Pa} @S UN Conjunto finito de lugares, n 2 0. T= fl ta, ty. tm} 8 UN Conjunto finito de transiciones, m= 0. Py T son disjuntos es decir, PAT =9. |:T—+ P* es la funcién de entrada y “mapea” el conjunto de las transiciones a la bolsa de lugares. Capitulo 4 Las Redes de Petri O:T—+»P* es la funcién de salida y “mapea” del conjunto de las transiciones a la bolsa de lugares. La cardinalidad del conjunto P es n y la cardinalidad del conjunto T es m. Un elemento arbitrario de P es denotado como p, i = 1,..., n. Un elemento arbitrario de Tes denotado como f, j= 1,..., m. Existen otras formas de representar la estructura de una red de Petri las cuales se explican ampliamente en [2,4]. Ejemplos de la estructura C = (P, T, J, O) de una red de Petri, Ejemplo 1.1 (D1, P2, Ds, Ps, Psy 1, te, te tad O(ts)= { D2, Ps, Ps} Ofte)= {ps} Olts) = {pa} Ofts) = {b2, pa} Ejemplo 1.2 {P1, 2, Ps, Ps, Ps, Po} Ofty)= { Pz, Pa} Oft2)= {Ps, Ps, Ps} Ofts) ={ 2, Pa} Ofta) = {pa} O(ts) = {pe} Un lugar p; es un /ugar de entrada a la transicién )si p; © I(t); pes un lugar de salida de la transicién tsi p; e O(t). Las entradas y salidas de una transicién son bolsas de lugares. Una bolsa es una generalizacién de un conjunto, la cual permite miiltiples ocurrencias de un elemento en una bolsa. El uso de bolsas en lugar de conjuntos, para las entradas y las salidas de las transiciones, le permite a un lugar ser una entrada multiple o una salida miltiple de una transicién. La multiplicidad de un lugar de entrada p; para una transicion t; es el numero de ocurrencias del lugar en la bolsa de entradas de la transicién, #(p,/(t)). Similarmente, la multiplicidad de un lugar de salida p; para una transicion f; es el numero de ocurrencias del lugar en la bolsa de salidas de la transicién, #(o,0/t)). Si las funciones de entrada y salida son conjuntos en lugar de bolsas, entonces la multiplicidad de cada lugar es cero 0 uno. Capitulo 1 Las Redes de Petri 1.2 Grafica de una red de Petri. La mayoria del trabajo tedrico en las redes de Petri esté basado en la definicién formal de la estructura de una red de Petri dada antes [1]. Sin embargo la representacién grafica de la estructura de una red de Petri es mucho mas util para ilustrar los conceptos de Ia teoria de redes de Petri. La gréfica de una red de Petri es una representaci6n de la estructura como un multigrafo bipartita dirigido. La estructura de una red de Petri consiste en lugares y transiciones, los cuales corresponden a los dos tipos de nodos que contiene la red. Los lugares son representados por circulos y las transiciones son representadas por segmentos rectilineos o rectangulos. ‘Arcos dirigidos conectan los lugares y las transiciones. Algunos arcos dirigidos van de los lugares a las transiciones y otros arcos dirigidos van de las transiciones a los lugares. Un arco dirigido del lugar p;a la transicion t, define a este lugar como entrada de la transicién. Un lugar de salida es indicado por un arco de la transicién al lugar. Si existen varios arcos que se conectan en el mismo sentido se puede poner un solo arco con un entero no negativo sobre él, que indica el numero de arcos (1, 2, 4]. Una red de Petri es un multigrafo, dado que permite la multiple conexién de un nodo hacia otro nodo del grafo. Ademas, como los arcos son dirigidos el grafo también lo es. Dado que los nodos de este grafo pueden ser separados en dos conjuntos (lugares y transiciones), de modo que cada arco’ esta dirigido del elemento de un conjunto (lugar o transicién) hacia el elemento del otro conjunto (transici6n o lugar), es por tanto un multigrafo bipartita dirigido. DEFINICION 1.2 El grafo de una red de Petri G es un multigrafo bipartita dirigido, G = (V, A), donde V = {v1, Vz, Vs,..., Ve} 8 uN Conjunto de vertices y A = fay, a ..., ay) es una bolsa de arcos dirigidos, a/=(v, vx), donde vpv_ € V. El conjunto V puede ser separado en dos conjuntos P y T de modo que V= PU T, PAT =@, y para cada arco dirigido, a < A, si a= (v vx), entonces puede ser que y «Py vk e TOY, eTyneP. Las figuras 1.1 y 1.2 muestran la grafica equivalente a las estructuras de los ejemplos 1.1 y 1.2 Capitulo 4 Las Redes de Petri Fig. 1.1. Grafica de la red de Petri equivalente a la estructura del Ejemplo 1.1 Fig. 1.2. Gréfica de la red de Petri equivalente a la estructura del Ejemplo 1.2 1.3 Red de Petri marcada El marcado es la asignacién de “tokens” a los lugares de una red de Petri [1]. Un “token* es un elemento fundamental de las redes de Petri (como los lugares y las transiciones). Los ‘tokens’ son asignados a, y residen en, los lugares de una red de Petri. La cantidad y ubicacién de los “tokens” varia durante la ejecucién de la red. Los “tokens” son utilizados para definir la ejecucién de una red de Petri. DEFINICION 1.3. El marcado y de una red de Petri C= {P, T, |, O} es una funcién del conjunto de lugares P al conjunto de enteros no negativos N. PON, EI marcado 1 también puede ser definido como un n-vector w=(u1, 442, «..» Hn), donde n=|P| y cada y € N, .., N. El vector 4: da a cada lugar p;en una red de Petri, el nimero de “tokens” en ese lugar. El numero de “tokens” en el lugar p; es 4 i= 1, ..., n. La definicién de un marcado como una funcién y como un vector estan relacionados por s4(p))= 14 Capitulo 1 Las Redes de Petri Una red de Petri marcada puede ser escrita como M = (P, T, |, O, w). En la gréfica de una red de Petti, los “tokens” son representados por puntos dentro de los circulos que representan los lugares. La figura 1.3 muestra el aspecto de una red de Petri marcada. Fig. 1.3. Grafica de la red de Petri con un marcado(1, 2, 0, 0, 1) Algunas nomenclaturas especifican con dos 0 tres circulos el caso en que se tengan dos o tres “tokens” en el lugar correspondiente. En este trabajo se opta por colocar solo un circulo y el numero de “tokens” sobre él, en caso de que la cantidad sea mayor o igual a dos. Por ejemplo, en la figura 1.3 en el lugar p2, se tienen dos ‘tokens’ representados con un circulo y el ntimero dos sobre él, indicando que el lugar pe tiene dos “tokens”. Cuando un lugar tiene solo un “token” se omite el numero y solo se deja el circulo tal como en py y Ps que solo tienen un “token”. 1.4 Regla de Ejecucién para Redes de Petri La ejecucién de una red de Petri esta controlada por el numero y distribucién de los “tokens” dentro de Ia red. Los “tokens” residen en los lugares y controlan la ejecucién de las transiciones de la red. Una red de Petri se ejecuta por medio de disparar transiciones. Una transicién se dispara removiendo “tokens” de sus lugares de entrada y creando nuevos “tokens”, los cuales son distribuidos a sus lugares de salida [1, 2] Una transicién puede dispararse sélo si esté habilitada. Una transicién esta habilitada si cada uno de sus lugares de entrada tiene un numero de “tokens” mayor o igual al numero de arcos que lo conectan a la transici6n. DEFINICION 1.4 Una transicién tT, en una red marcada de Petri M=(P,T,/,0,1) esté habilitada en el marcado psi Vp, € P, (0 ,) 2#(P,, Mt) Capitulo 1 Las Redes de Petri Una transicién se dispara removiendo de sus lugares de entrada todos los “tokens” que le permitieron habilitarse y depositando en cada uno de sus lugares de salida un “token” por cada arco dirigido de la transicién al lugar. Generalmente, el disparo de una transicién ocasiona un cambio en el marcado y, generdndose asi un nuevo marcado DEFINICION 1.5 Una transicion ten M =(P, T, |, O, u) al ser disparada genera un nuevo marcado definido para cada lugar como: H'(pI= w(p) - #(p.ilty) + #(p,0(t). Considérese como ejemplo la red de Petri de la figura 1.4 a. Con su marcado solo una transicién esta habilitada, fy, ya que las otras transiciones tz, ts y ts tienen lugares de entrada sin suficientes “tokens”. Si se dispara t;, remueve un "token" de 1, deposita un “token” en pa, un “token” en ps y un “token” en ps, Entonces el nuevo marcado después de disparar ty se muestra en la figura 1.4 b 2 ) marcado resultante después de disparar t,en a) es (0, 3, 1, 0, 2) Fig. 1.4. Disparo de una transicién. Capitulo 1 Las Redes de Petri 1.5 Espacio de estados de una red de Petri EI estado de una red de Petri esta definido por su marcado [1]. El disparo de una transicién representa un cambio en el marcado de la red de Petri y consecuentemente un cambio en el estado de la red. El espacio de estados de una red de Petri con n lugares es el conjunto de todos los marcados, que es, N’, El cambio en el estado causado por el disparo de una transici6n, est definido por la funcién de cambio 6, llamada funci6n de estado-siguiente. Cuando esta funcién se aplica a un marcado (estado) 1 y a una transicién f; genera un nuevo marcado (estado), el cual resulta de disparar la transici6n fj en el marcado y. Si f esta habilitada, entonces 6 (x, t)= uv’, donde sv’ es el nuevo marcado. DEFINICION 1.6 La funcién estado-siguiente 6: N’ X T-» N" para una red de Petri M=(P, T, |, 0, u) y ty € T, estd definida si y solo si (0) 2#(P,Mt)) para todo p; ¢ P. Si 5 (u, t) esta definida, entonces 6 (u, t)= 1’, donde H(pd= wtp) - Hprilt)) + Hp, O(f)). para todo py € P. Dada una red de Petri M = (P, T, |, O, u°) donde 1” es el marcado inicial, se puede ejecutar la red de Petri disparando sucesivamente las transiciones. Disparando una transicién habilitada fj en un marcado inicial produce un nuevo marcado y'=5 (2, t). En este nuevo marcado, se puede disparar cualquiera de las nuevas transiciones habilitadas, por ejemplo f,, resultando en un nuevo marcado 17=6 (u", ,). Esto puede continuar ocurriendo mientras haya por lo menos una transicion habilitada en cada marcado. Si se llega a un marcado donde no hay transiciones habilitadas, la funcién de estado-siguiente no esta definida para ninguna de las transiciones y el proceso termina. Dos secuencias resultan de la ejecucién de una red de Petri: la secuencia de marcados (1°, 1’, 47, u,...)y la secuencia de transiciones que fueron disparadas (to, 1, ta,....). Estas dos secuencias estan relacionadas por 5 (i, ty)= uf" para k =0, 1, 2..... y generan un registro de la ejecucién de una red de Petri y por tanto de su comportamiento, Para un marcado 1 un conjunto de transiciones puede estar habilitado y una de estas transiciones puede ser disparada. El resultado de disparar una transicién del marcado 1 es un nuevo marcado 1’. Se dice entonces que 1’ es inmediatamente alcanzable desde 4, es decir, se puede obtener inmediatamente el estado y’ desde el estado yu. Capitulo 1 Las Redes de Petri DEFINICION 1.7 Para una red de Petri M=(P, T, |, 0, 1), un marcado y’ es inmediatamente alcanzable desde un marcado y si existe una transicién fj < T, tal que 5 (u, t= yw’. Se puede extender el concepto para definir el conjunto de marcados alcanzables (arbol de alcance) para una red de Petri marcada. Si y’ es inmediatamente alcanzable desde 4 y u” es inmediatamente alcanzable desde ’, entonces se puede decir que ju” es alcanzable desde . Se puede definir el conjunto de alcance 0 rbo! de alcance R(C, u) de una red de Petri C con un marcado ys como todos los marcados que son alcanzables desde jz, Un marcado .' esta contenido en R(C, w) si existe una secuencia de disparo de transiciones que pueda llevar desde el marcado 1 hasta el marcado 1’ DEFINICION 1.8 El drbol de alcance R(C, 4) para una red de Petri C=(P, T, |, 0) con un marcado es el conjunto mas pequefio de marcados definidos por: 1. eR(C, uy) 2. Sip! @R(C, wy u"=5(u', t) para cualquier tj < T, entonces u” € R(C, 1). Para la red de Petri de la figura 1.5 con un marcado y=(1, 0, 0), se tienen dos marcados inmediatamente alcanzables: (0, 1, 0) y (1, 0, 0). Desde el marcado (0, 1, 0) no hay marcados alcanzables dado que no hay transiciones habilitadas. Si embargo desde (1, 0, 1), se puede alcanzar (0, 1, 1) y (1, 0, 2). Fig. 1.5. Red de Petri para ejemplificar el conjunto alcanzable de marcados. Capitulo 2 Analisis de redes de Petri Capitulo 2 Analisis de redes de Petri Las redes de Petri fueron desarrolladas en la busqueda de métodos naturales, simples, y poderosos para la descripcién y andlisis de flujos de informacién y control de sistemas. En las redes de Petri, el estado del sistema deriva de la combinacién de variables de estado locales que permiten una representacion directa de la concurrencia, la causalidad y la independencia [4]. Las redes de Petri poseen un atractivo importante para el modelado y simulacién de sistemas, dado que integran en el mismo formalismo gréfico la representacion del sistema y el entorno de animacién respective. Ademds, el modelo de Petri es suficientemente general como para representar una gran variedad de sistemas y, es especialmente idéneo para todos aquéllos que tienen un comportamiento asincrono, son distribuidos, actuan en paralelo y/o son no deterministas. De forma similar a los diagramas de flujo de datos y a los autématas finitos, las redes de Petri realizan una abstraccién a nivel funcional. Su modo de operacién es no determinista y permiten reflejar, entre otros aspectos, la ejecucién concurrente de distintos procesos, representar la disponibilidad de recursos, imponer restricciones de acceso a datos compartidos, y representar la evolucién dinamica de los sistemas [6]. Extensiones posteriores al modelo inicial permiten manejar el tiempo, asignar colores, asignar prioridades de actuacién, estructuracién jerarquica, etc. 2.1 Analisis de problemas con redes de Petri La principal ventaja de las Redes de Petri es su capacidad para el andlisis de propiedades y aspectos ligados a los sistemas concurrentes. Desde un punto de vista no formal, el método de andlisis de la red por simulacién es muy similar al depurado y ejecucién de un programa. Esto es, se puede ejecutar el modelo de una red para obtener estadisticas, acerca de la conducta del sistema modelado. Asi, se pueden fijar puntos concretos en los cuales interrumpir la simulaci6n y observar los resultados. Los dos métodos formales mas importantes de determinacién de propiedades son el arbol de alcance y los invariantes de lugar. El método de andlisis por el érbol de alcance (también llamado espacio de estados) tiene como idea fundamental el construir una iT Capitulo 2 Anélisis de redes de Petri grafica dirigida con un nodo por cada estado alcanzable por la red y, un arco para cada posible cambio de estado. En el método por invariantes de lugar se construye un conjunto de ecuaciones que se desea que sean probadas y verificadas en todos los estados alcanzables, probando asi las propiedades deseadas del sistema modelado. En este trabajo se contempla la determinacién de propiedades por medio de la construccién del arbol de alcance R. En esta seccién se describen las propiedades que son consideradas en la literatura acerca de las redes de Petri. Para introducir cada una de las propiedades, primero se platea el aspecto que pudiera modelarse y después se indica cémo esté relacionado con dicha propiedad. 2.1.1 Seguridad Para toda red de Petri que esté modelando un dispositivo de “hardware” real una de las propiedades mas importantes es la seguridad. Un lugar en una red de Petri es segura si el ntimero de “tokens” en este lugar nunca excede a uno. Una red de Petri es segura si todos sus lugares son seguros [1, 2, 3]. DEFINICION 2.1 Un lugar py « Pen una red de Petri C = (P, T, J, 0), con marcado inicial es seguro si para todo 1’ « R(C, ), u'(p) <1. Una red de Petri es segura si cada lugar en dicha red es seguro. La seguridad es una propiedad muy importante para 108. dispositivos de “hardware”. Si un lugar es seguro, entonces el numero de “tokens” en dicho lugar puede ser solo 0 6 1. Asi, el lugar puede ser implementado por un solo “flip-flop”. Si una red de Petri es segura los lugares pueden representar condiciones. La condicién es verdadera si hay un “token en el lugar o bien falsa si no hay “token”. 2.1.2 Acotamiento La seguridad es un caso especial de la propiedad de acotamiento. La Seguridad permite a un lugar ser implementado con un ‘flip-flop’, pero generalizando, se podria utilizar un contador. Sin embargo, cualquier contador de “hardware” estaria limitado en el numero maximo que pudiera representarse. Un lugar es k-acotado o k-Seguro si el ntimero de "tokens" en dicho lugar nunca excede a un entero k [1, 2). DEFINICION 2.2 Un lugar p; < Pen una red de Petri C = (P, T, |, 0.) con marcado inicial 4 es k-seguro si para toda p' € R(C, ), 4/(p) sk. Una red de Petri es k- segura si cada lugar en dicha red es k-seguro. 12 Capitulo 2 Analisis de redes de Petri Nétese que la limitacién k en el numero de “tokens” que puede contener un lugar, puede ser una funcién del lugar (e.9., el lugar p; puede ser 3-acotado mientras que el lugar p2 es 8-acotado) 2.1.3 Conservacién Las redes de Petri pueden ser usadas para modelar la asignacién de recursos en un sistema. Por ejemplo, una red de Petri puede modelar la solicitud, asignacién, y liberacién de dispositivos de entrada y salida de un sistema de cémputo. En este sistema algunos “tokens” pueden representar los recursos. Un conjunto de tres impresoras en linea son representadas por un lugar con un marcado inicial de tres “tokens”, Una solicitud de una impresora es una transicion, la cual tiene a este lugar como entrada; la impresora es mas tarde liberada por una transicién con una salida al lugar de las impresoras. Para este tipo de redes de Petri, entre otros, la conservacién es una propiedad importante. Entonces lo que se quiere mostrar es que los “tokens”, los cuales representan recursos, no son creados ni destruidos, es decir, la cantidad de “tokens” en la red permanece constante [1, 2]. DEFINICION 2.3. Una red de Petri M = (P, T, |, O, u ) es estrictamente conservativa si para todo yi’ « R(M) , Xi = Le) 0 Y per pee 21.4 Vida EI motivo para considerar la conservaci6n en una red de Petri fue la asignacién de recursos en un sistema operativo de una computadora. Otro problema que puede surgir en la asignacion de recursos en un sistema, es el abrazo mortal. El abrazo mortal ha sido objeto de muchos estudios dentro de las ciencias de la computacin [1]. Para explicar este problema supénganse un sistema con dos diferentes recursos q y ry dos procesos a y b. Si ambos procesos necesitan ambos recursos, sera necesario que los compartan. Para lograr esto se requiere que cada proceso solicite un recurso y més tarde lo libere, Ahora suponga que el proceso a, primero solicita el recurso q y después el recurso ry finalmente libera ambos recursos q y r. El proceso b es similar pero primero solicita ry después q. La figura 2.1 muestra los dos procesos y a asignacién de recursos con una red de Petri. B Capitulo 2 Anélisis de redes de Petri EI marcado inicial indica que los recursos q(p,) y 1(ps) estan disponibles y los procesos a y b estan listos. Una ejecucién de esta red es ty, tz, fs, ta, ts, te, otra es ts, ts, te, th, tz, ts. Ninguna de estas ejecuciones resulta en abrazo mortal. Sin embargo, considere la secuencia que inicia con ¢,, ts: El proceso a tiene aq y quiere a r, el proceso b tiene a ry quiere a q, El sistema esta en abrazo mortal; ningun proceso puede continuar. Un abrazo mortal en una red de Petri es una transicién (0 un conjunto de transiciones) que no se puede disparar. En la figura 2.1 el abrazo mortal ocurre si las transiciones tz y tsno pueden dispararse. Una transicién tiene vida si no forma parte de un abrazo mortal. Esto no significa que la transicién esté habilitada, sin embargo puede ser habilitada. Una transicién f de una red de Petri C, es potencialmente disparable en un marcado psi existe un marcado p'eR(C,y) y ff esté habilitada en yw’ Una transicion tiene vida en un marcado y si es potencialmente disparable en todos los marcados de R(C,). Asi, si una transicién tiene vida, siempre es posible llevar la red de Petri desde su marcado actual, a un marcado que le permitira dispararse a dicha transicién, Existen otros conceptos relacionados a la vida de una red de Petri, los cuales han sido considerados en los estudios del abrazo mortal. En este trabajo solo se consideraré el grado de vida total que se ha expuesto. Fig. 2.1. Asignacién de recursos para dos procesos (a y b) y dos recursos (a{modelado por p_] y rmodelado por pal) 2.2 Técnicas de analisis de redes de Petri Las técnicas mas usadas para el andlisis de redes de Petri serén mencionadas en esta seccién. Estas técnicas presentan mecanismos de solucién para 4 Capitulo 2 Analisis de redes de Petri conocer la mayoria de las caracteristicas de una red de Petri. La técnica mas importante de andlisis que ha sido utilizada con las redes de Petri es el Arbol de alcance [1, 2]; la otra técnica mencionada envuelve ecuaciones matriciales. 2.2.1 Arbol de alcance de una red de Petri El Arbol de alcance representa el conjunto de estados o marcados alcanzables de una red de Petri desde un marcado inicial 1 . Como un ejemplo, consideremos la red de Petri de la figura 2.2. El marcado inicial es (1, 0, 0). En este marcado inicial hay dos transiciones habilitadas: ty, y fz. Dado que se quiere considerar el conjunto completo de alcance, se definen nuevos nodos en el arbol de alcance para cada marcado alcanzable que resultan de disparar ambas transiciones. Un arco dirigido, etiquetado con la transicion que ha sido disparada, conduce del marcado inicial a cada uno de los nuevos marcados como se muestra en la figura 2.3. Este arbol parcial muestra todos los marcados que son inmediatamente alcanzables desde el marcado inicial. " 2 = Fig. 22. Red de Petri marcada para ejemplificar el célculo del érbol de alcance, Ahora debemos considerar todos los marcados alcanzables desde estos nuevos marcados. Desde el marcado (1, 1, 0), se puede disparar otra vez t, dando (1, 2, 0) y tegenerando (0, 2, 1); desde (0, 1, 1) se puede disparar ts generando (0, 0, 1). Esto produce el arbol que se muestra en la figura 2.4 (1, 0,0) 1,0) 1,1) Fig. 2.3. Se muestra el primer paso en la construccién del Arbol de alcance. 15 Capitulo 2 Analisis de redes de Petri (1, 0,0) /\ (1, 1,0) 1,0 YN ON (1, 2,0) (0,2, 1) ©, 0, 1) Fig. 2.4. Se muestra el segundo paso en la construccién del rbol de alcance. Con los tres nuevos marcados, debemos repetir este proceso, produciendo nuevos marcados y sumandolos al 4rbol como se muestra en la figura 2.5. Nétese que el marcado (0, 0, 1) esta muerto; ninguna transicién esta habilitada y por tanto no hay nuevos marcados producidos desde este marcado en el rbol. También se puede apreciar que el marcado producido al disparar ts en (0, 2,1) es (0, 1, 1), el cual ya fue producido directamente desde el marcado inicial al disparar fz. (1, 0,0) (1, 1,0) 0,1, 1) Y\ . (1,2, 0) (0, 2,1) (0,0, 1) 4,3, 0) 03,1) 1,1) Fig. 2.5. Tercer paso en la construccién del arbol de alcance. Este procedimiento es repetido para cada marcado alcanzable. Sin embargo este proceso puede continuar generando nuevos marcados infinitamente. Cada marcado del conjunto de alcance sera producido, y asi para cualquier red de Petri con un conjunto de alcance infinito, el arbol correspondiente también sera infinito. 16 Capitulo 2 Andlisis de redes de Petri Aun una red de Petri con un conjunto de alcance finito puede tener un arbol de alcance infinito (figura 2.6). El arbol representa todas las posibles secuencias de disparo de transiciones. Cada ruta en el arbol, empezando desde la raiz corresponde a una secuencia posible de transiciones. Si el arbol va a ser una herramienta util para el andlisis se debe buscar la forma de limitar el arbol a un conjunto finito de marcados. (Nétese que si la representacién de un conjunto infinito es finito, entonces un ntimero infinito de marcados fue “mapeado” en la misma representacion. Esto resultara, en general, en una pérdida de informacién, que puede significar que algunas propiedades de la red no puedan ser determinadas, pero esto también depende de cémo se hace la represtacién.) Fig. 2.6. Red de Petri simple con érbol de alcance infinito. b t & t 2 (1,0) ——> 0,1) ——> (1,0) —> 0,1) —> ... Ry La reduccién a una representacién finita se puede lograr de diversas maneras. Se debe buscar una forma de limitar los nuevos marcados (Ilamados nodos frontera) introducidos en cada paso. En esto colaboran los marcados muertos, que son marcados en los cuales no existe transicién alguna habilitada, Estos marcados muertos son conocidos como nodos terminales. Otra clase de marcados son aquellos que han aparecido previamente en el arbol. Estos marcados duplicados son conocidos como nodes duplicados y, ningtin sucesor de un nodo duplicado necesita ser considerado; todos esos sucesores seran producidos desde la primera ocurrencia de ese marcado en el arbol. Asi, en el arbol de la figura 2.5, el marcado (0, 1, 1) que resulta de la secuencia t, f2 ts no produciré mas nodos, dado que ocurrié antes en el arbol como resultado de la secuencia tz desde el marcado inicial Finalmente, para reducir el Arbol de alcance a una representacién finita, consideremos una secuencia de disparo de transiciones o que inicia en el marcado jy termina en el marcado 1/’con y’ > yu. El marcado y’ es el mismo que el marcado 11 excepto que este tiene algunos “tokens” extra en algunos lugares, de modo que, y’ = 4 + (u'- 4) y (u'- 4)>0. Ahora, dado que el disparo de transiciones no es afectado por los “tokens” extra, la secuencia o puede ser disparada de nuevo, empezando en 1’, conduciendo a un marcado 1”. Dado que el efecto de la secuencia de transiciones o fue sumar j/- “tokens” al marcado p, este también sumara jy “tokens” al marcado p/, asi, u"=y'+(u'-u) © 1"=u'+2(u'-u). En general, se puede disparar la secuencia on veces para producir un marcado w+n(u’-u). De esta manera, para aquellos lugares que ganaron “tokens” con la secuencia o, se puede crear un numero arbitrariamente grande de “tokens” simplemente por medio de repetir la secuencia o tantas veces como se desee. En la red de Petri de la 17 Capitulo 2 Anilisis de redes de Petri figura 2.2, por ejemplo se puede disparar la transicién fy tantas veces como se quiera para lograr un numero arbitrario de “tokens” en pz. Se representa el numero infinito de marcados que resulta de este tipo de ciclos. usando el simbolo especial, @, el cual puede interpretarse como infinito y que representa un numero de “tokens” que se puede hacer arbitrariamente grande. Para cualquier constante a, definimos Estas son la unicas operaciones con @ que son necesarias para la construccién del arbol de alcance. Ahora, podemos establecer el algoritmo para construccién de arbol de alcance. Cada nodo j del arbol de alcance es asociado con un marcado extendido j/ij; el marcado es extendido para permitirle al nimero de “tokens” en un lugar ser, ya sea un entero no negativo o el simbolo @ También, cada nodo es clasificado como nodo frontera, nodo terminal, nodo duplicado 0 nodo interno. Los nodos frontera son los que ain no han sido procesados por el. algoritmo; y son convertidos por el algoritmo a nodos terminales, duplicados o interiores. El algoritmo inicia definiendo al marcado inicial como la raiz del arbol e inicialmente como nodo frontera. Mientras existan nodos frontera, estos serén procesados por el algoritmo. Sea x un nodo frontera a ser procesado. 1. Si existe otro nodo y en el érbol que no sea nodo frontera, y que tiene el mismo marcado [x] =y[y], entonces el nodo x es un nodo duplicado. 2. Sino hay transiciones habilitadas para el marcado jx], entonces x es un nodo terminal. 3, Para todas las transiciones f; « T que estén habilitadas en [x], se crea un nuevo nodo z en el érbol de alcance. El marcado ji/z] asociado con este nuevo nodo es, para cada lugar p, (2) Si upxi= @ entonces pfzh= @ (b) Si existe un nodo y en la ruta desde a raiz hasta el nodo x de modo que: HY] < ub ¥ uly < Subd. 18

You might also like