Tesis

733 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
733
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
22
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tesis

  1. 1. ´ UNIVERSIDAD POLITECNICA DE VALENCIA ´ ´departamento de sistemas informaticos y computacion tesis doctoral Redes Reconfigurables. ´ ´ Modelizacion y Verificacion Presentada por: Ma Luisa Llorens Agost Dirigida por: Dr. Javier Oliver Villarroya Valencia, 2003
  2. 2. A mi abuela. A mis padres. A mi hermano.iii
  3. 3. Agradecimientos Esta tesis ha sido el fruto de a˜os de trabajo. No hubiera sido posible sin nla ayuda de mi familia, amigos y compa˜eros. Por ello, quiero dar las gracias: n A mi director de Tesis, Javier Oliver, que fue quien me anim´ a comenzar olos estudios de doctorado y quien ha hecho posible con su inter´s, su dedicaci´n e oy su paciencia que esta tesis saliera adelante. A mis compa˜eros del DSIC. En particular a Inma, por ser m´s que una n acompa˜era, por ser mi amiga. Y a Gabi, por apoyarme y por darme la soluci´n n oa tantos problemas que, para m´ parec´ no tenerla. ı, ıan A mi familia, por estar siempre a mi lado, d´ndome su cari˜o, su apoyo a ny su comprensi´n. En especial a mis padres y a mi hermano, porque siempre ohan estado ah´ cuando los he necesitado. ı A mis amigos de siempre. Especialmente a Bea y a Lourdes, porque s´ que esiempre podr´ contar con ellas. e A todos... gracias. v
  4. 4. Resumen En esta Tesis Doctoral se aborda el problema de la modelizaci´n y la veri- oficaci´n de sistemas concurrentes sujetos a cambios din´micos. El formalismo o ade base es el de las redes de Petri. En lo que concierne a la expresividad delmodelo se busca un mecanismo que tenga en cuenta los cambios din´micos aestructurales de manera local, interna e incremental. Al mismo tiempo, laspropiedades b´sicas de las redes de Petri (acotabilidad de lugares, alcanzabi- alidad, interbloqueo y vivacidad) deben continuar siendo decidibles para estemodelo extendido. En general, lo que se gana normalmente en t´rminos de eexpresividad se traduce en una p´rdida en t´rminos de propiedades decidibles. e eHay que buscar, entonces, un equilibrio entre expresividad y computabilidad. Las gram´ticas de grafos y las redes automodificantes de Valk son las dos a ıneas de investigaci´n origen de nuestro modelo general: los sistemas de rees-l´ ocritura de redes. Ambas l´ıneas dan lugar a modelos que mejoran la expresividadde las redes de Petri para describir el cambio din´mico en sistemas concurrentes apero tienen el inconveniente de que casi todas las propiedades b´sicas decidi- ables de las redes de Petri se pierden. Por ello, para estos modelos extendidosno pueden construirse herramientas autom´ticas de verificaci´n. a o Los sistemas de reescritura de redes son una combinaci´n de redes de Petri ocon sistemas de reescritura de grafos. Cada configuraci´n del sistema es una ored de Petri y un cambio de configuraci´n es una regla de reescritura de grafos. oLa expresividad de los sistemas de reescritura de redes es la misma que la de lam´quina de Turing, es decir, las propiedades b´sicas decidibles de las redes de a aPetri se pierden en estos sistemas, no siendo posible la verificaci´n autom´tica. o a Las redes reconfigurables son una subclase de los sistemas de reescritura deredes equivalente formalmente a las redes de Petri, lo que asegura que todaslas propiedades fundamentales de las redes de Petri siguen siendo decibiblespara este modelo y, por tanto, es factible la verificaci´n autom´tica. o a vii
  5. 5. Resum En aquesta Tesi Doctoral s’ aborda el problema de la modelitzaci´ i la veri- oficaci´ de sistemes concurrents subjectes a canvis din`mics. El formalisme de o abase ´s el de les xarxes de Petri. Pel que fa a l’ expressivitat del model es busca eun mecanisme que tinga en compte els canvis din`mics estructurals de manera alocal, interna i incremental. Al mateix temps, les propietats b`siques de les axarxes de Petri (acotabilitat de llocs, assequibilitat, interbloqueig i vivacitat)deuen continuar sent decidibles per aquest model est`s. En general, el que es eguanya normalment en termes d’ expressivitat es tradueix en una p`rdua en etermes de propietats decidibles. Hi ha que buscar, aleshores, un equilibri entreexpressivitat i computabilitat. Les gram`tiques de grafs i les xarxes automodificants de Valk s´n les dues a o ınies d’ investigaci´ origen del nostre model general: els sistemes de reescritural´ ode xarxes. Ambdues l´ ınies donen lloc a models que milloren l’ expressivitat deles xarxes de Petri per a descriure el canvi din`mic en sistemes concurrents aper` tenen l’ inconvenient de que quasi totes les propietats b`siques decidibles o ade les xarxes de Petri es perden. Per aix`, per aquestos models estesos no opoden construir-se ferramentes autom`tiques de verificaci´. a o Els sistemes de reescritura de xarxes s´n una combinaci´ de xarxes de Petri o oamb sistemes de reescritura de grafs. Cada configuraci´ del sistema ´s una o exarxa de Petri i un canvi de configuraci´ ´s una regla de reescritura de grafs. oeL’ expressivitat dels sistemes de reescritura de xarxes ´s la mateixa que la de la em`quina de Turing, ´s a dir, les propietats b`siques decidibles de les xarxes de a e aPetri es perden en aquestos sistemes, no sent possible la verificaci´ autom`tica. o a Les xarxes reconfigurables s´n una subclasse dels sistemes de reescritura de oxarxes equivalent formalment a les xarxes de Petri, la qual cosa assegura quetotes les propietats fonamentals de les xarxes de Petri segueixen sent decibiblesper aquest model i, per tant, ´s factible la verificaci´ autom`tica. e o a ix
  6. 6. Abstract In this Thesis we address the issues of modelling and verification of con-current systems subject to dynamic changes using Petri net formalisms. As faras the expressiveness of the model is concerned a built-in and decentralizedmechanism for handling structural changes is looked for. At the same timethe basic decidable properties of Petri nets (place boundedness, reachability,deadlock and liveness) should remain decidable for the extended model. Ingeneral, the gain in terms of modelling power is usually paid by a loss of de-cidable properties. A trade-off needs to be found between expressiveness andcomputability. The proposed general model of net rewriting systems arises from two dif-ferent lines of research: graph grammars and Valk’s self-modifying nets. Bothproposals lead to models that enhance the expressiveness of the basic model ofPetri nets so that it can support the description of concurrent systems subjectto dynamic changes. However, most of the basic decidable properties of Petrinets are lost for these extended models. Therefore no automatic verificationtools could be implemented in the context of these models. Net rewriting systems combine Petri nets with graph rewriting systems.The idea is to describe a system configuration as a Petri net and a change ofconfiguration as a graph rewriting rule. The class of net rewriting systems isTuring powerful, that is, the basic decidable properties of Petri nets are lostand thus automatic verification is not longer possible for this larger class. Reconfigurable nets are a subclass of net rewriting systems formally equiva-lent to Petri nets. This equivalence ensures that all the fundamental propertiesof Petri nets are still decidable for reconfigurable nets and this model is thusamenable to automatic verification tools. xi
  7. 7. Tabla de contenidosAgradecimientos VResumen VIIResum IXAbstract XITabla de contenidos XIII´Indice de figuras XVII´Indice de tablas XXI´Indice de algoritmos XXIIIPr´logo o 11. Redes de Petri 5 1.1. Conceptos B´sicos . . . . . . . . . . . . . . . . . . . . . . . . . a 6 1.1.1. Subclases de Redes de Petri m´s habituales . . . . . . . a 9 1.2. Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2.1. Propiedades de Comportamiento . . . . . . . . . . . . . 11 xiii
  8. 8. 1.2.2. Propiedades Estructurales . . . . . . . . . . . . . . . . . 13 1.3. An´lisis de redes de Petri . . . . . . . . . . . . . . . . . . . . . . 14 a ´ 1.3.1. Arbol de Cobertura (o Alcanzabilidad) . . . . . . . . . . 14 1.3.2. Ecuaciones Matriciales . . . . . . . . . . . . . . . . . . . 17 1.3.3. T´cnicas de reducci´n y s´ e o ıntesis . . . . . . . . . . . . . . 24 1.4. Decidibilidad y Complejidad . . . . . . . . . . . . . . . . . . . . 242. L´ ıneas de Investigaci´n o 37 2.1. Redes Automodificantes . . . . . . . . . . . . . . . . . . . . . . 37 2.2. Gram´ticas de Grafos . . . . . . . . . . . . . . . . . . . . . . . . 40 a3. Revisi´n de Trabajos Relacionados o 49 3.1. Las Redes M´viles . . . . . . . . . . . . . . . . . . . . . . . . . 50 o 3.2. Las Redes Din´micas . . . . . . . . . . . . . . . . . . . . . . . . 52 a 3.3. Las Redes ∆ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.4. El Formalismo POP . . . . . . . . . . . . . . . . . . . . . . . . 56 3.5. Los Aut´matas Cooperativos . . . . . . . . . . . . . . . . . . . . 58 o4. Redes Reconfigurables. Propuesta inicial 63 4.1. Cambios Din´micos en Sistemas Workflow: Redes Reconfigurables 65 a 4.1.1. Sistemas Workflow . . . . . . . . . . . . . . . . . . . . . 65 4.1.2. Redes Reconfigurables . . . . . . . . . . . . . . . . . . . 66 4.1.3. Acotamiento de una Red Reconfigurable . . . . . . . . . 74 4.1.4. Redes Reconfigurables como Redes Automodificantes . . 80 4.2. Redes Reconfigurables Reversibles . . . . . . . . . . . . . . . . . 83 4.2.1. Redes de Petri Controladas por un Aut´mata . . . . . . 84 o 4.2.2. Redes Reconfigurables Reversibles . . . . . . . . . . . . . 90 xiv
  9. 9. 4.2.3. Redes Reconfigurables Reversibles y Redes de Petri Con- troladas por un Aut´mata . . . . . . . . . . . . . . . . . 94 o 4.2.4. Redes Reconfigurables Reversibles y Redes de Petri Es- tratificadas . . . . . . . . . . . . . . . . . . . . . . . . . 98 4.3. Algunos ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . 107 4.3.1. Env´ de paquetes de informaci´n en una red de trans- ıo o misi´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 o 4.3.2. Una f´brica de ensamblaje con diferentes modos de ope- a raci´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 o 4.3.3. Flujos en una red . . . . . . . . . . . . . . . . . . . . . . 1135. Sistemas de Reescritura de Redes. Redes Reconfigurables 117 5.1. Sistema de Reescritura de Redes . . . . . . . . . . . . . . . . . . 118 5.2. Redes Reconfigurables . . . . . . . . . . . . . . . . . . . . . . . 123 5.3. Simulaci´n de M´quinas de Turing con Sistemas de Reescritura o a de Redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 5.3.1. Sistemas de Reescritura de Redes K-ordenadas . . . . . . 130 5.3.2. Simulaci´n de una M´quina de Turing . . . . . . . . . . 135 o a 5.4. Implementaci´n de Redes Reconfigurables con Redes de Petri . . 140 o 5.5. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1466. Verificaci´n o 153 ´ 6.1. Arbol de Cobertura de una Red Reconfigurable . . . . . . . . . 155 6.2. Ecuaci´n de Estados . . . . . . . . . . . . . . . . . . . . . . . . 157 o7. Desarrollo de una herramienta software 161 7.1. Editor gr´fico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 a 7.1.1. PED. Un editor de redes de Petri . . . . . . . . . . . . . 164 7.1.2. Dise˜o de la red reconfigurable en PED . . . . . . . . . . 165 n xv
  10. 10. 7.2. Simulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 7.2.1. Simulador A . . . . . . . . . . . . . . . . . . . . . . . . . 166 7.2.2. Simulador B . . . . . . . . . . . . . . . . . . . . . . . . . 167 7.3. Analizador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 7.3.1. Analizador A . . . . . . . . . . . . . . . . . . . . . . . . 167 7.3.2. Analizador B . . . . . . . . . . . . . . . . . . . . . . . . 1688. Conclusiones y trabajos futuros 169Referencias 174 xvi
  11. 11. ´Indice de figuras 1.1. Red de Petri (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2. Marcado de la red de Petri de la Figura 1.1 despu´s del disparo e de la transici´n t1 . . . . . . . . . . . . . . . . . . . . . . . . . . o 9 ´ 1.3. Arbol de cobertura (alcanzabilidad) de la red de Petri de la Figura 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.4. Red de Petri (b) . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 ´ 1.5. Arbol de cobertura de la red de Petri de la Figura 1.4 . . . . . . 17 1.6. Seis transformaciones que preservan vivacidad, seguridad y aco- tamiento [Mur89] . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.7. Test de cero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.8. Arco inhibidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.9. Puesta a cero de un lugar p . . . . . . . . . . . . . . . . . . . . 27 1.10. Arco reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 1.11. Transferencia del contenido del lugar p al lugar q . . . . . . . . 28 1.12. Arco de transferencia . . . . . . . . . . . . . . . . . . . . . . . . 29 1.13. Arco doble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.14. Clases de Decidibilidad . . . . . . . . . . . . . . . . . . . . . . . 35 2.1. Implementaci´n de arcos inhibidores, reset y de transferencia en o redes automodificantes . . . . . . . . . . . . . . . . . . . . . . . 40 2.2. Diagrama de Pegado . . . . . . . . . . . . . . . . . . . . . . . . 43 xvii
  12. 12. 2.3. Derivaci´n directa como diagrama de pegado doble . . . . . . . 45 o2.4. Un paso de reescritura de grafos en la aproximaci´n de doble o pegado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462.5. (a) Una transici´n de una red de Petri. (b) La correspondiente o producci´n de grafos. . . . . . . . . . . . . . . . . . . . . . . . . 47 o2.6. (a) Disparo de una transici´n de una red de Petri. (b) Diagrama o de pegado doble correspondiente. . . . . . . . . . . . . . . . . . 474.1. Cambio synthetic cut-over . . . . . . . . . . . . . . . . . . . . . 704.2. Fragmento del grafo de marcado de la red reconfigurable de la Figura 4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.3. Traducci´n de una red reconfigurable en una red automodifi- o cante equivalente . . . . . . . . . . . . . . . . . . . . . . . . . . 814.4. Desde una red impura a una red pura . . . . . . . . . . . . . . . 874.5. Red Reconfigurable Reversible de la Figura 4.1 como una Red de Petri Controlada por un Aut´mata . . . . . . . . . . . . . . . 95 o4.6. Red de Petri estratificada equivalente a la red reconfigurable de la Figura 4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004.7. Red reconfigurable reversible como una composici´n en cascada o de redes de Petri . . . . . . . . . . . . . . . . . . . . . . . . . . 1034.8. Red de Petri estratificada equivalente a una red reconfigurable reversible simple . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064.9. Red reconfigurable reversible marcada . . . . . . . . . . . . . . . 1084.10. Las 12 configuraciones de la red reconfigurable reversible de la Figura 4.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094.11. RPCA de la red reconfigurable reversible de la Figura 4.9 . . . . 1104.12. F´brica de ensamblaje con diferentes modos de operaci´n . . . . 111 a o4.13. Cambio del modo I al modo II . . . . . . . . . . . . . . . . . . . 1134.14. Un flujo (en la parte derecha) del sistema workflow (en la parte izquierda) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 xviii
  13. 13. 4.15. Un conjunto generador de ciclos . . . . . . . . . . . . . . . . . . 1144.16. Red asociada al conjunto generador de ciclos de la Figura 4.15 . 1154.17. Comportamiento de un nodo de la red . . . . . . . . . . . . . . 1155.1. Sistema de Reescritura de Redes modelizando un sistema de impresoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205.2. Cambio de configuraci´n debido a la regla de reescritura triple . 122 o5.3. Sistema con dos l´ ıneas half-duplex entre dos producto- res/consumidores . . . . . . . . . . . . . . . . . . . . . . . . . . 1265.4. Regla de reescritura R1 . . . . . . . . . . . . . . . . . . . . . . . 1275.5. Regla de reescritura R2 . . . . . . . . . . . . . . . . . . . . . . . 1275.6. Regla de reescritura R3 . . . . . . . . . . . . . . . . . . . . . . . 1285.7. Regla de reescritura R4 . . . . . . . . . . . . . . . . . . . . . . . 1285.8. Estado obtenido tras aplicar la regla R1 al estado representado en la Figura 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295.9. Fragmento del grafo de estados del sistema de la Figura 5.3 . . . 1295.10. Representaci´n del orden en una transici´n y un lugar . . . . . . 134 o o5.11. Implementaci´n de una m´quina de Turing con un sistema de o a reescritura de redes K-ordenadas . . . . . . . . . . . . . . . . . 1375.12. Parte de la red de Petri equivalente a la red reconfigurable del Ejemplo 166 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1455.13. Estado inicial de la red de transmisi´n . . . . . . . . . . . . . . 147 o5.14. Las 8 reglas de reescritura de la red reconfigurable de la Figura 5.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1495.15. Las 12 configuraciones de la red reconfigurable de la Figura 5.13 1505.16. Grafo de configuraci´n de la red reconfigurable de la Figura 5.13 151 o5.17. Nuevo estado alcanzado tras la aplicaci´n de la regla R8 al es- o tado de la Figura 5.13 . . . . . . . . . . . . . . . . . . . . . . . 1515.18. Red de Petri equivalente a la Figura 5.13 . . . . . . . . . . . . . 152 xix
  14. 14. ´Indice de tablas 1.1. Propiedades Estructurales. Condiciones necesarias y suficientes . 21 1.2. Tabla Dufourd . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 1.3. Tabla Dufourd completa . . . . . . . . . . . . . . . . . . . . . . 34 xxi
  15. 15. ´Indice de algoritmos 1. ´ Arbol de Cobertura de una Red de Petri . . . . . . . . . . . . . 15 2. Derivaci´n Directa . . . . . . . . . . . . . . . . . . . . . o . . . . 45 3. ´ Arbol de Cobertura de una Red Reconfigurable Marcada . . . . 76 4. ´ Arbol de Cobertura de una RPCA . . . . . . . . . . . . . . . . 90 5. ´ Arbol de Cobertura de una RRR . . . . . . . . . . . . . . . . . 99 6. Red de Petri equivalente a una Red Reconfigurable . . . . . . . 142 7. ´ Arbol de Cobertura de una Red Reconfigurable . . . . . . . . . 156 xxiii
  16. 16. Pr´logo o Las redes de Petri [Mur89][Pet81] son un formalismo para modelizar, ana-lizar, simular, controlar y evaluar el comportamiento de sistemas concurrentesy distribuidos. Han jugado un papel importante en el desarrollo de estos siste-mas ya que, entre otras posibilidades, pueden considerarse como un lenguajeformal y gr´fico para su modelizaci´n. Adem´s, las redes de Petri tienen una a o as´lida base matem´tica que permite el an´lisis cualitativo de las propiedades o a ade tales sistemas como el interbloqueo y la acotabilidad. Sin embargo, el for-malismo de las redes de Petri no ofrece una manera directa de representarcaracter´ısticas tales como cambios din´micos de actividades, migraci´n de ta- a oreas, modos de operaci´n m´ltiples, etc., que son importantes en el dise˜o de o u nsistemas concurrentes. Por ello, para modelizar sistemas concurrentes y distri-buidos reales se utilizan extensiones de redes de Petri dise˜adas para permitir nla modelizaci´n de alguna de las caracter´ o ısticas anteriores. Con estas extensio-nes, normalmente, lo que se gana en poder de modelado se paga en p´rdida de epropiedades decidibles. Lo que hay que conseguir es, por tanto, un equilibrioentre expresividad y computabilidad. El objetivo fundamental que ha guiado el desarrollo de la Tesis Doctoralque aqu´ se presenta es la modelizaci´n y verificaci´n de sistemas concurrentes ı o osujetos a cambios din´micos. Vamos a centrarnos en un modelo de red de aPetri que va a permitir el cambio din´mico en la propia estructura de la red. aDin´mico significa que un proceso puede reiniciarse en un momento dado sin aque el sistema tenga que pararse, demorarse o abortar y las transaccionesen progreso pueden continuar en medio del cambio estructural. Adem´s, es aimportante que el mecanismo que maneje el cambio din´mico est´ representado a eexpl´ıcitamente en el modelo para que en cada etapa del desarrollo del producto,los dise˜adores puedan experimentar el efecto de los cambios estructurales, por nejemplo, utilizando prototipos. Esto significa que los cambios estructurales setienen en cuenta desde el inicio del proceso de dise˜o en lugar de ser tratados npor un sistema global y externo, por ejemplo, alg´n mecanismo de manejo u 1
  17. 17. 2 Pr´logo ode excepciones, dise˜ado y a˜adido al modelo describiendo el comportamiento n nnormal del sistema. Por tanto, en nuestro modelo se fomenta una descripci´n ode los cambios interna e incremental sobre una descripci´n externa y uniforme, oy un tratamiento de los cambios local sobre un tratamiento global, que sueleser la manera habitual de abordarlo. El modelo que aqu´ se propone son los sistemas de reescritura de redes, que ıtienen su origen en dos l´ıneas de investigaci´n diferentes ambas relacionadas ocon el formalismo de las redes de Petri y cuyo prop´sito es mejorar la expresi- ovidad del modelo b´sico de las redes de Petri para soportar la descripci´n de a osistemas concurrentes sujetos a cambios din´micos. La primera l´ a ınea de inves-tigaci´n estudia la manera de fusionar redes de Petri con Gram´ticas de Grafos o a[Sch93][Cor95][Bal00], mientras que la segunda, representada en particular porlas redes Automodificantes de R. Valk [Val78a, Val78b, Val81], estudia redes dePetri cuyas relaciones de flujo pueden cambiar en tiempo de ejecuci´n. Ambas opropuestas dan lugar a modelos expresivos que aportan indudables ventajascon respecto al resto de los modelos existentes. Sin embargo, la mayor´ (si no ıatodas) las propiedades b´sicas decidibles de las redes de Petri (acotabilidad de alugares, alcanzabilidad, interbloqueo y vivacidad) se pierden en estos modelos.Como consecuencia, no pueden construirse herramientas autom´ticas de verifi- acaci´n para dichos modelos extendidos. Las redes reconfigurables, una subclase ode los sistemas de reescritura de redes, intentan combinar las caracter´ ısticasm´s significativas de las dos aproximaciones de manera que las propiedades afundamentales sean decidibles, con lo que en este modelo ser´ factible la veri- aficaci´n autom´tica. o a Cabe resaltar que el origen del trabajo desarrollado en la presente Tesis sur-ge como consecuencia de la colaboraci´n en el proyecto Paragraphe del centro ode investigaci´n IRISA de Rennes (Francia), perteneciente al INRIA franc´s. o eEn concreto, uno de sus miembros, el doctor Eric Badouel ha participado ac-tivamente en gran parte del proceso. Esta disertaci´n se estructura como sigue. o En el Cap´ ıtulo 1 se presenta el formalismo de las redes de Petri (definicio-nes formales, clasificaci´n, propiedades, t´cnicas de an´lisis y estudios sobre o e adecidibilidad y complejidad). En el Cap´ıtulo 2 se presentan las dos l´ ıneas de investigaci´n origen del omodelo de los sistemas de reescritura de redes y de las redes reconfigurables,las redes Automodificantes de R. Valk [Val78a, Val78b, Val81] y las Gram´ticas a
  18. 18. 3de Grafos [Ehr87][Sch93][Cor95][Bal00]. En el Cap´ıtulo 3 se presentan otros modelos existentes en la literatura quese basan en la misma idea para describir sistemas concurrentes din´micos: las aredes m´viles de Asperti y Busi [AB96], las redes din´micas de Buscemi y Sas- o asone [BS01], las redes ∆ de Gradit y Vernadat [GVA99, GV99], el formalismoPOP de Engelfriet, Leih y Rozenberg [ELR91] y los aut´matas cooperativos de oBadouel, Darondeau y Tokmakoff [BDT99]. En el Cap´ıtulo 4 se presentan los estudios previos sobre redes reconfigu-rables basados en parte de los trabajos realizados por Eric Badouel y JavierOliver en [BO98a] y [BO99] y que fundamentan la presente Tesis. En el Cap´ ıtulo 5 se introduce la definici´n de Sistemas de Reescritura de oRedes y la definici´n de red Reconfigurable como una subclase de sistema ode reescritura de redes. Para las redes reconfigurables demostramos que suexpresividad y la de las redes de Petri es equivalente, pero con las redes recon-figurables podemos modelizar m´s f´cil y directamente sistemas que cambian a asu estructura din´micamente. As´ pues, todas las propiedades fundamentales a ıde las redes de Petri siguen siendo decidibles para las redes reconfigurables.Para la clase de los sistemas de reescritura de redes demostramos que tienenel poder expresivo de la m´quina de Turing. Por tanto, para esta clase no es aposible encontrar herramientas de verificaci´n autom´tica, mientras que s´ que o a ılo es para la subclase de las redes reconfigurables. En el Cap´ıtulo 6, partiendo de la equivalencia entre redes de Petri y redesreconfigurables y de que el tama˜o de un sistema modelizado con una red nreconfigurable es mucho menor que el tama˜o del mismo sistema modelizado nmediante una red de Petri, se presentan distintas t´cnicas de verificaci´n de e opropiedades de las redes de Petri implementadas directamente en el modelo delas redes reconfigurables. En el Cap´ ıtulo 7 se muestra el desarrollo de una herramienta software desimulaci´n y verificaci´n para el modelo de las redes reconfigurables, que hace o ouso de las t´cnicas presentadas en el Cap´ e ıtulo 6 para el an´lisis de propiedades. a Por ultimo, en el Cap´ ´ ıtulo 8 se presentan las conclusiones obtenidas tras larealizaci´n del presente trabajo de tesis y se exponen brevemente las l´ o ıneas detrabajo futuras para la ampliaci´n de ciertos aspectos interesantes que quedan ofuera del alcance de la presente disertaci´n. o
  19. 19. Cap´ ıtulo 1Redes de Petri Las redes de Petri, introducidas por Carl Adam Petri a principios de losa˜os 60 [Pet62][Rei85], son una herramienta gr´fica y matem´tica para el es- n a atudio de un gran n´mero de sistemas: son uno de los formalismos m´s amplia- u amente aceptados para modelizar sistemas concurrentes y distribuidos. El ´xito ede las redes de Petri en los ultimos 40 a˜os puede medirse no s´lo por las incon- ´ n otables situaciones en las que se pueden aplicar sino tambi´n por el desarrollo ede aspectos te´ricos, que van desde un an´lisis completo de distintos fen´me- o a onos en los modelos m´s simples a la definici´n de clases de redes con mayor a oexpresividad (y m´s complejas). La principal aplicaci´n de las redes de Petri a oes la modelizaci´n y el an´lisis de sistemas con componentes concurrentes que o ainteract´an. Un modelo es una representaci´n (en t´rminos matem´ticos) de u o e alas caracter´ısticas m´s importantes del objeto o sistema de estudio. Manipu- alando esta representaci´n, se pueden obtener nuevos conocimientos del sistema omodelado sin ning´n coste o peligro para el sistema real. Sin embargo, el mo- udelado por s´ solo sirve de poco. Es necesario analizar el sistema modelado. El ısistema se modela primero como una red de Petri y despu´s, este modelo se eanaliza. Este an´lisis nos lleva a una mejor comprensi´n del comportamiento a odel sistema modelado. Para realizar el an´lisis de las propiedades de una red de aPetri se han desarrollado diferentes t´cnicas, autom´ticas o no, seg´n los casos, e a uque permiten la verificaci´n de las propiedades que el sistema construido po- osea. De hecho, una l´ ınea de trabajo muy importante en los ultimos a˜os ha sido ´ nla construcci´n de herramientas autom´ticas de verificaci´n para las diferentes o a oextensiones que sobre el modelo de las redes de Petri se han propuesto. Este cap´ ıtulo est´ dedicado ´ a ıntegramente a las redes de Petri, y constituye 5
  20. 20. 6 Cap´ ıtulo 1 Redes de Petrila base para el desarrollo del resto de cap´ ıtulos. En la Secci´n 1.1 presentamos olos conceptos b´sicos de las redes de Petri, incluyendo la definici´n de las a osubclases de redes de Petri m´s habituales. En la Secci´n 1.2 mostramos los a odistintos tipos de propiedades que se pueden estudiar con redes de Petri. En laSecci´n 1.3 exponemos los m´todos existentes de an´lisis de redes de Petri. Por o e aultimo, dedicamos la Secci´n 1.4 a presentar los t´picos sobre decidibilidad y´ o ocomplejidad de problemas de verificaci´n de redes de Petri. o1.1. Conceptos B´sicos aDefinici´n 1 (Red de Petri [Mur89][Rei85]) Una red de Petri es una tu- opla N = (P, T, F ) donde P = {p1 , p2 , . . . , pm } es un conjunto finito de lugares,T = {t1 , t2 , . . . , tn } es un conjunto finito de transiciones, tales que P ∩ T = ∅y P ∪ T = ∅ y F : (P × T ) ∪ (T × P ) → {0, 1, 2, 3, . . .} es un conjunto de arcosponderados (o relaci´n de flujo). oDefinici´n 2 (Marcado) Un marcado es una aplicaci´n M : P → o o{0, 1, 2, 3, . . .} que asigna a cada lugar un entero no negativo ( token), de formaque decimos que un lugar p est´ marcado con k tokens si el marcado asigna aal lugar p un entero k. Un marcado M se representa mediante un vector contantas componentes como lugares tenga la red. El n´mero de tokens en el lugar up ser´ M (p). aDefinici´n 3 (Red de Petri Marcada) Una red de Petri marcada es un opar (N, M ) formado por una red de Petri N y un marcado M . A una red de Petri podemos asociarle un grafo dirigido con dos clases dis-juntas de nodos, los lugares y las transiciones. Un c´ ırculo representa unlugar y una barra representa una transici´n. Los arcos dirigidos (flechas) oconectan lugares y transiciones. Algunos arcos van desde un lugar a una tran-sici´n y otros desde una transici´n a un lugar. Un arco dirigido desde un lugar o op a una transici´n t define p como un lugar de entrada para t. Un lugar de osalida se indica con un arco desde la transici´n al lugar. Una transici´n tiene o oun determinado n´mero de lugares de entrada (o precondiciones) y de lugares ude salida (o postcondiciones). Los arcos se etiquetan con sus pesos (enterospositivos). Si una de esas etiquetas se omite, significa que el arco tiene pesouno. Los tokens se representan como puntos negros • en los lugares.
  21. 21. 1.1 Conceptos B´sicos a 7 t1 p2 t2 2 2 ·· · p1 p3 p4 2 t3 Figura 1.1: Red de Petri (a)Definici´n 4 (Preset de una transici´n t) El preset de una transici´n t o o oes el conjunto de todos los lugares de entrada a la transici´n t, • t = {∀p ∈ oP | F (p, t) = 0}.Definici´n 5 (Postset de una transici´n t) El postset de una transici´n o o o •t es el conjunto de todos los lugares de salida de la transici´n t, t = {∀p ∈ oP | F (t, p) = 0}.Definici´n 6 (Preset de un lugar p) El preset de un lugar p es el conjun- oto de todas las transiciones de entrada al lugar p, • p = {∀t ∈ T | F (t, p) = 0}.Definici´n 7 (Postset de un lugar p) El postset de un lugar p es el con- ojunto de todas las transiciones de salida del lugar p, p• = {∀t ∈ T | F (p, t) =0}.Ejemplo 8 Para la red de Petri (N, M ) de la Figura 1.1, los conjuntos presety postset de transiciones y lugares son los siguientes: • t1 = {p1 } t• = {p2 , p3 } 1 • p1 = {t2 , t3 } p• 1 = {t1 } • t2 = {p2 , p4 } t• = {p1 } 2 • p2 = {t1 } p• 2 = {t2 } • t3 = {p3 } t• = {p1 , p4 } 3 • p3 = {t1 } p• 3 = {t3 } • p4 = {t3 } p• 4 = {t2 } El cambio en el marcado de la red es el que simula el comportamientodin´mico de un sistema modelado mediante una red de Petri. Una red de Petri ase ejecuta por el disparo de transiciones. Una transici´n se dispara eliminando otokens de sus lugares de entrada y creando nuevos tokens distribuidos por suslugares de salida.
  22. 22. 8 Cap´ ıtulo 1 Redes de Petri Una transici´n puede dispararse si est´ habilitada. Una transici´n est´ ha- o a o abilitada si en cada uno de sus lugares de entrada hay, al menos, tantos tokenscomo el peso de los arcos que los conectan con la transici´n. Formalmente, oDefinici´n 9 (Transici´n Habilitada) Una transici´n t se dice habilitada o o osi cada lugar de entrada p de t est´ marcado con al menos F (p, t) tokens, es adecir, con el entero que representa el peso del arco de p a t, • ∀p ∈ t M (p) ≥ F (p, t) El disparo de una transici´n habilitada hace que se eliminen tantos tokens ode sus lugares de entrada como indique el peso de los arcos que los conectancon la transici´n, y hace que en sus lugares de salida se depositen tantos tokens ocomo indique el peso de los arcos que conectan dichos lugares con la transici´n. o Disparar una transici´n cambia el marcado M de una red de Petri a un onuevo marcado M . Puesto que unicamente pueden dispararse las transiciones ´habilitadas, el n´mero de tokens de cada lugar siempre ser´ positivo cuando u auna transici´n se dispare. Si no hay tokens suficientes en alguno de los lugares ode entrada de una transici´n, entonces la transici´n no estar´ habilitada y no o o ase disparar´. aDefinici´n 10 (Disparo de una transici´n) Una transici´n puede dispa- o o orarse siempre que est´ habilitada. e El disparo de una transici´n t habilitada en un marcado M elimina F (p, t) otokens de cada lugar de entrada p de t, y a˜ade F (t, p) tokens a cada lugar de nsalida p de t, donde F (t, p) es el peso del arco de t a p. El marcado M resultado del disparo de una transici´n t habilitada en un omarcado M , M [t M , se define como sigue M (p) = M (p) − F (p, t) + F (p, t) ∀p ∈ (• t ∩ t• ) M (p) = M (p) − F (p, t) ∀p ∈ • tt• M (p) = M (p) + F (t, p) ∀p ∈ t• • t M (p) = M (p) en otro casoEjemplo 11 Las transiciones habilitadas en la red de Petri de la Figura 1.1son t1 y t3 . Si se dispara la transici´n t1 , el marcado de la red M = (2, 0, 1, 0) ocambia al marcado M = (0, 1, 2, 0) como se muestra en la Figura 1.2.
  23. 23. 1.1 Conceptos B´sicos a 9 · t1 p2 t2 2 2 ·· p1 p3 p4 2 t3Figura 1.2: Marcado de la red de Petri de la Figura 1.1 despu´s del disparo de ela transici´n t1 o1.1.1. Subclases de Redes de Petri m´s habituales aDefinici´n 12 (Red de Petri Pura) Una red de Petri se llama pura si no otiene bucles, es decir, ∀t ∈ T {• t} ∩ {t• } = ∅, los lugares de entrada de t noson a la vez lugares de salida de t.Definici´n 13 (Red de Petri Ordinaria) Una red de Petri se dice ordina- oria si el peso de todos sus arcos es 1.Definici´n 14 (Red de Petri Simple) Una red de Petri simple es una red ode Petri ordinaria tal que: p• ∩ p• = ∅ ⇒ (p• ⊆ p• ) ∨ (p• ⊆ p• ). 1 2 1 2 2 1Definici´n 15 (Grafo Marcado) Un grafo marcado es una red de Petri or- odinaria en la que cada lugar tiene exactamente una transici´n de entrada y una ode salida, es decir, |• p| = |p• | = 1 ∀p ∈ P .Definici´n 16 (M´quina de Estados) Una m´quina de estados es una red o a ade Petri ordinaria en la que cada transici´n tiene exactamente un lugar de o • •entrada y uno de salida, es decir, | t| = |t | = 1 ∀t ∈ T .Definici´n 17 (Red de Libre Elecci´n (Free-Choice Net)) Una red de o olibre elecci´n es una red de Petri ordinaria tal que un arco desde un lugar es oel unico arco saliente o es la unica entrada a una transici´n, es decir, ∀t j ∈ T ´ ´ o • • •y pi ∈ tj , tj = {pi } o pi = {tj }.Definici´n 18 (Red de Petri Lugar/Transici´n (Red L/T)) Una red o ode Petri Lugar/Transici´n es una 6-tupla N = (P, T, F, K, M, W ) tal que o
  24. 24. 10 Cap´ ıtulo 1 Redes de Petri (P, T, F ) es una red finita siendo P y T un conjunto de lugares y transi- ciones, respectivamente; K : P → N ∪ {ω} da una capacidad (posiblemente ilimitada) a cada lugar; W : F → N {0} asigna un peso a cada arco de la red; M : P → N ∪ {ω} es el marcado inicial, respetando las capacidades, es decir, M (p) ≤ K(p) para todo p ∈ P . En la siguiente definici´n, damos la regla de disparo para redes L/T. oDefinici´n 19 (Regla de Disparo para redes L/T) Sea N una red Lu- ogar/Transici´n, o Una aplicaci´n M : P → N ∪ {ω} se llama marcado de N sii M (p) ≤ K(p) opara todo p ∈ P . Una transici´n t ∈ T est´ habilitada en un marcado M sii o a • ∀p ∈ t : M (p) ≥ W (p, t) y ∀p ∈ t• : M (p) ≤ K(p) − W (t, p) Una transici´n t ∈ T habilitada en M conduce a un marcado M , M [t M , otal que para cada p ∈ P  •  M (p) − W (p, t)  sii p∈ tt•  M (p) + W (t, p) sii p∈ t • • t M (p) = •  M (p) − W (p, t) + W (t, p)  sii p∈ t ∩ t•  M (p) en otro caso1.2. Propiedades Con una red de Petri pueden estudiarse dos tipos de propiedades: las quedependen del marcado inicial (propiedades de comportamiento) y las que sonindependientes del marcado inicial (propiedades estructurales).
  25. 25. 1.2 Propiedades 111.2.1. Propiedades de Comportamiento Las principales propiedades de comportamiento son la alcanzabilidad, laacotabilidad, la vivacidad, la reversibilidad, la cobertura y la persistencia.Definici´n 20 (Marcado Alcanzable) Un marcado Mn se dice alcanzable odesde un marcado M0 si existe una secuencia de disparos que transforma M0en Mn . Una secuencia de disparo se denota por σ = t1 t2 · · · tn . En este caso,Mn es alcanzable desde M0 mediante σ y se escribe M0 [σ Mn . El conjunto detodos los posibles marcados alcanzables desde M0 en una red (N, M0 ) se denotapor R(N, M0 ) o simplemente por R(M0 ).Definici´n 21 (Problema de Alcanzabilidad) El problema de la alcan- ozabilidad para las redes de Petri ser´ el problema de encontrar si Mn ∈ R(M0 ) aen una red dada (N, M0 ).Definici´n 22 (Red de Petri Acotada) Una red de Petri (N, M0 ) se dice ok-acotada o acotada si el n´mero de tokens en cada lugar no es superior a un un´mero finito k para cualquier marcado alcanzable desde M0 , es decir, M (p) ≤ uk para todo lugar p y todo marcado M ∈ R(M0 ).Definici´n 23 (Red de Petri Segura) Una red de Petri (N, M0 ) se dice osegura si est´ 1-acotada. aDefinici´n 24 (Interbloqueo) Se dice que en una red de Petri ocurre un ointerbloqueo cuando se alcanza un marcado desde el que no se puede dispararninguna transici´n. oDefinici´n 25 (Red de Petri Viva) Una red de Petri (N, M0 ) se dice que oest´ viva (o equivalentemente se dice que M0 es un marcado vivo para N ) asi, sea cual sea el marcado que se alcance desde M0 , existe una secuenciadisparable que permite disparar cualquier transici´n de la red. o La vivacidad garantiza, por tanto, la ausencia de interbloqueos. Esto impli-ca que cualquier transici´n es eventualmente disparable en alguna secuencia de odisparo. Esta es una propiedad muy fuerte y, a menudo, muy dif´ de verificar. ıcilPor ello, se habla se grados de disparo denominados niveles [Mur89][Pet81].Concretamente, cuando una transici´n t est´ viva en o a
  26. 26. 12 Cap´ ıtulo 1 Redes de Petri Nivel 0 : Nunca puede ser disparada. Es una transici´n muerta. o Nivel 1 : Es potencialmente disparable, lo que significa que existe un marcado M ∈ R(M0 ) en el que la transici´n est´ habilitada. o a Nivel 2 : Para cada entero finito positivo n existe una secuencia de disparo en la que t ocurre al menos n veces. Nivel 3 : Existe una secuencia de disparo de longitud infinita en la que t ocurre infinitamente a menudo. Nivel 4 : Est´ viva en el nivel 1 para cada marcado del conjunto de a alcanzabilidad R(M0 ). As´ pues, una red de Petri est´ viva en el nivel i si cada transici´n est´ viva ı a o aen el nivel i. Una red de Petri est´ viva si todas las transiciones est´n vivas. a aN´tese que una transici´n que est´ viva en el nivel 4, lo est´ en los niveles 3, o o e a2 y 1.Definici´n 26 (Red de Petri Reversible) Una red de Petri (N, M0 ) se di- oce reversible si, para cualquier marcado M ∈ R(M0 ), M0 es alcanzable desdeM . As´ pues, el marcado inicial es alcanzable desde todos los marcados alcan- ızables.Definici´n 27 (Estado Home) Un marcado M se dice que es un estado ohome si para todo marcado M ∈ R(M0 ), M es alcanzable desde M .Definici´n 28 (Cobertura) Un marcado M en una red de Petri (N, M0 ) ocubre a un marcado M si M (p) ≥ M (p) para cualquier lugar p de la red.Definici´n 29 (Problema de Cobertura) El problema de la cobertura odada una red de Petri (N, M0 ) y un marcado M consistir´ en comprobar si aexiste un marcado alcanzable M ∈ R(M0 ), tal que M ≥ M , (es decir, Mcubre a M ).Definici´n 30 (Red de Petri Persistente) Una red de Petri (N, M0 ) se odice persistente si, para dos transiciones habilitadas cualesquiera, el disparode una de ellas no deshabilita la otra.
  27. 27. 1.2 Propiedades 131.2.2. Propiedades Estructurales Las propiedades estructurales son aqu´llas que dependen de la estructura etopol´gica de las redes de Petri. Son independientes del marcado inicial en el osentido de que dichas propiedades se cumplen para cualquier marcado inicial.Son propiedades estructurales la acotabilidad estructural, la vivacidad estruc-tural, la controlabilidad, la conservatividad, la repetitividad y la consistencia.Definici´n 31 (Red de Petri Acotada Estructuralmente) Una red de oPetri est´ acotada estructuralmente si est´ acotada para cualquier marcado a ainicial finito.Definici´n 32 (Lugar No Acotado Estructuralmente) Un lugar p en ouna red de Petri se dice no acotado estructuralmente si existe un marcadoM0 y una secuencia de disparo σ desde M0 tal que p no est´ acotado. aDefinici´n 33 (Red de Petri Estructuralmente Viva) Una red de Petri oest´ estructuralmente viva si existe alg´n marcado inicial para el que est´ viva. a u aDefinici´n 34 (Red de Petri Completamente Controlable) Una red ode Petri se dice completamente controlable si cualquier marcado es alcanzabledesde cualquier otro marcado.Definici´n 35 (Red de Petri Estructuralmente Conservativa) Una ored de Petri es estructuralmente conservativa si, para cualquier marcadoinicial M0 y un marcado alcanzable M ∈ R(M0 ), existe un vector x (n × 1)tal que xi = 0, para cualquier i = 1, . . . , n, y xT M = xT M0 .Definici´n 36 (Red de Petri (parcialmente) Repetitiva) Una red de oPetri es (parcialmente) repetitiva si existe un marcado finito M0 y una secuen-cia de disparo σ tal que (alguna) toda transici´n ocurre un n´mero infinito de o uveces en σ.Definici´n 37 (Red de Petri (parcialmente) Consistente) Una red de oPetri es (parcialmente) consistente si existe un marcado finito M0 y una se-cuencia de disparo σ c´ ıclica (desde M0 a M0 ) tal que (alguna) toda transici´n oocurre al menos una vez en σ.
  28. 28. 14 Cap´ ıtulo 1 Redes de Petri1.3. An´lisis de redes de Petri a Los m´todos para analizar redes de Petri pueden clasificarse en tres grupos: e 1. el arbol de cobertura (o alcanzabilidad), ´ 2. las ecuaciones matriciales y 3. las t´cnicas de reducci´n y s´ e o ıntesis. El primer m´todo implica la enumeraci´n de todos los marcados alcanzables e ode la red [Mur89][Fin90]. Es aplicable a toda clase de redes pero se limita aredes peque˜as debido a la explosi´n del espacio de estados. Por otra parte, n olas ecuaciones matriciales y las t´cnicas de reducci´n son m´s potentes pero e o aen muchos casos s´lo son aplicables a subclases especiales de redes de Petri o oen situaciones especiales.1.3.1. ´ Arbol de Cobertura (o Alcanzabilidad) Para enumerar todos los marcados alcanzables de una red se construye el´rbol de alcanzabilidad. La construcci´n del arbol de alcanzabilidad consistea o ´en tomar como ra´ del arbol el marcado inicial de la red y disparar todas ız ´las transiciones habilitadas. Esto lleva a nuevos marcados que habilitan otrastransiciones. Tomando cada uno de esos nuevos marcados como una “nuevara´ız”, se pueden generar recursivamente todos los marcados alcanzables. Esmuy posible que el arbol crezca indefinidamente. Para reducir la talla del arbol ´ ´y obtener un arbol finito, se utiliza un s´ ´ ımbolo especial ω que representa unn´mero de tokens arbitrariamente grande y que est´ sujeto a cuatro reglas u aaritm´ticas especiales, tales que para cualquier entero a: e a<ω ω≤ω ω+a=ω ω−a=ω Utilizando esta notaci´n y un algoritmo basado en el algoritmo presentado oen [KM69] se obtiene el ´rbol de cobertura. Si el s´ a ımbolo ω no aparece, el arbol ´se llama ´rbol de alcanzabilidad. a El arbol de cobertura para una red de Petri (N, M0 ) se construye mediante ´el Algoritmo 1.
  29. 29. 1.3 An´lisis de redes de Petri a 15 ´Algoritmo 1 Arbol de Cobertura de una Red de Petri Etiquetar el marcado “ra´ M0 como “nuevo”. ız” Mientras existan marcados “nuevos” hacer: • Seleccionar un marcado “nuevo” M ; • Si no hay transiciones habilitadas en M , entonces etiquetar M “muerto”; • Si M es id´ntico a alg´n marcado en el camino desde la ra´ a M , e u ız etiquetar M como “viejo” e ir a otro marcado nuevo. • Para todas las transiciones habilitadas en M hacer: ◦ Obtener el marcado M resultado del disparo de una transici´n; o ◦ Si desde la ra´ a M existe un M tal que M (pi ) ≥ M (pi ) ız para todo i = 1, . . . , n y M = M entonces Reemplazar M (pi ) por ω siempre que M (pi ) > M (pi ); A˜adir M al arbol etiquetando el arco con la transici´n n ´ o apropiada; Etiquetar M como “nuevo”; Este m´todo es dependiente del marcado inicial, por tanto, es util para e ´determinar propiedades de comportamiento. Algunas de las propiedades quepueden estudiarse con el arbol de cobertura T para una red de Petri (N, M0 ) ´son las siguientes: 1. Una red (N, M0 ) est´ acotada y, por tanto, R(M0 ) es finito si y solamente a si ω no aparece en ning´n nodo de T . u 2. Una red (N, M0 ) es segura si y solamente si en los nodos de T s´lo o aparecen 0’s y 1’s. 3. Una transici´n t est´ muerta si y solamente si no aparece como etiqueta o a de un arco en T . 4. Si M es alcanzable desde M0 entonces existe un nodo etiquetado con M tal que M ≤ M (M cubre a M ). 5. Una red (N, M0 ) es conservativa si y solamente si la suma ponderada de los tokens en cada nodo del arbol de alcanzabilidad es constante. ´
  30. 30. 16 Cap´ ıtulo 1 Redes de Petri As´ pues, el arbol de cobertura puede utilizarse para resolver los problemas ı ´de seguridad, acotamiento, conservatibilidad y cobertura. Desafortunadamen-te, en general, no puede utilizarse para resolver los problemas de alcanzabilidado vivacidad o para determinar qu´ secuencias de disparo son posibles. Estos eproblemas est´n limitados por la existencia del s´ a ımbolo ω que implica unap´rdida de informaci´n. Para resolver dichos problemas, son necesarias otras e oaproximaciones.Ejemplo 38 La Figura 1.3 muestra el ´rbol de cobertura de la red de la Fi- agura 1.1. En este ´rbol de cobertura, el s´ a ımbolo ω no aparece en ning´n nodo, upodemos hablar, por tanto, de ´rbol de alcanzabilidad. El estudio del ´rbol nos a apermite concluir que la red est´ acotada y, por tanto, R(M0 ) es finito. Adem´s, a ano hay transiciones muertas puesto que todas las transiciones de la red apare-cen etiquetando alg´n arco del ´rbol. u a M0=(2, 0, 1, 0) t1 t3 M1=(0, 1, 2, 0) M2=(3, 0, 0, 2) t3 t1 M3=(1, 1, 1, 2) M3=(1, 1, 1, 2) t2 t3 t2 t3 M0=(2, 0, 1, 0) M4=(2, 1, 0, 4) M0=(2, 0, 1, 0) M4=(2, 1, 0, 4) t1 t2 t1 t2 “viejo” “viejo” M5=(0, 2, 1, 4) M2=(3, 0, 0, 2) M5=(0, 2, 1, 4) M2=(3, 0, 0, 2) t3 t2 t3 t2 “viejo” t1 M6=(1, 2, 0, 6) M3=(1, 1, 1, 2) M3=(1, 1, 1, 2) M6=(1, 2, 0, 6) M3=(1, 1, 1, 2) t2 “viejo” “viejo” t2 “viejo” M4=(2, 1, 0, 4) M4=(2, 1, 0, 4) “viejo” “viejo” ´Figura 1.3: Arbol de cobertura (alcanzabilidad) de la red de Petri de la Figura1.1Ejemplo 39 La Figura 1.5 muestra el ´rbol de cobertura de la Figura 1.4. El as´ ımbolo ω en dicho ´rbol indica que la red no est´ acotada, as´ como tambi´n a a ı equ´ lugares de la red no est´n acotados; en este caso, los lugares no acotados e ason p2 y p4 . El hecho de que en el ´rbol aparezca un nodo etiquetado como a“muerto” indica que la red no est´ viva. a
  31. 31. 1.3 An´lisis de redes de Petri a 17 p2 p4 t1 t3 · p1 p3 t2 Figura 1.4: Red de Petri (b) M0=(1, 0, 0, 0) t1 t2 M1=(1, w, 0, 0) M2=(0, 0, 1, 0) t1 t2 “muerto” M1=(1, w, 0, 0) M3=(0, w, 1, 0) “viejo” t3 M4=(0, w, 1, w) t3 M4=(0, w, 1, w) “viejo” ´ Figura 1.5: Arbol de cobertura de la red de Petri de la Figura 1.41.3.2. Ecuaciones Matriciales En la segunda t´cnica de an´lisis se utiliza la matriz de incidencia e a[Mur89][Pet81] (matriz que describe c´mo los nodos en una red de Petri est´n o ainterconectados). Esta interconexi´n de los nodos no est´ relacionada con el o amarcado inicial, por ello, esta aproximaci´n se utiliza para determinar las pro- opiedades estructurales de las redes de Petri, aunque tambi´n puede utilizarse epara determinar alguna propiedad de comportamiento.Definici´n 40 (Matriz de Incidencia) La matriz de incidencia A = [aij ] ode una red de Petri con n transiciones y m lugares es una matriz (n × m) deenteros tal que aij = a+ − a− ij ijsiendo a+ = F (i, j) el peso del arco desde la transici´n i a su lugar de salida ij oj y a− = F (j, i) el peso del arco a la transici´n i desde su lugar de entrada j. ij o
  32. 32. 18 Cap´ ıtulo 1 Redes de Petri Es f´cil comprobar que a− , a+ y aij son, respectivamente, los tokens eli- a ij ijminados, a˜adidos y cambiados en el lugar j cuando la transici´n i se dispara n ouna vez. La transici´n i estar´ habilitada en el marcado M si y solamente si o a a− ≤ M (j) j = 1, 2, . . . , m. ijDefinici´n 41 (Ecuaci´n de Estados) Al escribir ecuaciones de matrices, o oescribimos un marcado Mk como un vector columna (m×1). La j-´sima entrada ede Mk denota el n´mero de tokens en el lugar j inmediatamente despu´s del u ek-´simo disparo en alguna secuencia de disparo. El k-´simo disparo o vector de e econtrol uk es un vector columna (n × 1) de (n − 1) 0’s y una entrada distintade 0, un 1 en la i-´sima posici´n indica que la transici´n i se dispara en el e o ok-´simo disparo. Ya que la i-´sima fila de la matriz de incidencia A indica e eel cambio de marcado como resultado del disparo de la transici´n i, podemos oescribir la siguiente ecuaci´n de estado para una red de Petri: o Mk = Mk−1 + AT uk k = 1, 2, · · · .Ejemplo 42 La matriz de incidencia A de la red de Petri de la Figura 1.1 esla siguiente:   −2 1 1 0 A =  1 −1 0 −2  1 0 −1 2 La ecuaci´n de estados que se muestra o a continuaci´n representa el disparo ode la transici´n t3 en el marcado M0 = o (2, 0, 1, 0) dando como resultado elmarcado M1 = (3, 0, 0, 2).       3 2 −2 1 1    0   0   1 0  = + −1 0    0  0   1   1 0 −1  1 2 0 0 −2 2Definici´n 43 (Condici´n Necesaria de Alcanzabilidad) Supongamos o oque un marcado destino Md es alcanzable desde M0 a trav´s de una secuen- ecia de disparo {u1 , u2 , . . . , ud }. Escribiendo las ecuaciones de estado parai = 1, 2, . . . , d y sum´ndolas, obtenemos a d T Md = M 0 + A uk k=1
  33. 33. 1.3 An´lisis de redes de Petri a 19 que puede reescribirse como AT x = ∆M siendo ∆M = Md − M0 y x = d uk . x es un vector columna de enteros no negativos que se denomina vectork=1contador de disparos o vector de Parikh. La i-´sima entrada de x denota el en´mero de veces que una transici´n i debe dispararse para transformar M 0 en u oMd . Si un marcado Md es alcanzable desde otro marcado M0 , entonces Md =M0 + AT x da como resultado una soluci´n entera no negativa. Por otra parte, olo contrario no es necesariamente cierto; si Md = M0 +AT x da como resultadouna soluci´n entera no negativa, Md puede o no ser alcanzable desde M0 . Por olo tanto, es una condici´n necesaria pero no suficiente para la alcanzabilidad. o En t´rminos matem´ticos, un conjunto de ecuaciones lineales AT x = ∆M e atiene una soluci´n x si y s´lo si ∆M es ortogonal a cada soluci´n y de su o o osistema homog´neo, Ay = 0. e Si r es el rango de A y dividimos A de la siguiente forma: m−r r ←− −→ ← → A11 A12 r A= (1.1) A21 A22 n−r donde A12 es una matriz cuadrada no singular de orden r. Puede encon-trarse un conjunto de soluciones linealmente independientes para Ay = 0 comolas (m − r) columnas de la siguiente matriz (m − r) × m: Bf = Iµ : −AT (AT )−1 11 12 (1.2) T donde Iµ es la matriz identidad de orden µ = m − r. N´tese que ABf = 0. oAhora, la condici´n de que ∆M es ortogonal a cada soluci´n para Ay = 0 es o oequivalente a la siguiente condici´n: o Bf ∆M = 0 (1.3) As´ que si Md es alcanzable desde M0 , entonces el correspondiente vector ıcontador de disparos x debe existir y debe cumplirse la condici´n 1.3. oTeorema 44 Si Md es alcanzable desde M0 en una red de Petri (N, M0 ) en-tonces Bf ∆M = 0 siendo ∆M = Md − M0 y Bf = Iµ : −AT (AT )−1 . 11 12
  34. 34. 20 Cap´ ıtulo 1 Redes de Petri A partir del Teorema anterior se deduce la siguiente condici´n suficiente de ono alcanzabilidad.Corolario 45 En una red de Petri (N, M0 ), un marcado Md no es alcanzabledesde M0 (= Md ) si su diferencia es una combinaci´n lineal de los vectores o Tcolumna de Bf , es decir, ∆M = Bf z, donde z es un vector columna (µ × 1)distinto de 0.Ejemplo 46 El rango de la matriz de incidencia del Ejemplo 42 es 2 y puededividirse seg´n (1.1) en u −2 1 1 0 A11 = y A12 = . 1 −1 0 −2 Seg´n (1.2), la matriz Bf ser´ u a 1 0 2 1/2 Bf = 0 1 −1 −1/2 Es sencillo comprobar que Bf ∆M = 0 se cumple para ∆M = M1 − M0 =( 1 0 −1 2 )T . Las propiedades estructurales pueden definirse en t´rminos de la matriz de eincidencia y sus ecuaciones o inecuaciones asociadas.Teorema 47 Si una red de Petri N con m lugares es completamente contro-lable entonces rango(A) = m.Teorema 48 Una red de Petri est´ estructuralmente acotada si y s´lo si existe a oun vector y (m × 1) de enteros positivos tal que Ay ≤ 0.Corolario 49 Un lugar p de una red de Petri N es no acotado estructural-mente si y s´lo si existe un vector x (n × 1) de enteros no negativos tal que oAT x = ∆M 0, donde la p-´sima entrada de ∆M > 0 (es decir, ∆M (p) > 0). eTeorema 50 Una red de Petri N es (parcialmente) conservativa si y s´lo sioexiste un vector y (m × 1) de enteros (no negativos) positivos tal que Ay = 0,y = 0.
  35. 35. 1.3 An´lisis de redes de Petri a 21Teorema 51 Una red de Petri N es (parcialmente) repetitiva si y s´lo si existe o Tun vector x (n × 1) de enteros (no negativos) positivos tal que A x ≥ 0, x = 0.Teorema 52 Una red de Petri N es (parcialmente) consistente si y s´lo si o Texiste un vector x (n × 1) de enteros (no negativos) positivos tal que A x = 0,x = 0. En [Mur89], Murata demuestra los teoremas anteriores y presenta la Tabla1.1, que resume las condiciones necesarias y suficientes para algunas propieda-des estructurales. Propiedades Condiciones Necesarias y Suficientes Conservativa ∃y > 0, Ay = 0 Parcialmente Conservativa ∃y 0, Ay = 0 Repetitiva ∃x > 0, AT x ≥ 0 Parcialmente Repetitiva ∃x 0, AT x ≥ 0 Consistente ∃x > 0, AT x = 0 Parcialmente Consistente ∃x 0, AT x = 0 x y significa x ≥ y y xi = yi para alg´n i. u Tabla 1.1: Propiedades Estructurales. Condiciones necesarias y suficientes Un invariante de un sistema es una afirmaci´n que se cumple en cualquier oestado alcanzable. En las redes es posible encontrar ciertos vectores, directa-mente a partir de la estructura de la red, que inducen invariantes.Definici´n 53 (P-invariante) Un P-invariante es un vector x (n × 1) de oenteros no negativos que satisface la ecuaci´n xT A = 0. o Combinando esta ecuaci´n con Md = M0 + AT x, tenemos que xT M = o Tx M0 , lo que implica que el n´mero total de tokens iniciales en M0 , ponderado upor el P-invariante, es constante (ver Definici´n 35). oDefinici´n 54 (T-invariante) Un T-invariante es un vector y (m × 1) de oenteros no negativos que satisface la ecuaci´n Ay = 0. o Combinando esta ecuaci´n con Md = M0 + AT x, tenemos que Md = M0 ocon y = x, lo que implica que si el vector contador de disparos es id´ntico a eun T-invariante entonces el marcado final es igual al marcado inicial.
  36. 36. 22 Cap´ ıtulo 1 Redes de PetriTeorema 55 Un vector x de enteros no negativos es un P-invariante si y s´lo o T Tsi x M = x M0 para alg´n marcado inicial M0 y alg´n marcado M ∈ R(M0 ). u uTeorema 56 Un vector y de enteros no negativos es un T-invariante si y s´lo osi existe un marcado M y una secuencia de disparo desde M hasta M cuyovector contador de disparos es y.Definici´n 57 (Soporte de un Invariante) El soporte de un invariante es oel conjunto de lugares (transiciones) correspondientes a entradas distintas decero en un P-invariante (T-invariante). Se denota por < x > (< y >).Definici´n 58 (Soporte Minimal de un Invariante) Un soporte de un oinvariante es minimal si y s´lo si no contiene el soporte de otro invariante oque no sea ´l mismo y el conjunto vac´ e ıo.Definici´n 59 (Invariante Minimal) Un invariante minimal es un inva- oriante que no es combinaci´n lineal de otros invariantes. oTeorema 60 Existen (n−r) P-invariantes minimales y (m−r) T-invariantesminimales siendo r = rango(A). Para una mejor comprensi´n de las propiedades de las redes de Petri, se oconsideran dos tipos especiales de lugares: sifones y trampas.Definici´n 61 (Sif´n) Un subconjunto no vac´ de lugares S en una red or- o o ıo • •dinaria N es un sif´n si S ⊆ S , es decir, toda transici´n que tenga un lugar o ode salida en S tiene un lugar de entrada en S. Un sif´n tiene una propiedad de comportamiento tal que si en alg´n mar- o ucado no tiene tokens, permanecer´ sin tokens en cualquier marcado sucesor. aDefinici´n 62 (Trampa) Un subconjunto no vac´ de lugares Q en una red o ıo • •ordinaria N es una trampa si Q ⊆ Q, es decir, toda transici´n que tenga oun lugar de entrada en Q tiene un lugar de salida en Q. Una trampa tiene una propiedad de comportamiento tal que si est´ marcada a(tiene al menos 1 token), permanecer´ marcada en cualquier marcado sucesor. a
  37. 37. 1.3 An´lisis de redes de Petri a 23Teorema 63 Si x es un P-invariante, entonces < x > es una trampa y unsif´n. oTeorema 64 Sean x e y dos invariantes del mismo tipo. Entonces, se cumplelo siguiente: 1. ax + by es un invariante para a y b enteros no negativos. 2. Si (x − y) no tiene elementos negativos, entonces es un invariante. 3. < x + y >=< x > ∪ < y >.Teorema 65 Sea el lugar pi perteneciente al soporte de un P-invariante enuna red de Petri pura con marcado inicial acotado m0 . Sean I1 , . . . , Ij lossoportes minimales que contienen a pi y x1 , . . . , xj los P-invariantes minimalesasociados a los soportes minimales. Entonces, para todo marcado alcanzablem ∈ R(m0 ), m(pi ) est´ acotado superiormente por: a m(pi ) ≤ m´ [(mT xl )/(xl (pi ))]. ın 0 l=1,...,j Este hecho es muy importante puesto que puede utilizarse para determinarel k-acotamiento de una red a partir de los P-invariantes. N´tese que si una red oest´ cubierta por P-invariantes y m0 est´ acotado, entonces la red est´ acotada. a a aTeorema 66 Una red de Petri pura est´ viva y acotada si est´ cubierta por a aP-invariantes, todos los P-invariantes est´n marcados con tokens y ninguno ade los sifones se vac´ nunca de tokens. ıa El siguiente es un procedimiento sistem´tico sencillo para aplicar el Teore- ama anterior: 1. Determinar todos los P-invariantes minimales y comprobar que todo lu- gar pertenece a alg´n P-invariante. u 2. Utilizando el marcado inicial m, verificar que todos los P-invariantes est´n marcados. a 3. Encontrar todos los sifones (minimales). Esto requiere una b´squeda ex- u haustiva.
  38. 38. 24 Cap´ ıtulo 1 Redes de Petri 4. Para todo sif´n hacer: utilizando las ecuaciones de los P-invariantes, asig- o nar cero tokens a todos los lugares del sif´n. Si, para al menos un sif´n, o o las ecuaciones resultantes son consistentes, entonces la red de Petri no est´ viva. a1.3.3. T´cnicas de reducci´n y s´ e o ıntesis Para facilitar el an´lisis de grandes sistemas, el sistema modelado se redu- ace a uno m´s simple que preserve las propiedades del sistema a analizar. A ala inversa, las t´cnicas para transformar un modelo abstracto en un modelo em´s refinado de una forma jer´rquica pueden utilizarse para s´ a a ıntesis. Existenmuchas t´cnicas de transformaci´n para las redes de Petri. Aqu´ presentamos e o ılas m´s sencillas que pueden utilizarse para analizar vivacidad, seguridad y aacotamiento. No es dif´ comprobar que las siguientes seis operaciones preservan las ıcilpropiedades de vivacidad, seguridad y acotamiento. Es decir, sean (N, M0 )y (N , M0 ) redes de Petri antes y despu´s de una de las siguientes transfor- emaciones. Entonces (N , M0 ) est´ viva, segura o acotada si y s´lo si (N, M0 ) a oest´ viva, segura o acotada, respectivamente. a 1. Fusi´n de lugares en serie (ver Figura 1.6(a)). o 2. Fusi´n de transiciones en serie (ver Figura 1.6(b)). o 3. Fusi´n de lugares en paralelo (ver Figura 1.6(c)). o 4. Fusi´n de transiciones en paralelo (ver Figura 1.6(d)). o 5. Eliminaci´n de lugares en ciclo (ver Figura 1.6(e)). o 6. Eliminaci´n de transiciones en ciclo (ver Figura 1.6(f)). o1.4. Decidibilidad y Complejidad Un problema de decisi´n [Sud88] es un conjunto de cuestiones cuya respues- ota es s´ o no. Una soluci´n para un problema de decisi´n es un procedimiento ı o oefectivo (completo, mec´nico y determinista) que determina la respuesta a cada acuesti´n del conjunto. Un problema de decisi´n es indecidible si no existe un al- o ogoritmo que lo resuelva. Existen numerosos estudios sobre la decidibilidad y la
  39. 39. 1.4 Decidibilidad y Complejidad 25 (a) (b) (c) (d) (e) (f)Figura 1.6: Seis transformaciones que preservan vivacidad, seguridad y acota-miento [Mur89]complejidad del an´lisis de las propiedades de las redes de Petri [Pet81]. Se sabe aque los problemas de acotabilidad, alcanzabilidad, interbloqueo y vivacidad sontodos decidibles para las redes de Petri [KM69][Hac76a][AK77][May84][EN94].Sin embargo, para algunas extensiones de las redes de Petri puede darse la posi-bilidad de que un problema no tenga soluci´n, es decir, sea indecidible [DFS98]. oTambi´n puede ocurrir que aunque la soluci´n exista, su coste (tiempo y espa- e ocio de memoria necesarios) sea elevado [DF97]. La habilidad de las m´quinas ade Turing para devolver respuestas afirmativas o negativas las convierte en unformalismo matem´tico apropiado para construir soluciones a problemas de adecisi´n. La reducibilidad [HU79][Pet81] entre problemas se usa habitualmen- ote para demostrar que un problema es decidible o indecidible. Para demostrardecidibilidad en las propiedades de una red de Petri, es necesario reducir unproblema de red de Petri a un problema con soluci´n conocida. Para demostrar oindecidibilidad, hay que reducir un problema que se sabe es indecidible a unproblema de red de Petri. Son muy pocos los estudios que existen sobre decidibilidad para extensio-
  40. 40. 26 Cap´ ıtulo 1 Redes de Petrines de redes de Petri, comparados con la cantidad de art´ ıculos de investigaci´n oexistentes sobre subclases de redes de Petri. En su tesis [Duf98] y tambi´n een [DFS98] y [DJS99], Catherine Dufourd estudia y compara bastantes ex-tensiones de las redes de Petri en t´rminos de decidibilidad. Para ello, define elas G-redes que constituyen una extensi´n de las redes de Petri y que englo- oban a las redes Automodificantes de Valk [Val78a, Val78b]. Dufourd realizael estudio de las siguientes propiedades: terminaci´n, cobertura, acotamiento ode una red, acotamiento de un lugar, acotamiento estructural, alcanzabilidad,interbloqueo, vivacidad y vivacidad de una transici´n, sobre nueve subclases ode G-redes. Para cada clase determina qu´ propiedades son decidibles, lo que ele permite agruparlas (o separarlas), obteniendo una jerarqu´ muy fina de ıadecidibilidad. Presentamos la clasificaci´n que Dufourd muestra en [DFS98] y [Duf98]. oSu motivaci´n es encontrar extensiones de las redes de Petri que se puedan oanalizar, centrando su estudio sobre distintos tipos de arcos extendidos. Enprimer lugar, damos las definiciones de dichos arcos.Definici´n 67 (Pre-arco) Un arco desde el lugar p a la transici´n t (un arco o ode entrada a t) es un pre-arco.Definici´n 68 (Post-arco) Un arco desde la transici´n t al lugar p (un arco o ode entrada a p) es un post-arco.Definici´n 69 (Arco cl´sico o del tipo red de Petri) Un arco se deno- o amina cl´sico o del tipo red de Petri si su etiqueta es un n´mero natural: a uF (x, y) ∈ N, x, y ∈ P ∪ T .Definici´n 70 (Arco extendido) Un arco se dice extendido si su etiqueta oes un polinomio.Definici´n 71 (Arco Inhibidor) Un arco inhibidor (o test de cero) desde oun lugar p a una transici´n t indica que la transici´n s´lo puede dispararse si o o ono hay tokens en el lugar, es decir, una transici´n t a la que le llega un arco oinhibidor desde un lugar p est´ habilitada si lo est´ en el sentido habitual y a aadem´s hay cero tokens en el lugar p. a Si F (p, t) = 2p entonces t est´ habilitada s´lo si M (p) ≥ 2M (p), a o es decir, si y s´lo si M (p) = 0. o
  41. 41. 1.4 Decidibilidad y Complejidad 27 La transici´n se dispara eliminando los tokens de todos sus lugares (nor- omales) de entrada. 2p p t Figura 1.7: Test de cero Un arco inhibidor se representa mediante un arco no orientado que acabacon un peque˜o c´ n ırculo. O p t Figura 1.8: Arco inhibidorDefinici´n 72 (Arco Reset) Un arco reset (o puesta a cero) es un pre-arco otal que F (p, t) = p (con F (t, p) = 0). El disparo de una transici´n t con un oarco reset desde un lugar p vac´ dicho lugar. ıa Si F (p, t) = p, F (t, p) = 0 y M [t M entonces M (p) = 0. La puesta a cero de un lugar consiste en eliminar su propio contenido, esdecir, en vaciar el lugar. p p t Figura 1.9: Puesta a cero de un lugar p Un arco reset se representa mediante un arco no orientado provisto de unaspa. Los arcos reset son pre-arcos “d´biles” por tres razones: a) la puesta a ecero siempre se puede realizar y nunca es un obst´culo para el disparo de una a

×