SlideShare una empresa de Scribd logo
1 de 207
Descargar para leer sin conexión
´
   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
A mi abuela.
       A mis padres.
      A mi hermano.




iii
Agradecimientos

    Esta tesis ha sido el fruto de a˜os de trabajo. No hubiera sido posible sin
                                    n
la 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
                                                                   o
los estudios de doctorado y quien ha hecho posible con su inter´s, su dedicaci´n
                                                               e              o
y su paciencia que esta tesis saliera adelante.
    A mis compa˜eros del DSIC. En particular a Inma, por ser m´s que una
                n                                              a
compa˜era, por ser mi amiga. Y a Gabi, por apoyarme y por darme la soluci´n
      n                                                                  o
a 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             n
y su comprensi´n. En especial a mis padres y a mi hermano, porque siempre
               o
han estado ah´ cuando los he necesitado.
             ı
   A mis amigos de siempre. Especialmente a Bea y a Lourdes, porque s´ que
                                                                     e
siempre podr´ contar con ellas.
            e
   A todos... gracias.




                                       v
Resumen

    En esta Tesis Doctoral se aborda el problema de la modelizaci´n y la veri-
                                                                 o
ficaci´n de sistemas concurrentes sujetos a cambios din´micos. El formalismo
     o                                                  a
de base es el de las redes de Petri. En lo que concierne a la expresividad del
modelo se busca un mecanismo que tenga en cuenta los cambios din´micos  a
estructurales de manera local, interna e incremental. Al mismo tiempo, las
propiedades b´sicas de las redes de Petri (acotabilidad de lugares, alcanzabi-
               a
lidad, interbloqueo y vivacidad) deben continuar siendo decidibles para este
modelo extendido. En general, lo que se gana normalmente en t´rminos de
                                                                   e
expresividad se traduce en una p´rdida en t´rminos de propiedades decidibles.
                                 e          e
Hay 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´                    o
critura de redes. Ambas l´ıneas dan lugar a modelos que mejoran la expresividad
de las redes de Petri para describir el cambio din´mico en sistemas concurrentes
                                                  a
pero tienen el inconveniente de que casi todas las propiedades b´sicas decidi-
                                                                   a
bles de las redes de Petri se pierden. Por ello, para estos modelos extendidos
no pueden construirse herramientas autom´ticas de verificaci´n.
                                             a                  o
    Los sistemas de reescritura de redes son una combinaci´n de redes de Petri
                                                             o
con sistemas de reescritura de grafos. Cada configuraci´n del sistema es una
                                                           o
red de Petri y un cambio de configuraci´n es una regla de reescritura de grafos.
                                         o
La expresividad de los sistemas de reescritura de redes es la misma que la de la
m´quina de Turing, es decir, las propiedades b´sicas decidibles de las redes de
  a                                             a
Petri 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 de
redes equivalente formalmente a las redes de Petri, lo que asegura que todas
las propiedades fundamentales de las redes de Petri siguen siendo decibibles
para este modelo y, por tanto, es factible la verificaci´n autom´tica.
                                                       o       a


                                      vii
Resum

    En aquesta Tesi Doctoral s’ aborda el problema de la modelitzaci´ i la veri-
                                                                        o
ficaci´ de sistemes concurrents subjectes a canvis din`mics. El formalisme de
      o                                                    a
base ´s el de les xarxes de Petri. Pel que fa a l’ expressivitat del model es busca
      e
un mecanisme que tinga en compte els canvis din`mics estructurals de manera
                                                     a
local, interna i incremental. Al mateix temps, les propietats b`siques de les
                                                                      a
xarxes de Petri (acotabilitat de llocs, assequibilitat, interbloqueig i vivacitat)
deuen continuar sent decidibles per aquest model est`s. En general, el que es
                                                          e
guanya normalment en termes d’ expressivitat es tradueix en una p`rdua en e
termes de propietats decidibles. Hi ha que buscar, aleshores, un equilibri entre
expressivitat 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 reescritura
l´                   o
de xarxes. Ambdues l´   ınies donen lloc a models que milloren l’ expressivitat de
les xarxes de Petri per a descriure el canvi din`mic en sistemes concurrents
                                                   a
per` tenen l’ inconvenient de que quasi totes les propietats b`siques decidibles
    o                                                            a
de les xarxes de Petri es perden. Per aix`, per aquestos models estesos no
                                             o
poden construir-se ferramentes autom`tiques de verificaci´.
                                         a                     o
    Els sistemes de reescritura de xarxes s´n una combinaci´ de xarxes de Petri
                                            o                 o
amb sistemes de reescritura de grafs. Cada configuraci´ del sistema ´s una
                                                            o              e
xarxa de Petri i un canvi de configuraci´ ´s una regla de reescritura de grafs.
                                           oe
L’ expressivitat dels sistemes de reescritura de xarxes ´s la mateixa que la de la
                                                        e
m`quina de Turing, ´s a dir, les propietats b`siques decidibles de les xarxes de
  a                   e                        a
Petri 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
                               o
xarxes equivalent formalment a les xarxes de Petri, la qual cosa assegura que
totes les propietats fonamentals de les xarxes de Petri segueixen sent decibibles
per aquest model i, per tant, ´s factible la verificaci´ autom`tica.
                              e                       o        a


                                        ix
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 far
as the expressiveness of the model is concerned a built-in and decentralized
mechanism for handling structural changes is looked for. At the same time
the basic decidable properties of Petri nets (place boundedness, reachability,
deadlock and liveness) should remain decidable for the extended model. In
general, 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 and
computability.
    The proposed general model of net rewriting systems arises from two dif-
ferent lines of research: graph grammars and Valk’s self-modifying nets. Both
proposals lead to models that enhance the expressiveness of the basic model of
Petri nets so that it can support the description of concurrent systems subject
to dynamic changes. However, most of the basic decidable properties of Petri
nets are lost for these extended models. Therefore no automatic verification
tools 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 of
configuration as a graph rewriting rule. The class of net rewriting systems is
Turing powerful, that is, the basic decidable properties of Petri nets are lost
and 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 properties
of Petri nets are still decidable for reconfigurable nets and this model is thus
amenable to automatic verification tools.




                                       xi
Tabla de contenidos

Agradecimientos                                                                 V



Resumen                                                                       VII



Resum                                                                          IX



Abstract                                                                       XI



Tabla de contenidos                                                           XIII


´
Indice de figuras                                                           XVII


´
Indice de tablas                                                              XXI


´
Indice de algoritmos                                                      XXIII



Pr´logo
  o                                                                             1

1. 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
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 . . . . . . . . . . . . . . . . . . . . 24

2. L´
    ıneas de Investigaci´n
                        o                                                    37
  2.1. Redes Automodificantes . . . . . . . . . . . . . . . . . . . . . . 37
  2.2. Gram´ticas de Grafos . . . . . . . . . . . . . . . . . . . . . . . . 40
           a

3. 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
              o

4. 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
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 . . . . . . . . . . . . . . . . . . . . . . 113

5. 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

6. Verificaci´n
            o                                                               153
       ´
  6.1. Arbol de Cobertura de una Red Reconfigurable . . . . . . . . . 155
  6.2. Ecuaci´n de Estados . . . . . . . . . . . . . . . . . . . . . . . . 157
             o

7. 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
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 . . . . . . . . . . . . . . . . . . . . . . . . 168

8. Conclusiones y trabajos futuros                                          169

Referencias                                                                 174




                                     xvi
´
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
2.3. Derivaci´n directa como diagrama de pegado doble . . . . . . . 45
             o
2.4. Un paso de reescritura de grafos en la aproximaci´n de doble
                                                            o
     pegado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.5. (a) Una transici´n de una red de Petri. (b) La correspondiente
                     o
     producci´n de grafos. . . . . . . . . . . . . . . . . . . . . . . . . 47
             o
2.6. (a) Disparo de una transici´n de una red de Petri. (b) Diagrama
                                o
     de pegado doble correspondiente. . . . . . . . . . . . . . . . . . 47

4.1. Cambio synthetic cut-over . . . . . . . . . . . . . . . . . . . . . 70
4.2. Fragmento del grafo de marcado de la red reconfigurable de la
     Figura 4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3. Traducci´n de una red reconfigurable en una red automodifi-
             o
     cante equivalente . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.4. Desde una red impura a una red pura . . . . . . . . . . . . . . . 87
4.5. Red Reconfigurable Reversible de la Figura 4.1 como una Red
     de Petri Controlada por un Aut´mata . . . . . . . . . . . . . . . 95
                                   o
4.6. Red de Petri estratificada equivalente a la red reconfigurable de
     la Figura 4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.7. Red reconfigurable reversible como una composici´n en cascada
                                                         o
     de redes de Petri . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.8. Red de Petri estratificada equivalente a una red reconfigurable
     reversible simple . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.9. Red reconfigurable reversible marcada . . . . . . . . . . . . . . . 108
4.10. Las 12 configuraciones de la red reconfigurable reversible de la
      Figura 4.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.11. RPCA de la red reconfigurable reversible de la Figura 4.9 . . . . 110
4.12. F´brica de ensamblaje con diferentes modos de operaci´n . . . . 111
       a                                                   o
4.13. Cambio del modo I al modo II . . . . . . . . . . . . . . . . . . . 113
4.14. Un flujo (en la parte derecha) del sistema workflow (en la parte
      izquierda) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

                                   xviii
4.15. Un conjunto generador de ciclos . . . . . . . . . . . . . . . . . . 114
4.16. Red asociada al conjunto generador de ciclos de la Figura 4.15 . 115
4.17. Comportamiento de un nodo de la red . . . . . . . . . . . . . . 115

5.1. Sistema de Reescritura de Redes modelizando un sistema de
     impresoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.2. Cambio de configuraci´n debido a la regla de reescritura triple . 122
                         o
5.3. Sistema con dos l´  ıneas half-duplex entre dos producto-
     res/consumidores . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.4. Regla de reescritura R1 . . . . . . . . . . . . . . . . . . . . . . . 127
5.5. Regla de reescritura R2 . . . . . . . . . . . . . . . . . . . . . . . 127
5.6. Regla de reescritura R3 . . . . . . . . . . . . . . . . . . . . . . . 128
5.7. Regla de reescritura R4 . . . . . . . . . . . . . . . . . . . . . . . 128
5.8. Estado obtenido tras aplicar la regla R1 al estado representado
     en la Figura 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5.9. Fragmento del grafo de estados del sistema de la Figura 5.3 . . . 129
5.10. Representaci´n del orden en una transici´n y un lugar . . . . . . 134
                  o                           o
5.11. Implementaci´n de una m´quina de Turing con un sistema de
                    o           a
      reescritura de redes K-ordenadas . . . . . . . . . . . . . . . . . 137
5.12. Parte de la red de Petri equivalente a la red reconfigurable del
      Ejemplo 166 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.13. Estado inicial de la red de transmisi´n . . . . . . . . . . . . . . 147
                                           o
5.14. Las 8 reglas de reescritura de la red reconfigurable de la Figura
      5.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
5.15. Las 12 configuraciones de la red reconfigurable de la Figura 5.13 150
5.16. Grafo de configuraci´n de la red reconfigurable de la Figura 5.13 151
                         o
5.17. Nuevo estado alcanzado tras la aplicaci´n de la regla R8 al es-
                                              o
      tado de la Figura 5.13 . . . . . . . . . . . . . . . . . . . . . . . 151
5.18. Red de Petri equivalente a la Figura 5.13 . . . . . . . . . . . . . 152

                                    xix
´
Indice de tablas

 1.1. Propiedades Estructurales. Condiciones necesarias y suficientes . 21
 1.2. Tabla Dufourd . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
 1.3. Tabla Dufourd completa . . . . . . . . . . . . . . . . . . . . . . 34




                                    xxi
´
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
Pr´logo
  o

    Las redes de Petri [Mur89][Pet81] son un formalismo para modelizar, ana-
lizar, simular, controlar y evaluar el comportamiento de sistemas concurrentes
y distribuidos. Han jugado un papel importante en el desarrollo de estos siste-
mas ya que, entre otras posibilidades, pueden considerarse como un lenguaje
formal y gr´fico para su modelizaci´n. Adem´s, las redes de Petri tienen una
             a                        o         a
s´lida base matem´tica que permite el an´lisis cualitativo de las propiedades
 o                   a                       a
de tales sistemas como el interbloqueo y la acotabilidad. Sin embargo, el for-
malismo de las redes de Petri no ofrece una manera directa de representar
caracter´ısticas tales como cambios din´micos de actividades, migraci´n de ta-
                                         a                               o
reas, modos de operaci´n m´ltiples, etc., que son importantes en el dise˜o de
                         o    u                                             n
sistemas concurrentes. Por ello, para modelizar sistemas concurrentes y distri-
buidos reales se utilizan extensiones de redes de Petri dise˜adas para permitir
                                                              n
la 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
                                                                         e
propiedades decidibles. Lo que hay que conseguir es, por tanto, un equilibrio
entre expresividad y computabilidad.
    El objetivo fundamental que ha guiado el desarrollo de la Tesis Doctoral
que aqu´ se presenta es la modelizaci´n y verificaci´n de sistemas concurrentes
          ı                          o             o
sujetos a cambios din´micos. Vamos a centrarnos en un modelo de red de
                       a
Petri que va a permitir el cambio din´mico en la propia estructura de la red.
                                       a
Din´mico significa que un proceso puede reiniciarse en un momento dado sin
    a
que el sistema tenga que pararse, demorarse o abortar y las transacciones
en progreso pueden continuar en medio del cambio estructural. Adem´s, es  a
importante que el mecanismo que maneje el cambio din´mico est´ representado
                                                        a        e
expl´ı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
         n
ejemplo, utilizando prototipos. Esto significa que los cambios estructurales se
tienen en cuenta desde el inicio del proceso de dise˜o en lugar de ser tratados
                                                    n
por un sistema global y externo, por ejemplo, alg´n mecanismo de manejo
                                                     u

                                        1
2                                                                           Pr´logo
                                                                              o

de excepciones, dise˜ado y a˜adido al modelo describiendo el comportamiento
                    n        n
normal del sistema. Por tanto, en nuestro modelo se fomenta una descripci´n o
de los cambios interna e incremental sobre una descripci´n externa y uniforme,
                                                        o
y un tratamiento de los cambios local sobre un tratamiento global, que suele
ser 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
                                              o
con el formalismo de las redes de Petri y cuyo prop´sito es mejorar la expresi-
                                                     o
vidad del modelo b´sico de las redes de Petri para soportar la descripci´n de
                    a                                                         o
sistemas 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 por
las redes Automodificantes de R. Valk [Val78a, Val78b, Val81], estudia redes de
Petri cuyas relaciones de flujo pueden cambiar en tiempo de ejecuci´n. Ambas
                                                                       o
propuestas dan lugar a modelos expresivos que aportan indudables ventajas
con respecto al resto de los modelos existentes. Sin embargo, la mayor´ (si no
                                                                          ıa
todas) las propiedades b´sicas decidibles de las redes de Petri (acotabilidad de
                         a
lugares, alcanzabilidad, interbloqueo y vivacidad) se pierden en estos modelos.
Como consecuencia, no pueden construirse herramientas autom´ticas de verifi-
                                                                  a
caci´n para dichos modelos extendidos. Las redes reconfigurables, una subclase
     o
de los sistemas de reescritura de redes, intentan combinar las caracter´     ısticas
m´s significativas de las dos aproximaciones de manera que las propiedades
  a
fundamentales sean decidibles, con lo que en este modelo ser´ factible la veri-
                                                               a
ficaci´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
                                        o
de investigaci´n IRISA de Rennes (Francia), perteneciente al INRIA franc´s.
              o                                                                e
En 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            a
decidibilidad y complejidad).

    En el Cap´ıtulo 2 se presentan las dos l´
                                            ıneas de investigaci´n origen del
                                                                o
modelo 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
3

de Grafos [Ehr87][Sch93][Cor95][Bal00].
    En el Cap´ıtulo 3 se presentan otros modelos existentes en la literatura que
se basan en la misma idea para describir sistemas concurrentes din´micos: las
                                                                      a
redes m´viles de Asperti y Busi [AB96], las redes din´micas de Buscemi y Sas-
        o                                            a
sone [BS01], las redes ∆ de Gradit y Vernadat [GVA99, GV99], el formalismo
POP de Engelfriet, Leih y Rozenberg [ELR91] y los aut´matas cooperativos de
                                                        o
Badouel, 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 Javier
Oliver 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
                                              o
Redes y la definici´n de red Reconfigurable como una subclase de sistema
                     o
de reescritura de redes. Para las redes reconfigurables demostramos que su
expresividad 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 a
su 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 tienen
el poder expresivo de la m´quina de Turing. Por tanto, para esta clase no es
                             a
posible 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 redes
reconfigurables y de que el tama˜o de un sistema modelizado con una red
                                   n
reconfigurable es mucho menor que el tama˜o del mismo sistema modelizado
                                             n
mediante una red de Petri, se presentan distintas t´cnicas de verificaci´n de
                                                      e                   o
propiedades de las redes de Petri implementadas directamente en el modelo de
las redes reconfigurables.
   En el Cap´  ıtulo 7 se muestra el desarrollo de una herramienta software de
simulaci´n y verificaci´n para el modelo de las redes reconfigurables, que hace
         o              o
uso 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 la
realizaci´n del presente trabajo de tesis y se exponen brevemente las l´
         o                                                              ıneas de
trabajo futuras para la ampliaci´n de ciertos aspectos interesantes que quedan
                                  o
fuera del alcance de la presente disertaci´n.
                                           o
Cap´
   ıtulo 1

Redes de Petri

    Las redes de Petri, introducidas por Carl Adam Petri a principios de los
a˜os 60 [Pet62][Rei85], son una herramienta gr´fica y matem´tica para el es-
 n                                                 a               a
tudio de un gran n´mero de sistemas: son uno de los formalismos m´s amplia-
                     u                                                 a
mente aceptados para modelizar sistemas concurrentes y distribuidos. El ´xito
                                                                            e
de las redes de Petri en los ultimos 40 a˜os puede medirse no s´lo por las incon-
                              ´           n                       o
tables situaciones en las que se pueden aplicar sino tambi´n por el desarrollo
                                                              e
de aspectos te´ricos, que van desde un an´lisis completo de distintos fen´me-
                o                             a                             o
nos en los modelos m´s simples a la definici´n de clases de redes con mayor
                          a                      o
expresividad (y m´s complejas). La principal aplicaci´n de las redes de Petri
                     a                                   o
es la modelizaci´n y el an´lisis de sistemas con componentes concurrentes que
                  o          a
interact´an. Un modelo es una representaci´n (en t´rminos matem´ticos) de
         u                                      o      e                a
las caracter´ısticas m´s importantes del objeto o sistema de estudio. Manipu-
                        a
lando esta representaci´n, se pueden obtener nuevos conocimientos del sistema
                           o
modelado sin ning´n coste o peligro para el sistema real. Sin embargo, el mo-
                     u
delado 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
                                                                e
analiza. Este an´lisis nos lleva a una mejor comprensi´n del comportamiento
                   a                                      o
del sistema modelado. Para realizar el an´lisis de las propiedades de una red de
                                            a
Petri se han desarrollado diferentes t´cnicas, autom´ticas o no, seg´n los casos,
                                        e            a               u
que permiten la verificaci´n de las propiedades que el sistema construido po-
                             o
sea. De hecho, una l´  ınea de trabajo muy importante en los ultimos a˜os ha sido
                                                             ´         n
la construcci´n de herramientas autom´ticas de verificaci´n para las diferentes
              o                           a                 o
extensiones 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
6                                                       Cap´
                                                           ıtulo 1 Redes de Petri

la base para el desarrollo del resto de cap´
                                           ıtulos. En la Secci´n 1.1 presentamos
                                                              o
los conceptos b´sicos de las redes de Petri, incluyendo la definici´n de las
                 a                                                      o
subclases de redes de Petri m´s habituales. En la Secci´n 1.2 mostramos los
                                a                          o
distintos tipos de propiedades que se pueden estudiar con redes de Petri. En la
Secci´n 1.3 exponemos los m´todos existentes de an´lisis de redes de Petri. Por
      o                       e                       a
ultimo, dedicamos la Secci´n 1.4 a presentar los t´picos sobre decidibilidad y
´                           o                        o
complejidad de problemas de verificaci´n de redes de Petri.
                                         o

1.1.      Conceptos B´sicos
                     a
Definici´n 1 (Red de Petri [Mur89][Rei85]) Una red de Petri es una tu-
          o
pla 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 arcos
ponderados (o relaci´n de flujo).
                             o


Definici´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 forma
que decimos que un lugar p est´ marcado con k tokens si el marcado asigna
                                     a
al lugar p un entero k. Un marcado M se representa mediante un vector con
tantas componentes como lugares tenga la red. El n´mero de tokens en el lugar
                                                        u
p ser´ M (p).
      a


Definici´n 3 (Red de Petri Marcada) Una red de Petri marcada es un
        o
par (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 un
lugar y una barra representa una transici´n. Los arcos dirigidos (flechas)
                                              o
conectan 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                            o
p a una transici´n t define p como un lugar de entrada para t. Un lugar de
                 o
salida se indica con un arco desde la transici´n al lugar. Una transici´n tiene
                                              o                         o
un determinado n´mero de lugares de entrada (o precondiciones) y de lugares
                   u
de salida (o postcondiciones). Los arcos se etiquetan con sus pesos (enteros
positivos). Si una de esas etiquetas se omite, significa que el arco tiene peso
uno. Los tokens se representan como puntos negros • en los lugares.
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                                o
es el conjunto de todos los lugares de entrada a la transici´n t, • t = {∀p ∈
                                                            o
P | 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 ∈
                                                              o
P | F (t, p) = 0}.

Definici´n 6 (Preset de un lugar p) El preset de un lugar p es el conjun-
         o
to 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-
         o
junto 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 preset
y 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 comportamiento
din´mico de un sistema modelado mediante una red de Petri. Una red de Petri
    a
se ejecuta por el disparo de transiciones. Una transici´n se dispara eliminando
                                                       o
tokens de sus lugares de entrada y creando nuevos tokens distribuidos por sus
lugares de salida.
8                                                           Cap´
                                                               ıtulo 1 Redes de Petri

    Una transici´n puede dispararse si est´ habilitada. Una transici´n est´ ha-
                 o                        a                         o     a
bilitada si en cada uno de sus lugares de entrada hay, al menos, tantos tokens
como el peso de los arcos que los conectan con la transici´n. Formalmente,
                                                          o

Definici´n 9 (Transici´n Habilitada) Una transici´n t se dice habilitada
         o                o                              o
si cada lugar de entrada p de t est´ marcado con al menos F (p, t) tokens, es
                                    a
decir, 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
                               o
de sus lugares de entrada como indique el peso de los arcos que los conectan
con la transici´n, y hace que en sus lugares de salida se depositen tantos tokens
               o
como 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
                          o
nuevo marcado M . Puesto que unicamente pueden dispararse las transiciones
                                 ´
habilitadas, el n´mero de tokens de cada lugar siempre ser´ positivo cuando
                 u                                           a
una transici´n se dispare. Si no hay tokens suficientes en alguno de los lugares
            o
de entrada de una transici´n, entonces la transici´n no estar´ habilitada y no
                            o                     o           a
se disparar´.
           a

Definici´n 10 (Disparo de una transici´n) Una transici´n puede dispa-
         o                           o               o
rarse siempre que est´ habilitada.
                     e
    El disparo de una transici´n t habilitada en un marcado M elimina F (p, t)
                               o
tokens de cada lugar de entrada p de t, y a˜ade F (t, p) tokens a cada lugar de
                                              n
salida 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
                                                    o
marcado 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 caso

Ejemplo 11 Las transiciones habilitadas en la red de Petri de la Figura 1.1
son t1 y t3 . Si se dispara la transici´n t1 , el marcado de la red M = (2, 0, 1, 0)
                                       o
cambia al marcado M = (0, 1, 2, 0) como se muestra en la Figura 1.2.
1.1 Conceptos B´sicos
               a                                                               9


                                                               ·
                                                    t1             p2
                                  t2
                                                2
                             2                                ··
                                       p1                          p3


                             p4             2            t3


Figura 1.2: Marcado de la red de Petri de la Figura 1.1 despu´s del disparo de
                                                             e
la transici´n t1
           o

1.1.1.    Subclases de Redes de Petri m´s habituales
                                       a
Definici´n 12 (Red de Petri Pura) Una red de Petri se llama pura si no
         o
tiene bucles, es decir, ∀t ∈ T {• t} ∩ {t• } = ∅, los lugares de entrada de t no
son a la vez lugares de salida de t.

Definici´n 13 (Red de Petri Ordinaria) Una red de Petri se dice ordina-
          o
ria si el peso de todos sus arcos es 1.

Definici´n 14 (Red de Petri Simple) Una red de Petri simple es una red
         o
de Petri ordinaria tal que: p• ∩ p• = ∅ ⇒ (p• ⊆ p• ) ∨ (p• ⊆ p• ).
                             1    2         1    2       2    1


Definici´n 15 (Grafo Marcado) Un grafo marcado es una red de Petri or-
         o
dinaria en la que cada lugar tiene exactamente una transici´n de entrada y una
                                                           o
de 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                                a
de 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                               o
libre elecci´n es una red de Petri ordinaria tal que un arco desde un lugar es
            o
el 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                                     o
de Petri Lugar/Transici´n es una 6-tupla N = (P, T, F, K, M, W ) tal que
                       o
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.
                            o


Definici´n 19 (Regla de Disparo para redes L/T) Sea N una red Lu-
        o
gar/Transici´n,
            o
   Una aplicaci´n M : P → N ∪ {ω} se llama marcado de N sii M (p) ≤ K(p)
                o
para 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 ,
                o
tal 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   caso



1.2.       Propiedades
   Con una red de Petri pueden estudiarse dos tipos de propiedades: las que
dependen del marcado inicial (propiedades de comportamiento) y las que son
independientes del marcado inicial (propiedades estructurales).
1.2 Propiedades                                                               11

1.2.1.    Propiedades de Comportamiento
   Las principales propiedades de comportamiento son la alcanzabilidad, la
acotabilidad, la vivacidad, la reversibilidad, la cobertura y la persistencia.

Definici´n 20 (Marcado Alcanzable) Un marcado Mn se dice alcanzable
         o
desde un marcado M0 si existe una secuencia de disparos que transforma M0
en 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 de
todos los posibles marcados alcanzables desde M0 en una red (N, M0 ) se denota
por R(N, M0 ) o simplemente por R(M0 ).

Definici´n 21 (Problema de Alcanzabilidad) El problema de la alcan-
         o
zabilidad para las redes de Petri ser´ el problema de encontrar si Mn ∈ R(M0 )
                                     a
en una red dada (N, M0 ).

Definici´n 22 (Red de Petri Acotada) Una red de Petri (N, M0 ) se dice
         o
k-acotada o acotada si el n´mero de tokens en cada lugar no es superior a un
                           u
n´mero finito k para cualquier marcado alcanzable desde M0 , es decir, M (p) ≤
 u
k 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
         o
segura si est´ 1-acotada.
             a

Definici´n 24 (Interbloqueo) Se dice que en una red de Petri ocurre un
         o
interbloqueo cuando se alcanza un marcado desde el que no se puede disparar
ninguna transici´n.
                o

Definici´n 25 (Red de Petri Viva) Una red de Petri (N, M0 ) se dice que
         o
est´ viva (o equivalentemente se dice que M0 es un marcado vivo para N )
   a
si, sea cual sea el marcado que se alcance desde M0 , existe una secuencia
disparable 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
                         o
disparo. Esta es una propiedad muy fuerte y, a menudo, muy dif´ de verificar.
                                                                ıcil
Por ello, se habla se grados de disparo denominados niveles [Mur89][Pet81].
Concretamente, cuando una transici´n t est´ viva en
                                     o       a
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     a
en el nivel i. Una red de Petri est´ viva si todas las transiciones est´n vivas.
                                    a                                     a
N´tese que una transici´n que est´ viva en el nivel 4, lo est´ en los niveles 3,
  o                     o           e                            a
2 y 1.

Definici´n 26 (Red de Petri Reversible) Una red de Petri (N, M0 ) se di-
          o
ce reversible si, para cualquier marcado M ∈ R(M0 ), M0 es alcanzable desde
M . 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
        o
home 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 )
        o
cubre 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
         o
dada una red de Petri (N, M0 ) y un marcado M consistir´ en comprobar si
                                                       a
existe un marcado alcanzable M ∈ R(M0 ), tal que M ≥ M , (es decir, M
cubre a M ).

Definici´n 30 (Red de Petri Persistente) Una red de Petri (N, M0 ) se
         o
dice persistente si, para dos transiciones habilitadas cualesquiera, el disparo
de una de ellas no deshabilita la otra.
1.2 Propiedades                                                                13

1.2.2.     Propiedades Estructurales
   Las propiedades estructurales son aqu´llas que dependen de la estructura
                                            e
topol´gica de las redes de Petri. Son independientes del marcado inicial en el
      o
sentido 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
         o
Petri est´ acotada estructuralmente si est´ acotada para cualquier marcado
         a                                a
inicial finito.

Definici´n 32 (Lugar No Acotado Estructuralmente) Un lugar p en
        o
una red de Petri se dice no acotado estructuralmente si existe un marcado
M0 y una secuencia de disparo σ desde M0 tal que p no est´ acotado.
                                                         a

Definici´n 33 (Red de Petri Estructuralmente Viva) Una red de Petri
         o
est´ estructuralmente viva si existe alg´n marcado inicial para el que est´ viva.
   a                                    u                                 a

Definici´n 34 (Red de Petri Completamente Controlable) Una red
         o
de Petri se dice completamente controlable si cualquier marcado es alcanzable
desde cualquier otro marcado.

Definici´n 35 (Red de Petri Estructuralmente Conservativa) Una
         o
red de Petri es estructuralmente conservativa si, para cualquier marcado
inicial 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
         o
Petri 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             u
veces en σ.

Definici´n 37 (Red de Petri (parcialmente) Consistente) Una red de
         o
Petri 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
                                                                            o
ocurre al menos una vez en σ.
14                                                    Cap´
                                                         ıtulo 1 Redes de Petri


1.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                         o
de la red [Mur89][Fin90]. Es aplicable a toda clase de redes pero se limita a
redes peque˜as debido a la explosi´n del espacio de estados. Por otra parte,
            n                       o
las ecuaciones matriciales y las t´cnicas de reducci´n son m´s potentes pero
                                  e                 o        a
en muchos casos s´lo son aplicables a subclases especiales de redes de Petri o
                  o
en 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 consiste
a                                       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 otras
transiciones. Tomando cada uno de esos nuevos marcados como una “nueva
ra´ız”, se pueden generar recursivamente todos los marcados alcanzables. Es
muy 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 un
n´mero de tokens arbitrariamente grande y que est´ sujeto a cuatro reglas
  u                                                    a
aritm´ticas especiales, tales que para cualquier entero a:
       e

                  a<ω       ω≤ω       ω+a=ω         ω−a=ω

    Utilizando esta notaci´n y un algoritmo basado en el algoritmo presentado
                          o
en [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.
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 que
pueden 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.
                                ´
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 alcanzabilidad
o vivacidad o para determinar qu´ secuencias de disparo son posibles. Estos
                                     e
problemas est´n limitados por la existencia del s´
                a                                      ımbolo ω que implica una
p´rdida de informaci´n. Para resolver dichos problemas, son necesarias otras
 e                    o
aproximaciones.

Ejemplo 38 La Figura 1.3 muestra el ´rbol de cobertura de la red de la Fi-
                                          a
gura 1.1. En este ´rbol de cobertura, el s´
                  a                       ımbolo ω no aparece en ning´n nodo,
                                                                        u
podemos hablar, por tanto, de ´rbol de alcanzabilidad. El estudio del ´rbol nos
                                a                                      a
permite concluir que la red est´ acotada y, por tanto, R(M0 ) es finito. Adem´s,
                               a                                             a
no 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 Figura
1.1


Ejemplo 39 La Figura 1.5 muestra el ´rbol de cobertura de la Figura 1.4. El
                                        a
s´
 ımbolo ω en dicho ´rbol indica que la red no est´ acotada, as´ como tambi´n
                    a                            a             ı            e
qu´ lugares de la red no est´n acotados; en este caso, los lugares no acotados
   e                        a
son 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
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.4

1.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                                     a
interconectados). Esta interconexi´n de los nodos no est´ relacionada con el
                                    o                      a
marcado inicial, por ello, esta aproximaci´n se utiliza para determinar las pro-
                                          o
piedades estructurales de las redes de Petri, aunque tambi´n puede utilizarse
                                                             e
para determinar alguna propiedad de comportamiento.


Definici´n 40 (Matriz de Incidencia) La matriz de incidencia A = [aij ]
         o
de una red de Petri con n transiciones y m lugares es una matriz (n × m) de
enteros tal que
                               aij = a+ − a−
                                      ij   ij

siendo a+ = F (i, j) el peso del arco desde la transici´n i a su lugar de salida
        ij                                              o
j y a− = F (j, i) el peso del arco a la transici´n i desde su lugar de entrada j.
     ij                                         o
18                                                         Cap´
                                                              ıtulo 1 Redes de Petri

   Es f´cil comprobar que a− , a+ y aij son, respectivamente, los tokens eli-
       a                      ij  ij
minados, a˜adidos y cambiados en el lugar j cuando la transici´n i se dispara
           n                                                   o
una vez. La transici´n i estar´ habilitada en el marcado M si y solamente si
                    o         a

                         a− ≤ M (j) j = 1, 2, . . . , m.
                          ij


Definici´n 41 (Ecuaci´n de Estados) Al escribir ecuaciones de matrices,
          o               o
escribimos un marcado Mk como un vector columna (m×1). La j-´sima entrada
                                                                e
de Mk denota el n´mero de tokens en el lugar j inmediatamente despu´s del
                    u                                                   e
k-´simo disparo en alguna secuencia de disparo. El k-´simo disparo o vector de
  e                                                  e
control uk es un vector columna (n × 1) de (n − 1) 0’s y una entrada distinta
de 0, un 1 en la i-´sima posici´n indica que la transici´n i se dispara en el
                     e           o                       o
k-´simo disparo. Ya que la i-´sima fila de la matriz de incidencia A indica
  e                            e
el cambio de marcado como resultado del disparo de la transici´n i, podemos
                                                                o
escribir 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 es
la 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
                                                          o
de la transici´n t3 en el marcado M0 =
              o                             (2, 0, 1, 0) dando como resultado el
marcado 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  2

Definici´n 43 (Condici´n Necesaria de Alcanzabilidad) Supongamos
           o                  o
que un marcado destino Md es alcanzable desde M0 a trav´s de una secuen-
                                                                 e
cia de disparo {u1 , u2 , . . . , ud }. Escribiendo las ecuaciones de estado para
i = 1, 2, . . . , d y sum´ndolas, obtenemos
                         a
                                                 d
                                            T
                             Md = M 0 + A             uk
                                                k=1
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 vector
k=1
contador de disparos o vector de Parikh. La i-´sima entrada de x denota el
                                               e
n´mero de veces que una transici´n i debe dispararse para transformar M 0 en
 u                              o
Md .
    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,
                                        o
lo contrario no es necesariamente cierto; si Md = M0 +AT x da como resultado
una soluci´n entera no negativa, Md puede o no ser alcanzable desde M0 . Por
           o
lo 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              a
tiene una soluci´n x si y s´lo si ∆M es ortogonal a cada soluci´n y de su
                o          o                                    o
sistema 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 como
las (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.
                                                        o
Ahora, la condici´n de que ∆M es ortogonal a cada soluci´n para Ay = 0 es
                  o                                      o
equivalente 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.
                                                               o

Teorema 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
20                                                  Cap´
                                                       ıtulo 1 Redes de Petri

   A partir del Teorema anterior se deduce la siguiente condici´n suficiente de
                                                               o
no alcanzabilidad.

Corolario 45 En una red de Petri (N, M0 ), un marcado Md no es alcanzable
desde M0 (= Md ) si su diferencia es una combinaci´n lineal de los vectores
                                                  o
                                  T
columna 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 puede
dividirse 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
                                                      e
incidencia 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                              o
un 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
            o
AT x = ∆M 0, donde la p-´sima entrada de ∆M > 0 (es decir, ∆M (p) > 0).
                            e

Teorema 50 Una red de Petri N es (parcialmente) conservativa si y s´lo sio
existe un vector y (m × 1) de enteros (no negativos) positivos tal que Ay = 0,
y = 0.
1.3 An´lisis de redes de Petri
      a                                                                     21

Teorema 51 Una red de Petri N es (parcialmente) repetitiva si y s´lo si existe
                                                                    o
                                                                 T
un 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
                                                                        T
existe 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 Tabla
1.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
                                                 o
estado 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
         o
enteros 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
 T
x M0 , lo que implica que el n´mero total de tokens iniciales en M0 , ponderado
                              u
por el P-invariante, es constante (ver Definici´n 35).
                                               o

Definici´n 54 (T-invariante) Un T-invariante es un vector y (m × 1) de
         o
enteros no negativos que satisface la ecuaci´n Ay = 0.
                                            o
   Combinando esta ecuaci´n con Md = M0 + AT x, tenemos que Md = M0
                           o
con y = x, lo que implica que si el vector contador de disparos es id´ntico a
                                                                     e
un T-invariante entonces el marcado final es igual al marcado inicial.
22                                                  Cap´
                                                       ıtulo 1 Redes de Petri

Teorema 55 Un vector x de enteros no negativos es un P-invariante si y s´lo
                                                                        o
    T     T
si x M = x M0 para alg´n marcado inicial M0 y alg´n marcado M ∈ R(M0 ).
                      u                          u

Teorema 56 Un vector y de enteros no negativos es un T-invariante si y s´lo
                                                                        o
si existe un marcado M y una secuencia de disparo desde M hasta M cuyo
vector contador de disparos es y.

Definici´n 57 (Soporte de un Invariante) El soporte de un invariante es
         o
el conjunto de lugares (transiciones) correspondientes a entradas distintas de
cero en un P-invariante (T-invariante). Se denota por < x > (< y >).

Definici´n 58 (Soporte Minimal de un Invariante) Un soporte de un
         o
invariante es minimal si y s´lo si no contiene el soporte de otro invariante
                            o
que no sea ´l mismo y el conjunto vac´
           e                         ıo.

Definici´n 59 (Invariante Minimal) Un invariante minimal es un inva-
         o
riante que no es combinaci´n lineal de otros invariantes.
                          o

Teorema 60 Existen (n−r) P-invariantes minimales y (m−r) T-invariantes
minimales siendo r = rango(A).

   Para una mejor comprensi´n de las propiedades de las redes de Petri, se
                               o
consideran 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                                    o
de 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                                                         u
cado no tiene tokens, permanecer´ sin tokens en cualquier marcado sucesor.
                                a

Definici´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
                                                           o
un 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
1.3 An´lisis de redes de Petri
      a                                                                         23

Teorema 63 Si x es un P-invariante, entonces < x > es una trampa y un
sif´n.
   o

Teorema 64 Sean x e y dos invariantes del mismo tipo. Entonces, se cumple
lo 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 en
una red de Petri pura con marcado inicial acotado m0 . Sean I1 , . . . , Ij los
soportes minimales que contienen a pi y x1 , . . . , xj los P-invariantes minimales
asociados a los soportes minimales. Entonces, para todo marcado alcanzable
m ∈ 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 determinar
el k-acotamiento de una red a partir de los P-invariantes. N´tese que si una red
                                                            o
est´ cubierta por P-invariantes y m0 est´ acotado, entonces la red est´ acotada.
   a                                    a                             a

Teorema 66 Una red de Petri pura est´ viva y acotada si est´ cubierta por
                                        a                    a
P-invariantes, todos los P-invariantes est´n marcados con tokens y ninguno
                                          a
de los sifones se vac´ nunca de tokens.
                     ıa

   El siguiente es un procedimiento sistem´tico sencillo para aplicar el Teore-
                                          a
ma 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.
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.
       a


1.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-
                        a
ce a uno m´s simple que preserve las propiedades del sistema a analizar. A
             a
la inversa, las t´cnicas para transformar un modelo abstracto en un modelo
                 e
m´s refinado de una forma jer´rquica pueden utilizarse para s´
  a                               a                              ıntesis. Existen
muchas 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
      a
acotamiento.
    No es dif´ comprobar que las siguientes seis operaciones preservan las
              ıcil
propiedades 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-
                                         e
maciones. Entonces (N , M0 ) est´ viva, segura o acotada si y s´lo si (N, M0 )
                                 a                             o
est´ 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)).
             o


1.4.      Decidibilidad y Complejidad
    Un problema de decisi´n [Sud88] es un conjunto de cuestiones cuya respues-
                          o
ta es s´ o no. Una soluci´n para un problema de decisi´n es un procedimiento
       ı                 o                             o
efectivo (completo, mec´nico y determinista) que determina la respuesta a cada
                        a
cuesti´n del conjunto. Un problema de decisi´n es indecidible si no existe un al-
      o                                     o
goritmo que lo resuelva. Existen numerosos estudios sobre la decidibilidad y la
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
                   a
que los problemas de acotabilidad, alcanzabilidad, interbloqueo y vivacidad son
todos 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].
                                           o
Tambi´n puede ocurrir que aunque la soluci´n exista, su coste (tiempo y espa-
       e                                     o
cio de memoria necesarios) sea elevado [DF97]. La habilidad de las m´quinas
                                                                          a
de Turing para devolver respuestas afirmativas o negativas las convierte en un
formalismo matem´tico apropiado para construir soluciones a problemas de
                   a
decisi´n. La reducibilidad [HU79][Pet81] entre problemas se usa habitualmen-
      o
te para demostrar que un problema es decidible o indecidible. Para demostrar
decidibilidad en las propiedades de una red de Petri, es necesario reducir un
problema de red de Petri a un problema con soluci´n conocida. Para demostrar
                                                    o
indecidibilidad, hay que reducir un problema que se sabe es indecidible a un
problema de red de Petri.

   Son muy pocos los estudios que existen sobre decidibilidad para extensio-
26                                                   Cap´
                                                        ıtulo 1 Redes de Petri

nes de redes de Petri, comparados con la cantidad de art´
                                                        ıculos de investigaci´n
                                                                             o
existentes sobre subclases de redes de Petri. En su tesis [Duf98] y tambi´n  e
en [DFS98] y [DJS99], Catherine Dufourd estudia y compara bastantes ex-
tensiones de las redes de Petri en t´rminos de decidibilidad. Para ello, define
                                    e
las G-redes que constituyen una extensi´n de las redes de Petri y que englo-
                                         o
ban a las redes Automodificantes de Valk [Val78a, Val78b]. Dufourd realiza
el estudio de las siguientes propiedades: terminaci´n, cobertura, acotamiento
                                                   o
de una red, acotamiento de un lugar, acotamiento estructural, alcanzabilidad,
interbloqueo, vivacidad y vivacidad de una transici´n, sobre nueve subclases
                                                     o
de G-redes. Para cada clase determina qu´ propiedades son decidibles, lo que
                                           e
le permite agruparlas (o separarlas), obteniendo una jerarqu´ muy fina de
                                                               ıa
decidibilidad.
   Presentamos la clasificaci´n que Dufourd muestra en [DFS98] y [Duf98].
                            o
Su motivaci´n es encontrar extensiones de las redes de Petri que se puedan
            o
analizar, centrando su estudio sobre distintos tipos de arcos extendidos. En
primer 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                                                    o
de 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                                        o
de entrada a p) es un post-arco.

Definici´n 69 (Arco cl´sico o del tipo red de Petri) Un arco se deno-
          o               a
mina cl´sico o del tipo red de Petri si su etiqueta es un n´mero natural:
         a                                                 u
F (x, y) ∈ N, x, y ∈ P ∪ T .

Definici´n 70 (Arco extendido) Un arco se dice extendido si su etiqueta
         o
es un polinomio.

Definici´n 71 (Arco Inhibidor) Un arco inhibidor (o test de cero) desde
         o
un lugar p a una transici´n t indica que la transici´n s´lo puede dispararse si
                         o                          o o
no hay tokens en el lugar, es decir, una transici´n t a la que le llega un arco
                                                 o
inhibidor desde un lugar p est´ habilitada si lo est´ en el sentido habitual y
                               a                     a
adem´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
1.4 Decidibilidad y Complejidad                                            27

   La transici´n se dispara eliminando los tokens de todos sus lugares (nor-
              o
males) de entrada.

                                       2p
                                  p
                                                t



                           Figura 1.7: Test de cero

   Un arco inhibidor se representa mediante un arco no orientado que acaba
con un peque˜o c´
            n ırculo.

                                            O
                                  p
                                                t


                          Figura 1.8: Arco inhibidor



Definici´n 72 (Arco Reset) Un arco reset (o puesta a cero) es un pre-arco
         o
tal que F (p, t) = p (con F (t, p) = 0). El disparo de una transici´n t con un
                                                                   o
arco 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, es
decir, 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 un
aspa.

   Los arcos reset son pre-arcos “d´biles” por tres razones: a) la puesta a
                                     e
cero siempre se puede realizar y nunca es un obst´culo para el disparo de una
                                                 a
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables
Modelado y verificación de redes reconfigurables

Más contenido relacionado

Destacado

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destacado (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Modelado y verificación de redes reconfigurables

  • 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.
  • 3. A mi abuela. A mis padres. A mi hermano. iii
  • 4.
  • 5. Agradecimientos Esta tesis ha sido el fruto de a˜os de trabajo. No hubiera sido posible sin n la 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 o los estudios de doctorado y quien ha hecho posible con su inter´s, su dedicaci´n e o y su paciencia que esta tesis saliera adelante. A mis compa˜eros del DSIC. En particular a Inma, por ser m´s que una n a compa˜era, por ser mi amiga. Y a Gabi, por apoyarme y por darme la soluci´n n o a 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 n y su comprensi´n. En especial a mis padres y a mi hermano, porque siempre o han estado ah´ cuando los he necesitado. ı A mis amigos de siempre. Especialmente a Bea y a Lourdes, porque s´ que e siempre podr´ contar con ellas. e A todos... gracias. v
  • 6.
  • 7. Resumen En esta Tesis Doctoral se aborda el problema de la modelizaci´n y la veri- o ficaci´n de sistemas concurrentes sujetos a cambios din´micos. El formalismo o a de base es el de las redes de Petri. En lo que concierne a la expresividad del modelo se busca un mecanismo que tenga en cuenta los cambios din´micos a estructurales de manera local, interna e incremental. Al mismo tiempo, las propiedades b´sicas de las redes de Petri (acotabilidad de lugares, alcanzabi- a lidad, interbloqueo y vivacidad) deben continuar siendo decidibles para este modelo extendido. En general, lo que se gana normalmente en t´rminos de e expresividad se traduce en una p´rdida en t´rminos de propiedades decidibles. e e Hay 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´ o critura de redes. Ambas l´ıneas dan lugar a modelos que mejoran la expresividad de las redes de Petri para describir el cambio din´mico en sistemas concurrentes a pero tienen el inconveniente de que casi todas las propiedades b´sicas decidi- a bles de las redes de Petri se pierden. Por ello, para estos modelos extendidos no pueden construirse herramientas autom´ticas de verificaci´n. a o Los sistemas de reescritura de redes son una combinaci´n de redes de Petri o con sistemas de reescritura de grafos. Cada configuraci´n del sistema es una o red de Petri y un cambio de configuraci´n es una regla de reescritura de grafos. o La expresividad de los sistemas de reescritura de redes es la misma que la de la m´quina de Turing, es decir, las propiedades b´sicas decidibles de las redes de a a Petri 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 de redes equivalente formalmente a las redes de Petri, lo que asegura que todas las propiedades fundamentales de las redes de Petri siguen siendo decibibles para este modelo y, por tanto, es factible la verificaci´n autom´tica. o a vii
  • 8.
  • 9. Resum En aquesta Tesi Doctoral s’ aborda el problema de la modelitzaci´ i la veri- o ficaci´ de sistemes concurrents subjectes a canvis din`mics. El formalisme de o a base ´s el de les xarxes de Petri. Pel que fa a l’ expressivitat del model es busca e un mecanisme que tinga en compte els canvis din`mics estructurals de manera a local, interna i incremental. Al mateix temps, les propietats b`siques de les a xarxes de Petri (acotabilitat de llocs, assequibilitat, interbloqueig i vivacitat) deuen continuar sent decidibles per aquest model est`s. En general, el que es e guanya normalment en termes d’ expressivitat es tradueix en una p`rdua en e termes de propietats decidibles. Hi ha que buscar, aleshores, un equilibri entre expressivitat 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 reescritura l´ o de xarxes. Ambdues l´ ınies donen lloc a models que milloren l’ expressivitat de les xarxes de Petri per a descriure el canvi din`mic en sistemes concurrents a per` tenen l’ inconvenient de que quasi totes les propietats b`siques decidibles o a de les xarxes de Petri es perden. Per aix`, per aquestos models estesos no o poden construir-se ferramentes autom`tiques de verificaci´. a o Els sistemes de reescritura de xarxes s´n una combinaci´ de xarxes de Petri o o amb sistemes de reescritura de grafs. Cada configuraci´ del sistema ´s una o e xarxa de Petri i un canvi de configuraci´ ´s una regla de reescritura de grafs. oe L’ expressivitat dels sistemes de reescritura de xarxes ´s la mateixa que la de la e m`quina de Turing, ´s a dir, les propietats b`siques decidibles de les xarxes de a e a Petri 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 o xarxes equivalent formalment a les xarxes de Petri, la qual cosa assegura que totes les propietats fonamentals de les xarxes de Petri segueixen sent decibibles per aquest model i, per tant, ´s factible la verificaci´ autom`tica. e o a ix
  • 10.
  • 11. 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 far as the expressiveness of the model is concerned a built-in and decentralized mechanism for handling structural changes is looked for. At the same time the basic decidable properties of Petri nets (place boundedness, reachability, deadlock and liveness) should remain decidable for the extended model. In general, 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 and computability. The proposed general model of net rewriting systems arises from two dif- ferent lines of research: graph grammars and Valk’s self-modifying nets. Both proposals lead to models that enhance the expressiveness of the basic model of Petri nets so that it can support the description of concurrent systems subject to dynamic changes. However, most of the basic decidable properties of Petri nets are lost for these extended models. Therefore no automatic verification tools 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 of configuration as a graph rewriting rule. The class of net rewriting systems is Turing powerful, that is, the basic decidable properties of Petri nets are lost and 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 properties of Petri nets are still decidable for reconfigurable nets and this model is thus amenable to automatic verification tools. xi
  • 12.
  • 13. Tabla de contenidos Agradecimientos V Resumen VII Resum IX Abstract XI Tabla de contenidos XIII ´ Indice de figuras XVII ´ Indice de tablas XXI ´ Indice de algoritmos XXIII Pr´logo o 1 1. 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
  • 14. 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 . . . . . . . . . . . . . . . . . . . . 24 2. L´ ıneas de Investigaci´n o 37 2.1. Redes Automodificantes . . . . . . . . . . . . . . . . . . . . . . 37 2.2. Gram´ticas de Grafos . . . . . . . . . . . . . . . . . . . . . . . . 40 a 3. 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 o 4. 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
  • 15. 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 . . . . . . . . . . . . . . . . . . . . . . 113 5. 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 6. Verificaci´n o 153 ´ 6.1. Arbol de Cobertura de una Red Reconfigurable . . . . . . . . . 155 6.2. Ecuaci´n de Estados . . . . . . . . . . . . . . . . . . . . . . . . 157 o 7. 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
  • 16. 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 . . . . . . . . . . . . . . . . . . . . . . . . 168 8. Conclusiones y trabajos futuros 169 Referencias 174 xvi
  • 17. ´ 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
  • 18. 2.3. Derivaci´n directa como diagrama de pegado doble . . . . . . . 45 o 2.4. Un paso de reescritura de grafos en la aproximaci´n de doble o pegado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.5. (a) Una transici´n de una red de Petri. (b) La correspondiente o producci´n de grafos. . . . . . . . . . . . . . . . . . . . . . . . . 47 o 2.6. (a) Disparo de una transici´n de una red de Petri. (b) Diagrama o de pegado doble correspondiente. . . . . . . . . . . . . . . . . . 47 4.1. Cambio synthetic cut-over . . . . . . . . . . . . . . . . . . . . . 70 4.2. Fragmento del grafo de marcado de la red reconfigurable de la Figura 4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.3. Traducci´n de una red reconfigurable en una red automodifi- o cante equivalente . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.4. Desde una red impura a una red pura . . . . . . . . . . . . . . . 87 4.5. Red Reconfigurable Reversible de la Figura 4.1 como una Red de Petri Controlada por un Aut´mata . . . . . . . . . . . . . . . 95 o 4.6. Red de Petri estratificada equivalente a la red reconfigurable de la Figura 4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.7. Red reconfigurable reversible como una composici´n en cascada o de redes de Petri . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.8. Red de Petri estratificada equivalente a una red reconfigurable reversible simple . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.9. Red reconfigurable reversible marcada . . . . . . . . . . . . . . . 108 4.10. Las 12 configuraciones de la red reconfigurable reversible de la Figura 4.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.11. RPCA de la red reconfigurable reversible de la Figura 4.9 . . . . 110 4.12. F´brica de ensamblaje con diferentes modos de operaci´n . . . . 111 a o 4.13. Cambio del modo I al modo II . . . . . . . . . . . . . . . . . . . 113 4.14. Un flujo (en la parte derecha) del sistema workflow (en la parte izquierda) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 xviii
  • 19. 4.15. Un conjunto generador de ciclos . . . . . . . . . . . . . . . . . . 114 4.16. Red asociada al conjunto generador de ciclos de la Figura 4.15 . 115 4.17. Comportamiento de un nodo de la red . . . . . . . . . . . . . . 115 5.1. Sistema de Reescritura de Redes modelizando un sistema de impresoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 5.2. Cambio de configuraci´n debido a la regla de reescritura triple . 122 o 5.3. Sistema con dos l´ ıneas half-duplex entre dos producto- res/consumidores . . . . . . . . . . . . . . . . . . . . . . . . . . 126 5.4. Regla de reescritura R1 . . . . . . . . . . . . . . . . . . . . . . . 127 5.5. Regla de reescritura R2 . . . . . . . . . . . . . . . . . . . . . . . 127 5.6. Regla de reescritura R3 . . . . . . . . . . . . . . . . . . . . . . . 128 5.7. Regla de reescritura R4 . . . . . . . . . . . . . . . . . . . . . . . 128 5.8. Estado obtenido tras aplicar la regla R1 al estado representado en la Figura 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 5.9. Fragmento del grafo de estados del sistema de la Figura 5.3 . . . 129 5.10. Representaci´n del orden en una transici´n y un lugar . . . . . . 134 o o 5.11. Implementaci´n de una m´quina de Turing con un sistema de o a reescritura de redes K-ordenadas . . . . . . . . . . . . . . . . . 137 5.12. Parte de la red de Petri equivalente a la red reconfigurable del Ejemplo 166 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 5.13. Estado inicial de la red de transmisi´n . . . . . . . . . . . . . . 147 o 5.14. Las 8 reglas de reescritura de la red reconfigurable de la Figura 5.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 5.15. Las 12 configuraciones de la red reconfigurable de la Figura 5.13 150 5.16. Grafo de configuraci´n de la red reconfigurable de la Figura 5.13 151 o 5.17. Nuevo estado alcanzado tras la aplicaci´n de la regla R8 al es- o tado de la Figura 5.13 . . . . . . . . . . . . . . . . . . . . . . . 151 5.18. Red de Petri equivalente a la Figura 5.13 . . . . . . . . . . . . . 152 xix
  • 20.
  • 21. ´ Indice de tablas 1.1. Propiedades Estructurales. Condiciones necesarias y suficientes . 21 1.2. Tabla Dufourd . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 1.3. Tabla Dufourd completa . . . . . . . . . . . . . . . . . . . . . . 34 xxi
  • 22.
  • 23. ´ 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
  • 24.
  • 25. Pr´logo o Las redes de Petri [Mur89][Pet81] son un formalismo para modelizar, ana- lizar, simular, controlar y evaluar el comportamiento de sistemas concurrentes y distribuidos. Han jugado un papel importante en el desarrollo de estos siste- mas ya que, entre otras posibilidades, pueden considerarse como un lenguaje formal y gr´fico para su modelizaci´n. Adem´s, las redes de Petri tienen una a o a s´lida base matem´tica que permite el an´lisis cualitativo de las propiedades o a a de tales sistemas como el interbloqueo y la acotabilidad. Sin embargo, el for- malismo de las redes de Petri no ofrece una manera directa de representar caracter´ısticas tales como cambios din´micos de actividades, migraci´n de ta- a o reas, modos de operaci´n m´ltiples, etc., que son importantes en el dise˜o de o u n sistemas concurrentes. Por ello, para modelizar sistemas concurrentes y distri- buidos reales se utilizan extensiones de redes de Petri dise˜adas para permitir n la 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 e propiedades decidibles. Lo que hay que conseguir es, por tanto, un equilibrio entre expresividad y computabilidad. El objetivo fundamental que ha guiado el desarrollo de la Tesis Doctoral que aqu´ se presenta es la modelizaci´n y verificaci´n de sistemas concurrentes ı o o sujetos a cambios din´micos. Vamos a centrarnos en un modelo de red de a Petri que va a permitir el cambio din´mico en la propia estructura de la red. a Din´mico significa que un proceso puede reiniciarse en un momento dado sin a que el sistema tenga que pararse, demorarse o abortar y las transacciones en progreso pueden continuar en medio del cambio estructural. Adem´s, es a importante que el mecanismo que maneje el cambio din´mico est´ representado a e expl´ı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 n ejemplo, utilizando prototipos. Esto significa que los cambios estructurales se tienen en cuenta desde el inicio del proceso de dise˜o en lugar de ser tratados n por un sistema global y externo, por ejemplo, alg´n mecanismo de manejo u 1
  • 26. 2 Pr´logo o de excepciones, dise˜ado y a˜adido al modelo describiendo el comportamiento n n normal del sistema. Por tanto, en nuestro modelo se fomenta una descripci´n o de los cambios interna e incremental sobre una descripci´n externa y uniforme, o y un tratamiento de los cambios local sobre un tratamiento global, que suele ser 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 o con el formalismo de las redes de Petri y cuyo prop´sito es mejorar la expresi- o vidad del modelo b´sico de las redes de Petri para soportar la descripci´n de a o sistemas 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 por las redes Automodificantes de R. Valk [Val78a, Val78b, Val81], estudia redes de Petri cuyas relaciones de flujo pueden cambiar en tiempo de ejecuci´n. Ambas o propuestas dan lugar a modelos expresivos que aportan indudables ventajas con respecto al resto de los modelos existentes. Sin embargo, la mayor´ (si no ıa todas) las propiedades b´sicas decidibles de las redes de Petri (acotabilidad de a lugares, alcanzabilidad, interbloqueo y vivacidad) se pierden en estos modelos. Como consecuencia, no pueden construirse herramientas autom´ticas de verifi- a caci´n para dichos modelos extendidos. Las redes reconfigurables, una subclase o de los sistemas de reescritura de redes, intentan combinar las caracter´ ısticas m´s significativas de las dos aproximaciones de manera que las propiedades a fundamentales sean decidibles, con lo que en este modelo ser´ factible la veri- a ficaci´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 o de investigaci´n IRISA de Rennes (Francia), perteneciente al INRIA franc´s. o e En 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 a decidibilidad y complejidad). En el Cap´ıtulo 2 se presentan las dos l´ ıneas de investigaci´n origen del o modelo 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
  • 27. 3 de Grafos [Ehr87][Sch93][Cor95][Bal00]. En el Cap´ıtulo 3 se presentan otros modelos existentes en la literatura que se basan en la misma idea para describir sistemas concurrentes din´micos: las a redes m´viles de Asperti y Busi [AB96], las redes din´micas de Buscemi y Sas- o a sone [BS01], las redes ∆ de Gradit y Vernadat [GVA99, GV99], el formalismo POP de Engelfriet, Leih y Rozenberg [ELR91] y los aut´matas cooperativos de o Badouel, 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 Javier Oliver 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 o Redes y la definici´n de red Reconfigurable como una subclase de sistema o de reescritura de redes. Para las redes reconfigurables demostramos que su expresividad 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 a su 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 tienen el poder expresivo de la m´quina de Turing. Por tanto, para esta clase no es a posible 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 redes reconfigurables y de que el tama˜o de un sistema modelizado con una red n reconfigurable es mucho menor que el tama˜o del mismo sistema modelizado n mediante una red de Petri, se presentan distintas t´cnicas de verificaci´n de e o propiedades de las redes de Petri implementadas directamente en el modelo de las redes reconfigurables. En el Cap´ ıtulo 7 se muestra el desarrollo de una herramienta software de simulaci´n y verificaci´n para el modelo de las redes reconfigurables, que hace o o uso 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 la realizaci´n del presente trabajo de tesis y se exponen brevemente las l´ o ıneas de trabajo futuras para la ampliaci´n de ciertos aspectos interesantes que quedan o fuera del alcance de la presente disertaci´n. o
  • 28.
  • 29. Cap´ ıtulo 1 Redes de Petri Las redes de Petri, introducidas por Carl Adam Petri a principios de los a˜os 60 [Pet62][Rei85], son una herramienta gr´fica y matem´tica para el es- n a a tudio de un gran n´mero de sistemas: son uno de los formalismos m´s amplia- u a mente aceptados para modelizar sistemas concurrentes y distribuidos. El ´xito e de las redes de Petri en los ultimos 40 a˜os puede medirse no s´lo por las incon- ´ n o tables situaciones en las que se pueden aplicar sino tambi´n por el desarrollo e de aspectos te´ricos, que van desde un an´lisis completo de distintos fen´me- o a o nos en los modelos m´s simples a la definici´n de clases de redes con mayor a o expresividad (y m´s complejas). La principal aplicaci´n de las redes de Petri a o es la modelizaci´n y el an´lisis de sistemas con componentes concurrentes que o a interact´an. Un modelo es una representaci´n (en t´rminos matem´ticos) de u o e a las caracter´ısticas m´s importantes del objeto o sistema de estudio. Manipu- a lando esta representaci´n, se pueden obtener nuevos conocimientos del sistema o modelado sin ning´n coste o peligro para el sistema real. Sin embargo, el mo- u delado 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 e analiza. Este an´lisis nos lleva a una mejor comprensi´n del comportamiento a o del sistema modelado. Para realizar el an´lisis de las propiedades de una red de a Petri se han desarrollado diferentes t´cnicas, autom´ticas o no, seg´n los casos, e a u que permiten la verificaci´n de las propiedades que el sistema construido po- o sea. De hecho, una l´ ınea de trabajo muy importante en los ultimos a˜os ha sido ´ n la construcci´n de herramientas autom´ticas de verificaci´n para las diferentes o a o extensiones 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
  • 30. 6 Cap´ ıtulo 1 Redes de Petri la base para el desarrollo del resto de cap´ ıtulos. En la Secci´n 1.1 presentamos o los conceptos b´sicos de las redes de Petri, incluyendo la definici´n de las a o subclases de redes de Petri m´s habituales. En la Secci´n 1.2 mostramos los a o distintos tipos de propiedades que se pueden estudiar con redes de Petri. En la Secci´n 1.3 exponemos los m´todos existentes de an´lisis de redes de Petri. Por o e a ultimo, dedicamos la Secci´n 1.4 a presentar los t´picos sobre decidibilidad y ´ o o complejidad de problemas de verificaci´n de redes de Petri. o 1.1. Conceptos B´sicos a Definici´n 1 (Red de Petri [Mur89][Rei85]) Una red de Petri es una tu- o pla 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 arcos ponderados (o relaci´n de flujo). o Definici´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 forma que decimos que un lugar p est´ marcado con k tokens si el marcado asigna a al lugar p un entero k. Un marcado M se representa mediante un vector con tantas componentes como lugares tenga la red. El n´mero de tokens en el lugar u p ser´ M (p). a Definici´n 3 (Red de Petri Marcada) Una red de Petri marcada es un o par (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 un lugar y una barra representa una transici´n. Los arcos dirigidos (flechas) o conectan 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 o p a una transici´n t define p como un lugar de entrada para t. Un lugar de o salida se indica con un arco desde la transici´n al lugar. Una transici´n tiene o o un determinado n´mero de lugares de entrada (o precondiciones) y de lugares u de salida (o postcondiciones). Los arcos se etiquetan con sus pesos (enteros positivos). Si una de esas etiquetas se omite, significa que el arco tiene peso uno. Los tokens se representan como puntos negros • en los lugares.
  • 31. 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 o es el conjunto de todos los lugares de entrada a la transici´n t, • t = {∀p ∈ o P | 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 ∈ o P | F (t, p) = 0}. Definici´n 6 (Preset de un lugar p) El preset de un lugar p es el conjun- o to 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- o junto 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 preset y 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 comportamiento din´mico de un sistema modelado mediante una red de Petri. Una red de Petri a se ejecuta por el disparo de transiciones. Una transici´n se dispara eliminando o tokens de sus lugares de entrada y creando nuevos tokens distribuidos por sus lugares de salida.
  • 32. 8 Cap´ ıtulo 1 Redes de Petri Una transici´n puede dispararse si est´ habilitada. Una transici´n est´ ha- o a o a bilitada si en cada uno de sus lugares de entrada hay, al menos, tantos tokens como el peso de los arcos que los conectan con la transici´n. Formalmente, o Definici´n 9 (Transici´n Habilitada) Una transici´n t se dice habilitada o o o si cada lugar de entrada p de t est´ marcado con al menos F (p, t) tokens, es a decir, 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 o de sus lugares de entrada como indique el peso de los arcos que los conectan con la transici´n, y hace que en sus lugares de salida se depositen tantos tokens o como 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 o nuevo marcado M . Puesto que unicamente pueden dispararse las transiciones ´ habilitadas, el n´mero de tokens de cada lugar siempre ser´ positivo cuando u a una transici´n se dispare. Si no hay tokens suficientes en alguno de los lugares o de entrada de una transici´n, entonces la transici´n no estar´ habilitada y no o o a se disparar´. a Definici´n 10 (Disparo de una transici´n) Una transici´n puede dispa- o o o rarse siempre que est´ habilitada. e El disparo de una transici´n t habilitada en un marcado M elimina F (p, t) o tokens de cada lugar de entrada p de t, y a˜ade F (t, p) tokens a cada lugar de n salida 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 o marcado 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 caso Ejemplo 11 Las transiciones habilitadas en la red de Petri de la Figura 1.1 son t1 y t3 . Si se dispara la transici´n t1 , el marcado de la red M = (2, 0, 1, 0) o cambia al marcado M = (0, 1, 2, 0) como se muestra en la Figura 1.2.
  • 33. 1.1 Conceptos B´sicos a 9 · t1 p2 t2 2 2 ·· p1 p3 p4 2 t3 Figura 1.2: Marcado de la red de Petri de la Figura 1.1 despu´s del disparo de e la transici´n t1 o 1.1.1. Subclases de Redes de Petri m´s habituales a Definici´n 12 (Red de Petri Pura) Una red de Petri se llama pura si no o tiene bucles, es decir, ∀t ∈ T {• t} ∩ {t• } = ∅, los lugares de entrada de t no son a la vez lugares de salida de t. Definici´n 13 (Red de Petri Ordinaria) Una red de Petri se dice ordina- o ria si el peso de todos sus arcos es 1. Definici´n 14 (Red de Petri Simple) Una red de Petri simple es una red o de Petri ordinaria tal que: p• ∩ p• = ∅ ⇒ (p• ⊆ p• ) ∨ (p• ⊆ p• ). 1 2 1 2 2 1 Definici´n 15 (Grafo Marcado) Un grafo marcado es una red de Petri or- o dinaria en la que cada lugar tiene exactamente una transici´n de entrada y una o de 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 a de 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 o libre elecci´n es una red de Petri ordinaria tal que un arco desde un lugar es o el 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 o de Petri Lugar/Transici´n es una 6-tupla N = (P, T, F, K, M, W ) tal que o
  • 34. 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. o Definici´n 19 (Regla de Disparo para redes L/T) Sea N una red Lu- o gar/Transici´n, o Una aplicaci´n M : P → N ∪ {ω} se llama marcado de N sii M (p) ≤ K(p) o para 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 , o tal 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 caso 1.2. Propiedades Con una red de Petri pueden estudiarse dos tipos de propiedades: las que dependen del marcado inicial (propiedades de comportamiento) y las que son independientes del marcado inicial (propiedades estructurales).
  • 35. 1.2 Propiedades 11 1.2.1. Propiedades de Comportamiento Las principales propiedades de comportamiento son la alcanzabilidad, la acotabilidad, la vivacidad, la reversibilidad, la cobertura y la persistencia. Definici´n 20 (Marcado Alcanzable) Un marcado Mn se dice alcanzable o desde un marcado M0 si existe una secuencia de disparos que transforma M0 en 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 de todos los posibles marcados alcanzables desde M0 en una red (N, M0 ) se denota por R(N, M0 ) o simplemente por R(M0 ). Definici´n 21 (Problema de Alcanzabilidad) El problema de la alcan- o zabilidad para las redes de Petri ser´ el problema de encontrar si Mn ∈ R(M0 ) a en una red dada (N, M0 ). Definici´n 22 (Red de Petri Acotada) Una red de Petri (N, M0 ) se dice o k-acotada o acotada si el n´mero de tokens en cada lugar no es superior a un u n´mero finito k para cualquier marcado alcanzable desde M0 , es decir, M (p) ≤ u k 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 o segura si est´ 1-acotada. a Definici´n 24 (Interbloqueo) Se dice que en una red de Petri ocurre un o interbloqueo cuando se alcanza un marcado desde el que no se puede disparar ninguna transici´n. o Definici´n 25 (Red de Petri Viva) Una red de Petri (N, M0 ) se dice que o est´ viva (o equivalentemente se dice que M0 es un marcado vivo para N ) a si, sea cual sea el marcado que se alcance desde M0 , existe una secuencia disparable 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 o disparo. Esta es una propiedad muy fuerte y, a menudo, muy dif´ de verificar. ıcil Por ello, se habla se grados de disparo denominados niveles [Mur89][Pet81]. Concretamente, cuando una transici´n t est´ viva en o a
  • 36. 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 a en el nivel i. Una red de Petri est´ viva si todas las transiciones est´n vivas. a a N´tese que una transici´n que est´ viva en el nivel 4, lo est´ en los niveles 3, o o e a 2 y 1. Definici´n 26 (Red de Petri Reversible) Una red de Petri (N, M0 ) se di- o ce reversible si, para cualquier marcado M ∈ R(M0 ), M0 es alcanzable desde M . 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 o home 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 ) o cubre 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 o dada una red de Petri (N, M0 ) y un marcado M consistir´ en comprobar si a existe un marcado alcanzable M ∈ R(M0 ), tal que M ≥ M , (es decir, M cubre a M ). Definici´n 30 (Red de Petri Persistente) Una red de Petri (N, M0 ) se o dice persistente si, para dos transiciones habilitadas cualesquiera, el disparo de una de ellas no deshabilita la otra.
  • 37. 1.2 Propiedades 13 1.2.2. Propiedades Estructurales Las propiedades estructurales son aqu´llas que dependen de la estructura e topol´gica de las redes de Petri. Son independientes del marcado inicial en el o sentido 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 o Petri est´ acotada estructuralmente si est´ acotada para cualquier marcado a a inicial finito. Definici´n 32 (Lugar No Acotado Estructuralmente) Un lugar p en o una red de Petri se dice no acotado estructuralmente si existe un marcado M0 y una secuencia de disparo σ desde M0 tal que p no est´ acotado. a Definici´n 33 (Red de Petri Estructuralmente Viva) Una red de Petri o est´ estructuralmente viva si existe alg´n marcado inicial para el que est´ viva. a u a Definici´n 34 (Red de Petri Completamente Controlable) Una red o de Petri se dice completamente controlable si cualquier marcado es alcanzable desde cualquier otro marcado. Definici´n 35 (Red de Petri Estructuralmente Conservativa) Una o red de Petri es estructuralmente conservativa si, para cualquier marcado inicial 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 o Petri 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 u veces en σ. Definici´n 37 (Red de Petri (parcialmente) Consistente) Una red de o Petri 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 o ocurre al menos una vez en σ.
  • 38. 14 Cap´ ıtulo 1 Redes de Petri 1.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 o de la red [Mur89][Fin90]. Es aplicable a toda clase de redes pero se limita a redes peque˜as debido a la explosi´n del espacio de estados. Por otra parte, n o las ecuaciones matriciales y las t´cnicas de reducci´n son m´s potentes pero e o a en muchos casos s´lo son aplicables a subclases especiales de redes de Petri o o en 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 consiste a 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 otras transiciones. Tomando cada uno de esos nuevos marcados como una “nueva ra´ız”, se pueden generar recursivamente todos los marcados alcanzables. Es muy 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 un n´mero de tokens arbitrariamente grande y que est´ sujeto a cuatro reglas u a aritm´ticas especiales, tales que para cualquier entero a: e a<ω ω≤ω ω+a=ω ω−a=ω Utilizando esta notaci´n y un algoritmo basado en el algoritmo presentado o en [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.
  • 39. 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 que pueden 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. ´
  • 40. 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 alcanzabilidad o vivacidad o para determinar qu´ secuencias de disparo son posibles. Estos e problemas est´n limitados por la existencia del s´ a ımbolo ω que implica una p´rdida de informaci´n. Para resolver dichos problemas, son necesarias otras e o aproximaciones. Ejemplo 38 La Figura 1.3 muestra el ´rbol de cobertura de la red de la Fi- a gura 1.1. En este ´rbol de cobertura, el s´ a ımbolo ω no aparece en ning´n nodo, u podemos hablar, por tanto, de ´rbol de alcanzabilidad. El estudio del ´rbol nos a a permite concluir que la red est´ acotada y, por tanto, R(M0 ) es finito. Adem´s, a a no 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 Figura 1.1 Ejemplo 39 La Figura 1.5 muestra el ´rbol de cobertura de la Figura 1.4. El a s´ ımbolo ω en dicho ´rbol indica que la red no est´ acotada, as´ como tambi´n a a ı e qu´ lugares de la red no est´n acotados; en este caso, los lugares no acotados e a son 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
  • 41. 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.4 1.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 a interconectados). Esta interconexi´n de los nodos no est´ relacionada con el o a marcado inicial, por ello, esta aproximaci´n se utiliza para determinar las pro- o piedades estructurales de las redes de Petri, aunque tambi´n puede utilizarse e para determinar alguna propiedad de comportamiento. Definici´n 40 (Matriz de Incidencia) La matriz de incidencia A = [aij ] o de una red de Petri con n transiciones y m lugares es una matriz (n × m) de enteros tal que aij = a+ − a− ij ij siendo a+ = F (i, j) el peso del arco desde la transici´n i a su lugar de salida ij o j y a− = F (j, i) el peso del arco a la transici´n i desde su lugar de entrada j. ij o
  • 42. 18 Cap´ ıtulo 1 Redes de Petri Es f´cil comprobar que a− , a+ y aij son, respectivamente, los tokens eli- a ij ij minados, a˜adidos y cambiados en el lugar j cuando la transici´n i se dispara n o una vez. La transici´n i estar´ habilitada en el marcado M si y solamente si o a a− ≤ M (j) j = 1, 2, . . . , m. ij Definici´n 41 (Ecuaci´n de Estados) Al escribir ecuaciones de matrices, o o escribimos un marcado Mk como un vector columna (m×1). La j-´sima entrada e de Mk denota el n´mero de tokens en el lugar j inmediatamente despu´s del u e k-´simo disparo en alguna secuencia de disparo. El k-´simo disparo o vector de e e control uk es un vector columna (n × 1) de (n − 1) 0’s y una entrada distinta de 0, un 1 en la i-´sima posici´n indica que la transici´n i se dispara en el e o o k-´simo disparo. Ya que la i-´sima fila de la matriz de incidencia A indica e e el cambio de marcado como resultado del disparo de la transici´n i, podemos o escribir 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 es la 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 o de la transici´n t3 en el marcado M0 = o (2, 0, 1, 0) dando como resultado el marcado 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 2 Definici´n 43 (Condici´n Necesaria de Alcanzabilidad) Supongamos o o que un marcado destino Md es alcanzable desde M0 a trav´s de una secuen- e cia de disparo {u1 , u2 , . . . , ud }. Escribiendo las ecuaciones de estado para i = 1, 2, . . . , d y sum´ndolas, obtenemos a d T Md = M 0 + A uk k=1
  • 43. 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 vector k=1 contador de disparos o vector de Parikh. La i-´sima entrada de x denota el e n´mero de veces que una transici´n i debe dispararse para transformar M 0 en u o Md . 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, o lo contrario no es necesariamente cierto; si Md = M0 +AT x da como resultado una soluci´n entera no negativa, Md puede o no ser alcanzable desde M0 . Por o lo 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 a tiene una soluci´n x si y s´lo si ∆M es ortogonal a cada soluci´n y de su o o o sistema 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 como las (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. o Ahora, la condici´n de que ∆M es ortogonal a cada soluci´n para Ay = 0 es o o equivalente 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. o Teorema 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
  • 44. 20 Cap´ ıtulo 1 Redes de Petri A partir del Teorema anterior se deduce la siguiente condici´n suficiente de o no alcanzabilidad. Corolario 45 En una red de Petri (N, M0 ), un marcado Md no es alcanzable desde M0 (= Md ) si su diferencia es una combinaci´n lineal de los vectores o T columna 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 puede dividirse 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 e incidencia 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 o un 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 o AT x = ∆M 0, donde la p-´sima entrada de ∆M > 0 (es decir, ∆M (p) > 0). e Teorema 50 Una red de Petri N es (parcialmente) conservativa si y s´lo sio existe un vector y (m × 1) de enteros (no negativos) positivos tal que Ay = 0, y = 0.
  • 45. 1.3 An´lisis de redes de Petri a 21 Teorema 51 Una red de Petri N es (parcialmente) repetitiva si y s´lo si existe o T un 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 T existe 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 Tabla 1.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 o estado 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 o enteros 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 T x M0 , lo que implica que el n´mero total de tokens iniciales en M0 , ponderado u por el P-invariante, es constante (ver Definici´n 35). o Definici´n 54 (T-invariante) Un T-invariante es un vector y (m × 1) de o enteros no negativos que satisface la ecuaci´n Ay = 0. o Combinando esta ecuaci´n con Md = M0 + AT x, tenemos que Md = M0 o con y = x, lo que implica que si el vector contador de disparos es id´ntico a e un T-invariante entonces el marcado final es igual al marcado inicial.
  • 46. 22 Cap´ ıtulo 1 Redes de Petri Teorema 55 Un vector x de enteros no negativos es un P-invariante si y s´lo o T T si x M = x M0 para alg´n marcado inicial M0 y alg´n marcado M ∈ R(M0 ). u u Teorema 56 Un vector y de enteros no negativos es un T-invariante si y s´lo o si existe un marcado M y una secuencia de disparo desde M hasta M cuyo vector contador de disparos es y. Definici´n 57 (Soporte de un Invariante) El soporte de un invariante es o el conjunto de lugares (transiciones) correspondientes a entradas distintas de cero en un P-invariante (T-invariante). Se denota por < x > (< y >). Definici´n 58 (Soporte Minimal de un Invariante) Un soporte de un o invariante es minimal si y s´lo si no contiene el soporte de otro invariante o que no sea ´l mismo y el conjunto vac´ e ıo. Definici´n 59 (Invariante Minimal) Un invariante minimal es un inva- o riante que no es combinaci´n lineal de otros invariantes. o Teorema 60 Existen (n−r) P-invariantes minimales y (m−r) T-invariantes minimales siendo r = rango(A). Para una mejor comprensi´n de las propiedades de las redes de Petri, se o consideran 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 o de 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 u cado no tiene tokens, permanecer´ sin tokens en cualquier marcado sucesor. a Definici´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 o un 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
  • 47. 1.3 An´lisis de redes de Petri a 23 Teorema 63 Si x es un P-invariante, entonces < x > es una trampa y un sif´n. o Teorema 64 Sean x e y dos invariantes del mismo tipo. Entonces, se cumple lo 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 en una red de Petri pura con marcado inicial acotado m0 . Sean I1 , . . . , Ij los soportes minimales que contienen a pi y x1 , . . . , xj los P-invariantes minimales asociados a los soportes minimales. Entonces, para todo marcado alcanzable m ∈ 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 determinar el k-acotamiento de una red a partir de los P-invariantes. N´tese que si una red o est´ cubierta por P-invariantes y m0 est´ acotado, entonces la red est´ acotada. a a a Teorema 66 Una red de Petri pura est´ viva y acotada si est´ cubierta por a a P-invariantes, todos los P-invariantes est´n marcados con tokens y ninguno a de los sifones se vac´ nunca de tokens. ıa El siguiente es un procedimiento sistem´tico sencillo para aplicar el Teore- a ma 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.
  • 48. 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. a 1.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- a ce a uno m´s simple que preserve las propiedades del sistema a analizar. A a la inversa, las t´cnicas para transformar un modelo abstracto en un modelo e m´s refinado de una forma jer´rquica pueden utilizarse para s´ a a ıntesis. Existen muchas 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 a acotamiento. No es dif´ comprobar que las siguientes seis operaciones preservan las ıcil propiedades 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- e maciones. Entonces (N , M0 ) est´ viva, segura o acotada si y s´lo si (N, M0 ) a o est´ 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)). o 1.4. Decidibilidad y Complejidad Un problema de decisi´n [Sud88] es un conjunto de cuestiones cuya respues- o ta es s´ o no. Una soluci´n para un problema de decisi´n es un procedimiento ı o o efectivo (completo, mec´nico y determinista) que determina la respuesta a cada a cuesti´n del conjunto. Un problema de decisi´n es indecidible si no existe un al- o o goritmo que lo resuelva. Existen numerosos estudios sobre la decidibilidad y la
  • 49. 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 a que los problemas de acotabilidad, alcanzabilidad, interbloqueo y vivacidad son todos 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]. o Tambi´n puede ocurrir que aunque la soluci´n exista, su coste (tiempo y espa- e o cio de memoria necesarios) sea elevado [DF97]. La habilidad de las m´quinas a de Turing para devolver respuestas afirmativas o negativas las convierte en un formalismo matem´tico apropiado para construir soluciones a problemas de a decisi´n. La reducibilidad [HU79][Pet81] entre problemas se usa habitualmen- o te para demostrar que un problema es decidible o indecidible. Para demostrar decidibilidad en las propiedades de una red de Petri, es necesario reducir un problema de red de Petri a un problema con soluci´n conocida. Para demostrar o indecidibilidad, hay que reducir un problema que se sabe es indecidible a un problema de red de Petri. Son muy pocos los estudios que existen sobre decidibilidad para extensio-
  • 50. 26 Cap´ ıtulo 1 Redes de Petri nes de redes de Petri, comparados con la cantidad de art´ ıculos de investigaci´n o existentes sobre subclases de redes de Petri. En su tesis [Duf98] y tambi´n e en [DFS98] y [DJS99], Catherine Dufourd estudia y compara bastantes ex- tensiones de las redes de Petri en t´rminos de decidibilidad. Para ello, define e las G-redes que constituyen una extensi´n de las redes de Petri y que englo- o ban a las redes Automodificantes de Valk [Val78a, Val78b]. Dufourd realiza el estudio de las siguientes propiedades: terminaci´n, cobertura, acotamiento o de una red, acotamiento de un lugar, acotamiento estructural, alcanzabilidad, interbloqueo, vivacidad y vivacidad de una transici´n, sobre nueve subclases o de G-redes. Para cada clase determina qu´ propiedades son decidibles, lo que e le permite agruparlas (o separarlas), obteniendo una jerarqu´ muy fina de ıa decidibilidad. Presentamos la clasificaci´n que Dufourd muestra en [DFS98] y [Duf98]. o Su motivaci´n es encontrar extensiones de las redes de Petri que se puedan o analizar, centrando su estudio sobre distintos tipos de arcos extendidos. En primer 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 o de 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 o de entrada a p) es un post-arco. Definici´n 69 (Arco cl´sico o del tipo red de Petri) Un arco se deno- o a mina cl´sico o del tipo red de Petri si su etiqueta es un n´mero natural: a u F (x, y) ∈ N, x, y ∈ P ∪ T . Definici´n 70 (Arco extendido) Un arco se dice extendido si su etiqueta o es un polinomio. Definici´n 71 (Arco Inhibidor) Un arco inhibidor (o test de cero) desde o un lugar p a una transici´n t indica que la transici´n s´lo puede dispararse si o o o no hay tokens en el lugar, es decir, una transici´n t a la que le llega un arco o inhibidor desde un lugar p est´ habilitada si lo est´ en el sentido habitual y a a adem´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
  • 51. 1.4 Decidibilidad y Complejidad 27 La transici´n se dispara eliminando los tokens de todos sus lugares (nor- o males) de entrada. 2p p t Figura 1.7: Test de cero Un arco inhibidor se representa mediante un arco no orientado que acaba con un peque˜o c´ n ırculo. O p t Figura 1.8: Arco inhibidor Definici´n 72 (Arco Reset) Un arco reset (o puesta a cero) es un pre-arco o tal que F (p, t) = p (con F (t, p) = 0). El disparo de una transici´n t con un o arco 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, es decir, 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 un aspa. Los arcos reset son pre-arcos “d´biles” por tres razones: a) la puesta a e cero siempre se puede realizar y nunca es un obst´culo para el disparo de una a