Una Red de Petri es una representación matemática o gráfica de un sistema a eventos discretos en el cual se puede describir la topología de un sistema distribuido, paralelo o concurrente. La red de Petri esencial fue definida en la década de 1960 por Carl Adam Petri. Son una generalización de la teoría de autómatas que permite expresar un sistema a eventos concurrentes.

Ejemplo de la trayectoria de una red de Petri.

Una red de Petri está formada por lugares, transiciones, arcos dirigidos y marcas o fichas que ocupan posiciones dentro de los lugares. Las reglas son: Los arcos conectan un lugar a una transición así como una transición a un lugar. No puede haber arcos entre lugares ni entre transiciones. Los lugares contienen un número finito o infinito contable de marcas. Las transiciones se disparan, es decir consumen marcas de una posición de inicio y producen marcas en una posición de llegada. Una transición está habilitada si tiene marcas en todas sus posiciones de entrada.

En su forma más básica, las marcas que circulan en una red de Petri son todas idénticas. Se puede definir una variante de las redes de Petri en las cuales las marcas pueden tener un color (una información que las distingue), un tiempo de activación y una jerarquía en la red.

La mayoría de los problemas sobre redes de Petri son decidibles, tales como el carácter acotado y la cobertura. Para resolverlos se utiliza un árbol de Karp-Miller. Se sabe que el problema de alcance es decidible, al menos en un tiempo exponencial.

Definición de las Redes de Petri editar

Mediante una red de Petri puede modelarse un sistema de evolución en paralelo o eventos concurrentes compuesto de varios procesos que cooperan para la realización de un objetivo común.

La presencia de marcas se interpreta habitualmente como presencia de recursos. El franqueo de una transición (la acción a ejecutar) se realiza cuando se cumplen unas determinadas precondiciones, indicadas por las marcas en las fichas (hay una cantidad suficiente de recursos), y la transición (ejecución de la acción) genera unas postcondiciones que modifican las marcas de otras fichas (se liberan los recursos) y así se permite el franqueo de transiciones posteriores.

Definición: Una red de Petri es un conjunto formado por  , donde   es un conjunto de lugares de cardinal  ,   un conjunto de transiciones de cardinal  ,   la aplicación de incidencia previa que viene definida como

 

y   la aplicación de incidencia posterior que viene definida como

 

Definición: Una red marcada es un conjunto formado por   donde   es una Red de Petri como la definida,   es una aplicación denominada marcado y

 .

Se asocia a cada marca un número natural por lo tanto en donde el número de marcas es descrita por la cardinalidad del conjunto de marcas en la red.

Áreas de aplicación editar

Herramientas de programación editar

  1. ARP
  2. CoopnTools
  3. CPN-AMI
  4. CPN Tools
  5. CPN ML
  6. DPNSchematic
  7. HiQPN-Tool
  8. HPSim
  9. Integrated Net Analyzer
  10. JARP : Petri Nets Analyzer. Web de desarrollo http://jarp.sourceforge.net/
  11. JFern: Rakiura JFern (http://sourceforge.net/projects/jfern) "Java based Petri Net framework (2003)" - framework ligero con simulador, desarrollado en java.
  12. JPetriNet: web de desarrollo http://jpetrinet.sourceforge.net/
  13. Maria: web oficial http://www.tcs.hut.fi/Software/maria/
  14. Marigold
  15. Model-Checking Kit
  16. NEPTUN
  17. PEP
  18. PetriEdiSim
  19. Platform Independent Petri Net Editor
  20. Petrigen
  21. PetriSim
  22. Petri Net Browser
  23. Petri Net Kernel
  24. Petri Net Simulator
  25. PIPE (Platform Independent Petri net Editor 2)
  26. PNES
  27. PNSim
  28. PNtalk
  29. Poseidon
  30. Poses++
  31. Predator
  32. PROD
  33. Renew
  34. SEA
  35. SimPRES
  36. SIPN-Editor
  37. SimulaWorks
  38. StpnPlay
  39. Tina
  40. Visual Object Net ++
  41. WebSPN
  42. WINSIM
  43. Woflan
  44. Wolfgang: http://iig-uni-freiburg.github.io/
  45. Woped
  46. XPetri
  47. XRL

Véase también editar

Bibliografía editar

Enlaces externos editar