Una red ordinaria de Petri es un grafo dirigido bipartito, que cumple con:

Donde tenemos:

  • Un conjunto de nodos llamados transiciones
  • Un conjunto de nodos llamados lugares
  • Un conjunto de arcos

Mostramos un ejemplo sencillo:

Donde son los estados de un sistema, y son los eventos que ocasionan los cambios de estado.

Función de Marca

Se define la función de marca como la cantidad de tokens que hay en cada uno de los lugares de la red de Petri.

Cuando hay un único token que está en el lugar , entonces , y , por lo tanto, (para el caso del ejemplo anterior)

Funciones de Entrada y Salida

Sea una transición perteneciente a la red de Petri.

  • Se define la función como la entrada de la transición . El conjunto de lugares que pueden derivar en esa transición. Es necesario que haya un token en todas las entradas de una transición para poder activarla.
  • Se define la función como la salida de la transición . El conjunto de lugares al que se deriva un token a través de la transición . Se genera un token para cada salida de una transición.

Grafo de Alcance

Un grafo de alcance determina la función de marca para cada estado de la ejecución.

A partir de una red de Petri cualquiera:

Podemos diagramar su grafo de alcance:

Si encontramos que un estado del grafo de alcance no tiene ninguna arista saliente, diremos que estamos en un deadlock.

Utilidades

Las redes de Petri nos permiten realizar un análisis estático del sistema, para detectar la existencia de deadlocks.

Redes Generales de Petri

Una red general de Petri es un grafo dirigido bipartito, que cumple con:

Donde tenemos:

  • Un conjunto de nodos llamados transiciones
  • Un conjunto de nodos llamados lugares
  • Un conjunto de arcos
  • Una función de peso
  • Una función de mara inicial

Transiciones

El peso de un arco nos indica la cantidad de tokens que consume (entrada) o produce (salida) la utilización del arco (y de su transición).

La transición está habilitada si y solo si . Cuando se dispara:

Arco Inhibidor

Un arco inhibidor es aquel que solo permite una transición cuando el lugar no tiene ningún token.

Esto permite modelar problemas más complejos como el Problema del Lector-Escritor.

Donde los lugares representan:

  • En están los lectores a la espera de acceder a la sección crítica.
  • La transición representa la entrada a la sección crítica de los lectores.
  • En están los lectores en la sección crítica. Si hay lectores, se inhibe la transición de los escritores.
  • La transición representa la salida de la sección crítica de los lectores.
  • En están los escritores a la espera de acceder a la sección crítica.
  • La transición representa la entrada a la sección crítica de los escritores.
  • En están los escritores en la sección crítica. Si hay escritores, se inhibe la transición de los escritores, y la entrada de los lectores.
  • La transición representa la salida de la sección crítica de los escritores.