Petrinetze

Aus Operations-Research-Wiki
Wechseln zu: Navigation, Suche

Grundlagen Petri-Netze

Eine weitere formale Beschreibungsmethode für den Ablauf von Prozessen in Systemen stellen die sogenannten Petri-Netze dar (benannt nach ihrem Erfinder Carl Adam Petri). Hierbei ist zu beachten, dass der Begriff "System" nicht ausschließlich Rechner, sondern auch organisatorische, technische und rechnerintegrierte Systeme aller Art umfasst, in denen geregelte Flüsse von Gegenständen und Informationen von Bedeutung sind.

Ein Petri-Netz ist ein markierter Graph, in dem die Knoten die Prozesse und ihre zugehörigen Zustände darstellen und die Kanten deren Ablaufbeziehungen symbolisieren.

Einsatzgebiete für Petri-Netze

Petri-Netze werden in vielen Bereichen der Datenverarbeitung eingesetzt,

  • um Abläufe zu modellieren (z. B. Kommunikationsprotokolle)
  • um parallele Programmabläufe zu modellieren,
  • um verteilte Datenbankarbeiten zu planen und
  • im Rahmen des Requirements Engineering, d.h. in den ersten Phasen des Systementwurfs.

Grundelemente von Petri-Netzen

In Petri-Netzenn unterscheidet man zwischen 2 Arten von Elementen:

  1. statische Elemente, die der der Darstellung der Struktur dienen, und
  2. dynamische Elemente, die der Simulation der Abläufe innerhalb des Modells dienen.


Arten von Petri-Netzen

Es gibt 3 verschiedene Arten von Petri-Netzen:

Konflikte in Petri-Netzen

Im Zusammenhang mit Petri-Netzen bezeichnet man mit einem Konflikt ein nicht eindeutiges Verhalten eines Systems. Dies bedeutet, dass 2 Ereignisse um eine Bedingung in Konkurrenz stehen, beide aktiviert sind, aber nur ein Ereignis stattfinden kann, da durch den Eintritt des einen das andere nicht mehr aktiviert ist.

Konflikte lassen sich:

  • exogen, durch Vorgabe einer Entscheidungsregel, oder
  • endogen, durch Einrichtung eines sog. Regulationskreises lösen.

In B/E-Systemen lassen sich folgende 3 Konfliktarten unterscheiden:

  • Verzweigungskonflikte. Hierbei verzweigen von einer markierten Stelle zwei (oder mehrere) Transitionen, von denen aber nicht alle geschaltet werden können (da nach dem Schalten einer Transition die andere nicht mehr aktiviert wäre). Dieses Problem lässt sich durch einen inneren Regelkreis beheben.
  • Wettbewerbskonflikte. Diese entstehen, wenn zwei (oder mehrere ) Transitionen auf dieselbe Nachbedingung schalten wollen. Auch dieses Problem lässt sich mit einem inneren Regelkreis lösen.
  • Konfusion. Hierbei handelt es sich um eine Kombination der beiden Konfliktarten Verzweigungs- und Wettbewerbskonflikt. Um dieses Problem zu beheben muss das Modell um einen Regelkreis oder durch von außen vorgegebenen Entscheidungsregeln erweitert werden.

Vor- und Nachteile von Petri-Netzen

Durch Petri-Netze lässt sich der Ablauf und die Problemstellung sehr gut veranschaulichen und durch ihre “einfache” Sprache wird die Kommunikation zw. Beteiligten mit unterschiedlichem fachlichen Hintergrund erleichtert. Die Abläufe sind durch Schaltvorgänge direkt ablesbar. Die graphische Darstellungsform bietet zudem den Vorteil, dass sie Umstrukturierungen erleichtert. Nebenläufigkeiten lassen sich mit Petri-Netzen sehr anschaulich modellieren und das Netz kann jederzeit durch Simulation getestet werden.

Nachteilig ist allerdings, dass aus Petri-Netzen keine Aussagen über mögliche Optimierungen aus dem Modell selbst ableitbar sind. Das größte Problem ist jedoch, dass die Anwendbarkeit von Petri-Netzen bei steigender Modellkomplexität an ihre Grenzen stößt. Eine komplette Erreichbarkeitsanalyse, d.h. eine Untersuchung aller möglicher Systemzustände ausgehend von allen denkbaren Ausgangsmarkierungen, verlangt häufig einen immensen Rechenaufwand, der sich, je nach Umfang und Komplexität des modellierten Systems trotz des Einsatzes von (Groß-) Rechenanlagen über mehrere Tage erstrecken kann.