Red de Petri

Editar artículo

Una red de Petri, también conocida como red de lugar / transición (PT), es uno de varios lenguajes de modelado matemático para la descripción de sistemas distribuidos. Es una clase de sistema dinámico de eventos discretos. Una red de Petri es un gráfico bipartito dirigido que tiene dos tipos de elementos, lugares y transiciones, representados como círculos blancos y rectángulos, respectivamente. Un lugar puede contener cualquier número de fichas, representadas como círculos negros. Una transición está habilitada si todos los lugares conectados a ella como entradas contienen al menos un token. Algunas fuentes afirman que las redes de Petri fueron inventadas en agosto de 1939 por Carl Adam Petri —a la edad de 13 años— con el propósito de describir procesos químicos.

Al igual que los estándares de la industria, como los diagramas de actividad UML, el modelo de procesos de negocio y la notación y las cadenas de procesos controladas por eventos, las redes de Petri ofrecen una notación gráfica para procesos escalonados que incluyen elección, iteración y ejecución concurrente. A diferencia de estos estándares, las redes de Petri tienen una definición matemática exacta de su semántica de ejecución, con una teoría matemática bien desarrollada para el análisis de procesos.

(a) Ejemplo de trayectoria de red de Petri
Contenido
  • 1 Conceptos básicos de la red de Petri
  • 2 Definición formal y terminología básica
    • 2.1 sintaxis
    • 2.2 Semántica de ejecución
  • 3 Variaciones sobre la definición
  • 4 Formulación en términos de vectores y matrices
  • 5 Propiedades matemáticas de las redes de Petri
    • 5.1 Accesibilidad
    • 5.2 Vivacidad
    • 5.3 Delimitación
  • 6 redes de Petri discretas, continuas e híbridas
  • 7 extensiones
  • 8 restricciones
  • 9 redes de flujo de trabajo
  • 10 Otros modelos de concurrencia
  • 11 áreas de aplicación
  • 12 Véase también
  • 13 referencias
  • 14 Lecturas adicionales
  • 15 Enlaces externos

Conceptos básicos de la red de Petri

Una red de Petri consta de lugares, transiciones y arcos. Los arcos van de un lugar a una transición o viceversa, nunca entre lugares o entre transiciones. Los lugares desde los que se extiende un arco hasta una transición se denominan lugares de entrada de la transición; los lugares a los que se extienden los arcos desde una transición se denominan lugares de salida de la transición.

Gráficamente, los lugares en una red de Petri pueden contener un número discreto de marcas llamadas tokens. Cualquier distribución de fichas sobre los lugares representará una configuración de la red llamada marca. En un sentido abstracto relacionado con un diagrama de red de Petri, una transición de una red de Petri puede dispararse si está habilitada, es decir, hay suficientes fichas en todos sus lugares de entrada; cuando se activa la transición, consume los tokens de entrada necesarios y crea tokens en sus lugares de salida. Un disparo es atómico, es decir, un solo paso no interrumpible.

A menos que se defina una política de ejecución (por ejemplo, un orden estricto de las transiciones, que describa la precedencia), la ejecución de las redes de Petri no es determinista : cuando se habilitan varias transiciones al mismo tiempo, se activarán en cualquier orden.

Dado que la activación no es determinista y pueden estar presentes múltiples tokens en cualquier lugar de la red (incluso en el mismo lugar), las redes de Petri son adecuadas para modelar el comportamiento concurrente de sistemas distribuidos.

Definición formal y terminología básica

Las redes de Petri son sistemas de transición de estado que amplían una clase de redes llamadas redes elementales.

Definición 1. Una red es una tupla donde:

norte=(PAG,T,F)
{\ Displaystyle N = (P, T, F)}

  1. PAG
    {\ Displaystyle P}y son conjuntos finitos disjuntos de lugares y transiciones, respectivamente. T
    {\ Displaystyle T}
  2. F(PAG×T)(T×PAG)
    {\ Displaystyle F \ subseteq (P \ times T) \ cup (T \ times P)}es un conjunto de arcos ( dirigidos) (o relaciones de flujo).

Definición 2. Dada una red N = ( P, T, F), una configuración es un conjunto C de modo que C P.

Una red de Petri con transición habilitada. La red de Petri que sigue después de la transición se dispara (red de Petri inicial en la figura anterior).

Definición 3. Una red elemental es una red de la forma EN = ( N, C) donde:

  1. N = ( P, T, F) es una red.
  2. C es tal que C P es una configuración.

Definición 4. Una red de Petri es una red de la forma PN = ( N, M, W), que extiende la red elemental de modo que:

  1. N = ( P, T, F) es una red.
  2. M  : P Z es un conjunto de lugares múltiples, donde Z es un conjunto contable. M amplía el concepto de configuración y se describe comúnmente con referencia a los diagramas de red de Petri como una marca.
  3. W  : F Z es un arco múltiple, de modo que la cuenta (o peso) de cada arco es una medida de la multiplicidad del arco.

Si una red de Petri es equivalente a una red elemental, entonces Z puede ser el conjunto contable {0,1} y aquellos elementos en P que se asignan a 1 bajo M forman una configuración. De manera similar, si una red de Petri no es una red elemental, entonces el multiconjunto M puede interpretarse como que representa un conjunto de configuraciones que no son singleton. En este sentido, M extiende el concepto de configuración para redes elementales a las redes de Petri.

En el diagrama de una red de Petri (ver figura superior derecha), los lugares se representan convencionalmente con círculos, transiciones con rectángulos largos y estrechos y arcos como flechas unidireccionales que muestran conexiones de lugares a transiciones o transiciones a lugares. Si el diagrama fuera de una red elemental, entonces esos lugares en una configuración se representarían convencionalmente como círculos, donde cada círculo abarca un solo punto llamado símbolo. En el diagrama dado de una red de Petri (ver a la derecha), los círculos de lugar pueden abarcar más de una ficha para mostrar el número de veces que aparece un lugar en una configuración. La configuración de los tokens distribuidos en todo un diagrama de red de Petri se denomina marca.

En la figura superior (ver a la derecha), el lugar p 1 es un lugar de entrada de transición t ; mientras que el lugar p 2 es un lugar de salida para la misma transición. Sea PN 0 (figura superior) una red Petri con una marca configurada M 0, y PN 1 (figura inferior) sea una red Petri con una marca configurada M 1. La configuración de PN 0 permite la transición t mediante la propiedad de que todos los lugares de entrada tienen un número suficiente de fichas (mostradas en las figuras como puntos) "igual o mayor" que las multiplicidades en sus respectivos arcos at. Una vez y solo una vez que se habilita una transición, se activará la transición. En este ejemplo, el disparo de la transición t genera un mapa que tiene la marca configurada M 1 en la imagen de M 0 y da como resultado una red de Petri PN 1, que se ve en la figura inferior. En el diagrama, la regla de activación para una transición se puede caracterizar restando un número de tokens de sus lugares de entrada igual a la multiplicidad de los respectivos arcos de entrada y acumulando un nuevo número de tokens en los lugares de salida igual a la multiplicidad de los respectivos arcos de salida.

Observación 1. El significado preciso de "igual o mayor" dependerá de las propiedades algebraicas precisas de la suma que se apliquen a Z en la regla de disparo, donde variaciones sutiles en las propiedades algebraicas pueden conducir a otras clases de redes de Petri; por ejemplo, redes de Petri algebraicas.

La siguiente definición formal se basa libremente en ( Peterson 1981). Existen muchas definiciones alternativas.

Sintaxis

Un gráfico de red de Petri (llamado red de Petri por algunos, pero ver más abajo) es una tupla de 3, donde

(S,T,W)
{\ Displaystyle (S, T, W)}

  • S es un conjunto finito de lugares
  • T es un conjunto finito de transiciones
  • S y T son inconexos, es decir, ningún objeto puede ser tanto un lugar como una transición.
  • W:(S×T)(T×S) norte
    {\ Displaystyle W: (S \ times T) \ cup (T \ times S) \ to \ mathbb {N}}es un conjunto múltiple de arcos, es decir, asigna a cada arco una multiplicidad (o peso) de arcos enteros no negativos ; tenga en cuenta que ningún arco puede conectar dos lugares o dos transiciones.

La relación de flujo es el conjunto de arcos:. En muchos libros de texto, arcos sólo pueden tener multiplicidad 1. Estos textos definen a menudo las redes de Petri utilizando F en lugar de W. Cuando se utiliza esta convención, un gráfico de red de Petri es un bipartito multigrafo con particiones nodo S y T.

F={(X,y)W(X,y)gt;0}
{\ Displaystyle F = \ {(x, y) \ mid W (x, y)gt; 0 \}} (ST,F)
{\ Displaystyle (S \ cup T, F)}

El preajuste de una transición t es el conjunto de sus lugares de entrada: ; su postset es el conjunto de sus lugares de salida:. Las definiciones de pre y postconjuntos de lugares son análogas.

t={sSW(s,t)gt;0}
{\ Displaystyle {} ^ {\ bullet} t = \ {s \ in S \ mid W (s, t)gt; 0 \}} t ={sSW(t,s)gt;0}
{\ Displaystyle t ^ {\ bullet} = \ {s \ in S \ mid W (t, s)gt; 0 \}}

Una marca de una red de Petri (gráfico) es un conjunto múltiple de sus lugares, es decir, un mapeo. Decimos que la marca asigna a cada lugar un número de fichas.

METRO:S norte
{\ Displaystyle M: ​​S \ to \ mathbb {N}}

Una red de Petri (llamada red de Petri marcada por algunos, ver arriba) es una tupla de 4, donde

(S,T,W, METRO 0)
{\ Displaystyle (S, T, W, M_ {0})}

  • (S,T,W)
    {\ Displaystyle (S, T, W)} es un gráfico de red de Petri;
  • METRO 0
    {\ Displaystyle M_ {0}}es la marca inicial, una marca del gráfico de red de Petri.

Semántica de ejecución

En palabras:

  • disparar una transición t en una marca M consume tokens de cada uno de sus lugares de entrada s, y produce tokens en cada uno de sus lugares de salida s W(s,t)
    {\ Displaystyle W (s, t)} W(t,s)
    {\ Displaystyle W (t, s)}
  • se habilita una transición (puede dispararse) en M si hay suficientes tokens en sus lugares de entrada para que los consumos sean posibles, es decir, si y solo si. s:METRO(s)W(s,t)
    {\ Displaystyle \ forall s: M (s) \ geq W (s, t)}

En general, estamos interesados ​​en lo que puede suceder cuando las transiciones pueden dispararse continuamente en un orden arbitrario.

Decimos que una marca M ' es accesible desde una marca M en un paso si ; decimos que es accesible desde M si, donde está el cierre transitivo reflexivo de ; es decir, si es accesible en 0 o más pasos.

METRO GRAMO METRO
{\ Displaystyle M {\ underset {G} {\ longrightarrow}} M '} METRO GRAMO METRO
{\ Displaystyle M {\ overset {*} {\ underset {G} {\ longrightarrow}}} M '} GRAMO
{\ displaystyle {\ overset {*} {\ underset {G} {\ longrightarrow}}}} GRAMO
{\ displaystyle {\ underset {G} {\ longrightarrow}}}

Para una red de Petri (marcada), nos interesan los disparos que se pueden realizar a partir del marcaje inicial. Su conjunto de marcas alcanzables es el conjunto

norte=(S,T,W, METRO 0)
{\ Displaystyle N = (S, T, W, M_ {0})} METRO 0
{\ Displaystyle M_ {0}} R(norte)  = D  { METRO | METRO 0 ( S , T , W ) METRO }
{\ Displaystyle R (N) \ {\ stackrel {D} {=}} \ \ left \ {M '{\ Bigg |} M_ {0} {\ xrightarrow [{(S, T, W)}] {* }} M '\ right \}}

El gráfico de accesibilidad de N es la relación de transición restringida a sus marcas alcanzables. Es el espacio de estados de la red.

GRAMO
{\ displaystyle {\ underset {G} {\ longrightarrow}}} R(norte)
{\ Displaystyle R (N)}

Una secuencia de disparo para una red de Petri con gráfico G y marca inicial es una secuencia de transiciones tal que. El conjunto de secuencias de disparo se denota como.

METRO 0
{\ Displaystyle M_ {0}} σ = t 1 t norte
{\ Displaystyle {\ vec {\ sigma}} = \ langle t_ {1} \ cdots t_ {n} \ rangle} METRO 0 GRAMO , t 1 METRO 1 METRO norte - 1 GRAMO , t norte METRO norte
{\ Displaystyle M_ {0} {\ underset {G, t_ {1}} {\ longrightarrow}} M_ {1} \ wedge \ cdots \ wedge M_ {n-1} {\ underset {G, t_ {n}} {\ longrightarrow}} M_ {n}} L(norte)
{\ Displaystyle L (N)}

Variaciones sobre la definición

Como ya se ha comentado, una variación común es no permitir arco multiplicidades y sustituir la bolsa de arcos W con un juego simple, llamada la relación de flujo,. Esto no limita el poder expresivo ya que ambos pueden representarse entre sí.

F(S×T)(T×S)
{\ Displaystyle F \ subseteq (S \ times T) \ cup (T \ times S)}

Otra variación común, por ejemplo, en Desel y Juhás (2001), es permitir que las capacidades se definan en los lugares. Esto se analiza en las extensiones siguientes.

Formulación en términos de vectores y matrices

Las marcas de una red de Petri pueden considerarse vectores de enteros de longitud no negativos.

(S,T,W, METRO 0)
{\ Displaystyle (S, T, W, M_ {0})} |S |
{\ Displaystyle | S |}

(b) Ejemplo de red de Petri

Su relación de transición se puede describir como un par de por matrices :

|S |
{\ Displaystyle | S |} |T |
{\ Displaystyle | T |}

  • W -
    {\ Displaystyle W ^ {-}}, definido por s,t: W -[s,t]=W(s,t)
    {\ Displaystyle \ forall s, t: W ^ {-} [s, t] = W (s, t)}
  • W +
    {\ Displaystyle W ^ {+}}, definido por s,t: W +[s,t]=W(t,s).
    {\ Displaystyle \ forall s, t: W ^ {+} [s, t] = W (t, s).}

Entonces su diferencia

  • W T=- W -+ W +
    {\ Displaystyle W ^ {T} = - W ^ {-} + W ^ {+}}

se puede utilizar para describir las marcas alcanzables en términos de multiplicación de matrices, como sigue. Para cualquier secuencia de transiciones w, escriba para el vector que mapea cada transición a su número de ocurrencias en w. Entonces tenemos

o(w)
{\ Displaystyle o (w)}

  • R(norte)={METROw: w  es una secuencia de disparo de norte   y  METRO= METRO 0+ W To(w)}
    {\ Displaystyle R (N) = \ {M \ mid \ exist w: \ w {\ text {es una secuencia de disparo de}} N \ {\ text {y}} \ M = M_ {0} + W ^ { T} \ cdot o (w) \}}.

Tenga en cuenta que debe requerirse que w sea ​​una secuencia de disparo; permitir secuencias arbitrarias de transiciones generalmente producirá un conjunto más grande.

W -= [
t 1 t 2 pag 1 1 0 pag 2 0 1 pag 3 0 1 pag 4 0 0],  W += [
t 1 t 2 pag 1 0 1 pag 2 1 0 pag 3 1 0 pag 4 0 1],  W T= [
t 1 t 2 pag 1 - 1 1 pag 2 1 - 1 pag 3 1 - 1 pag 4 0 1]
{\ displaystyle W ^ {-} = {\ begin {bmatrix} * amp; t1 amp; t2 \\ p1 amp; 1 amp; 0 \\ p2 amp; 0 amp; 1 \\ p3 amp; 0 amp; 1 \\ p4 amp; 0 amp; 0 \ end {bmatrix}}, \ W ^ {+} = {\ begin {bmatrix} * amp; t1 amp; t2 \\ p1 amp; 0 amp; 1 \\ p2 amp; 1 amp; 0 \\ p3 amp; 1 amp; 0 \\ p4 amp; 0 amp; 1 \ end {bmatrix}}, \ W ^ {T} = {\ begin {bmatrix} * amp; t1 amp; t2 \\ p1 amp; -1 amp; 1 \\ p2 amp; 1 amp; -1 \\ p3 amp; 1 amp; -1 \\ p4 amp; 0 amp; 1 \ end {bmatrix}}} METRO 0= [
1 0 2 1]
{\ displaystyle M_ {0} = {\ begin {bmatrix} 1 amp; 0 amp; 2 amp; 1 \ end {bmatrix}}}

Propiedades matemáticas de las redes de Petri

Una cosa que hace que las redes de Petri sean interesantes es que proporcionan un equilibrio entre el poder de modelado y la capacidad de análisis: muchas cosas que uno quisiera saber sobre los sistemas concurrentes se pueden determinar automáticamente para las redes de Petri, aunque algunas de esas cosas son muy costosas de determinar en general. caso. Se han estudiado varias subclases de redes de Petri que aún pueden modelar clases interesantes de sistemas concurrentes, mientras que estos problemas se vuelven más fáciles.

En Esparza y ​​Nielsen (1995) se puede encontrar una descripción general de tales problemas de decisión, con resultados de decidibilidad y complejidad para las redes de Petri y algunas subclases.

Accesibilidad

El problema de accesibilidad para las redes de Petri es decidir, dada una red de Petri N y una marca M, si.

METROR(norte)
{\ Displaystyle M \ en R (N)}

Es cuestión de recorrer el gráfico de accesibilidad definido anteriormente, hasta que se alcanza la marca solicitada o ya no se puede encontrar. Esto es más difícil de lo que parece al principio: el gráfico de accesibilidad es generalmente infinito y no es fácil determinar cuándo es seguro detenerse.

De hecho, este problema ha demostrado ser EXPSPACE años -Hard antes de que se demostró que era decidible en absoluto (Mayr, 1981). Se siguen publicando artículos sobre cómo hacerlo de manera eficiente. En 2018, Czerwiński et al. mejoró el límite inferior y mostró que el problema no es ELEMENTAL. En 2021, Jerome Leroux y Wojciech Czerwiński y Łukasz Orlikowski demostraron que este problema era recursivo no primitivo, de forma independiente. Estos resultados cierran así la antigua brecha de complejidad.

Si bien la accesibilidad parece ser una buena herramienta para encontrar estados erróneos, para problemas prácticos, el gráfico construido generalmente tiene demasiados estados para calcular. Para aliviar este problema, la lógica temporal lineal se usa generalmente junto con el método del cuadro para demostrar que tales estados no se pueden alcanzar. La lógica temporal lineal utiliza la técnica de semidecisión para encontrar si efectivamente se puede alcanzar un estado, al encontrar un conjunto de condiciones necesarias para que se alcance el estado y luego demostrar que esas condiciones no se pueden satisfacer.

Vivacidad

Una red de Petri en la que la transición está muerta, mientras que para todos está vivo t 0
{\ Displaystyle t_ {0}} jgt;0,
{\ Displaystyle jgt; 0,} t j
{\ Displaystyle t_ {j}} L j
{\ Displaystyle L_ {j}}

Se puede describir que las redes de Petri tienen diferentes grados de vida. Una red de Petri se llama -viva si y solo si todas sus transiciones son -vivas, donde una transición es

L 1- L 4
{\ Displaystyle L_ {1} -L_ {4}} (norte, METRO 0)
{\ Displaystyle (N, M_ {0})} L k
{\ Displaystyle L_ {k}} L k
{\ Displaystyle L_ {k}}

  • muerto, si nunca puede disparar, es decir, no está en ninguna secuencia de disparo en L(norte, METRO 0)
    {\ Displaystyle L (N, M_ {0})}
  • L 1
    {\ Displaystyle L_ {1}}-vivo ( potencialmente disparable), si y solo si puede disparar, es decir, está en alguna secuencia de disparo en L(norte, METRO 0)
    {\ Displaystyle L (N, M_ {0})}
  • L 2
    {\ Displaystyle L_ {2}}-vive si puede disparar arbitrariamente a menudo, es decir, si por cada entero positivo k, ocurre al menos k veces en alguna secuencia de disparo en L(norte, METRO 0)
    {\ Displaystyle L (N, M_ {0})}
  • L 3
    {\ Displaystyle L_ {3}}-vive si puede disparar infinitamente a menudo, es decir, si hay alguna secuencia de disparo fija (necesariamente infinita) en la que por cada entero positivo k, la transición ocurre al menos k veces, L 3
    {\ Displaystyle L_ {3}}
  • L 4
    {\ Displaystyle L_ {4}}-vive (en vivo) si siempre puede disparar, es decir, está -vivo en cada marca alcanzable en L 1
    {\ Displaystyle L_ {1}} R(norte, METRO 0)
    {\ Displaystyle R (N, M_ {0})}

Tenga en cuenta que estos son requisitos cada vez más estrictos: -vivir implica -vivir, para.

L j + 1
{\ Displaystyle L_ {j + 1}} L j
{\ Displaystyle L_ {j}}
j 1 , 2 , 3
{\ textstyle \ textstyle {j \ in {1,2,3}}}

Estas definiciones están de acuerdo con la descripción general de Murata, que además usa -live como un término para muerto.

L 0
{\ Displaystyle L_ {0}}

Delimitación

El gráfico de accesibilidad de N2.

Un lugar en una red de Petri se denomina delimitado por k si no contiene más de k fichas en todas las marcas accesibles, incluida la marca inicial; se dice que es seguro si está acotado por 1; está acotado si está acotado por k para algún k.

Una red de Petri (marcada) se llama delimitada por k, segura o limitada cuando todos sus lugares lo son. Una red de Petri (gráfico) se denomina (estructuralmente) acotada si está acotada para cada posible marcado inicial.

Tenga en cuenta que una red de Petri está acotada si y solo si su gráfico de accesibilidad es finito.

La delimitación se puede decidir mirando la cobertura, construyendo el Karp- Miller Tree.

Puede ser útil imponer explícitamente un límite en los lugares de una red determinada. Esto se puede utilizar para modelar recursos limitados del sistema.

Algunas definiciones de redes de Petri permiten explícitamente esto como una característica sintáctica. Formalmente, las redes de Petri con capacidad de lugar se pueden definir como tuplas, donde es una red de Petri, una asignación de capacidades a (algunos o todos) lugares, y la relación de transición es la habitual restringida a las marcas en las que cada lugar con una capacidad tiene como máximo esa cantidad de tokens.

(S,T,W,C, METRO 0)
{\ Displaystyle (S, T, W, C, M_ {0})} (S,T,W, METRO 0)
{\ Displaystyle (S, T, W, M_ {0})} C:PAG norte
{\ Displaystyle C: P \ rightarrow \! \! \! \ shortmid \ mathbb {N}}

Una red de Petri sin límites, N.

Por ejemplo, si en la red N, a ambos lugares se les asigna la capacidad 2, obtenemos una red de Petri con capacidades de lugar, digamos N2 ; su gráfico de accesibilidad se muestra a la derecha.

Red de Petri de dos límites, obtenida al extender N con "contrapuntos".

Alternativamente, los lugares se pueden delimitar extendiendo la red. Para ser exactos, un lugar se puede hacer delimitado por k agregando un "contra-lugar" con flujo opuesto al del lugar, y agregando tokens para hacer el total en ambos lugares k.

Redes de Petri discretas, continuas e híbridas

Además de para eventos discretos, existen redes de Petri para procesos continuos e híbridos discretos-continuos que son útiles en la teoría de control discreto, continuo e híbrido, y relacionados con autómatas discretos, continuos e híbridos.

Extensiones

Hay muchas extensiones para las redes de Petri. Algunos de ellos son completamente compatibles con versiones anteriores (por ejemplo , redes de Petri de colores ) con la red de Petri original, algunos añaden propiedades que no se pueden modelar en el formalismo de la red de Petri original (por ejemplo, redes de Petri cronometradas). Aunque los modelos compatibles con versiones anteriores no amplían el poder computacional de las redes de Petri, pueden tener representaciones más concisas y pueden ser más convenientes para el modelado. Las extensiones que no se pueden transformar en redes de Petri son a veces muy poderosas, pero generalmente carecen de la gama completa de herramientas matemáticas disponibles para analizar las redes de Petri ordinarias.

El término red de Petri de alto nivel se utiliza para muchos formalismos de red de Petri que amplían el formalismo básico de red P / T; esto incluye las redes de Petri de colores, las redes de Petri jerárquicas como las redes dentro de las redes y todas las demás extensiones descritas en esta sección. El término también se usa específicamente para el tipo de redes de colores compatibles con CPN Tools.

Una breve lista de posibles extensiones:

  • Tipos adicionales de arcos; dos tipos comunes son:
    • un arco de reinicio no impone una condición previa al disparo y vacía el lugar cuando se dispara la transición; esto hace que la accesibilidad sea indecidible, mientras que algunas otras propiedades, como la terminación, siguen siendo decidibles;
    • un arco inhibidor impone la condición previa de que la transición solo puede dispararse cuando el lugar está vacío; esto permite que se expresen cálculos arbitrarios sobre números de tokens, lo que completa el formalismo de Turing e implica la existencia de una red universal.
  • En una red de Petri estándar, los tokens son indistinguibles. En una red de Petri coloreada, cada ficha tiene un valor. En herramientas populares para redes de Petri coloreadas, como CPN Tools, los valores de los tokens se escriben y se pueden probar (utilizando expresiones de protección) y manipular con un lenguaje de programación funcional. Una subsidiaria de las redes de Petri de colores son las redes de Petri bien formadas, donde las expresiones de arco y guardia están restringidas para facilitar el análisis de la red.
  • Otra extensión popular de las redes de Petri es la jerarquía; Esto en forma de diferentes puntos de vista que apoyan los niveles de refinamiento y abstracción fue estudiado por Fehling. Otra forma de jerarquía se encuentra en las llamadas redes de Petri de objetos o sistemas de objetos donde una red de Petri puede contener redes de Petri como sus tokens, lo que induce una jerarquía de redes de Petri anidadas que se comunican mediante la sincronización de transiciones en diferentes niveles. Consulte una introducción informal a las redes de Petri de objetos.
  • Un sistema de adición de vectores con estados (VASS) es un formalismo equivalente a las redes de Petri. Sin embargo, puede verse superficialmente como una generalización de las redes de Petri. Considere un autómata de estado finito donde cada transición está etiquetada por una transición de la red de Petri. La red de Petri se sincroniza luego con el autómata de estado finito, es decir, se toma una transición en el autómata al mismo tiempo que la transición correspondiente en la red de Petri. Solo es posible realizar una transición en el autómata si la transición correspondiente en la red de Petri está habilitada, y solo es posible disparar una transición en la red de Petri si hay una transición desde el estado actual en el autómata etiquetado por ella.. (La definición de VASS generalmente se formula de manera ligeramente diferente).
  • Las redes de Petri priorizadas agregan prioridades a las transiciones, por lo que una transición no puede dispararse, si se habilita una transición de mayor prioridad (es decir, puede disparar). Por lo tanto, las transiciones están en grupos de prioridad y, por ejemplo, el grupo de prioridad 3 solo puede disparar si todas las transiciones están deshabilitadas en los grupos 1 y 2. Dentro de un grupo de prioridad, el disparo todavía no es determinista.
  • La propiedad no determinista ha sido muy valiosa, ya que permite al usuario abstraer una gran cantidad de propiedades (dependiendo de para qué se utilice la red). En ciertos casos, sin embargo, surge la necesidad de modelar también el tiempo, no solo la estructura de un modelo. Para estos casos, las redes de Petri cronometradas han evolucionado, donde hay transiciones cronometradas y posiblemente transiciones no cronometradas (si las hay, las transiciones no cronometradas tienen mayor prioridad que las cronometradas). Una subsidiaria de las redes de Petri cronometradas son las redes de Petri estocásticas que agregan tiempo no determinista a través de la aleatoriedad ajustable de las transiciones. La distribución aleatoria exponencial se usa generalmente para "cronometrar" estas redes. En este caso, el gráfico de accesibilidad de las redes se puede utilizar como una cadena de Markov en tiempo continuo (CTMC).
  • Dualistic Petri Nets (dP-Nets) es una extensión de Petri Net desarrollada por E. Dawis, et al. para representar mejor el proceso del mundo real. Los dP-Nets equilibran la dualidad de cambio / no cambio, acción / pasividad, (transformación) tiempo / espacio, etc., entre las construcciones bipartitas de Petri Net de transformación y lugar, lo que da como resultado la característica única de la marca de transformación, es decir, cuando el la transformación está "funcionando", está marcado. Esto permite que la transformación se active (o se marque) varias veces, lo que representa el comportamiento del rendimiento del proceso en el mundo real. El marcado de la transformación asume que el tiempo de transformación debe ser mayor que cero. Un tiempo de transformación cero utilizado en muchas redes de Petri típicas puede ser matemáticamente atractivo pero poco práctico para representar procesos del mundo real. dP-Nets también explota el poder de la abstracción jerárquica de Petri Nets para representar la arquitectura del proceso. Los sistemas de procesos complejos se modelan como una serie de redes más simples interconectadas a través de varios niveles de abstracción jerárquica. La arquitectura de proceso de un conmutador de paquetes se demuestra en, donde los requisitos de desarrollo se organizan alrededor de la estructura del sistema diseñado.

Hay muchas más extensiones para las redes de Petri, sin embargo, es importante tener en cuenta que a medida que aumenta la complejidad de la red en términos de propiedades extendidas, más difícil es usar herramientas estándar para evaluar ciertas propiedades de la red. Por esta razón, es una buena idea utilizar el tipo de red más simple posible para una determinada tarea de modelado.

Restricciones

Tipos de red de Petri gráficamente

En lugar de extender el formalismo de la red de Petri, también podemos considerar restringirlo y observar tipos particulares de redes de Petri, obtenidos al restringir la sintaxis de una manera particular. Las redes de Petri ordinarias son las redes donde todos los pesos de arco son 1. Restringiendo aún más, los siguientes tipos de redes de Petri ordinarias se utilizan y estudian comúnmente:

  1. En una máquina de estado (SM), cada transición tiene un arco entrante y un arco saliente, y todas las marcas tienen exactamente una ficha. Como consecuencia, no puede no ser concurrencia, pero no puede haber conflicto (es decir, no determinismo ). Matemáticamente: tT: | t |= | t |=1
    {\ Displaystyle \ forall t \ in T: | t ^ {\ bullet} | = | {} ^ {\ bullet} t | = 1}
  2. En un gráfico marcado (MG), cada lugar tiene un arco entrante y un arco saliente. Esto significa que no pueden no ser conflicto, pero no puede haber concurrencia. Matemáticamente: sS: | s |= | s |=1
    {\ Displaystyle \ forall s \ in S: | s ^ {\ bullet} | = | {} ^ {\ bullet} s | = 1}
  3. En una red de libre elección (FC), cada arco desde un lugar a una transición es el único arco desde ese lugar o el único arco hacia esa transición, es decir, puede haber concurrencia y conflicto, pero no al mismo tiempo. Matemáticamente: sS:( | s |1)( ( s )={s})
    {\ Displaystyle \ forall s \ in S: (| s ^ {\ bullet} | \ leq 1) \ vee ({} ^ {\ bullet} (s ^ {\ bullet}) = \ {s \})}
  4. Libre elección ampliada (EFC): una red de Petri que se puede transformar en una FC.
  5. En una red de elección asimétrica (AC), la concurrencia y el conflicto (en suma, confusión) pueden ocurrir, pero no simétricamente. Matemáticamente: s 1, s 2S:( s 1 s 2 )[( s 1 s 2 )( s 2 s 1 )]
    {\ Displaystyle \ forall s_ {1}, s_ {2} \ in S: (s_ {1} {} ^ {\ bullet} \ cap s_ {2} {} ^ {\ bullet} \ neq \ emptyset) \ to [(s_ {1} {} ^ {\ bullet} \ subseteq s_ {2} {} ^ {\ bullet}) \ vee (s_ {2} {} ^ {\ bullet} \ subseteq s_ {1} {} ^ {\bala })]}

Redes de flujo de trabajo

Las redes de flujo de trabajo ( redes WF) son una subclase de redes de Petri que pretenden modelar el flujo de trabajo de las actividades del proceso. Las transiciones WF-net se asignan a tareas o actividades, y los lugares se asignan a las condiciones previas y posteriores. Las redes WF tienen requisitos estructurales y operativos adicionales, principalmente la adición de un solo lugar de entrada (fuente) sin transiciones previas, y un lugar de salida (sumidero) sin las siguientes transiciones. En consecuencia, se pueden definir marcas de inicio y finalización que representen el estado del proceso.

Las redes WF tienen la propiedad de solidez, que indica que un proceso con una marca de inicio de k tokens en su lugar de origen, puede alcanzar la marca de estado de terminación con k tokens en su lugar de sumidero (definido como k -sound WF-net). Además, todas las transiciones en el proceso podrían dispararse (es decir, para cada transición hay un estado accesible en el que la transición está habilitada). Un sonido general (sonido G) WF-net se define como un sonido k para cada k gt; 0.

Un camino dirigido en la red de Petri se define como la secuencia de nodos (lugares y transiciones) enlazados por los arcos dirigidos. Una ruta elemental incluye todos los nodos de la secuencia solo una vez.

Una red de Petri bien manejada es una red en la que no hay caminos elementales completamente distintos entre un lugar y una transición (o transición y un lugar), es decir, si hay dos caminos entre el par de nodos, estos caminos comparten un nodo.. Una red WF acíclica bien manejada es sólida (sonido G).

Extended WF-net es una red de Petri que se compone de una WF-net con transición adicional t (transición de retroalimentación). El lugar del sumidero está conectado como el lugar de entrada de transición ty el lugar de la fuente como su lugar de salida. El disparo de la transición provoca la iteración del proceso (Nota: la red WF extendida no es una red WF).

WRI (Bien manejado con iteración regular) WF-net, es un WF-net acíclico extendido bien manejado. WRI-WF-net se puede construir como una composición de redes, es decir, reemplazando una transición dentro de una WRI-WF-net por una subred que es una WRI-WF-net. El resultado también es WRI-WF-net. Las redes WRI-WF son G-sound, por lo tanto, al usar solo los bloques de construcción de WRI-WF-net, se pueden obtener redes WF que son G-sound por construcción.

La matriz de estructura de diseño (DSM) puede modelar relaciones de proceso y utilizarse para la planificación de procesos. Las redes DSM son la realización de planes basados ​​en DSM en procesos de flujo de trabajo mediante redes de Petri y son equivalentes a las redes WRI-WF. El proceso de construcción de la red DSM asegura la propiedad de solidez de la red resultante.

Otros modelos de concurrencia

Se han propuesto otras formas de modelar la computación concurrente, incluidos los sistemas de adición de vectores, las máquinas comunicantes de estados finitos, las redes de procesos de Kahn, el álgebra de procesos, el modelo de actor y la teoría de trazas. Los diferentes modelos ofrecen compensaciones de conceptos como composicionalidad, modularidad y localidad.

En el capítulo de Winskel y Nielsen se propone un enfoque para relacionar algunos de estos modelos de concurrencia.

Áreas de aplicación

Ver también

Referencias

Otras lecturas

  • Cardoso, Janette; Camargo, Heloisa (1999). Borrosidad en las redes de Petri. Physica-Verlag. ISBN   978-3-7908-1158-2.
  • Chiachio, Manuel; Chiachio, Juan; Presscott, Darren; Andrews, John (2018). "Un nuevo paradigma para la representación del conocimiento incierto mediante 'redes de Petri plausibles ' ". Ciencias de la información. 453 (julio de 2018): 323-345. doi : 10.1016 / j.ins.2018.04.029.
  • Grobelna, Iwona (2011). "Verificación formal de la especificación del controlador lógico embebido con deducción informática en lógica temporal". Przeglad Elektrotechniczny. 87 (12a): 47–50.
  • Jensen, Kurt (1997). Redes de Petri de colores. Springer Verlag. ISBN   978-3-540-62867-5.
  • Pataricza, András (2004). Formális módszerek az informatikában (Métodos formales en informática). TYPOTEX Kiadó. ISBN   978-963-9548-08-4.
  • Peterson, James Lyle (1977). "Redes de Petri". Encuestas de computación ACM. 9 (3): 223–252. doi : 10.1145 / 356698.356702. hdl : 10338.dmlcz / 135597. S2CID   3605804.
  • Peterson, James Lyle (1981). Teoría de la red de Petri y modelado de sistemas. Prentice Hall. ISBN   978-0-13-661983-3.
  • Petri, Carl Adam (1962). Kommunikation mit Automaten (tesis doctoral). Universidad de Bonn.
  • Petri, Carl Adam; Reisig, Wolfgang (2008). "Red de Petri". Scholarpedia. 3 (4): 6477. Código bibliográfico : 2008SchpJ... 3.6477P. doi : 10.4249 / scholarpedia.6477.
  • Reisig, Wolfgang (1992). Una introducción al diseño de redes de Petri. Springer-Verlag. ISBN   978-3-540-52044-3.
  • Riemann, Robert-Christoph (1999). Modelado de sistemas concurrentes: métodos estructurales y semánticos en el cálculo de redes de Petri de alto nivel. Herbert Utz Verlag. ISBN   978-3-89675-629-9.
  • Störrle, Harald (2000). Modelos de Arquitectura de Software - Diseño y Análisis con UML y Petri-Nets. Libros a pedido. ISBN   978-3-8311-1330-9.
  • Zaitsev, Dmitry (2013). Clanes de Redes de Petri: Verificación de protocolos y evaluación de desempeño de redes. Editorial Académica LAP LAMBERT. ISBN   978-3-659-42228-7.
  • Zhou, Mengchu ; Dicesare, Frank (1993). Síntesis de Petri Net para el control de eventos discretos de sistemas de fabricación. Editores académicos de Kluwer. ISBN   978-0-7923-9289-7.
  • Zhou, Mengchu ; Venkatesh, Kurapati (1998). Modelado, simulación y control de sistemas de fabricación flexibles: un enfoque de red de Petri. Publicaciones científicas mundiales. ISBN   978-981-02-3029-6.

enlaces externos

Contactos: mail@wikibrief.org
El contenido está disponible bajo la licencia CC BY-SA 3.0 (a menos que se indique lo contrario).