• Keine Ergebnisse gefunden

K ONTROLLFLUSSANOMALIEN

Im Dokument Hochschule Wismar (Seite 51-59)

3   ANOMALIEN IN DER GRAPHISCHEN MODELLIERUNG

3.4   K ONTROLLFLUSSANOMALIEN

Bei Kontrollflussanomalien handelt es sich um Anomalien im Prozessablauf. Der Kontrollfluss kann nicht nur im Konflikt zum Datenfluss stehen, indem notwendige Daten nicht an der passenden Stelle ermittelt werden, sondern auch Fehlersymptome aufweisen, die in der Modellierung der Knoten und Kanten begründet sind.3 Bei dieser Art von Anomalien kann dem Kontrollfluss der sogenannte Prozessgraph zu Grunde gelegt werden. Ein Prozessgraph repräsentiert die Möglichkeiten, die Ausführungsreihenfolge der Aktivitäten zu strukturieren. Wie bereits in Kapitel 2.3.3 beschrieben zählen dazu4:

• Sequenz (Ausführung von Aktivitäten der Reihe nach)

• AND-Verknüpfung (alle eingehenden bzw. ausgehenden Kanten werden ausgeführt)

• OR-Verknüpfung (eine oder mehrere eingehenden bzw. ausgehenden Kanten werden ausgeführt)

1 Vgl. [TAS09], S. 431 2 Vgl. [SZN05], S. 2920 3 Vgl. [SOSF04], S. 6 f.

4 Vgl. [BZ03], S. 208 f.

• XOR-Verknüpfung (genau eine eingehende bzw. ausgehende Kante wird ausgeführt) Ein Prozessgraph ist über die folgenden Eigenschaften definiert1:

• Er besitzt genau einen Startknoten mit einer ausgehenden Kante.

• Er besitzt genau einen Endknoten mit einer eingehenden Kante.

• Er besteht aus Aktivitätsknoten, die genau eine eingehende und eine ausgehende Kante aufweisen.

• Er besteht aus Kontrollknoten, die eine oder mehrere Eingans- und Ausgangskanten aufweisen und vom Typ AND, OR oder XOR sind.

• Er besteht aus gerichteten Kanten zwischen den Knoten.

Existiert eine Möglichkeit, den Prozessgraphen vom Startknoten zum Endknoten zu durchlaufen, kann von seiner Korrektheit und somit Anomaliefreiheit ausgegangen werden.2 Die nachfolgend beschriebenen Anomalien verletzen zum Teil diese Definition und stellen somit mögliche Modellierungsfehler dar.

3.4.1 Knoten ohne eingehende oder ausgehende Kanten

Abbildung 33: Anomalie - Knoten ohne eingehende oder ausgehende Kanten Quelle: eigene Darstellung

Dem oberen Knoten fehlt eine Ausgangskante, dem unteren Knoten fehlt eine Eingangskante.

Ein solches Verhalten ist nur bei End- bzw. Startknoten erlaubt und somit eine Anomalie.3

1 Vgl. [BZ03], S. 208 2 Vgl. [BZ03], S. 209 3 Vgl. [BZ03], S. 209

3.4.2 Aktivitätsknoten mit mehr als einer Eingangs- oder Ausgangskante

Abbildung 34: Anomalie - Aktivitätsknoten mit mehr als einer Eingangs- oder Ausgangskante1 Quelle: eigene Darstellung

Der erste hervorgehobene Aktivitätsknoten weist zwei Ausgangskanten auf, der zweite hervorgehobene Aktivitätsknoten zwei Eingangskanten.2

3.4.3 Kontrollknoten mit nur einer Eingangs- oder Ausgangskante, Unvollständigkeit der Nachbedingungen

Abbildung 35: Anomalie - Kontrollknoten mit nur einer Eingangs- oder Ausgangskante Quelle: eigene Darstellung

Der Kontrollknoten vom Typ OR-Split hat nur eine ausgehende Kante. Für eine korrekte Modellierung muss mindestens eine zweite Kante ergänzt werden, um auch eine Unvollständigkeit der Nachbedingungen zu verhindern.3

3.4.4 Sich überschneidende Nachbedingungen

Modellierte Nachbedingungen, die an ausgehenden Kanten eines Knotens anliegen, dürfen sich nicht überschneiden. Bei einer Überschneidung wäre der nachfolgend zu betretende Pfad nicht eindeutig bestimmt, was einen Modellierungsfehler darstellt.

1 YAWL unterbindet das Modellieren eines solchen Workflow Netzes, es wurden mehrere Knoten hintereinander versteckt.

2 Vgl. [BZ03], S. 209 3 Vgl. [BZ03], S. 209

3.4.5 Fehlender Start- bzw. Endknoten oder auch mehrere Start- bzw. Endknoten

Abbildung 36: Anomalie - fehlender Endknoten1 Quelle: eigene Darstellung

In der Abbildung fehlt der Endknoten. Ein offenes Ende ist in einem Workflow Netz nicht erlaubt. Ebenso wären ein fehlender Startknoten oder auch mehrere Start- oder Endknoten fehlerhaft. Auch gänzlich unverbundene, unabhängige Pfade – also zwei Prozessgraphen in einem – sind als fehlerhaft zu betrachten.2

3.4.6 Fehlgerichtete Kanten bei Start- oder Endknoten

Abbildung 37: Anomalie - fehlgerichtete Kanten bei Start- oder Endknoten Quelle: eigene Darstellung

Der Startknoten in diesem Workflow Netz besitzt eine Eingangskante, der Endknoten eine Ausgangskante. Beide Zustände verstoßen gegen die Definition des Prozessgraphen und stellen Fehler im Kontrollfluss dar. Besitzt ein Startknoten mehrere Ausgangskanten oder ein Endknoten mehrere Eingangskanten, handelt es sich ebenfalls um einen Modellierungsfehler.3

3.4.7 Verbindungsloser Knoten

Abbildung 38: Anomalie – verbindungsloser Knoten Quelle: eigene Darstellung

1 YAWL unterbindet das Modellieren eines Workflow Netzes ohne Endknoten. Die Darstellung wurde entsprechend bearbeitet.

2 Vgl. [BZ03], S. 209 3 Vgl. [BZ03], S. 209 f.

Ein verbindungsloser Knoten hat keine eingehenden oder ausgehenden Kanten und befindet sich nicht auf einem Pfad durch den Fluss.1

3.4.8 Mehrere Kanten zwischen zwei Knoten

Abbildung 39: Anomalie - mehrere Kanten zwischen zwei Knoten2 Quelle: eigene Darstellung

Im unteren Pfad existieren zwei Kanten, die aus dem selben Knoten ausgehen und in den OR-Join eingehen. Nach der Definition des Prozessgraphen handelt es sich um eine Anomalie, wenn zwischen zwei Knoten mehrere Kanten modelliert sind.3

3.4.9 Deadlock

Bei der Anomalie des Deadlocks kann zwischen deterministischem und nicht deterministischem Deadlock unterschieden werden. In beiden Fällen werden in der Modellierung Kontrollknoten nicht korrekt eingesetzt. 4

Abbildung 40: Anomalie - deterministischer Deadlock Quelle: eigene Darstellung

Der deterministische Deadlock besteht aus einem XOR-Split gefolgt von einem AND-Join.

Durch den XOR-Split ist garantiert, dass nur einer der beiden nachfolgenden Pfade betreten wird, der andere dagegen nie. Somit kann der AND-Join, der die beiden Pfade

1 Vgl. [BZ03], S. 209

2 Yawl unterbindet das Modellieren eines solchen Diagramms, es wurden mehrere Knoten hintereinander versteckt.

3 Vgl. [BZ03], S. 210 4 Vgl. [BZ03], S. 210

zusammenführt, nie wahr werden und den Workflow zu einem Ende bringen. Es gehen niemals beide Pfade in ihn ein.1

Abbildung 41: nicht-deterministischer Deadlock Quelle: eigene Darstellung

Der nicht-deterministische Deadlock ist eine Situation, in der es nicht zwingend, aber unter Umständen zu einem Deadlock kommt. Er besteht aus einem OR-Split und einem AND-Join.

Der Ablauf eines Workflows kann dazu führen, dass nur ein dem OR-Split folgender Pfad ausgeführt wird, der andere nicht. In diesem Fall kann der AND-Join die Pfade nicht zusammenführen und es kommt zu einem Deadlock. Durch den OR-Split können aber auch beide ihm folgenden Pfade ausgeführt werden. In den AND-Join gehen dann beide Pfade ein und er kann den Workflow beenden. Es kommt nicht zu einem Deadlock.2

1 Vgl. [BZ03], S. 210 2 Vgl. [BZ03], S. 210

3.4.10 Fehlende Synchronisation

Abbildung 42: Anomalie - deterministische fehlende Synchronisation Quelle: eigene Darstellung

Bei der fehlenden Synchronisation werden Aktivitäten unkontrolliert mehrfach ausgeführt.

Auch dies geschieht durch den fehlerhaften Einsatz von Kontrollknoten – in diesem Fall konkret durch einen deplatzierten XOR-Join – und kann determiniert oder nicht-determiniert sein. Die Abbildung zeigt eine deterministische fehlende Synchronisation. Durch den AND-Split zu Beginn werden in jedem Fall beide ausgehenden Pfade durchlaufen. Je nachdem, wann ein Pfad seine Ausführung beendet, wird der XOR-Join ausgelöst und führt seinen ausgehenden Pfad aus. Terminiert zunächst der obere und später der untere Pfad, wird der nachfolgende Pfad des XOR-Join zweifach betreten. 1

Im Falle einer nicht-deterministischen fehlenden Synchronisation würde anstelle des AND-Splits ein OR-Split modelliert sein. Somit könnte es Fälle geben, in denen nur ein Pfad nach dem OR-Split betreten wird und der XOR-Join so nur einmal die nachfolgenden Aktivitäten anstößt.2

3.4.11 Schleife

Abbildung 43: Anomalie – Schleife Quelle: eigene Darstellung

Bestimmte Ereignisketten in einem Workflow können zu einer Schleife führen. Dabei wird auch von Zirkularität gesprochen.3 Schleifen können Fehlerquellen darstellen und sind in einem klassischen Workflow-Netz nicht erlaubt.1

1 Vgl. [BZ03], S. 211 2 Vgl. [BZ03], S. 211 3 Vgl. [Pre98], S.44

3.4.12 Endlosschleife

Abbildung 44: Anomalie - deterministische Endlosschleife Quelle: eigene Darstellung

Eine Endlosschleife führt dazu, dass Aktivitäten im Prozessmodell unendlich oft wiederholt werden und der Workflow so niemals terminiert. In der Modellierung resultiert die Endlosschleife meist aus der falschen Nutzung eines Splits. Anstelle des XOR-Splits wird der AND-Split (deterministisch) oder der OR-Split (nicht-deterministisch) verwendet.2

Die Abbildung zeigt eine deterministische Endlosschleife. Durch den AND-Split wird in jedem Fall der Pfad zurück zum ersten Knoten aktiviert und das bei jedem Durchlauf durch den modellierten Prozess.

3.4.13 Unnötiger Nicht-Determinismus

Abbildung 45: Anomalie - unnötiger Nicht-Determinismus Quelle: eigene Darstellung

Bei dieser Anomalie handelt es sich um die falsche Nutzung eines OR-Joins anstelle eines XOR- oder AND-Joins. Bei einem OR-Join ist nicht determiniert, wir viele der eingehenden Pfade aktiviert sein müssen, damit der OR-Join die weitere Ausführung auslöst. Das Warten auf eingehende Pfade ist unbestimmt. Die Nutzung eines XOR-Joins oder AND-Joins ist an dieser Stelle effektiver, da im Modell bekannt sein sollte, ob die weitere Ausführung durch die Aktivierung eines eingehendes Pfades oder aller eingehender Pfade ausgelöst werden soll.3

1 Vgl. [BZ03], S. 210 2 Vgl. [BZ03], S. 211 3 Vgl. [BZ03], S. 211

Nachdem in diesem Unterkapitel nun die Anomalien, die den Kontrollfluss betreffen, aufgezeigt wurden, folgen abschließend einige weitere Auffälligkeiten, die in einer Modellierung auftreten können.

Im Dokument Hochschule Wismar (Seite 51-59)