YAWL ist die Abkürzung für Yet Another Workflow Language und ist eine Sprache, die Workflow-Netze um Bestandteile erweitert, die bisher fehlen. Darunter fallen:
- Multiple Instanzen
- Oder-Verknüpfungen
- Konstrukte zum Entfernen von Token (vacuum cleaner)
- Direkt verbundene Tasks
- Zeit
Nachfolgend wird YAWL etwas näher vorgestellt:
Inhaltsverzeichnis
Erweitertes Workflow-Netzes
Wie schon erwähnt, erweitert YAWL Workflow-Netze. Ein Workflow-Netz ist dabei generell ein Petrinetz mit einer Start- und einer Endstelle und alle Stellen die dazwischen liegen sind auf einen Pfad von Anfangs- zu Endstelle. Ein erweitertes Workflow-Netz ist nun ein Tupel (C, i, o, T, F, split, join, rem, nofi):
- C – Menge der Bedingungen
- i – Anfangsbedingung (initial Condition)
- o – Endbedingung (final condition)
- T – Menge der Tasks (Aktivitäten)
- F – Flussrelation
- Split – Spezifiziert das Verzweigungsverhaltens eines Task
- Join – Spezifiziert das Join-Verhalten eines Tasks
- Rem – bestimmt die Token von einem Subnetz die entfernt werden
- Nofi – bestimmt die Anzahl der Instanzen eines Tasks (min, max, Schwellwert, dynamisch oder statische Erzeugung)
YAWL Modellierungselemente
Nachfolgend die Modellierungselemente die bei YAWL zum Einsatz kommen.
Wie man sieht, gibt es nur ein paar zusätzliche Elemente im Vergleich zu normalen Petri-Netzen. Während man bei normalen Petrinetzen Joins und Splits selbst modellieren muss, kann man bei YAWL auf die entsprechenden Elemente sofort zugreifen und spart sich damit Modellierungsaufwand. Neben XOR und AND, die sich auch mit normalen Petrinetzen ohne Probleme abbilden lassen, steht in YAWL zusätzlich auch ein OR Join bzw. Split zur Verfügung. Darüber hinaus kann man durch zusammengesetze Tasks (Subprozesse) Hierarchien abbilden und man kann ebenfalls Mehrfachinstanzen mit nofi modellieren. Das letzte Modellierungselement wird auch „vacuum cleaner“ (Staubsauger) genannt. Hier handelt es sich um einen Cancel-Case (Abbruchtask) bei dessen Aktivierung alle vorhandenen Marken aus dem Prozess genommen werden.
Multiple Instanzen – nofi
Mit nofi werden Workflow-Netze um multiple Instanzen erweitert. Nofi erwartet vier Parameter (min, max, Schwellwert, statisch/dynamisch):
- Min – Minimale Anzahl an Instanzen
- Max – Maximale Anzahl an Instanzen
- Schwellwert –Task terminiert, wenn die Anzahl der Instanzen (des Schwellwerts) beendet sind. Wird kein Schwellwert angegeben, dann terminiert der Task, wenn alle Instanzen ausgeführt sind.
- Dynamisch/Statisch: Bei statisch werden alle Instanzen zu Beginn erzeugt, bei Dynamisch können die Instanzen auch noch erzeugt werden, während schon andere Instanzen bereits ausgeführt werden.
Zeit
Zur Modellierung von Zeit in YAWL gibt es keine explizite Spachkonstrukte. Stattdessen kommen spezielle Tasks (Event-Task, Timed-Task) zum Einsatz. Solche Timed-Tasks machen beispielsweise nichts anderes als eine bestimmte Zeit zu warten, während Event-Tasks nichts anderes machen, als auf ein bestimmtes Ereignis zu warten.
Quellen:
Ähnliche Themen: