Um die graphische Modellierungsnotation DiaFlux des semantischen Wikis KnowWE auch im industriellen Bereich – beispielsweise für die kollaborative Modellierung einer klinischen Richtlinie zur Erkennung einer Sepsis in einem Medizinprodukt – einsetzen zu können, müssen hohe Qualitätsansprüche erfüllt werden. Einen wichtigen Grundstein in Richtung der Qualitätssicherung von DiaFlux legt diese Arbeit, indem sie sich mit der Verifikation von graphisch modelliertem Wissen und dabei konkret mit dem Erkennen einer Vielzahl von Anomalien tiefgründig auseinander setzt. Bei Anomalien handelt es sich um Symptome möglicher Modellierungsfehler.
Grundlage der Analysen bildeten eine ausführliche Recherche und Aggregation sowohl klassischer als auch aktueller Literatur sowie die Anwendung der Modellierungssprache DiaFlux in praktischen Experimenten. Bei der Literaturrecherche lag der Fokus auf der Modellierung von Prozessen bzw. Workflows mit Hilfe graphischer Notationen. Dieser Schwerpunkt wurde gewählt, da mittels DiaFlux graphisch Flussdiagramme modelliert werden. Insbesondere wurden die Workflow-Perspektiven Kontrollfluss und Datenfluss betrachtet.
DiaFlux Flussdiagramme basieren auf einer Wissensbasis, die in KnowWE modelliert ist.
Somit wurden auch Anomalien im Zusammenhang mit den zugrunde liegenden Wissensmodellierungen untersucht. Zunächst wurden die Anomalien klassifiziert in die Gruppen:
• Fehlende Daten,
• Redundanz,
• Inkonsistenz,
• Prozessanomalien,
• Auffälligkeiten.
Für die praktischen Beispielmodellierungen mit DiaFlux wurde ein KnowWE Wiki aufgesetzt, indem mit der Sprache experimentiert wurde. Die gesammelten Erfahrungen ermöglichten die Identifikation weiterer Anomalien, die zum einen in die genannten Gruppen eingeordnet werden konnten (z.B. das redundante Flussdiagramm), zum anderen sehr sprachspezifisch waren (z.B. die Anomalie der inkonsistenten Abfrageart).
Zur prototypischen Implementierung der Anomalie-Erkennung wurde eine Eclipse-Entwicklungsumgebung genutzt, in der Java-Testklassen für einige ausgewählte Anomalien entwickelt wurden. Die vier Anomalien
• Prozessanomalie: Knoten ohne eingehende oder ausgehende Kanten,
• DiaFlux-spezifische Anomalie: automatisch startendes Flussdiagramm mit mehr als einem Startknoten,
• DiaFlux-spezifische Anomalie: inkonsistente Abfrageart,
• Auffälligkeit: unbenutzte Elemente
wurden gewählt, da sie zum einen unterschiedliche Kategorien von Anomalien repräsentieren und zum anderen relativ leicht verständlich sind, um darauf aufbauend in Zukunft weitere Algorithmen zu realisieren. Darüber hinaus ist gerade die Erkennung dieser Anomalien während der Modellierung mit DiaFlux wichtig, da sie zu gravierenden Fehlern führen und sehr leicht zu übersehen sind.
Ein gesondertes Visualisierungskonzept für erkannte Anomalien wurde nicht erarbeitet, da die Anomalieerkennung in das Continuous Integration Framework von KnowWE (CI4KE) integriert wurde, in dessen Rahmen das CI Dashboard zur Verfügung steht, das Testergebnisse bereits textuell und graphisch visualisiert. Insofern wurde von einer erneuten Entwicklung einer Visualisierung für Fehlerzustände abgesehen. Allerdings beschränkt sich die graphische Darstellung auf eine rote (Fehlerfall) oder grüne (Testerfolg) Markierung.
Wünschenswert wäre ein dritter, gelber Status für Anomalien, die zwar falsche Prozessabläufe begünstigen, aber nicht zu einem Fehler – wie etwa einem Deadlock – führen müssen.
Die nachfolgende Tabelle fasst inhaltlich alle identifizierten Anomalien zusammen und bewertet in Kurzform ihre Übertragbarkeit auf DiaFlux. Außerdem werden in dieser Arbeit die folgenden Fehlerklassen für Anomalien differenziert:
• Information: Dabei handelt es sich nicht um Fehler, sondern eher um „Bad Smells“1. Die Modellierung ist beispielsweise schlecht strukturiert, so dass sich im weiteren Verlauf leicht wirkliche Fehler ergeben können.
• Warnung: Eine Warnung symbolisiert eine Modellierungsanomalie, die zu ungewünschtem oder nicht-deterministischem Verhalten führt. Eine solche Modellierung kann jedoch durch den Designer gewollt sein.
• Fehler: Hierbei handelt es sich um einen tatsächlichen Modellierungsfehler, der die korrekte Ausführung des DiaFlux-Flussdiagramms unmöglich macht.
1 Vgl. [Fow99], S. 75 ff.
Diese Unterteilung soll die zukünftige Visualisierung bestimmen. Im Falle einer Information soll der Test als bestanden gelten und eine grüne Markierung erfolgen. Bei einer Warnung ist der Test nicht bestanden, eine gelbe Markierung soll angezeigt werden. Tritt ein Fehler auf, soll eine rote Markierung auf das Scheitern des Tests hinweisen.
Anomalie Übertragbarkeit Fehlerklasse
FEHLENDE DATEN
Uninitialisierter Wert Uneingeschränkt übertragbar: Zugriff auf uninitialisierte Variablenwerte durch Abstraktionsknoten möglich.
Fehler
Verzögerte Initialisierung Uneingeschränkt übertragbar: Zugriff auf bisher uninitialisierte Variablenwerte durch Abstraktionsknoten möglich.
Fehler
Unsichere Synchronisation Uneingeschränkt übertragbar: Zugriff auf möglicherweise uninitialisierte
Redundantes Flussdiagramm DiaFlux-spezifisch Information
Redundanter Startknoten DiaFlux-spezifisch Warnung
Redundante Abfrage DiaFlux-spezifisch Information
INKONSISTENZ
Stark verlorene Daten Uneingeschränkt übertragbar:
überschriebene Variablenwerte möglich.
Fehler
Schwach verlorene Daten Uneingeschränkt übertragbar:
überschriebene Variablenwerte in einigen Pfaden möglich.
Warnung
Multiple Initialisierung Uneingeschränkt übertragbar: mehrfache Initialisierung eines Variablenwertes in parallelen Pfade möglich.
Warnung
Inkonsistente Abfrageart DiaFlux-spezifisch Warnung
Inkonsistente Herleitung DiaFlux-spezifisch Fehler
Konflikt zur Wissensbasis DiaFlux-spezifisch Fehler
PROZESSANOMALIEN um ausgelöst zu werden. Jeder Knoten mit Ausnahme des Endknoten muss
Aber: ein Knoten, der als Aktivitätsknoten fungiert (z.B. Warteknoten), sollte nur eine Eingangs- und Ausgangskante aufweisen.
Aber: ein Knoten, der als Kontrollknoten fungiert (z.B. Testknoten zur Abfrage eines Wertes mit dem Ziel der anschließenden Überprüfung), muss
betretende Pfad ist somit nicht eindeutig bestimmt.
Fehler
Fehlender Start- bzw. Endknoten Uneingeschränkt übertragbar: Fehlende Start- oder Endknoten führen zu
unausführbaren Pfaden.
Fehler
Mehrere Start- bzw. Endknoten Eingeschränkt übertragbar: Mehrere Start- oder Endknoten können gewollt
Verbindungsloser Knoten Uneingeschränkt übertragbar Fehler Mehrere Kanten zwischen zwei
Knoten
Eingeschränkt übertragbar: nur, wenn beide Kanten in dieselbe Richtung verlaufen, handelt es sich um eine Anomalie.
Warnung
Deadlock Uneingeschränkt übertragbar: fehlt in der Formel eines Abstraktionsknotens beispielsweise ein Wert zur Berechnung, da dieser Wert nicht initialisiert ist, kann der Pfad nicht weiter verfolgt werden.
Fehler
Fehlende Synchronisation Eingeschränkt übertragbar: Der erste eintreffende Pfad löst den Knoten aus.
Information
Schleife Uneingeschränkt übertragbar Information
Endlosschleife Uneingeschränkt übertragbar Fehler
Unnötiger Nicht-Determinismus Nicht übertragbar: Ein Knoten mit mehreren eingehenden Kanten wartet nicht. Ein modellierter OR-Join wartet ebenfalls nicht, sondern wird durch den ersten eingehenden Pfad aufgelöst.
Kein Hinweis nötig
Schleife ohne Snapshot-Knoten DiaFlux-spezifisch Fehler AUFFÄLLIGKEITEN
Unerreichbare Elemente Uneingeschränkt übertragbar: entspricht Knoten ohne eingehende oder
ausgehende Kanten bzw.
verbindungslosem Knoten
Fehler
Toter Pfad Uneingeschränkt übertragbar Fehler
Fehlende Modellierungsschritte Uneingeschränkt übertragbar Kein Hinweis möglich Kein automatisch startendes
Flussdiagramm
DiaFlux-spezifisch Fehler
Automatisch startendes Flussdiagramm mit mehr als einem Startknoten
DiaFlux-spezifisch Warnung
Rückkopplung DiaFlux-spezifisch Warnung
Unmöglicher Pfad DiaFlux-spezifisch Fehler
Unbenutzte Elemente der Wissensbasis
DiaFlux-spezifisch Information
Konflikt zur Wissensbasis DiaFlux-spezifisch Warnung
Tabelle 4: Zusammenfassung identifizierter Anomalien Quelle: eigene Darstellung
Durch die in der Arbeit gewonnenen Erkenntnisse kann die Qualitätskontrolle der kollaborativen Entwicklung graphisch modellierten Wissens erweitert und verbessert werden.
Erste Erkennungsalgorithmen ermöglichen bereits heute einen industriellen Einsatz von DiaFlux. Die Arbeit bildet die Grundlage, um weitere Algorithmen zur Detektion von Anomalien in den modellierten Flussdiagrammen des Wikis zu implementieren. Durch die praktischen Erfahrungen, die Anwender mit DiaFlux in Zukunft sammeln werden, können weitere Anomalien erkannt und somit auch in geeignete Tests einbezogen und visualisiert werden.