5.1 Problemstellung

Der Begriff des Kontrollflusses  beruht darauf, dass ein Geschäftsprozess sozusagen eine Richtung hat, die durch die Abfolge der Tätigkeiten gegeben ist. Entsprechend hat dies auch eine Ereignisgesteuerte Prozesskette.

Dabei kommt es, wie auch die Beispiele in Kapitel 4xxx zeigten, durch die Operatoren immer zu einer Aufspaltung  in mehrere Zweige, die u.U. gleich oder später wieder aufgehoben werden muss.

Aufspaltung des Kontrollflusses

Die Syntaxregel ist nun, dass dafür derselbe Operator wie bei der Aufspaltung verwendet wird. Die folgende Abbildung zeigt dies für ein EPK-Fragment aus Kapitel 4xxx. Die drei Ereignisse nach der Funktion signalisieren unterschiedliche Erledigungsvarianten. Danach geht es aber „einheitlich“ weiter (d.h. die Varianten führen nicht zu unterschiedlichen Kontrollflusszweigen, was auch möglich wäre), sodass der Kontrollfluss mit einem exklusiven ODER wieder zusammengeführt und dann die nachfolgende Funktion eingefügt wird.

Syntaxregel


Abbildung 5.1-1:

Aufteilen und Zusammenführen des Kontrollflusses

5.2 Keine Aktion

Eine etwas schwierigere Situation ergibt sich oftmals bei einem ODER-Operator, wenn mitmodelliert werden soll, dass u.U. auch keine der Aktionen nötig ist. Die folgende Abbildung zeigt ein Beispiel und im unteren Teil auch, wie man sich die Fortsetzung vorstellen kann. Das Ereignis Keine Aktion notwendig muss hinter das Schlussereignis der übrigen Ereignisse weitergeführt werden, da sonst gegen die Regel „Ereignisse und Funktionen lösen sich immer ab“ verstoßen würde.


Abbildung 5.2-1:

Ereignisverknüpfung /
erzeugte Ereignisse / ODER

Eine elegantere Lösung besteht hier darin auf dieses Ereignis der Nichtaktion zu verzichten und trotzdem aber einen Kontrollflusszweig (sozusagen einen Leerzweig) nach unten zu dem ODER-Operator zu führen, der den Kontrollfluss wieder zusammenführt. Die folgende Abbildung zeigt diese Lösung


Abbildung 5.2-2:

Ereignisverknüpfung / erzeugte Ereignisse /
ODER

Allerdings erfüllt diese Lösung nicht in vollem Umfang den ODER-Operator (vgl. dazu Kapitel 14xxx).