Hochschule Wismar

Transcription

Hochschule Wismar
Hochschule Wismar
Fachbereich Wirtschaft
Master Thesis
Analyse von Anomalien
in der graphischen Modellierung
von diagnostischem Wissen
Master Thesis zur Erlangung des Grades eines
Master of Sience
der Hochschule Wismar
eingereicht von:
Gritje Meinke, geb. Düsing
geboren am 04. April 1983 in Wismar
Studiengang Master Wirtschaftsinformatik, MWI 2009
Betreuer:
Prof. Dr.-Ing. Uwe Lämmel
weitere Gutachter:
Prof. Dr. rer. nat. Jürgen Cleve
Wismar, den 22. Juni 2011
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Vorwort
Diese Master Thesis ist im Rahmen meines Fernstudiums der Wirtschaftsinformatik an der
Hochschule Wismar in Zusammenarbeit mit der Julius-Maximilians-Universität Würzburg
und der Firma Dräger Medical GmbH in Lübeck entstanden.
An dieser Stelle möchte ich Dank sagen für die konspirative Zusammenarbeit und großartige
Unterstützung der Herren Reinhard Hatko, Dr. Joachim Baumeister und Volker Belli der
Universität Würzburg.
Weiterer Dank gilt meinem Vorgesetzten bei der Dräger Medical GmbH, Herrn Stefan
Mersmann, der mir bei der Themenfindung und -bearbeitung mit Rat und Tat zur Seite stand.
Für die fachliche Betreuung bei der Erstellung dieser Arbeit bedanke ich mich bei den
Professoren Dr.-Ing. Uwe Lämmel und Dr. rer. nat. Jürgen Cleve.
Zu guter Letzt möchte ich mich bei meiner Familie bedanken, die sehr viel Geduld aufbringen
musste, um mich in der Zeit des Fernstudiums und der Abschlussarbeit zu entbehren und die
mir immer eine große Stütze war.
- II -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Inhalt
I. ABBILDUNGSVERZEICHNIS ................................................................................................................. VI II. TABELLENVERZEICHNIS .................................................................................................................... IX III. ABKÜRZUNGSVERZEICHNIS ..............................................................................................................X 1 EINLEITUNG UND PROBLEMSTELLUNG .............................................................................................1 1.1 PROBLEMSTELLUNG UND MOTIVATION...............................................................................................1 1.2 RELATED WORK ......................................................................................................................................2 1.3 ÜBERSICHT ÜBER DIE NACHFOLGENDEN KAPITEL .............................................................................3 2 GRUNDLAGEN ..............................................................................................................................................4 2.1 MODELLIERUNG VON WISSEN ...............................................................................................................4 2.2 KNOWWE UND DIAFLUX ........................................................................................................................8 2.2.1 Das semantische Wiki KnowWE ........................................................................................................8 2.2.2 Die graphische Notation DiaFlux......................................................................................................8 2.2.3 Anwendungsbeispiel.........................................................................................................................13 2.3 PROZESS- UND WORKFLOW-MODELLIERUNG ...................................................................................20 2.3.1 Workflow-Konzepte und -Perspektiven............................................................................................21 2.3.2 Datenflussperspektive ......................................................................................................................22 2.3.3 Kontrollfluss-Muster in der Kontrollflussperspektive (Control Flow Pattern) ...............................23 2.3.4 Techniken zur Modellierung von Prozessen ....................................................................................27 2.4 VERIFIKATION IM KONTEXT VON WISSENSBASEN UND DEREN MODELLIERUNG........................31 3 ANOMALIEN IN DER GRAPHISCHEN MODELLIERUNG ...............................................................34 3.1 FEHLENDE DATEN .................................................................................................................................35 3.1.1 Uninitialisierter Wert.......................................................................................................................36 3.1.2 Verzögerte Initialisierung ................................................................................................................36 3.1.3 Unsichere Synchronisation ..............................................................................................................37 3.2 REDUNDANZ ...........................................................................................................................................37 3.2.1 Starke Redundanz.............................................................................................................................38 3.2.2 Schwache Redundanz.......................................................................................................................38 3.3 INKONSISTENZ .......................................................................................................................................39 3.3.1 Stark verlorene Daten ......................................................................................................................39 3.3.2 Schwach verlorene Daten ................................................................................................................39 3.3.3 Multiple Initialisierung ....................................................................................................................40 3.4 KONTROLLFLUSSANOMALIEN .............................................................................................................40 3.4.1 Knoten ohne eingehende oder ausgehende Kanten .........................................................................41 3.4.2 Aktivitätsknoten mit mehr als einer Eingangs- oder Ausgangskante...............................................42 3.4.3 Kontrollknoten mit nur einer Eingangs- oder Ausgangskante, Unvollständigkeit der
Nachbedingungen .........................................................................................................................................42 - III -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
3.4.4 Sich überschneidende Nachbedingungen ........................................................................................42 3.4.5 Fehlender Start- bzw. Endknoten oder auch mehrere Start- bzw. Endknoten.................................43 3.4.6 Fehlgerichtete Kanten bei Start- oder Endknoten ...........................................................................43 3.4.7 Verbindungsloser Knoten.................................................................................................................43 3.4.8 Mehrere Kanten zwischen zwei Knoten ...........................................................................................44 3.4.9 Deadlock ..........................................................................................................................................44 3.4.10 Fehlende Synchronisation..............................................................................................................46 3.4.11 Schleife...........................................................................................................................................46 3.4.12 Endlosschleife ................................................................................................................................47 3.4.13 Unnötiger Nicht-Determinismus....................................................................................................47 3.5 AUFFÄLLIGKEITEN ................................................................................................................................48 3.5.1 Unerreichbare Elemente..................................................................................................................48 3.5.2 Toter Pfad ........................................................................................................................................48 3.5.3 Fehlende Modellierungsschritte ......................................................................................................49 4 ABBILDUNG VON ANOMALIEN DER GRAPHISCHEN MODELLIERUNG AUF DIE
GRAPHISCHE NOTATION DIAFLUX ...........................................................................................................50 4.1 FEHLENDE DATEN .................................................................................................................................50 4.1.1 Uninitialisierter Wert.......................................................................................................................50 4.1.2 Verzögerte Initialisierung ................................................................................................................51 4.1.3 Unsichere Synchronisation ..............................................................................................................51 4.2 REDUNDANZ ...........................................................................................................................................52 4.2.1 Starke Redundanz.............................................................................................................................52 4.2.2 Schwache Redundanz.......................................................................................................................53 4.3 INKONSISTENZ .......................................................................................................................................53 4.3.1 Stark verlorene Daten ......................................................................................................................53 4.3.2 Schwach verlorene Daten ................................................................................................................54 4.3.3 Multiple Initialisierung ....................................................................................................................54 4.4 PROZESSANOMALIEN ............................................................................................................................56 4.4.1 Splits in DiaFlux ..............................................................................................................................56 4.4.2 Joins in DiaFlux...............................................................................................................................57 4.4.3 Knoten ohne eingehende oder ausgehende Kanten .........................................................................59 4.4.4 Aktivitätsknoten mit mehr als einer Eingangs- oder Ausgangskante...............................................59 4.4.5 Kontrollknoten mit nur einer Eingangs- oder Ausgangskante, Unvollständigkeit der
Nachbedingungen .........................................................................................................................................59 4.4.6 Sich überschneidende Nachbedingungen ........................................................................................59 4.4.7 Fehlender Start- bzw. Endknoten oder auch mehrere Start- bzw. Endknoten.................................60 4.4.8 Fehlgerichtete Kanten bei Start- oder Endknoten ...........................................................................60 4.4.9 Verbindungsloser Knoten.................................................................................................................60 4.4.10 Mehrere Kanten zwischen zwei Knoten .........................................................................................60 4.4.11 Deadlock ........................................................................................................................................61 4.4.12 Fehlende Synchronisation..............................................................................................................62 4.4.13 Schleife / Endlosschleife ................................................................................................................62 4.4.14 Unnötiger Nicht-Determinismus....................................................................................................63 4.5 AUFFÄLLIGKEITEN ................................................................................................................................64 - IV -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
4.5.1 Toter Pfad ........................................................................................................................................64 4.5.2 Fehlende Modellierungsschritte ......................................................................................................64 4.6 DIAFLUX-SPEZIFISCHE ANOMALIEN ...................................................................................................64 4.6.1 Redundantes Flussdiagramm...........................................................................................................65 4.6.2 Redundanter Startknoten .................................................................................................................65 4.6.3 Redundante Abfrage.........................................................................................................................66 4.6.4 Inkonsistente Abfrageart..................................................................................................................66 4.6.5 Inkonsistente Herleitung ..................................................................................................................66 4.6.6 Schleife ohne Snapshot-Knoten........................................................................................................66 4.6.7 Kein automatisch startendes Flussdiagramm ..................................................................................67 4.6.8 Automatisch startendes Flussdiagramm mit mehr als einem Startknoten .......................................67 4.6.9 Rückkopplung...................................................................................................................................68 4.6.10 Unmöglicher Pfad..........................................................................................................................68 4.6.11 Unbenutzte Elemente der Wissensbasis .........................................................................................69 4.6.12 Konflikt zur Wissensbasis ..............................................................................................................70 5 IMPLEMENTIERUNG VON ANOMALIE-ERKENNUNGSALGORITHMEN FÜR DIAFLUX .....72 5.1 INTEGRATION DER ANOMALIE-ERKENNUNG IN KNOWWE .............................................................72 5.2 REALISIERUNG DER ANOMALIE-ERKENNUNG ..................................................................................73 5.3 ERKENNUNG DER ANOMALIE „KNOTEN OHNE EINGEHENDE ODER AUSGEHENDE KANTEN“ ....76 6 BEWERTUNG, ZUSAMMENFASSUNG UND AUSBLICK...................................................................78 7 LITERATUR .................................................................................................................................................84 8 EHRENWÖRTLICHE ERKLÄRUNG ....................................................................................................XII 9 ANLAGENVERZEICHNIS ..................................................................................................................... XIII 10 ANLAGE A .............................................................................................................................................. XIV 10.1 DIAFLUX FLUSSDIAGRAMM ............................................................................................................XIV 10.2 ALGORITHMUS ZUR ERKENNUNG DER ANOMALIE „KNOTEN OHNE EINGEHENDE ODER
AUSGEHENDE KANTEN“ ............................................................................................................................... XV -V-
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
I.
Abbildungsverzeichnis
Abbildung 1: Exemplarisches Wissensnetz für Fortbewegungsmittel .....................................................6 Abbildung 2: Wiki-Artikel über das Fortbewegungsmittel "Auto" .........................................................7 Abbildung 3: Syntax mit semantischen Annotationen .............................................................................7 Abbildung 4: KnowWE - Fragebaum MwSt..........................................................................................14 Abbildung 5: KnowWE - Herleitungen des MwSt-Satz ........................................................................14 Abbildung 6: KnowWE - Gewichtung von Herleitungen (Diagnosen) .................................................15 Abbildung 7: KnowWE – Regeln zur MwSt-Berechnung .....................................................................16 Abbildung 8: KnowWE – KnowledgeBase............................................................................................16 Abbildung 9: KnowWE - QuickInterview .............................................................................................17 Abbildung 10: KnowWE - angewendete Regeln zur MwSt-Berechnung..............................................17 Abbildung 11: KnowWE - etablierte Herleitung / Diagnose für den MwSt-Satz..................................17 Abbildung 12: DiaFlux - Flussdiagramm zur Berechnung der MwSt ...................................................19 Abbildung 13: Sequenz ..........................................................................................................................24 Abbildung 14: AND Split / paralleler Split............................................................................................24 Abbildung 15: AND Join........................................................................................................................25 Abbildung 16: XOR Split / exklusiver OR Split ....................................................................................25 Abbildung 17: XOR Join / exklusiver OR Join......................................................................................26 Abbildung 18: OR Split..........................................................................................................................26 Abbildung 19: OR Join...........................................................................................................................27 Abbildung 20: Beispiel für ein Petri-Netz..............................................................................................28 Abbildung 21: Beispiel für ein Workflow Netz .....................................................................................28 Abbildung 22: Elemente der EPK-Modellierung ...................................................................................29 Abbildung 23: Beispiel für BPMN.........................................................................................................30 Abbildung 24: Überblick der Anomalieklassen .....................................................................................34 Abbildung 25: genutzte YAWL Elemente .............................................................................................35 Abbildung 26: Anomalie - uninitialisierter Wert ...................................................................................36 - VI -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Abbildung 27: Anomalie - verzögerte Initialisierung ............................................................................36 Abbildung 28: Anomalie - unsichere Synchronisation ..........................................................................37 Abbildung 29: Anomalie - starke Redundanz ........................................................................................38 Abbildung 30: Anomalie - schwache Redundanz ..................................................................................38 Abbildung 31: Anomalie - stark verlorene Daten ..................................................................................39 Abbildung 32: Anomalie - multiple Initialisierung ................................................................................40 Abbildung 33: Anomalie - Knoten ohne eingehende oder ausgehende Kanten.....................................41 Abbildung 34: Anomalie - Aktivitätsknoten mit mehr als einer Eingangs- oder Ausgangskante .........42 Abbildung 35: Anomalie - Kontrollknoten mit nur einer Eingangs- oder Ausgangskante....................42 Abbildung 36: Anomalie - fehlender Endknoten ...................................................................................43 Abbildung 37: Anomalie - fehlgerichtete Kanten bei Start- oder Endknoten ........................................43 Abbildung 38: Anomalie – verbindungsloser Knoten............................................................................43 Abbildung 39: Anomalie - mehrere Kanten zwischen zwei Knoten ......................................................44 Abbildung 40: Anomalie - deterministischer Deadlock.........................................................................44 Abbildung 41: nicht-deterministischer Deadlock...................................................................................45 Abbildung 42: Anomalie - deterministische fehlende Synchronisation.................................................46 Abbildung 43: Anomalie – Schleife .......................................................................................................46 Abbildung 44: Anomalie - deterministische Endlosschleife ..................................................................47 Abbildung 45: Anomalie - unnötiger Nicht-Determinismus..................................................................47 Abbildung 46: Anomalie - toter Pfad .....................................................................................................48 Abbildung 47: DiaFlux Flussdiagramm – uninitialisierter Wert (1) ......................................................50 Abbildung 48: DiaFlux Flussdiagramm – uninitialisierter Wert (2) ......................................................51 Abbildung 49: DiaFlux Flussdiagramm – verzögerte Initialisierung.....................................................51 Abbildung 50: DiaFlux Flussdiagramm – unsichere Synchronisation...................................................52 Abbildung 51: DiaFlux Flussdiagramm – starke Redundanz.................................................................52 Abbildung 52: DiaFlux Flussdiagramm – schwache Redundanz...........................................................53 Abbildung 53: DiaFlux Flussdiagramm – stark verlorene Daten...........................................................54 Abbildung 54: DiaFlux Flussdiagramm – multiple Initialisierung ........................................................55 - VII -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Abbildung 55: AND-Split in DiaFlux ....................................................................................................56 Abbildung 56: Joins in DiaFlux .............................................................................................................57 Abbildung 57: DiaFlux Flussdiagramm – Darstellung verschiedener Prozessanomalien .....................58 Abbildung 58: DiaFlux Flussdiagramm – deterministischer Deadlock .................................................61 Abbildung 59: DiaFlux Flussdiagramm - nicht-deterministische fehlende Synchronisation ................62 Abbildung 60: DiaFlux Flussdiagramm - Schleife / Endlosschleife ......................................................62 Abbildung 61: DiaFlux Flussdiagramm - toter Pfad ..............................................................................64 Abbildung 62: DiaFlux Flussdiagramm - Redundanter Startknoten......................................................65 Abbildung 63: DiaFlux Flussdiagramm - Schleife ohne Snapshot-Knoten ...........................................67 Abbildung 64: DiaFlux Editor - automatischer Start eines Diagramms.................................................67 Abbildung 65: DiaFlux Flussdiagramm - unmöglicher Pfad .................................................................68 Abbildung 66: DiaFlux Flussdiagramm - BMI-Berechung....................................................................69 Abbildung 67: Teil einer Wissensbasis zur BMI-Berechnung...............................................................69 Abbildung 68: DiaFlux Flussdiagramm (unvollständig) - Konflikt zur Wissensbasis ..........................70 Abbildung 69: Fragen der Wissensbasis ................................................................................................71 Abbildung 70: CI Dashboard..................................................................................................................72 Abbildung 71: fehlerfreier Anomalie-Test im CIDashboard .................................................................74 Abbildung 72: DiaFlux Flussdiagramm ..............................................................................................XIV - VIII -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
II.
Tabellenverzeichnis
Tabelle 1: DiaFlux Knotentypen ............................................................................................................12 Tabelle 2: Aktivierungszustände der DiaFlux-Knoten und -Kanten......................................................12 Tabelle 3: Beispiel für eine Datenfluss-Matrix ......................................................................................22 Tabelle 4: Zusammenfassung identifizierter Anomalien .......................................................................83 - IX -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
III.
Abkürzungsverzeichnis
Abkürzung
Bedeutung
AAAI
Association for the Advancement of Artificial Intelligence
ADC
Australasian Database Conference
AIME
Artificial Intelligence in Medicine
AMCIS
Americas Conference on Informaction Systems
ARIS
Architektur integrierter Informationssysteme
BGA
Blutgasanalyse
BMI
Body Mass Index
BPMN
Business Process Modelling Notation
CAiSE
Conference on Advanced Information Systems Engineering
CI
Continuous Integration
CI4KE
Continuous Integration for Knowledge Engineering
ECAI
European Conference on Artificial Intelligence
EKAW
European Knowledge Acquisition Workshop
EPK
Ereignisgesteuerte Prozessketten
ibLV
innerbetriebliche Leistungsverrechnung
KnowWE
Knowledge Wiki Environment
KR4HC
Knowledge Representation for Health Care
LWA
Lernen, Wissen, Adaptivität
MwSt
Mehrwertsteuer
OKM
Open Knowledge Models
OWL
Web Ontology Language
PAIS
Prestigious Applications of Intelligent Systems
SaO2
Arterielle Sauerstoffsättigung
sO2
Sauerstoffsättigung
SpO2
Partielle Sauerstoffsättigung
-X-
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Abkürzung
Bedeutung
TMS
Truth Maintanence System
UML
Unified Modelling Language
V&V
Verifikation & Validierung
WITS
Workshop on Information Technologies and Systems
XML
eXtensible Markup Language
YAWL
Yet Another Workflow Language
- XI -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
1 Einleitung und Problemstellung
1.1 Problemstellung und Motivation
Der global agierende, börsennotierte Konzern Dräger ist ein international führendes
Unternehmen im Bereich der Medizin- und Sicherheitstechnik, das bereits in fünfter
Generation durch Familienhand geführt wird. Dräger beschäftigt weltweit ca. 11.000
Mitarbeiter in über 190 Ländern.1
Der Unternehmensbereich Medizintechnik entwickelt innovative Geräte und Lösungen
entlang der gesamten Prozesskette der Akutmedizin (Notfall-, Intensiv-, Perioperativ- und
Perinatalmedizin). Im Bereich Beatmung und Narkose sowie auch in der Überwachung der
Vitaldaten von Patienten ermöglichen die Lösungen von Dräger die höchste
Therapiequalität.2
In einigen Medizinprodukten werden wissensbasierte Systeme zur intelligenten Steuerung
und adaptiven Überwachung der Therapie genutzt - z.B. zur automatischen Entwöhnung eines
Patienten von der Beatmung.3 Das Wissen, das diesen Systemen zu Grunde liegt, wurde
bisher mit Hilfe einer kommerziellen Software akquiriert und formalisiert. Seit Ende 2010
wird das semantische Wiki KnowWE (Knowledge Wiki Environment)4 und dessen
graphische Notation DiaFlux zu eben diesem Zwecke eingesetzt. Als kollaborative
Websoftware ermöglicht ein semantisches Wiki die einfache Zusammenarbeit von
Wissensingenieuren und Domänen-Experten und vereinheitlicht formelles und informelles
Wissen. Trotz der intuitiven Bedienbarkeit eines Wikis ist die Syntax eines semantischen
Wikis gerade für den Domänen-Experten nicht immer einfach umzusetzen. Daher bietet
KnowWE die Modellierungssprache DiaFlux, die den komplexen Prozess der
Wissensmodellierung stark vereinfacht. DiaFlux dient der Abbildung diagnostischer
Wissensflüsse und ist somit in der Lage, klinische Richtlinien in Flussdiagrammen mit
wenigen, intuitiven Elementen darzustellen. Dadurch wird das modellierte Wissen leichter
verständlich und wartbar.
Während KnowWE kontinuierlich Tests zur Sicherung der Qualität der Wissensbasen
unterzogen wird, ist die Qualitätssicherung von DiaFlux erst wenig berührt. Für den
industriellen Einsatz ist diese jedoch ein essentieller und unabdingbarer Bestandteil des
Knowledge Engineering Prozesses. Nur so kann die höchste Therapiequalität in den
automatisierten Systemen gewährleistet werden.
1 Vgl. http://www.draeger.com/DE/de/, 06.02.2011, 17:05 Uhr
2 Vgl. http://www.draeger.com/DE/de/investoren/draeger_auf_einen_blick/medizintechnik/index.jsp, 06.02.2011, 17:05 Uhr
3 Vgl. [MD04], S. 745 ff.
4 Vgl. http://www.is.informatik.uni-wuerzburg.de/forschung/anwendungen/knowwe/, 06.02.2011, 17:25 Uhr
-1-
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Allerdings können auch in einer graphischen Modellierung Fehler auftreten. Der Fokus dieser
Master Thesis liegt in der Identifikation und Analyse von Anomalien, die Symptome
möglicher Modellierungsfehler beschreiben. Anomalien in diagnostischen Flüssen sollen
durch Recherche in klassischer und aktueller Literatur sowie anhand praktischer Experimente
mit DiaFlux erkannt und aufgezeigt werden. Die gefundenen Anomalien werden strukturiert
und gegebenenfalls auf DiaFlux übertragen. Die Recherchen bewegen sich im Bereich der
Prozess- und Workflow-Modellierung, da mittels DiaFlux Problemdiagnostiken als
Flussdiagramme modelliert werden. Die Flussdiagramme bilden diagnostisches Wissen zu
Problemlösungsprozessen ab. Dies kann von einfachen Alltagsproblemen bis hin zu
medizinischen Therapieszenarien reichen.
Ein weiterer Schwerpunkt der Arbeit ist die prototypische Implementierung eines
Detektionsalgorithmus’ für eine DiaFlux-Anomalie im Rahmen der kontinuierlichen
Integrationsumgebung für Tests von KnowWE. Darüber hinaus wird ein
Visualisierungskonzept für in einer Modellierung detektierte Anomalien diskutiert.
Die aus der Arbeit resultierenden Qualitätsmethoden werden zukünftig die kontinuierliche
Qualitätskontrolle der Wissensbasen in KnowWE ergänzen und den industriellen Einsatz der
Modellierung mit DiaFlux unterstützen.
1.2 Related Work
Die Modellierung von Wissen in Flussdiagrammen, deren Ausführung zu einer Diagnose
führt, kann in den Bereich der Prozessmodellierung und Modellierung von Workflows
eingeordnet werden. Im Rahmen der Verifikation von Petri- oder Workflow-Netzen wird in
der Literatur auf die Identifikation und Detektion von Anomalien eingegangen. Van der Aalst
unterteilt in [Aal00] die Modellierung von Workflows unter anderem in eine Kontrollflussund eine Datenfluss-Perspektive. Diese Perspektiven liegen der Master Thesis zu Grunde, da
ein DiaFlux-Flussdiagramm in prozeduraler (Fluss) und deklarativer (Daten) Form Wissen
darstellt und verarbeitet. Van der Aalst et al. analysieren in [TAS09] Muster in Datenflüssen,
die zu Fehlern führen können. Auch Sadiq et al. beschreiben in [SZN05] und [SOSF04]
Validierungsprobleme und Anomalien wie redundante oder inkonsistente Daten innerhalb des
Datenflusses von Workflows. Bi und Zhao stellen in [BZ03] eine formale Klassifikation von
Prozessanomalien auf, die beispielsweise die falsche Verknüpfung von Knoten in einem Netz
und andere Aspekte bezüglich Prozessgraphen beschreiben.
Die Evaluierung gerade wissensbasierter Systeme wird besonders durch Preece et al. in
[PS94] und [Pre98] untersucht. Dabei wird auf die Validierung und Verifikation dieser
Systeme sowie Probleme wie Redundanzen oder Inkonsistenzen in Wissensbasen
eingegangen.
Diese Arbeit aggregiert die angesprochene und weitere Literatur, um die Fehlerquellen der
Modellierung und ihrer unterschiedlichen Perspektiven auf die Modellierungsnotation
DiaFlux zu übertragen. Dabei erhebt die Arbeit nicht den Anspruch, vollständig alle
möglichen Anomalien gefunden zu haben und alle Perspektiven zu betrachten. Sie bildet die
-2-
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Grundlage für weitere Analysen oder eine Implementierung der vollständigen Erkennung
aller Modellierungsanomalien in einem DiaFlux-Flussdiagramm.
1.3 Übersicht über die nachfolgenden Kapitel
Im nächsten Kapitel werden die Grundlagen für das Verständnis der weiteren Inhalte der
Master Thesis dargelegt. Dabei wird zunächst auf den Begriff „Wissen“ und die
unterschiedlichen Modellierungsmöglichkeiten von Wissen wie Regeln, Ontologien oder
semantische Wikis eingegangen. Letztere werden eingehender betrachtet, da es sich bei
KnowWE um ein solches Wiki handelt. Anschließend werden KnowWE und die Notation
DiaFlux zur graphischen Wissensmodellierung erläutert und die Arbeitsweise von KnowWE
und DiaFlux im Zusammenspiel anhand eines Beispiels dargestellt. Im weiteren Verlauf des
zweiten Kapitels werden die Perspektiven eines Workflows und verschiedene Arten der
Prozess- und Workflow-Modellierung beschrieben, bevor abschließend auf die Verifikation
im Kontext von Wissensbasen und deren Modellierung eingegangen wird.
Das dritte Kapitel klassifiziert die nach der Literaturrecherche identifizierten Anomalien der
graphischen Modellierung von Prozessen bzw. Workflows. Dabei werden fehlende Daten,
Redundanz, Inkonsistenz, Auffälligkeiten und Anomalien im Kontrollfluss – sogenannte
Prozessanomalien – unterschieden und ihre Auswirkungen auf eine Wissensmodellierung
skizziert.
Mit Hilfe von Experimenten mit KnowWE und DiaFlux und den darin gesammelten
Erfahrungen werden im vierten Kapitel die analysierten Anomalien anhand von
Beispielmodellierungen auf DiaFlux übertragen. Darüber hinaus werden weitere DiaFluxspezifische Anomalien betrachtet.
Im fünften Kapitel wird erläutert, wie Detektionsalgorithmen für Anomalien in die
Testumgebung von KnowWE integriert werden können. An dieser Stelle wird außerdem auf
die Visualisierung der Testergebnisse eingegangen. Ein einfacher Beispielalgorithmus zur
Erkennung von Knoten ohne eingehende oder ausgehende Kanten in einem Flussdiagramm
rundet das Kapitel ab.
Die Arbeit schließt mit einer zusammenfassenden Übersichtstabelle der Anomalien,
Schlussfolgerungen und einem Ausblick.
-3-
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
2 Grundlagen
2.1 Modellierung von Wissen
Bevor die Modellierungsmöglichkeiten von Wissen kurz beschrieben werden, soll zuerst
definiert werden, was der Begriff „Wissen“ überhaupt bedeutet. Wissen ist die Fähigkeit,
Informationen zu benutzen. Informationen spiegeln dabei die Bedeutung von Daten wider,
wobei Daten einfache Werte darstellen. Nimmt man beispielsweise die Zahl 5, hat dieses
Datum allein keinerlei Aussage. Die Information, dass die Temperatur heute 5°C beträgt, hat
mehr Gehalt. Ohne geeignetes Wissen, kann mit dieser Information allerdings nichts erreicht
werden. Wissen ist in diesem Beispiel, wenn aus der Information ein Handeln abgeleitet wird
- wie zum Beispiel das Tragen winterlicher Kleidung.1
Um Wissen nun für die Verarbeitung durch einen Computer aufzubereiten, muss es
formalisiert resp. modelliert werden. Zur Aufbereitung eines Problems für die
rechentechnische Interpretation sind die folgenden Schritte erforderlich2:
•
Charakterisierung des Problembereichs in einem bestimmten Detaillierungsgrad
•
Formale Darstellung durch eine symbolische Repräsentation des Wissens
•
Wissenseingabe in der Computer
•
Stellen von Fragen
•
Interpretieren der Antworten
In Computerprogrammen, die dediziert für die Verarbeitung von Wissen und Problemlösung
durch die Anwendung von eingeflossenem Wissen zuständig sind, sind das Wissen und die
Verarbeitung des Wissens voneinander getrennt.3 Solche Computerprogramme werden
Expertensysteme oder wissensbasierte Systeme genannt. Sie verfügen über das Wissen von
Experten in einer bestimmten Domäne (Problembereich) und nutzen dieses Wissen zur
Lösung von Problemen.4 Die explizite Wissensbasis kann somit ohne Änderung der
Programmlogik angepasst werden und ist transparent.5
1 Vgl. [LC08], S. 30 f.
2 Vgl. [LC08], S. 30 f.
3 Vgl. [LC08], S. 31
4 Vgl. http://www.enzyklopaedie-der-wirtschaftsinformatik.de/wi-enzyklopaedie/lexikon/technologien-methoden/KI-und-
Softcomputing/Expertensystem, 13.02.2011, 10:49 Uhr
5 Vgl. [LC08], S. 32
-4-
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Die Sprache, die zur Repräsentation von Wissen angewendet werden soll, muss in der Lage
sein, das Wissen auch darzustellen. Nicht jede Repräsentationsform ist für jede Art von
Wissen geeignet. Vages Wissen kann beispielsweise nicht über reine aussagenlogische
Formeln repräsentiert werden.1
Es können unter Anderem folgende Formen der Wissensrepräsentation unterschieden werden:
•
Aussagenlogik – WAHR oder FALSCH,
•
Prädikatenlogik – Erweiterung der Aussagenlogik um Objekte und deren Eigenschaften3
•
Regelbasiert – Regeln der Form WENN DANN4
•
Fuzzy Logik – Darstellung von vagem Wissen5
•
Semantische Netze – Darstellung eines Netzes mit Klassen und Objekten sowie deren
Eigenschaften und Relationen6
•
Frames – textuelle Beschreibung von Objekten durch ihre Eigenschaften7
•
Wissensnetze – graphische Darstellung basierend auf semantischen Netzen und Frames8
•
Ontologien – formale Spezifikation eines Gegenstandsbereichs durch Domänenexperten9
2
Für tiefer gehende Informationen zu dieser Thematik sei auf [LC08] verwiesen.
In Zeiten des Web 2.0 wird Wissen oft kollaborativ erfasst und von den Autoren selbständig
verwaltet. Diesem Zwecke dienen Wiki-Systeme. Ein Wiki (wie z.B. Wikipedia) kann eine
schier unüberschaubare Menge an Wissen beinhalten. Um Wissen in dieser Form effektiv
nutzen zu können, muss eine Volltextsuche möglich und Übersichtsseiten zur Navigation
vorhanden sein. Eine andere, weitaus interessantere Möglichkeit, ist der Einsatz von MetaInformationen in einem Wiki. Meta-Informationen in Form von semantischen Annotationen
zur formalen Wissensrepräsentation erweitern ein einfaches Wiki zu einem so genannten
1 Vgl. [LC08], S. 33
2 Vgl. [LC08], S. 35 ff.
3 Vgl. [LC08], S. 54 ff.
4 Vgl. [LC08], S. 69 ff.
5 Vgl. [LC08], S. 89 ff.
6 Vgl. [LC08], S. 83 ff.
7 Vgl. [LC08], S. 85 ff.
8 Vgl. [LC08], S. 87 ff.
9 Vgl. http://www.enzyklopaedie-der-wirtschaftsinformatik.de/wi-enzyklopaedie/lexikon/daten-
wissen/Wissensmanagement/Wissensmodellierung/Wissensreprasentation/SemantischesNetz/Ontologien/index.html/?searchterm=ontologie, 13.02.2011, 10:55 Uhr
-5-
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
semantisches Wiki. Unterschiedliche Formalisierungsgrade von Wissen können so in einen
Kontext gebracht werden.1 „Semantische Annotationen korrespondieren in der Regel mit
einer Ontologie, in der definiert wird, welche Eigenschaften welchen Objekttypen zugeordnet
werden können. Die Ontologie wird ebenfalls durch die einzelnen Wiki-Artikel erstellt und
gewartet.“2 Semantische Wikis können nicht nur zur Erleichterung der kollaborativen Arbeit
an einem Wissensgebiet sondern auch als Werkzeug für die kollaborative Entwicklung von
Ontologien dienen.3
Das nachfolgende Beispiel erläutert die Modellierung von Wissen in dem frei zugänglichen
semantischen Wiki Semantic MediaWiki4. Als erster Schritt wird der Gegenstandsbereich
visualisiert. Die Abbildung zeigt ein Wissensnetz, das einige Fortbewegungsmittel
(motorisiert oder nicht motorisiert) darstellt. Diese Fortbewegungsmittel können auch in
andere Kategorien wie „Sportgerät“ oder „Maschine“ unterteilt werden. Jedes
Fortbewegungsmittel hat die Eigenschaften „Anzahl Räder“, „Anzahl Spuren“ und
„Untergrundbeschaffenheit“. Exemplarisch ist nur das Fortbewegungsmittel „Auto“ mit
seinen Eigenschaften dargestellt.
Abbildung 1: Exemplarisches Wissensnetz für Fortbewegungsmittel
Quelle: eigene Darstellung
Aus diesem Wissensnetz lassen sich nun semantische Annotationen für ein Wiki ableiten. Die
Artikel des Wikis enthalten normalen Text über die genannten Fortbewegungsmittel. Die
Syntax umfasst neben Formatierungsanweisungen aber zusätzliche Meta-Daten für
Kategorien (z.B. [[Category:motorisiert]]) oder Eigenschaften (z.B. [[NumberOfWheels::4| ]])
der beschriebenen Objekte. Über diese Meta-Daten können später Abfragen abgeleitet werden
1 Vgl. [HRBP10], S. 2
2 [SBBK07], S. 434
3 Vgl. [SBBK07], S. 435 f.
4 Vgl. http://semantic-mediawiki.org/wiki/Semantic_MediaWiki, 13.02.2011, 14:12 Uhr
-6-
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
– wie beispielsweise die Ermittlung aller Fortbewegungsmittel mit 4 Rädern über das gesamte
Wiki. Nachfolgend sind der Wiki-Artikel über das Fortbewegungsmittel „Auto“ sowie die
dahinterliegende Syntax mit semantischen Annotationen dargestellt.
Abbildung 2: Wiki-Artikel über das Fortbewegungsmittel "Auto"
Quelle: eigenen Darstellung (http://sandbox.semantic-mediawiki.org/wiki/User:Gritti)1
==Auto==
[[NumberOfWheels::4| ]]
Ein Automobil, kurz Auto (auch Kraftwagen, früher Motorwagen),
ist ein [[NumberOfTracks::mehrspurig| mehrspuriges]]
Kraftfahrzeug,
das von einem Motor angetrieben wird und zur Beförderung von
Personen und Frachtgütern dient.
Es bewegt sich auf dem
[[Ground::Boden]].
[[Category:motorisiert]] [[Category:Maschine]]
[[Category:Sportgerät]]
Abbildung 3: Syntax mit semantischen Annotationen
Quelle: eigene Darstellung (http://sandbox.semantic-mediawiki.org/wiki/User:Gritti)
Das semantische Wiki spielt in dieser Master Thesis eine besondere Rolle, da es sich bei
KnowWE um ein solches System handelt. Im nachfolgenden Kapitel werden KnowWE und
seine graphische Wissensrepräsentationssprache DiaFlux näher erläutert.
1 Text zitiert nach http://de.wikipedia.org/wiki/Auto, 13.02.2011, 14:03 Uhr
-7-
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
2.2 KnowWE und DiaFlux
2.2.1 Das semantische Wiki KnowWE
Das Knowledge Wiki Environment – kurz KnowWE – ist ein semantisches Wiki zur
Modellierung von Entscheidungsunterstützungssystemen. Es ermöglicht das verteilte
Knowledge Engineering und ist besonders für kleine Gruppen von Anwendern geeignet.
Formale Konzepte können einfach erzeugt, gewartet und durch informelles Wissen in den
Wiki-Artikeln dokumentiert und beschrieben werden.1 Neben den Eigenschaften eines
semantischen Wikis (semantische Annotationen, Abfragemöglichkeiten etc.) weist es auch
eine Problemlösungskomponente auf. Bei dieser Komponente handelt es sich um d3Web,
eine open-source Lösung, die anhand von Entscheidungsbäumen oder -tabellen,
kategorischen oder heuristischen Regeln, Überdeckungsmodellen oder fallbasiertem
Schließen Problemlösungen herleitet. Diese Java-Software kann in beliebige Anwendungen
integriert werden und wird aktuell hauptsächlich im Bereich der medizinischen Diagnose oder
der technischen Fehlerdiagnose eingesetzt.2
Zur Modellierung des konzeptionellen Wissens in KnowWE wird die Web Ontology
Language (OWL), für das Problemlösungswissen ein proprietäres XML-Format von d3Web
verwendet.3
Das modellierte Problemlösungswissen wird direkt auf die im Wiki modellierten Ontologien
angewendet. Dazu stehen beispielsweise interaktive Interviews auf den Seiten des Wikis zur
Verfügung, die Eingaben entgegen nehmen, auswerten und Herleitungen präsentieren.
Einzelne Wiki-Seiten können zu einer gemeinsamen Wissensbasis verknüpft werden.4
Eine ausführliche Dokumentation aller Möglichkeiten, die KnowWE bietet, ist in KnowWE
selbst integriert. Einen guten Überblick bieten außerdem Baumeister et al. in [BRP09].
2.2.2 Die graphische Notation DiaFlux
Da es sich bei der Modellierung von Wissen – speziell von diagnostischem Wissen – um eine
sehr komplexe und fehleranfällige Aufgabe handelt, wurde die graphische
Modellierungssprache DiaFlux entwickelt. Der Name leitet sich aus Diagnostik und Fluss ab.
Diagnostische Flüsse, also Abläufe eines diagnostischen Prozesses zur Lösung eines
1 Vgl. [HRBP10], S. 3
2 Vgl. http://www.is.informatik.uni-wuerzburg.de/forschung/anwendungen/d3web/, 13.02.2011, 14:55 Uhr
3 Vgl. http://semanticweb.org/wiki/KnowWE, 13.02.2011, 15:11 Uhr
4 Vgl. http://www.is.informatik.uni-wuerzburg.de/forschung/anwendungen/knowwe/, 13.02.2011, 15:14 Uhr
-8-
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Problems basierend auf zugrundeliegendem Wissen, beschreiben Workflows und können
auch als generalisierte Entscheidungsbäume betrachtet werden.1
DiaFlux wird besonders zur Modellierung klinischer Protokolle eingesetzt. Klinische
Protokolle sind die Implementierung klinischer Richtlinien, die meist in textueller Form
vorliegen. Domänen-Experten können mit Hilfe von DiaFlux gemeinsam eine klinische
Richtlinie zur Verarbeitung durch KnowWE erstellen. Mit DiaFlux modellierte Protokolle
sind leicht verständlich, wartbar und direkt ausführbar.2 Durch die vollständige
Formalisierung eines klinischen Protokolls kann dieses elektronisch ausgeführt werden.
Dabei werden die vom Nutzer oder über Schnittstellen (z.B. Gerätesensor) erfassten Daten
genutzt, um Problemlösungen herzuleiten und zu präsentieren.3
2.2.2.1 DiaFlux Architektur
Die Architektur von DiaFlux umfasst drei Elemente4:
•
Knowledge Base: Die Wissensbasis, die im Wiki abgebildet ist, dient als Grundlage der
Modellierung der Flussdiagramme.
•
Blackboard: Im Blackboard ist der aktuelle Ausführungsstatus eines Flussdiagramms
gespeichert. Es beinhaltet alle aktuellen Werte wie externe Nutzereingaben, interne
Berechnungen o.ä. samt deren Zeitstempeln.
•
Reasoning Engine: Die Reasoning Engine dient der Ausführung des Flussdiagramms. Ihre
Aktivität wird durch die Änderung von Daten im Blackboard ausgelöst.
Die Ausführungsumgebung für die DiaFlux Flussdiagramme enthält ein Truth Maintenance
System (TMS).5 Als TMS wird die Komponente eines Expertensystems bezeichnet, die die
Konsistenz der Wissensbasis aufrecht erhält, auch wenn der Benutzer Zustände verändert.6
Die Abhängigkeiten zwischen eingegebenem und hergeleitetem Wissen sind im TMS
gespeichert, so dass Herleitungen jederzeit begründet und nachvollzogen werden können.
Wird etwas an dem zu Grunde liegenden Wissen verändert, passt das TMS das Netz von
Abhängigkeiten entsprechend an und erhält den konsistenten Zustand über alle Daten.7 Das
Ändern oder Widerrufen von bereits hergeleiteten Problemlösungen darf allerdings nicht
immer möglich sein. Bei flüchtigen Aktionen wie der Anzeige eines Wertes kann das TMS
diese rückwirkungsfrei zurück nehmen, bei nicht-flüchtigen Aktionen – wie z.B. dem
1 Vgl. [HBB09], S. 1
2 Vgl. [HRBP10], S. 5 f.
3 Vgl. [HBBP11], S. 7
4 Vgl. [HBBP11], S. 7
5 Vgl. [HBBP11], S. 3
6 Vgl. http://www.enzyklo.de/Begriff/Truth%20Maintenance%20System, 25.04.2011, 11:12 Uhr
7 Vgl. [Doy79], S. 233
-9-
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Einleiten einer Therapie am Patienten – darf das TMS dies nicht widerrufen, denn in der
Realität kann die Aktion nicht rückgängig gemacht werden. Um einen solchen Mechanismus
in DiaFlux-Flussdiagrammen abzubilden, existieren so genannte Snapshot-Knoten, auf die im
nächsten Unterkapitel eingegangen wird.35
2.2.2.2 DiaFlux Sprachelemente
DiaFlux umfasst eine begrenzte Anzahl intuitiver Sprachelemente, die in einem visuellen
Editor zur Verfügung stehen. Dabei basiert die graphische Notation auf Flussdiagrammen und
den Ontologien, die im Wiki modelliert wurden. Alle Wissenselemente des Wikis können im
Editor zum Erstellen von Flussdiagrammen verwendet werden. Um nun beispielsweise
klinische Protokolle zu modellieren, muss sowohl deklaratives als auch prozedurales Wissen
spezifiziert werden. DiaFlux realisiert beides, indem deklaratives Wissen aus Fakten und
deren Beziehungen (z.B. Diagnosen) – also die Terminologie – und prozedurales Wissen über
Sequenzen der auszuführenden Aktionen (z.B. Daten erfassen, überprüfen) in einem
Flussdiagramm vereint werden.36 Diese Tatsache erlaubt auch den Rückschluss auf die
Betrachtung der DiaFlux-Flussdiagramme in der Daten- und Kontrollflussperspektive nach
van der Aalst.37 Das deklarative Wissen repräsentiert die Datenperspektive, das prozedurale
Wissen die Kontrollflussperspektive.38
Ein DiaFlux-Flussdiagramm besteht aus Knoten und Kanten. Es existiert nur eine Art von
Kante bzw. Zustandsübergang, der bzw. dem aber je nach Ausgangsknoten unterschiedliche
Bedingungen anliegen können. Kanten beschreiben die Ausführungsreihenfolge im
Flussdiagramm. Knoten repräsentieren Aktionen wie z.B. das Ausführen eines Tests oder das
Fragen nach einem Wert. 39 Die folgenden Knotentypen stehen in DiaFlux zur Verfügung:
Knoten
Funktion
Darstellung in DiaFlux
Startknoten
Mindestens ein Startknoten muss in einem
Flussdiagramm vorhanden sein, mehrere sind
möglich.
Endknoten
Jeder
mögliche
Pfad
muss
durch
einen
Endknoten beendet werden.
Kommentarknoten
Dieser Knoten kann im Flussdiagramm zum
Kommentieren eingesetzt werden.
35 Vgl. [HBBP11], S. 8
36 Vgl. [HBB09], S. 1
37 Vgl. [Aal00], S. 163 f.
38 Vgl. [HBBP11], S. 4
39 Vgl. [HBB09], S. 1
- 10 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Knoten
Funktion
Darstellung in DiaFlux
Testknoten
Durch diese Art Knoten wird eine Aktivität
ausgeführt – z.B. das Durchführen eines Tests,
das Abfragen eines Wertes vom Benutzer oder
Gerät. Bei der Abfrage eines Wertes kann
zwischen ask und always ask unterschieden
werden. Im ersten Fall wird der Wert einmal
abgefragt, wenn er noch nicht bekannt ist. Im
zweiten Fall wird der Wert jedes Mal erfragt,
wenn der Knoten aktiviert wird.
Der Knoten kann auch verwendet werden, um
einen Wert im Flussdiagramm zu berechnen oder
festzulegen. Ein solcher Knoten wird auch
Abstraktionsknoten genannt.
Fork Knoten
Durch diesen Knoten kann der Programmfluss in
parallele Pfade verzweigt werden.
Join Knoten
Ausgangskanten
Durch diesen Knoten werden parallele Pfade
Testknoten mit mehreren
wieder zusammengeführt. (Alternativ kann ein
Eingangskanten
paralleler Zweig auch durch einen Endknoten
beendet werden. Die anderen parallelen Zweige
laufen dann weiter ab.)
Diagnoseknoten
Dieser Knoten symbolisiert die Herleitung einer
Problemlösung – konkret einer gefundenen
Diagnose.
Snapshot-Knoten
Mit einem Snapshot-Knoten werden die bisher
erfassten Daten als unveränderbar angenommen
und im Blackboard schreibgeschützt. Das TMS
kann somit nichts vor diesem Knoten rückgängig
machen oder manipulieren. Alle aktiven Knoten
auf eingehenden Pfaden werden deaktiviert
(ohne
ihre
Rücknahme),
Ausführung zu
Kompositionsknoten
Testknoten mit mehreren
um
eine
erneute
ermöglichen.40
Dieser Knoten wird zum Einbinden eines anderen
Flussdiagramms genutzt. Der Startknoten des
eingebundenen Unterdiagramms kann im Knoten
ausgewählt werden.
40 Vgl. [HBBP11], S. 5 f.
- 11 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Knoten
Funktion
Darstellung in DiaFlux
Warteknoten
Durch diesen Knoten wird eine Wartezeit in das
Flussdiagramm integriert, die die Ausführung
pausiert, bis sie abgelaufen ist.
Schleifenknoten
Definierte Aktionen werden in einer gewissen
Anzahl von Durchläufen wiederholt.
Tabelle 1: DiaFlux Knotentypen
Quelle: Vgl. [HRBP10] S. 7 f., vgl. [HBB09] S. 2 f., Abbildungen: eigene Darstellung
Mit Hilfe dieser Knoten kann modulares, paralleles und zeitorientiertes diagnostisches
Prozesswissen modelliert werden.1 Die Ausführung eines modellierten Prozesses beginnt mit
der Aktivierung eines Startknotens und vollzieht sich dann durch die Aktivierung der Knoten
und Kanten. Der genaue Aktivierungsvorgang kann der nachfolgenden Tabelle entnommen
werden:
Element
Voraussetzung
für
Aktivierung
Deaktivierung
Eine eingehende Kante
Aktion des Knotens
Aktion des Knotens
ist aktiv / wahr.
wird ausgeführt.
wird rückgängig
die Aktivierung
Knoten
gemacht.
Kante
Die Kante resultiert aus
Der nachfolgende
Der nachfolgende
einem Startknoten oder
Knoten wird aktiviert,
Knoten wird deaktiviert,
die Bedingung, die an
wenn er nicht bereits
wenn er keine
der Kante anliegt, wird
aktiviert war.
weiteren, aktiven
wahr.
eingehenden Kanten
aufweist.
Tabelle 2: Aktivierungszustände der DiaFlux-Knoten und -Kanten
Quelle: Vgl. [HBBP11], S. 8
Welche Kante betreten und welcher Knoten aktiviert wird, wird durch die Dateneingaben im
Blackboard determiniert.2
2.2.2.3 DiaFlux Entwicklungsprozess
Der Entwicklungsprozess eines Flussdiagramms mit DiaFlux gestaltet sich wie folgt1:
1 Vgl. [HBB09], S. 5
2 Vgl. [HBBP11], S. 8
- 12 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
•
Sammeln von informellem Wissen in Wiki-Artikeln
•
Erstellen eines semiformalen Flussdiagramms lediglich aus Kommentarknoten
•
Erstellen eines formalen Flussdiagramms
Schon während dieser schrittweisen Formularisierung sind Test des Modells möglich.2
2.2.3 Anwendungsbeispiel
Die Arbeitsweise mit KnowWE und DiaFlux soll nun anhand eines Beispiels illustriert
werden. Die zu modellierende Aufgabe ist die Berechnung des Nettopreises und der
Mehrwertsteuer (MwSt) anhand des durch den Nutzer angegebenen Bruttopreises und der Art
der Ware. Dabei sind folgende Waren wählbar: Grundnahrungsmittel, außer Getränken und
Alkohol, Buch oder Zeitschrift sowie Blumen (bei einem Mehrwertsteuersatz von 7%); Miete
kalt, Porto oder Arzthonorar (bei einem Mehrwertsteuersatz von 0%) und Alkohol, Kleidung
oder Sonstiges (bei einem Mehrwertsteuersatz von 19%). Anhand der ausgewählten Art der
Ware wird der entsprechende Mehrwertsteuersatz (Faktor 0; 0,07 oder 0,19) der Berechnung
zu Grunde gelegt.
Der Nettopreis berechnet sich nach folgender Formel:
Die Mehrwertsteuer (MwSt) berechnet sich nach folgender Formel:
In KnowWE wurden nun zuerst die durch den Nutzer auszufüllenden oder automatisch zu
generierenden Felder definiert:
%%Question
Start #1
- Art der Ware [oc]
-- Grundnahrungsmittel, außer Getränken und Alkohol
-- Buch oder Zeitschrift
-- Blumen
-- Miete kalt
-- Porto
-- Arzthonorar
1 Vgl. [HRBP10], S. 10
2 Vgl. [HRBP10], S. 10
- 13 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
-- Alkohol
-- Kleidung
-- Sonstiges
- Bruttopreis incl MwSt [num]
- Nettopreis [num] <abstract>
- MwSt [num] <abstract>
- Faktor [num] <abstract>
@package: Demo
%
Abbildung 4: KnowWE - Fragebaum MwSt
Quelle: eigene Darstellung
Es handelt sich hierbei um einen sogenannten Fragebaum (%%Question), der mit der ersten
Frage (Start #1) beginnen soll (Art der Ware). Fragen und Antwortmöglichkeiten können über
die Anzahl der Anstriche hierarchisch geschachtelt werden. Die Frage nach der Art der Ware
ermöglicht die Auswahl einer einzelnen Ware ([oc] = one choice). Die Antwortmöglichkeiten
sind unterhalb der Frage eingeordnet. Es folgt die Frage nach dem numerischen ([num])
Bruttopreis. Die drei anschließend definierten numerischen Werte Nettopreis, MwSt und
Faktor werden nicht durch den Benutzer eingegeben, sondern automatisch durch das System
berechnet. Dies wird durch das Schlüsselwort <abstract> deutlich.1
Die möglichen Herleitungen, also die drei unterschiedlichen Steuersätze, die aus den
Nutzereingaben abgeleitet werden können, sind unter dem Markup %%Solution definiert.
%%Solution
Steuersatz
- keine (0%)
- ermäßigt (7%)
- normal (19%)
@package: Demo
%
Abbildung 5: KnowWE - Herleitungen des MwSt-Satz
Quelle: eigene Darstellung
Um nun aus den definierten Werten und Herleitungen tatsächliche eine Berechnung der
Mehrwertsteuer und des Nettopreises einer Ware zu erzeugen, sind Regeln zu modellieren.
Die Regeln in KnowWE lassen sich unterteilen in Diagnose-, Abstraktions-, Indikations- und
Suppressionsregeln2:
1 Vgl. http://d3webwiki.informatik.uni-wuerzburg.de/Wiki.jsp?page=Doc%20Questions, 18.02.2011, 17:10 Uhr
2 Vgl. http://d3webwiki.informatik.uni-wuerzburg.de/Wiki.jsp?page=Doc%20Rules, 18.02.2011, 17:19 Uhr
- 14 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
•
Diagnoseregeln werden genutzt, um Herleitungen festzulegen. Dabei werden
Herleitungen Werte zugeordnet (siehe Abbildung 6), die festlegen, wie stark diese
zutreffen (P) oder abzulehnen sind (N). Anhand dieser Werte werden die Diagnosen
etabliert oder verworfen.
Abbildung 6: KnowWE - Gewichtung von Herleitungen (Diagnosen)
Quelle: KnowWE Dokumentation1
•
Abstraktionsregeln setzen einen als abstrakt definierten Wert automatisch auf einen
bestimmten Wert.
•
Indikationsregeln veranlassen die Darstellung weiterer Fragen bzw. Fragebäume.
•
Suppressionsregeln sind das Gegenteil von Indikationsregeln und ermöglichen das
Unterdrücken bestimmter Fragestellungen.
Im Beispiel der Mehrwertsteuerberechnung werden Diagnoseregeln eingesetzt, um anhand
der Nutzereingaben die Herleitung für den Steuersatz festzulegen. Abstraktionsregeln
bestimmen dann den Faktor für die Berechnung. Ist der Faktor definiert, kann er in weiteren
Abstraktionsregeln zur tatsächlichen Berechnung genutzt werden.
%%Rule
IF "Art der Ware" = "Miete kalt" OR "Art der Ware" = "Porto" OR
"Art der Ware" = "Arzthonorar"
THEN "keine (0%)" = P7
IF "keine (0%)" = ESTABLISHED
THEN "Faktor" = (0)
IF "Art der Ware" = "Grundnahrungsmittel, außer Getränken und
Alkohol" OR "Art der Ware" = "Buch oder Zeitschrift" OR "Art der
Ware" = "Blumen"
THEN "ermäßigt (7%)" = P7
IF "ermäßigt (7%)" = ESTABLISHED
THEN "Faktor" = (0.07)
IF "Art der Ware" = "Alkohol" OR "Art der Ware" = "Kleidung" OR
"Art der Ware" = "Sonstiges"
1 http://d3webwiki.informatik.uni-wuerzburg.de/Wiki.jsp?page=Doc%20DiagnosisRule, 18.02.2011, 17:03 Uhr
- 15 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
THEN "normal (19%)" = P7
IF "normal (19%)" = ESTABLISHED
THEN "Faktor" = (0.19)
IF "Faktor" > -1
THEN "Nettopreis" = ("Bruttopreis incl MwSt" / (1+"Faktor") )
IF "Faktor" > -1
THEN "MwSt" = ("Bruttopreis incl MwSt") - ("Bruttopreis incl
MwSt" / (1+"Faktor") )
@package: Demo
%
Abbildung 7: KnowWE – Regeln zur MwSt-Berechnung
Quelle: eigene Darstellung
Das modellierte Wissen wird in einer Wissensbasis zusammengefasst:
%%KnowledgeBase
MwSt-Berechnung
@uses: Demo
%
Abbildung 8: KnowWE – KnowledgeBase
Quelle: eigene Darstellung
Dies ist dadurch erkenntlich, dass die Wissenselemente Bestandteil des Pakets „Demo“
(@package: Demo) sind. Die Wissensbasis nutzt (@uses: Demo) alle diese Paketinhalte und
kann separat aus dem Wiki heruntergeladen werden, um in einer anderen Umgebung, z.B. auf
einem Gerät, zum Einsatz zu kommen.
Auch in KnowWE selbst kann das modellierte Wissen direkt ausgeführt werden. Der Nutzer
wird mittels eines Kurzinterviews ([{KnowWEPlugin quickInterview}]) auf der Wiki-Seite nach
seinen Eingaben gefragt. Die hinterlegten Regeln werden ausgeführt und die Herleitungen
und Berechnungsergebnisse direkt angezeigt.
- 16 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Abbildung 9: KnowWE - QuickInterview
Quelle: eigene Darstellung
Die angewendeten Regeln werden farblich hervorgehoben. Aufgrund der Auswahl der
Warenart „Kleidung“ wird der normale Mehrwertsteuersatz von 19% etabliert (P7). Dadurch
wird der Faktor mit 0,19 belegt. Aufgrund dessen wird die weitere Berechnung der gesuchten
Werte durchgeführt.
Abbildung 10: KnowWE - angewendete Regeln zur MwSt-Berechnung
Quelle: eigene Darstellung
Auch die gefundene Lösung wird markiert:
Abbildung 11: KnowWE - etablierte Herleitung / Diagnose für den MwSt-Satz
Quelle: eigene Darstellung
Der dargestellte Modellierungsaufwand kann um das Regelwerk reduziert werden, wenn die
Notation DiaFlux zum Einsatz kommt. Die Abbildung auf der nächsten Seite zeigt denselben
- 17 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Sachverhalt graphisch modelliert. Durch die Darstellung der Fragen und Herleitungen in der
Syntax des Wikis stehen diese im DiaFlux-Editor als Knoten zur Auswahl. Ein Zugriff auf
die Elemente der gesamten Wissensbasis ist von hier aus möglich.
Der Startknoten wurde modelliert, aber aus Platzgründen nicht mit in die Abbildung
aufgenommen. Das gleiche gilt für den Endknoten. Der erste Knoten stellt dem Nutzer die
Frage nach dem Bruttowert. Ist dieser bekannt (known), wird die Art der Ware erfragt. Aus
letzterer Angabe wird der Steuersatz hergeleitet. Aus den Diagnoseknoten des Steuersatzes
leiten sich direkt die abstrakten Knoten für den Berechnungsfaktor ab. In diese Knoten wird
der Wert für den Faktor gesetzt. Danach laufen die alternativen Pfade im Diagramm wieder
zusammen, um schließlich die Berechnungen für den Nettopreis und die Mehrwertsteuer
auszuführen. Dies geschieht in den letzten beiden Knoten.
Durch die Modellierung eines Flussdiagramms mit DiaFlux vereinfacht sich also die
Darstellung des Wissens. Das zugrunde liegende Wissen kann auf einen Blick erfasst werden,
die komplexe Regelsyntax wird obsolet.
- 18 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Abbildung 12: DiaFlux - Flussdiagramm zur Berechnung der MwSt
Quelle: eigene Darstellung
- 19 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
2.3 Prozess- und Workflow-Modellierung
Da es sich bei der Modellierung vornehmlich klinischer Leitlinien mit DiaFlux um die
Abbildung komplexer Prozesse handelt, wird an dieser Stelle auf die Modellierung eben
solcher Prozesse näher eingegangen. Ein passendes Äquivalent zu der Modellierung in
DiaFlux ist die Modellierung von Geschäftsprozessen – wenn auch nicht in allen Details.
„Modelle sind vereinfachte Beschreibungen bestimmter Sachverhalte der Realwelt bzw. einer
gedachten Welt, mit denen man ein bestimmtes Ziel verfolgt.“1 Sie abstrahieren und
reduzieren die Realität. In der Informatik repräsentieren sie unter Anderem algorithmische
Problemlösungen und ermöglichen so die vereinfachte Kommunikation zwischen den an der
Entwicklung beteiligten Personen. Prozessmodelle nutzen graphische Notationen, um eine
gemeinsame Sprache für die Beteiligten zu schaffen.2
Modelle von Geschäftsprozessen spezifizieren bestimmte Aktivitäten und deren Beziehungen
zueinander in einem komplexen Geschäftsumfeld.3 Die Aktivitäten werden in Reaktion auf
ein geschäftliches Ereignis ausgeführt, um ein bestimmtes Geschäftsziel zu erreichen. Ein
Beispiel hierfür kann ein Bestellprozess oder das Management einer Kundenbeschwerde
sein.4 Geschäftsprozesse operieren auf Daten und repräsentieren Abhängigkeiten zwischen
diesen. Für die Darstellung dieser datenbezogenen Aspekte eigenen sich Workflows.5
Der Begriff „Workflow“ bedeutet übersetzt „Arbeitsfluss“. Ein Workflow beschreibt also
einen Arbeitsablauf, einen Prozess. Er unterstützt ihn technisch - gänzlich oder auch
teilweise. Je nach Eingabedaten wird ein Workflow nach dem gleichen oder ähnlichen
Schema durchlaufen.6 Die einzelnen Vorgangschritte werden in Abhängigkeit von
Bedingungen ganz oder teilweise sequentiell, alternativ oder parallel ausgeführt.7 Durch den
Workflow wird der Prozess eindeutig modelliert, was natürlich eine vollständige
Beschreibung der Prozesssituation voraussetzt.8 Gerade im Zusammenhang mit DiaFlux ist
der Begriff der Modellierung eines Workflows passend, da einer der grundlegenden
Workflow-Typen, die das internationale Standardisierungsgremium „Workflow Management
Coalition“ definiert, der folgende ist: „Der Collaborative Workflow unterstützt das
1 [SVOK11], S. 23 f.
2 Vgl. [SVOK11], S. 24 ff.
3 Vgl. [Wes07], S. 125
4 Vgl. [HA10], S. 28
5 Vgl. [Wes07], S. 98 ff.
6 Vgl. [Mül05], S. 8
7 Vgl. [Gal97], S. 7 nach H. Heimann: Workflow Management, 1994, S. 10.
8 Vgl. http://www.itwissen.info/definition/lexikon/Workflow-workflow.html, 24.02.2011, 19:13 Uhr
- 20 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
gemeinsame Erarbeiten eines Ergebnisses;…“1 In DiaFlux werden gemeinschaftlich durch
Wissensingenieure und Domänenexperten Wissensbasen erarbeitet und Prozessabläufe zur
Diagnostik modelliert.2
2.3.1 Workflow-Konzepte und -Perspektiven
Bei der Beschreibung von Workflows spielen unterschiedliche Konzepte eine Rolle3:
•
Fall / Case: zeitlich limitierter Durchlauf eines Workflows, z.B. Bestellvorgang.
•
Aufgabe / Task: logische Arbeitseinheit zum Strukturieren eines Workflows, z.B.
Überprüfung eingegebener Daten. Dabei wird die Ausführung einer Aufgabe als Aktivität
bezeichnet.
•
Prozess: bestimmte Aufgaben in definierter Reihenfolge.
•
Routing: Verfolgen von Pfaden (=Ausführung von Aufgaben) im Workflow. Dabei wird
unterschieden in sequentielles, paralleles, selektives oder iteratives Routing.
•
Inkraftsetzung / Enactment: Aufgaben, die nicht direkt ausgeführt werden, benötigen
Auslöser wie die Initiative einer Ressource, ein externes Ereignis oder ein Zeitsignal.
Ein Workflow kann außerdem aus unterschiedlichen Perspektiven betrachtet werden. Die
Kontrollfluss- oder Prozessperspektive definiert, welche Aufgaben in welcher Reihenfolge
und entlang welches Pfades im Fluss ausgeführt werden. Die Ressourcen- oder
Organisationsperspektive beschreibt die Ressourcen (Menschen, Geräte etc.) und die
Beziehungen zwischen Rollen und Gruppen dieser. Dazu zählen beispielsweise
Verantwortlichkeiten einzelner Personen. Die Daten- oder Informationsperspektive
charakterisiert Kontrolldaten und Produktionsdaten. Kontrolldaten steuern den
Durchlaufprozess des Workflows, Produktionsdaten spiegeln die informativen Inhalte (z.B.
Dokumente) wider. In der Aufgaben- oder Funktionsperspektive werden die Aufgaben, die
die Ressourcen durchführen, detailliert spezifiziert. Die Durchführungs- oder
Anwendungsperspektive umfasst Applikationen, die die Produktionsdaten der
Informationsperspektive modifizieren und mit deren Hilfe Aufgaben erfüllt werden können.4
Die Perspektiven ähneln den Sichten des ARIS5-Hauses, das einen Ordnungsrahmen für die
Spezifikation eines betrieblichen Informationssystems und dessen Prozessmodellierung
bildet.6
1 [Mül05], S. 8
2 Vgl. [HRBP10], S. 1
3 Vgl. [AH04], S.31 ff.
4 Vgl. [Aal00], S. 163
5 ARIS = Architektur integrierter Informationssysteme
6 Vgl. [Gal97], S. 39
- 21 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Für die Modellierung von Flussdiagrammen in DiaFlux und die Analyse von Anomalien
werden einige dieser Perspektiven außer Acht gelassen. Die Ressourcen- oder
Organisationsperspektive spielt inhaltlich keine Rolle, Ressourcen werden nicht in die
Modellierung aufgenommen. Auch detaillierte Beschreibungen der einzelnen Tätigkeiten
innerhalb von Aufgaben wie in der Aufgaben- und Funktionsperspektive werden nicht
vorgenommen. Die Durchführungs- und Anwendungsperspektive wird ebenfalls nicht
betrachtet, da die in DiaFlux modellierten klinische Richtlinien in Form von Wissensbasen
aus KnowWE exportiert werden und in einem anderen Umfeld, beispielweise in der
automatisierten Steuerung eines Medizingerätes, zum Einsatz kommen.
2.3.2 Datenflussperspektive
Modellierungsfehler entstehen oft im Zusammenspiel zwischen Daten- und Kontrollfluss.
Daher ist die aufmerksame Modellierung des Datenflusses von großer Bedeutung.1 In der
Spezifikation des Datenflusses geht es darum, wie Daten durch Aktivitäten produziert und
konsumiert werden.2 Datenelemente können gelesen, geschrieben und zerstört werden.3 Dabei
bearbeiten die einzelnen Aktivitäten die Daten und besitzen eingehende (Input-/EingabeDaten) und ausgehende (Output-/Ausgabe-Daten) Datenflüsse. Physikalisch werden die
Daten nicht weiter geleitet.4
Eine Datenfluss-Matrix kann helfen, einen Überblick über den Datenfluss zu erhalten. Dabei
werden in zweidimensionaler Form die unterschiedlichen Operationen der Datenelemente d
den Aktivitäten v zugeordnet. Wird ein Datum durch eine Aktivität gelesen (R = read), so
handelt es sich um einen Eingabewert. Wird ein Datum geschrieben (W = write), ist es der
Ausgabewert der Aktivität.5 Die folgende Tabelle zeigt exemplarisch eine solche
Datenflussmatrix:
Datenelement / Aktivität
v1
v2
d1: Patientenname
W
R
d2: Geburtsdatum
W
v3
R
Tabelle 3: Beispiel für eine Datenfluss-Matrix
Quelle: eigene Darstellung in Anlehnung an [SZN05], S. 2919 f.
1 Vgl. [ADL10], S. 1
2 Vgl. [SZN05], S. 2917
3 Vgl. [TAS09], S. 3 f.
4 Vgl. [Gal97], S. 83
5 Vgl. [SZN05], S. 2918 ff.
- 22 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Der Datenfluss in einem Workflow muss die Ein- und Ausgabedaten verwalten, die
Verfügbarkeit der Daten an den entsprechenden Stellen gewährleisten und einen konsistenten
Fluss sicherstellen.1 Er kann explizit oder implizit im Kontrollfluss modelliert werden.2 In der
Arbeit wird der letztgenannte Fall betrachtet, bei dem die Daten über den Kontrollfluss durch
den Workflow „transportiert“ werden.
2.3.3 Kontrollfluss-Muster in der Kontrollflussperspektive (Control Flow Pattern)
Der Kontrollfluss beschreibt die Ablauffolge von Aktivitäten und somit die dynamischen
Aspekte eines Prozesses. Dabei kann zwischen sequentiellen, alternativen oder parallelen
Flussformen unterschieden werden.3
Der Ablauf eines Prozesses weist in jeder Modellierung wiederkehrende Muster auf, die auch
Kontrollfluss-Muster genannt werden. Muster in Kontrollflüssen von Prozessen sind
unabhängig von einer konkreten Modellierungssprache für Prozesse. Sie können direkt am
Prozessmodell erläutert werden. Dabei ist zunächst zu klären, wie der Begriff des
Prozessmodells definiert ist.4
Bei
handelt es sich um ein Prozessmodell, wenn es aus einer Menge von
Knoten ( ) und einer Menge von Kanten ( ) besteht. Dabei verbinden die Kanten einzelne
Knoten und beschreiben den Kontrollfluss durch das Prozessmodell. Knoten werden
unterschieden nach Aktivitätsknoten (
), Ereignisknoten (
) und Gateway-Knoten (
).
Ein Gateway-Knoten steuert den Kontrollfluss und definiert den Typ des Prozessmodells.5
Für die nachfolgende Vorstellung der Kontrollfluss-Muster sollen folgende Festlegungen
gelten:
•
Jedes Muster eines Kontrollflusses wird durch ein Gateway
•
Aktivitäten werden durch Großbuchstaben gekennzeichnet, z.B.
Aktivitäten mit den korrespondierenden Kleinbuchstaben
.
•
Folgt eine Aktivität
auf
, so kann
erst starten, wenn
1 Vgl. [SOSF04], S. 209
2 Vgl. [SOSF04], S. 213
3 Vgl. [Gal97], S. 73
4 Vgl. [Wes07], S. 92
5 Vgl. [Wes07], S. 92
6 Vgl. [Wes07], S.126
- 23 -
repräsentiert.
; Instanzen von
terminiert ist.6
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
2.3.3.1 Sequenz / Sequence
Die Instanz einer Aktivität
wird nach der Instanz einer Aktivität ausgeführt. kann
erst aktiviert werden, wenn
terminiert ist. Der Typ des Prozessmodells ist
1
.
Abbildung 13: Sequenz
Quelle: [Wes07], S. 127
2.3.3.2 AND Split
Ein AND Split verzweigt von einem einzelnen Pfad in mehrere Pfade, die parallel ausgeführt
werden. Nachdem eine Instanz
terminiert ist, werden die beiden Instanzen
und
2
ausgeführt. Der Typ des Prozessmodells ist
.
Abbildung 14: AND Split / paralleler Split
Quelle: [Wes07], S. 129
2.3.3.3 AND Join
Ein AND Join vereint mehrere parallele Pfade wieder zu einem einzigen Ausführungspfad im
Kontrollfluss. Jeder eingehende Pfad wurde dabei genau einmal ausgeführt. Bevor Aktivität
in der nachfolgenden Abbildung aktiviert wird, terminierten zuerst sowohl die Aktivitäten
als auch . Der Typ des Prozessmodells ist
.3
1 Vgl. [Wes07], S. 126 f.
2 Vgl. [Wes07], S. 128 f.
3 Vgl. [Wes07], S. 129
- 24 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Abbildung 15: AND Join
Quelle: [Wes07], S. 129
2.3.3.4 XOR Split
An der Stelle eines XOR Splits wird die Ausführung exklusiv auf nur einen der
nachfolgenden Pfade gelenkt. Nachdem eine Instanz der Aktivität
terminiert ist, wird
entweder eine Instanz der Aktivität
oder eine Instanz der Aktivität
aktiviert, in keinem
Fall aber beide. Der Typ des Prozessmodells ist
.1
Abbildung 16: XOR Split / exklusiver OR Split
Quelle: [Wes07], S. 130
2.3.3.5 XOR Join
An der Stelle eines XOR Joins laufen zwei oder mehrere alternative Pfade ohne
Synchronisation zusammen. Diesem Muster wird die Annahme zugrunde gelegt, dass nur ein
alternativer Pfad ausgeführt wurde. Durch das Terminieren einer der beiden Aktivitäten
oder
wird ein einziges Mal die Aktivität
aktiviert. Der Typ des Prozessmodells ist
.2
1 Vgl. [Wes07], S. 130
2 Vgl. [Wes07], S. 130
- 25 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Abbildung 17: XOR Join / exklusiver OR Join
Quelle: [Wes07], S. 131
2.3.3.6 OR Split
An dieser Stelle wird im Prozessmodell eine beliebige Anzahl von Pfaden für die weitere
Ausführung gewählt. Für ein korrektes Verhalten ist mindestens ein Pfad zu bestimmen.
Durch das Terminieren einer Instanz der Aktivität
werden Instanzen der Aktivitäten
oder
oder aber Instanzen beider Aktivitäten angestoßen. Der Typ des Prozessmodells ist
.1
Abbildung 18: OR Split
Quelle: [Wes07], S. 132
2.3.3.7 OR Join
In einem OR Join laufen mehrere Ausführungspfade zusammen. Dabei wird angenommen,
dass ein einmal aktivierter Pfad nicht erneut aktiviert werden kann. Wenn alle vorher aktiven
Pfade durchlaufen wurden, findet die Synchronisation statt. Der Typ des Prozessmodells ist
.2
1 Vgl. [Wes07], S. 131
2 Vgl. [Wes07], S. 131 f.
- 26 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Abbildung 19: OR Join
Quelle: [Wes07], S. 133
Der OR Join ist eine problematische Kontrollfluss-Struktur, da ohne zusätzliches Wissen
keine Entscheidung getroffen werden kann, wie lange der OR Join wartet, bevor er die darauf
folgende Instanz aktiviert. Der OR Join hat zwei Möglichkeiten nachdem beispielsweise die
Instanz der Aktivität
terminiert: er kann direkt die Instanz der Aktivität
aktivieren
oder er kann warten, bis die Instanz
der Aktivität
ebenfalls terminiert. Welche
1
Möglichkeit die richtige ist, kann nicht entschieden werden.
Neben den grundlegenden Mustern existieren weitere, die in [Wes07] nachgelesen werden
können.
Komplexe Prozesse mit ihren unterschiedlichen Daten- und Kontrollstrukturen können in
verschiedenster
Art
und
Weise
dargestellt
werden.
Die
wichtigsten
Modellierungsformalismen werden nun vorgestellt.
2.3.4 Techniken zur Modellierung von Prozessen
2.3.4.1 Petri-Netze
Petri-Netze sind eine der bestbekannten Techniken zur formalen und abstrakten Modellierung
von (Geschäfts-)Prozessen. Daher bilden sie eine wichtige Grundlage für weitere
Prozessmodellierungssprachen. Ein Petri-Netz erlaubt es, sowohl die statische Struktur als
auch die dynamischen Abläufe in einem Prozess zu modellieren. Dabei besteht ein solches
Netz aus Stellen, Transitionen und gerichteten Kanten, die beide miteinander verbinden.
Durch das Netz wandern sogenannte Token, die den dynamischen Fluss und aktuellen
Zustand widerspiegeln. Wandert ein Token in eine Transition, wird sie gefeuert. Die
nachfolgende Abbildung zeigt ein Beispiel für ein Petri-Netz, das einen Geschäftsprozess
modelliert. Dabei sind die Stellen kreisförmig, die Transitionen quadratisch dargestellt. Der
Token befindet sich in der ersten Stelle, so dass die nachfolgende Transition „receive order“
gefeuert wird. Feuert beispielsweise die Transition „process order“, werden die
nachfolgenden Stellen mit Token besetzt und die Pfade parallel ausgeführt.2
1 Vgl. [Wes07], S. 133
2 Vg. [Wes07], S. 149
- 27 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Abbildung 20: Beispiel für ein Petri-Netz
Quelle: [Wes07], S. 150
An die Kanten sind Bedingungen aus Daten und Operatoren geknüpft, die die nachfolgenden
Aktivitäten bestimmen.1 Die flussorientierte Natur von Prozessen, die Arbeitsabläufe
repräsentieren, machen Petri-Netze zu einem perfekten Kandidaten für die Modellierung und
Analyse von solchen Arbeitsabläufen (im weiteren Workflows genannt).2
Da Petri-Netze nicht alle Aspekte der Prozessmodellierung abdecken können, wurden sie um
einige Unterarten erweitert, die u.a. in [Wes07] nachvollzogen werden können. Die
modellierte Prozessstruktur ist für Außenstehende meist nur schwer lesbar.3
2.3.4.2 Workflow Netze
Workflow Netze sind eine Erweitung der Petri-Netze, da diese lediglich für einfache Prozesse
geeignet sind. Durch den Einsatz einer formalen Repräsentation wird die einfache Analyse
der Prozesseigenschaften möglich. Außerdem bietet die graphische Darstellung eine gut
verständliche Diskussionsgrundlage für die Domänenexperten. Workflow Netze bilden – wie
auch Petri-Netze – den Kontrollfluss der Prozesse ab. Die Stellen in einem Workflow Netz
repräsentieren Bedingungen, die Transitionen Aktivitäten. Auch die Bildung von Hierarchien
ist möglich. In der folgenden Abbildung wird diese Tatsache durch das Kästchen mit der
doppelten Begrenzung angedeutet, das mehrere Aktivitäten darstellt.4
Abbildung 21: Beispiel für ein Workflow Netz
Quelle: [Wes07], S. 170
1 Vgl. [Gal97], S. 74 f.
2 Vgl. [TAS09], S. 425
3 Vgl. [Spe01], S. 95
4 Vgl. [Wes07], S. 169 f.
- 28 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Allgemeingültig kann festgehalten werden, dass ein Workflow Netz ein Petri-Netz mit einer
eindeutigen Quelle und einer eindeutigen Senke ist.1 Jede Stelle und jede Transition liegt auf
einem Pfad zwischen Quelle und Senke.2
2.3.4.3 Yet Another Workflow Language (YAWL)
Yet Another Workflow Language (YAWL) ist eine Prozessmodellierungssprache, die 2002
von Wil van der Aalst und Arthur ter Hofstede entwickelt wurde. Sie basiert auf Petri- bzw.
Workflow Netzen und ist in der Lage, alle dargestellten Muster des Kontrollflusses
abzudecken. Damit geht sie über die klassischen Petri- und Workflow Netze hinaus.3
2.3.4.4 Ereignisgesteuerte Prozessketten (EPK)
Ereignisgesteuerte Prozessketten (EPK) realisieren eine informelle, fein-granulare
Modellierung aus der Geschäftsperspektive. Sie sollen hauptsächlichedomänenspezifische
Abläufe beschreiben und dabei nicht auf formale Aspekte oder technische Implementierungen
eingehen. EPKs bestehen aus Ereignissen, Funktionen, Konnektoren und Kanten, die den
Kontrollfluss beschreiben.4
Abbildung 22: Elemente der EPK-Modellierung
Quelle: [Wes07], S. 161
Sie basieren auf Petri-Netzen, nutzen aber Ereignisse statt Zuständen, die zu Aktivitäten
führen und so den Ablauf des Geschäftsprozesses beeinflussen.5
1 Vgl. [TAS09], S. 428
2 Vgl. [Wes07], S. 170
3 Vgl. [HA10], S.9
4 Vgl. [Wes07], S. 158 ff.
5 Vgl .[Spe01], S. 96
- 29 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
2.3.4.5 Business Process Modelling Notation (BPMN)
BPMN basiert auf graphischen Modellierungssprachen wie Petri-Netzen, UML und EPKs.
Die Notation umfasst alle Abstraktionsebenen von der Geschäftssicht bis hin zur technischen
Implementierung. Die wichtigsten Sprachelemente sind Ereignisse, Aktivitäten, Gateways
und der Kontrollfluss.1 Eine Beispielmodellierung zeigt die folgende Abbildung. Nachdem
ein Abgleich der Bestellung mit dem Lager erfolgt ist, wird entschieden, welcher Pfad
betreten wird. Ist das Produkt vorhanden, wir es zusammen mit der Rechnung verschickt. Ist
es nicht vorhanden, wird es nach dem Einkauf von Rohmaterial und der Erstellung eines
Produktionsplans produziert.
Abbildung 23: Beispiel für BPMN
Quelle: [Wes07], S. 207
1 Vgl. [Wes07], S. 205 f.
- 30 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
2.4 Verifikation im Kontext von Wissensbasen und deren Modellierung
Nachdem die Modellierung von Prozessen bzw. Workflows betrachtet wurde, soll nun auf die
Verifikation einer solchen Modellierung eingegangen werden.
Die Begriffe Validierung und Verifikation sind in der Literatur vielfältig beschrieben und in
unterschiedlichster Art und Weise gedeutet. In dieser Arbeit werden die Begriffe wie folgt
verwendet:
„Valiation is building the right system.“1
„Verification is building the system right.“2
Mit der Verifikation wird also überprüft, ob die spezifizierten Anforderungen erfüllt werden.
Unter spezifizierten Anforderungen ist dabei die niedergeschriebene Spezifikation zu
verstehen. Mit der Validierung wird evaluiert, ob die tatsächlichen Anforderungen realisiert
werden. Die tatsächlichen Anforderungen entsprechen dabei den Vorstellungen des
Auftraggebers, die leider nicht immer mit der formalisierten Spezifikation übereinstimmen. In
der Prozessmodellierung bedeutet das konkret, dass ein Modell das Ausführungsverhalten an
den Tag legt, das der Designer beabsichtigt hat. Daher müssen vor einer Validierung die
Struktur des Prozesses und die Anforderungen an die Prozessaktivitäten bekannt sein.3
Während die Validierung also ein „Black-Box-Test“ ist, der das sinnvolle Verhalten des
Systems bewertet ohne Einzelheiten des Systems zu kennen, handelt es sich bei der
Verifikation um die Analyse eines „gläsernen“ Systems in Form eines „White-Box-Testes“.4
Bei der Verifikation sollen durch eine syntaktische Analyse Anomalien gefunden werden, die
auf eine Abweichung von der Spezifikation hindeuten.5 Fehler, die bei der Abbildung eines
Prozessmodells auf einen Workflow modelliert wurden, können mit den unterschiedlichen
Verifikationsmethoden aufgedeckt werden.6
Bei der Modellierung von Prozessen treten oft Fehler auf, da die Domänenexperten kein
Expertenwissen im Bereich der Modellierung aufweisen. Sie arbeiten zwar mit den Designern
der Workflows zusammen, die gemeinsame Schnittmenge an Wissen ist allerdings oft sehr
gering.7 Besonders die Modellierung klinischer Richtlinien gestaltet sich schwierig, da diese
oft vage formuliert, unvollständig und unklar sind. Sie unterliegen außerdem einem ständigen
1 [Pre98], S. 39
2 [Pre98], S. 39
3 Vgl. [SOSF04], S. 208 f.
4 Vgl. [Bau10], S. 6
5 Vgl. [Bau10], S. 11
6 Vgl. [BZ03], S. 206
7 Vgl. [SOSF04], S. 207
- 31 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Änderungsprozess.1 Der Prozess des Knowledge Engineerings, also des Zusammentragens
und Modellierens von Wissens, ist in diesem Bereich sehr komplex. Das Wissen kann nicht
durch generische Algorithmen implementiert, sondern muss in wissensbasierten Systemen
abgebildet werden. Die vielfältigen Spezialfälle fordern ein solches meist regelbasiertes
System, da die Wissensbasis selbst die Lösungen zu den Problemen herleiten muss und diese
Lösungen nicht vorgegeben oder von vornherein bekannt sind.2
Gängige Verfahren zur Qualitätssicherung sind die Inspektion, die statische Verifikation, der
formale Beweis, die Cross-Reference Verifikation und das empirische Testen. Bei der
Inspektion wird das Wissen manuell durch einen Menschen gelesen und überprüft. Diese
Methode ist nicht sehr zuverlässig. Bei der statischen Verifikation werden logische
Anomalien identifiziert, wobei Redundanzen und Konflikte am häufigsten auftreten. Der
formale Beweis ist eine gründlichere, vollständige statische Verifikation, die in der Praxis
kaum anzutreffen ist, da sie sehr aufwendig ist. Eine Cross-Reference Verifikation ist
möglich, wenn die Beschreibung der Wissensbasis auf unterschiedlichen Ebenen vorliegt. So
ließe sich beispielsweise das Konzept mit dem Design und dieses wiederum mit der
Implementierung vergleichen. Beim empirischen Testen werden Testfälle durchlaufen, die
möglichst alle Pfade des modellierten Systems abdecken. Dabei werden sowohl Testfälle für
die funktionalen (Black-Box-Test) als auch die strukturellen Aspekte (White-Box-Test)
angewendet. Durch die Anwendung all dieser Verfahren kann gewährleistet werden, dass die
modellierte Wissensbasis frei von logischen und strukturellen Fehlern ist und zu den
gewünschten Ergebnissen führt.3
Es ist überdies möglich, die Vollständigkeit und Konsistenz wissensbasiert modellierter
klinischer Richtlinien mit Hilfe von Entscheidungstabellen zu beweisen. Dabei ist eine
klinische Richtlinie vollständig, wenn für jede Kombination unterschiedlicher Werte der
Parameter eine daraus resultierende Aktion definiert ist. Sie ist konsistent, wenn die Regeln
eindeutig und nicht redundant oder konfliktbehaftet sind. Weiterhin können die Beziehungen
zwischen den einzelnen Aufgaben innerhalb der Modellierung betrachtet werden. Die
logische Korrektheit wird über die Hierarchien der Aufgaben und Unteraufgaben sowie die
unterschiedlichen Aktivierungsbedingungen analysiert. Ein korrektes Verhalten ist es
beispielsweise, wenn bei einer AND-Beziehung eine Aufgabe erst ausgeführt wird, wenn alle
ihre Unteraufgaben erfüllt wurden. Bei einer XOR-Beziehung dagegen wird die Aufgabe
ausgeführt, wenn exakt eine der Unteraufgaben erfüllt wurde. Eine klinische Richtlinie ist
vollständig, wenn für die Aufgaben eindeutige Aktivierungsbedingungen definiert sind, die
zu nur einer möglichen Folgeaufgabe führen können (es sei denn, es wird eine Parallelität
beabsichtigt). Um Kohärenz zu gewährleisten, müssen die Unteraufgaben einander durch die
definierten Aktivierungsbedingungen ausschließen. 4
1 Vgl. [DM01], S. 24
2 Vgl. [PGCR98] S. 161 und vgl. [Pre98], S. 38
3 Vgl. [Pre98] 41 f. und vgl. [PGCR98], S. 162 f.
4 Vgl. [DM01], S. 25
- 32 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Auf eine Standardmethode zur Verifikation wissensbasierter Systeme - die Erkennung von
Anomalien wie zum Beispiel von Redundanzen, Inkonsistenzen oder fehlendem Wissen - 1
wird im nächsten Kapitel näher eingegangen. Dabei wird – anders als durch Preece und
Shinghal in [PS94] definiert2 – nicht nur der deklarative Anteil des Wissens in einer
Wissensbasis betrachtet, sondern vor allem auch der prozedurale, da sich die Analyse auf die
graphische Modellierung des Wissens aus der Wissensbasis in einem Flussdiagramm bezieht.
1 Vgl. [PS94], S. 2 f.
2 Vgl. [PS94], S. 4
- 33 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
3 Anomalien in der graphischen Modellierung
Die Erkennung von Anomalien in der graphischen Modellierung ist ein wichtiges Instrument
zur Verifikation eines Workflows. Zweck dieses Verfahrens ist die Erkennung von
Anomalien in Prozessmodellen zur Designzeit. Dies spart Kosten, die anfielen, wenn ein
Fehler erst zur Laufzeit entdeckt würde. Prozessunterbrechungen und Bearbeitungszeiten des
Fehlers führen außerdem zur Unzufriedenheit des Anwenders. Durch die Überprüfung des
Prozessablaufes und der einzelnen Aktivitäten können potentielle Probleme im Prozessmodell
frühzeitig erkannt werden.1
Bei der Anomalie-Erkennung können drei Stufen unterschieden werden: Anomalien in einer
einzelnen Komponente, Anomalien innerhalb eines Workflows und Anomalien in der
Hierarchie mehrerer Workflows.2 Dabei handelt es sich bei einer Anomalie selbst nicht um
einen Fehler, sondern zuerst einmal um das Symptom für einen möglichen Fehler.3
Durch intensive Recherchen in klassischer und aktueller Literatur wurde eine Vielzahl von
Anomalien identifiziert, die in diesem Kapitel vorgestellt werden. Die folgende Abbildung
zeigt die grobe Klassifizierung, die für die Anomalien der graphischen Modellierung
vorgenommen wurde. Es wird unterschieden zwischen datenorientierten Anomalien wie
fehlenden Daten, Redundanz, Inkonsistenz, Auffälligkeiten und Anomalien im Kontrollfluss
eines Workflows.
Abbildung 24: Überblick der Anomalieklassen
Quelle: eigene Darstellung
1 Vgl. [ZB03] S. 207, [SZN05], S. 2917 und [SOSF04], S. 208
2 Vgl. [DM01], S. 29
3 Vgl. [PS94], S. 4
- 34 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Die Darstellung der Anomalien innerhalb dieses Kapitels erfolgt mit Hilfe von YAWL. In
den Abbildungen werden Startknoten, Endknoten, Aktivitätsknoten, Kontrollknoten und
Knoten, die einen Subprozess modellieren, genutzt.
Abbildung 25: genutzte YAWL Elemente
Quelle: eigene Darstellung
Startknoten repräsentieren den Beginn eines Workflows, Endknoten das Ende. Bei einer
Aktivität handelt es sich um einen Knoten, der genau eine Eingangs- und eine Ausgangskante
aufweist. Aktivitätsknoten sind atomare Einheiten, die manuell oder automatisch ausgeführt
werden. Das Gleiche gilt für den Subprozessknoten, der eine spezielle Art von Aktivität
repräsentiert und mehrere Aktivitäten hierarchisch kapselt. Ein Kontrollknoten kann dagegen
mehrere Eingangs- und Ausgangskanten haben und ist vom Typ AND, OR oder XOR, der die
Art der Verknüpfung der ein- oder ausgehenden Kanten angibt. Kontrollknoten strukturieren
den Workflow und bauen den Kontrollfluss auf.1
In den nachfolgend mit YAWL modellierten Workflow Netzen sind die an den Anomalien
beteiligten Knoten farblich (orange) hervorgehoben.
3.1 Fehlende Daten
Als fehlende Daten werden Datenelemente bezeichnet, auf die zugegriffen wird, die aber nie
erzeugt oder aber bereits zerstört wurden. Unter einem Zugriff wird das Lesen, Schreiben,
Überwachen oder Löschen des Datums verstanden.2 Es handelt sich außerdem um Elemente,
die für Aktivitäten als Eingabewert definiert sind, deren Quelle allerdings unbekannt oder
unspezifiziert ist. Ein solches Element stammt weder von einer ausführenden Entität einer
1 Vgl. [BZ03], S. 208 und [SOSF04], S. 209
2 Vgl. [TAS09], S. 427 f.
- 35 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Aktivität (z.B. menschliche Eingabe, maschineller Wert) noch von einer vorangehenden
Aktivität im Fluss. Ein Zugriff findet also vor der Initialisierung des Datenelementes statt.1,2,3
Fehlende Daten werden unterteilt in uninitialisierte Werte, verzögert initialisierte Werte und
unsicher initialisierte Werte.
3.1.1 Uninitialisierter Wert
Es wird auf den Wert eines Datenelementes zugegriffen, bevor er initialisiert wurde. Ein nicht
initialisierter Wert wird beispielsweise als Eingabewert für eine Aktivität im Fluss verwendet
oder als Endergebnis eines Flusses erwartet.4
Abbildung 26: Anomalie - uninitialisierter Wert
Quelle: eigene Darstellung
Die ersten beiden Aktivitäten des Workflow Netzes initialisieren die Datenelemente a und b.
Die dritte Aktivität berechnet die Summe aus a, b und c. c ist an dieser Stelle nicht
initialisiert.
3.1.2 Verzögerte Initialisierung
Eine Aktivität im Fluss greift auf ein Datenelement zu, dessen Wert erst von einer später
folgenden Aktivität initialisiert wird.5
Abbildung 27: Anomalie - verzögerte Initialisierung
Quelle: eigene Darstellung
1 Vgl. [TAS09], S. 430
2 Vgl. [SOSF04], S. 212
3 Vgl. [SZN05], S. 2919
4 Vgl. [SZN05], S. 2919
5 Vgl. [SZN05], S. 2919
- 36 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Der Wert des Datenelementes c wird erst durch die vierte Aktivität initialisiert, aber bereits
durch die dritte Aktivität für eine Berechnung genutzt.
3.1.3 Unsichere Synchronisation
Zwei Aktivitäten laufen parallel ab. Eine der beiden benötigt einen Wert, der durch die andere
initialisiert wird. Beim Zugriff auf diesen Wert kann es sein, dass dieser durch den parallelen
Pfad noch nicht initialisiert wurde.1
Abbildung 28: Anomalie - unsichere Synchronisation
Quelle: eigene Darstellung
Der obere parallele Pfad der Darstellung initialisiert das Datenelement a, der untere Pfad
initialisiert das Datenelement b. Beide Pfade greifen sowohl auf a als auch auf b zu. In
diesem Moment ist nicht sicher, dass der jeweilige Wert aus dem parallelen Pfad verfügbar
ist.
3.2 Redundanz
Unter Redundanz ist die Eigenschaft von Systemkomponenten zu verstehen, die beschreibt,
dass diese aus dem System entfernt werden können, ohne dass das Systemverhalten
beeinflusst wird.2 Es werden beispielsweise Daten erzeugt, die im weiteren Verlauf eines
Workflows nicht wieder genutzt werden und nicht zum Ergebnis beitragen. Eine solche
Modellierung ist ineffizient.3 (Bei redundanten Daten kann allerdings auch der Fall eintreten,
dass diese möglicherweise bewusst für eine externe Nutzung außerhalb des weiteren
Workflows erzeugt und gespeichert werden.4) Außerdem können redundante Verzweigungen
und Pfade in einer Modellierung vorkommen, indem Regeln für das Betreten eines Pfades
doppelt oder fehlerhaft modelliert sind.5
1 Vgl. [SZN05], S. 2919
2 Vgl. [Pre98], S. 44
3 Vgl. [SZN05], S. 2920
4 Vgl. [SOSF04], S. 211
5 Vgl. [PS94], S. 8 f.
- 37 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
3.2.1 Starke Redundanz
Unter starker Redundanz ist das Schreiben bzw. Erzeugen eines Datenwertes zu verstehen,
der weder vor seiner Zerstörung noch vor Ende des Ablaufes des Workflows jemals wieder
genutzt wird.1 Der erzeugte Wert wird von keiner Aktivität als Eingabe genutzt und stellt
auch nicht die Ausgabe des Workflows dar.2
Abbildung 29: Anomalie - starke Redundanz
Quelle: eigene Darstellung
Der in der Abbildung gelesene Wert für das Datenelement c wird im weiteren Fluss des
Workflow Netzes nicht verwendet.
3.2.2 Schwache Redundanz
Bei der schwachen Redundanz wird ein erzeugter Datenwert nicht in jedem Fall vor seiner
Zerstörung oder vor Ende des Ablaufes des Workflows genutzt.3 Nur bestimmte
Pfadverzweigungen führen zur Verwendung des Wertes.4
Abbildung 30: Anomalie - schwache Redundanz
Quelle: eigene Darstellung
1 Vgl. [TAS09], S. 430
2 Vgl. [SZN05], S. 2920
3 Vgl. [TAS09], S. 430 f.
4 Vgl. [SZN05], S. 2920
- 38 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Der in der Abbildung gelesene Wert für das Datenelement c wird im weiteren Fluss des
Workflow Netzes nur in einem der zwei möglichen Pfade – also nur unter einer bestimmten
Bedingung – verwendet.
3.3 Inkonsistenz
In der Modellierung eines Workflows kommt es zu einem Konflikt, wenn aus gültigen
Eingabedaten widersprüchliche Informationen abgeleitet werden können.1 Inkonsistenzen
dieser Art treten auf, wenn beispielsweise mehrere Aktivitäten mit unterschiedlichen Quellen
für die gleichen Daten arbeiten oder Werte genutzt werden, die bereits durch Ablauf einer
gewissen Zeitspanne vor ihrer Verwendung im Workflow ungültig sind.2 Sie werden aber
auch durch das Überschreiben oder parallele Zugreifen auf Datenelemente verursacht. Liest
eine Aktivität einen Wert aus, während eine andere Aktivität diesen Wert schreibt oder löscht,
kommt es zu inkonsistenten Daten.3
3.3.1 Stark verlorene Daten
Der Wert eines Datenelementes wird in jedem Fall erneut gelesen, bevor er genutzt wird.4
Das Überschreiben eines Datums kann auch als redundante Werteabfrage charakterisiert
werden.
Abbildung 31: Anomalie - stark verlorene Daten
Quelle: eigene Darstellung
In der Abbildung wird das Datenelement b erneut geschrieben, bevor es in einer Berechnung
verwendet wird.
3.3.2 Schwach verlorene Daten
Der Wert eines Datenelementes wird erneut gelesen, bevor er genutzt wird. Dies geschieht
allerdings nicht in jedem Fall. Es kann Pfade geben, in denen der Wert nicht überschrieben
und somit nicht verloren geht.1
1 Vgl. [Pre98], S. 44
2 Vgl. [SOSF04], S. 211
3 Vgl. [TAS09], S. 431
4 Vgl. [TAS09], S. 431
- 39 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
3.3.3 Multiple Initialisierung
Führen zwei Aktivitäten einen Schreibvorgang auf einem Datenelement parallel aus, kommt
es ebenfalls zum Verlust von Daten. Eine Aktualisierung geht verloren, das Datum wird
mehrfach initialisiert.2
Abbildung 32: Anomalie - multiple Initialisierung
Quelle: eigene Darstellung
Das Datenelement a in der Abbildung wird in beiden Pfaden parallel initialisiert. Die
Datenquellen für a könnten außerdem unterschiedlich sein, was ein weiterer Konfliktursprung
ist.
3.4 Kontrollflussanomalien
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.
- 40 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
•
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
- 41 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
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
- 42 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
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.
- 43 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
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 ORJoin 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
- 44 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
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
- 45 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
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 ANDSplit 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 ANDSplits 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
- 46 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
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
- 47 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
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.
3.5 Auffälligkeiten
Weitere Design-Anomalien, die durch Mangel an Wissen oder eine unpräzise Modellierung
entstehen, sind die sogenannten Auffälligkeiten.1
3.5.1 Unerreichbare Elemente
Ein unerreichbares Element trägt nicht zur Ablaufsteuerung des Prozessflusses oder zum
Ergebnis des Workflows bei.2 Diese Anomalie wurde bereits im Rahmen der
Prozessanomalien als verbindungsloser Knoten erläutert. Sie sei hier nur der Vollständigkeit
halber erwähnt, da sie auch in diese Kategorie eingeordnet werden kann.
3.5.2 Toter Pfad
Abbildung 46: Anomalie - toter Pfad
Quelle: eigene Darstellung
Bei einem toten Pfad handelt es sich um einen Bereich im Prozessfluss, der nicht betreten
werden kann. Dies kann folgendermaßen geschehen: an einem Knoten werden ausgehende
Kanten mit Bedingungen modelliert. An einem darauffolgenden Knoten wird eine Bedingung
geprüft, die durch das Betreten des Pfades anhand seiner Eingangsbedingung bereits
ausgeschlossen wurde. An dieser Stelle kann der Pfad also nicht weiter durchlaufen werden.
Diese Anomalie kann auch als eine Art Deadlock bezeichnet werden.
Die Abbildung zeigt, dass nach dem Betreten des oberen Pfades (a=1) die Bedingungen der
darauf folgenden Pfade (a>1, a<1) nicht wahr werden können. Der obere Pfad ist somit tot.
Der AND-Join vor dem Endknoten kann außerdem nie auslösen, so dass ein Deadlock
entsteht.
1 Vgl. [BS10], S. 63
2 Vgl. [PS94], S 10
- 48 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
3.5.3 Fehlende Modellierungsschritte
Es kann der Fall eintreten, dass der modellierte Workflow für eine auftretende Situation nicht
durchlaufen werden kann. Die Eingabewerte sind gültig, es existieren allerdings keine Pfade,
die mit diesen Werten umgehen können. Es fehlen also Elemente in der Modellierung, um
alle Möglichkeiten des Ablaufes zu repräsentieren.1
Im nächsten Kapitel werden die identifizierten Anomalien auf die graphische Modellierung
von diagnostischem Wissen mit der Notation DiaFlux übertragen. Während einige Anomalien
in einer Modellierung mit DiaFlux nicht auftreten können, existieren dagegen weitere,
DiaFlux-sprachspezifische Anomalien, die dargestellt werden.
1 Vgl. [Pre98], S. 44
- 49 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
4 Abbildung von Anomalien der graphischen Modellierung
auf die graphische Notation DiaFlux
Um Anomalien in der graphischen Notation DiaFlux zu identifizieren, wurden zunächst die
Sprachspezifika von DiaFlux analysiert. Anschließend wurden praktische Experimente mit
dieser Sprache in einem zu diesem Zweck aufgesetzten KnowWE-Wiki durchgeführt. Jede
analysierte Anomalie, die in DiaFlux modelliert werden kann, wurde im Wiki dargestellt.
Nachfolgend werden die Anomalien anhand von DiaFlux Beispielmodellierungen aufgezeigt
und bewertet. Die beispielhaften Flussdiagramme wurden dabei recht übersichtlich und
weniger komplex gehalten, um eine verständliche, allgemeingültige Aussage treffen zu
können. Die einzelnen Anomalien werden nicht noch einmal erklärt, da sie im vorangegangen
Kapitel ausführlich beschrieben wurden.
Des Weiteren werden in diesem Kapitel Anomalien beschrieben, die speziell durch die
Spracheigenheiten von DiaFlux und die Einbettung in KnowWE auftreten können.
4.1 Fehlende Daten
4.1.1 Uninitialisierter Wert
Nachfolgendes Beispiel zeigt die Nutzung eines uninitialisierten Wertes der Variablen
"Tausend" innerhalb einer Formel. Aus einem gegebenen Gewicht in Gramm soll das
Gewicht in Kilogramm berechnet werden. Zur Berechnung wird die Variable „Tausend“
verwendet. Diese Variable ist allerdings nicht in einem vorhergehenden Ablaufschritt mit
einem Wert initialisiert worden. (Auf der Wiki-Seite wird der Fehler erkannt und angezeigt.
Daher sind die Komponenten des Flussdiagramms in roter Schrift dargestellt. Beim
Abspeichern des Diagramms im Editor erscheint jedoch kein Hinweis auf einen
Modellierungsfehler.)
Abbildung 47: DiaFlux Flussdiagramm – uninitialisierter Wert (1)
Quelle: eigene Darstellung
Eine weitere Ausprägung dieser Anomalie wäre der Zugriff auf das Gewicht in Gramm,
obwohl der Wert dieser Variable nicht bekannt ist. Dies zeigt die nächste Abbildung.
- 50 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Abbildung 48: DiaFlux Flussdiagramm – uninitialisierter Wert (2)
Quelle: eigene Darstellung
Es kann außerdem vorkommen, dass in einem Flussdiagramm eine Variable genutzt werden
soll, die durch eine Regel mit einem Wert initialisiert wird. Wird diese Regel nicht
angestoßen, ist die Variable im Flussdiagramm nicht initialisiert.
Bewertung: Die Anomalie des uninitialisierten Wertes kann auf DiaFlux übertragen werden.
Es ist möglich, einen Zugriff auf unbekannte Werte zu modellieren.
4.1.2 Verzögerte Initialisierung
In der folgenden Abbildung wird auf den Wert der Variable „GewichtInGramm“ zugegriffen,
obwohl diese erst zu einem späteren Zeitpunkt initialisiert wird.
Abbildung 49: DiaFlux Flussdiagramm – verzögerte Initialisierung
Quelle: eigene Darstellung
Bewertung: Die Anomalie der verzögerten Initialisierung kann auf DiaFlux übertragen
werden. Es ist möglich, einen Zugriff auf zu einem späteren Zeitpunkt initialisierte Werte zu
modellieren.
4.1.3 Unsichere Synchronisation
Die Anomalie der unsicheren Synchronisation kann sehr gut am Beispiel des
Interdependenzproblems in der innerbetrieblichen Leistungsverrechnung (ibLV) im
Controlling demonstriert werden. Eine Hilfskostenstelle kann ihre Leistungen nicht
kalkulieren, bevor sie weiß, mit welchem Betrag sie von anderen Hilfskostenstellen belastet
wird, deren Leistungen sie selbst in Anspruch nimmt. Die anderen Hilfskostenstellen können
ihre Leistungen aber auch erst abrechnen, wenn sie den Betrag kennen, der ihnen von anderen
Hilfskostenstellen angelastet wird (z.B.: die Reparaturwerkstatt benötigt Strom, die
Stromstelle benötigt Reparaturen).1 Im folgenden Flussdiagramm greifen die Kostenstellen
1 Vgl. [Hab02], S. 125
- 51 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
K1 und K2 parallel auf ihre gegenseitigen Kostenbeträge zu. Dabei kann es vorkommen, dass
der jeweilige Kostenbetrag der anderen Kostenstelle noch nicht initialisiert wurde.
Abbildung 50: DiaFlux Flussdiagramm – unsichere Synchronisation
Quelle: eigene Darstellung
Bewertung: Die Anomalie der unsicheren Synchronisation kann auf DiaFlux übertragen
werden. Es ist möglich, einen parallelen Zugriff auf möglicherweise unbekannte Werte zu
modellieren.
4.2 Redundanz
4.2.1 Starke Redundanz
In diesem Beispiel geht es um die Berechnung des Body Mass Index (BMI). Der BMI ist eine
Maßzahl zur Bewertung des Gewichtes eines Menschen bezüglich der Körpergröße und
berechnet sich aus dem Gewicht in Kilogramm dividiert durch das Quadrat der Körpergröße
in Metern.1 Anhand des berechneten Wertes ergibt sich eine der Bewertungen
„Untergewicht“, „Normalgewicht“ oder „Übergewicht“. Im folgenden Flussdiagramm wurde
diese Berechung umgesetzt. Es wird allerdings zusätzlich der Wert des Geschlechtes
abgefragt. Dieser wird im weiteren Verlauf des Flusses weder für die Berechnung noch für
die Bewertung verwendet und ist somit stark redundant.
Abbildung 51: DiaFlux Flussdiagramm – starke Redundanz
Quelle: eigene Darstellung
1 Vgl. https://www.uni-hohenheim.de/wwwin140/info/interaktives/bmi.htm, 20.03.2011, 13:42 Uhr
- 52 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Eine weitere Form der starken Redundanz wäre, wenn ein Wert in zwei Knoten durch eine
Formel berechnet würde, ohne dass andere Elemente auf dem Pfad zwischen diesen Knoten
die Berechnung beeinflussen. Eine erneute Berechung wäre in diesem Fall also überflüssig.
Bewertung: Die Anomalie der starken Redundanz kann auf DiaFlux übertragen werden.
Elemente, die im weiteren Verlauf nicht verwendet werden, können ohne Weiteres modelliert
werden.
4.2.2 Schwache Redundanz
Das eben vorgestellte Beispiel der BMI-Berechnung wurde erweitert um die Auswertung des
Geschlechtes im Falle der Herleitung von Übergewicht. Bestätigt der Anwender die
Herleitungen „Untergewicht“ oder „Normalgewicht“ wird der Fluss weiterhin beendet und
das abgefragte Geschlecht nicht verwendet. Wird aber die Herleitung „Übergewicht“
bestätigt, wird über das Geschlecht eine genauere Auswertung vorgenommen, da bei einer
weiblichen Person, die schwanger ist, nicht von Übergewicht gesprochen werden kann. In
diesem einen Pfad wird die Variable „Geschlecht“ also verwendet.
Abbildung 52: DiaFlux Flussdiagramm – schwache Redundanz
Quelle: eigene Darstellung
Bewertung: Die Anomalie der schwachen Redundanz kann auf DiaFlux übertragen werden.
Elemente, die im weiteren Verlauf nur in bestimmten Pfaden verwendet werden, können
durchaus modelliert werden.
4.3 Inkonsistenz
4.3.1 Stark verlorene Daten
Wird im Beispiel der BMI-Berechung das Gewicht zweifach hintereinander abgefragt, wird
der erste Wert in jedem Fall überschrieben und geht somit verloren. Wären die Testknoten
- 53 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
allerdings vom Typ ask, wäre der zweite Knoten redundant, da keine erneute Abfrage eines
bereits bekannten Wertes ausgelöst würde.
Abbildung 53: DiaFlux Flussdiagramm – stark verlorene Daten
Quelle: eigene Darstellung
Bewertung: Die Anomalie der stark verlorenen Daten kann auf DiaFlux übertragen werden.
Werte von Variablen können überschrieben werden, bevor sie genutzt wurden und gehen
somit verloren.
4.3.2 Schwach verlorene Daten
Wie bereits im Beispiel der schwachen Redundanz in Abbildung 51 betrachtet, kann der
Zugriff auf die Variable „Gender“ stattdessen durch eine erneute Abfrage durch einen
Testknoten der Art always ask ersetzt werden. In diesem Pfad würde der Wert also
überschrieben und das erste Abfrage-Ergebnis ginge verloren. Für eine passende
Modellierung dieser Anomalie sei angenommen, dass das Geschlecht in einem anderen Pfad
genutzt würde, ohne es zu überschreiben.
Bewertung: Die Anomalie der schwach verlorenen Daten kann auf DiaFlux übertragen
werden. Werte von Variablen können in einigen Pfaden überschrieben werden, bevor sie
genutzt wurden und könnten verloren gehen.
4.3.3 Multiple Initialisierung
Die Anomalie der multiplen Initialisierung wird am Beispiel der Bestimmung der
Sauerstoffsättigung in nachfolgendem Flussdiagramm deutlich. Die Sauerstoffsättigung sO2
wird durch die Blutgasanalyse (BGA) und einen nicht-invasiven Sensor (Pulsoxymeter)
bestimmt. Dabei wird ein und derselbe Parameter sO2 parallel initialisiert anstellte der
Nutzung zweier unterscheidbarer Parameter wie z.B. der arteriellen Sauerstoffsättigung SaO2
- 54 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
aus der BGA und der partiellen Sauerstoffsättigung SpO2 ermittelt durch den Sensor.1 In der
weiteren Auswertung der Sauerstoffsättigung ist nun unklar, welcher Wert genutzt wird, da er
zweifach initialisiert wurde. Eine Initialisierung geht dabei verloren.
Abbildung 54: DiaFlux Flussdiagramm – multiple Initialisierung
Quelle: eigene Darstellung
Bewertung: Die Anomalie der multiplen Initialisierung kann auf DiaFlux übertragen werden.
Variablen können in parallelen Pfaden mehrfach initialisiert werden.
1 Vgl. http://www.netdoktor.de/Diagnostik+Behandlungen/Laborwerte/Blutsauerstoff-und-Sauerstoffs-1070.html,
20.03.2011, 15:02 Uhr
- 55 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
4.4 Prozessanomalien
Prozessanomalien basieren hauptsächlich auf der falschen Nutzung von Aktivitäts- oder
Kontrollknoten. Daher ist zunächst zu definieren, wie diese Knoten in DiaFlux dargestellt
werden können.
Die Testknoten in DiaFlux können sowohl Aktivitäten als auch Kontrollstrukturen darstellen,
je nachdem, ob sie zur Abfrage von Werten mit anschließender Auswertung durch
ausgehende Kanten oder als konstante Handlungsanweisungen modelliert werden. Die bereits
bekannten Kontrollknoten können nur zum Teil implizit genutzt werden.
4.4.1 Splits in DiaFlux
•
XOR-Split: kann in Form einer One-Choice-Frage ([oc]), also einer Frage mit nur einer
Antwortmöglichkeit, dargestellt werden.
•
OR-Split: kann in Form einer Multiple-Choice-Frage ([mc]), also einer Frage mehreren
Antwortmöglichkeiten, dargestellt werden.
•
AND-Split: kann in Form einer Multiple-Choice-Frage ([mc]), also einer Frage mehreren
Antwortmöglichkeiten, dargestellt werden. Dabei müsste jede Antwortmöglichkeit
ausgewählt werden. Dies kann nur durch ein Hilfskonstrukt erreicht werden. Die
nachfolgende Abbildung zeigt ein Beispiel für die Realisierung eines AND-Splits mit
DiaFlux.
Abbildung 55: AND-Split in DiaFlux
Quelle: eigene Darstellung
Ein Hilfswert „CheckVal“ wird mit Null initialisiert. Bei der Auswahl einer
Antwortalternative der Multiple Choice Frage „MCQ“ wird dieser Wert um Eins
inkrementiert. Anschließend wird überprüft, ob der Wert von „CheckVal“ der Anzahl der
möglichen Antworten von „MCQ“ entspricht. Nur in diesem Fall wird die Durchführung
des Flusses fortgesetzt.
- 56 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
4.4.2 Joins in DiaFlux
Ein Knoten in DiaFlux führt zur weiteren Abarbeitung des Diagrammflusses, wenn eine
Eingangskante wahr wird. Knoten mit mehreren Einganskanten können also als OR-Join oder
XOR-Join betrachtet werden, wobei im Kontext von DiaFlux die Bezeichnung Support zur
Anwendung kommt. Ein wahrer, eingehender Pfad gibt dem Knoten Support. Hat ein Knoten
Support, wird er ausgelöst. Sind mehrere eingehende Kanten wahr, verstärkt sich der Support.
Dies ist vor Allem bei der Herleitung von Lösungen und ihren Wahrscheinlichkeiten
interessant, resultiert aber nicht in einer erneuten Ausführung einer Aktivität.
Explizite AND- und XOR-Joins können nur mit einem Hilfskonstrukt modelliert werden.
Abbildung 56: Joins in DiaFlux
Quelle: eigene Darstellung
Ein Hilfswert „CheckVal“ wird mit Null initialisiert. Anschließend werden zwei Fragen „A“
und „B“ gestellt und deren Antworten ausgewertet. Im Falle der gewünschten Antwort wird
der Hilfswert inkrementiert. In einer Zusammenführung (Join) wird der Hilfswert
„CheckVal“ überprüft. Die aus dieser Überprüfung folgende Ausgangsbedingung bestimmt
die Kategorie des Joins.
•
AND-Join: der Wert von „CheckVal“ entspricht der Anzahl der Eingangskanten.
•
XOR-Join: der Wert von „CheckVal“ ist genau Eins.
•
OR-Join: der Wert von „CheckVal“ ist Eins oder größer.
Nachdem die Modellierung von Split- und Join-Kontrollstrukturen gezeigt wurde, sollen nun
anhand eines komplexen Beispieldiagramms die Prozessanomalien analysiert werden.
- 57 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Nachfolgend ist ein Beispielflussdiagramm modelliert, welches verschiedene
Prozessanomalien beinhaltet. Das Diagramm beschreibt den Umgang mit einem ungnädigen
Baby und hilft, die Ursache für sein missmutiges Verhalten zu finden. (Ein korrektes
Diagramm dieser Art befindet sich im Anhang 10.1.)
Abbildung 57: DiaFlux Flussdiagramm – Darstellung verschiedener Prozessanomalien
Quelle: eigene Darstellung
- 58 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
4.4.3 Knoten ohne eingehende oder ausgehende Kanten
Der Knoten „Bauchweh“ weist keine eingehenden Kanten auf.
Bewertung: Die Anomalie der Knoten ohne eingehende oder ausgehende Kanten kann auf
DiaFlux übertragen werden. Eine Modellierung solcher Knoten ist möglich.
4.4.4 Aktivitätsknoten mit mehr als einer Eingangs- oder Ausgangskante
Da Aktivitäts- und Kontrollknoten in DiaFlux nicht explizit unterschieden werden, ist es
prinzipiell nicht fehlerhaft, Knoten mit mehreren Eingangs- oder Ausgangskanten zu
modellieren. Der Diagnoseknoten „Volle Windel“ kann als Aktivitätsknoten betrachtet
werden und hat zwei eingehende Kanten, die korrekt modelliert wurden. Allerdings kann
auch das Gegenbeispiel modelliert werden: ein Warteknoten sollte niemals mehrere
Eingangs- oder Ausgangskanten aufweisen.
Bewertung: Die Anomalie der Aktivitätsknoten mit mehr als einer Eingangs- oder
Ausgangskante kann auf DiaFlux eingeschränkt übertragen werden. Eine Modellierung
solcher Knoten ist möglich, aber nicht zwingend ein Fehlersymptom.
4.4.5 Kontrollknoten mit nur einer Eingangs- oder Ausgangskante, Unvollständigkeit der
Nachbedingungen
Der Knoten „Zahnt es“ hat nur eine ausgehende Kante für den Wert „weiß nicht“. Als
Kontrollknoten muss er in diesem Beispiel mehrere Ausgangskanten aufweisen. Somit ist
zugleich die Anomalie der Unvollständigkeit der Nachbedingungen aufgezeigt.
Bewertung: Auch diese Anomalien können auf DiaFlux übertragen werden. Eine
Modellierung solcher Knoten ist möglich. Die Unvollständigkeit der Nachbedingungen wird
nicht geprüft, so dass einige Pfade möglicherweise nicht betreten werden können und die
Ausführung des Flusses zum Stehen kommt.
4.4.6 Sich überschneidende Nachbedingungen
Den ausgehenden Kanten des Knotens „Letztes Nickerchen“ sind die Bereiche „>3“ und „<4“
zugewiesen. Liegt das letzte Nickerchen des Babys 3,5 Stunden zurück, überschneiden sich
die Bereiche und der zu betretende Pfad ist nicht eindeutig definiert.
Bewertung: Die Überschneidungsfreiheit der Nachbedingungen ist in DiaFlux nicht
gewährleistet, da keine Überprüfung der Bedingungen an ausgehenden Kanten stattfindet. Die
Anomalie kann also abgebildet werden.
- 59 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
4.4.7 Fehlender Start- bzw. Endknoten oder auch mehrere Start- bzw. Endknoten
Im dargestellten Diagramm existieren zwei Startknoten (in unverbundenen Pfaden) – es
existiert ein zweites, unabhängiges Diagramm im unteren linken Bereich. Außerdem ist der
Pfad um den Knoten „Bauchweh?“ nicht mit dem restlichen Diagramm verbunden. Es wäre
auch möglich, sämtliche Start- und Endknoten aus dem Diagramm zu entfernen, ohne das ein
Modellierungsfehler angezeigt würde.
Bewertung: Fehlende oder mehrere Start- und Endknoten können in DiaFlux modelliert
werden. Startknoten sind für den Ablauf eines Flussdiagramms allerdings unabdinglich, da
ein Flussdiagramm nur ausgeführt werden kann, wenn ein Eintrittspunkt durch einen
Starknoten gegeben ist. Endknoten sind in DiaFlux ebenfalls erforderlich. Ein
Flussdiagramm, das ein weiteres Diagramm aufruft, wartet, bis dieses seinen Endknoten
erreicht, um mit seiner Ausführung fortzufahren. Fehlt der Endknoten, ist eine Fortsetzung
des Flusses nicht möglich. Mehrere Start- und Endknoten ermöglichen den Einstieg in
unterschiedliche Pfade des Diagramms oder unterschiedliche Endzustände und sind daher
eine gewollte Modellierungseigenschaft. Eine Modellierung mehrerer Flussdiagramme in
einem ist technisch möglich, sollte allerdings der Übersichtlichkeit halber vermieden werden.
4.4.8 Fehlgerichtete Kanten bei Start- oder Endknoten
Das Beispiel zeigt mehrere Ausgangskanten und eine Eingangskante im oberen Startknoten.
Außerdem existieren Ausgangskanten an einigen Endknoten.
Bewertung: Fehlgerichtete Kanten bei Start- oder Endknoten können in DiaFlux modelliert
werden. Mehrere Ausgangskanten eines Startknotens stellen nicht unbedingt eine Anomalie
dar, denn es kann auch die Modellierung paralleler Pfade beabsichtigt sein. Mehrere
Eingänge aus unterschiedlichen Diagrammen zu einem Startknoten des aktuellen Diagramms
sind ebenfalls erlaubt. Die Rückkehr zum Startknoten im Diagramm selbst ist allerdings eine
fehlerhafte Modellierung, auf die bereits durch DiaFlux hingewiesen wird. Auch ausgehende
Kanten aus Endknoten sind fehlerhaft und werden markiert. Mehrere Eingangskanten in einen
Endknoten sind dagegen gestattet, denn mehrere Pfade können zu einem Endergebnis führen.
4.4.9 Verbindungsloser Knoten
Der Knoten „Riecht es?“ ist ein weiteres Mal in das Diagramm geraten, ohne eine
Verbindung zu anderen Knoten auszuweisen.
Bewertung: Die Anomalie der verbindungslosen Knoten kann auf DiaFlux übertragen
werden. Knoten können ohne Kanten im Diagramm platziert werden.
4.4.10 Mehrere Kanten zwischen zwei Knoten
Zwischen den Knoten „Maulig und ungehalten?“ und „Letzte Fütterung“ existieren zwei
Kanten.
- 60 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Bewertung: Mehrere Kanten zwischen zwei Knoten sind in DiaFlux ohne Weiteres
modellierbar. Es handelt sich nur dann um ein Fehlersymptom, wenn beide Kanten in
dieselbe Richtung verlaufen.
Die nachfolgenden Anomalien fallen ebenfalls in die Klasse der Prozessanomalien, verstoßen
allerdings nicht gegen die vormals diskutierte Definition des Prozessmodells, sondern
beschreiben die falsche Nutzung von Kontrollknoten. Zur Illustration dieser Anomalien
wurden gesonderte Beispiele gewählt.
4.4.11 Deadlock
Abbildung 58: DiaFlux Flussdiagramm – deterministischer Deadlock
Quelle: eigene Darstellung
Die Abbildung zeigt ein Diagramm zur Bestimmung der durchschnittlichen
Sauerstoffsättigung (sO2), in dem zuerst gefragt wird, ob ein Blutgas-Analyse-Gerät zur
Verfügung steht. Ist das der Fall, wird die Sauerstoffsättigung von diesem Gerät erfragt
(SaO2), andernfalls durch ein Pulsoxymeter (SpO2). Nur, wenn beide Werte bekannt sind,
wird daraus die durchschnittliche Sauerstoffsättigung errechnet. Da es sich bei der Frage nach
dem Vorhandensein eines BGA-Gerätes um einen XOR-Split handelt und somit nur einer der
nachfolgenden Pfade betreten werden kann, sind niemals beide Parameter SaO2 und SpO2
bekannt und der folgende Knoten (AND-Join) kann die Berechnung des sO2 nie durchführen.
Es entsteht ein deterministische Deadlock. Eine mögliche Auflösung kann erreicht werden,
indem die Frage nach dem BGA-Gerät losgelöst von der Bestimmung des Wertes durch das
Pulsoxymeter modelliert wird. Ist eines der Geräte nicht vorhanden, könnte der Fluss ohne
die Berechnung der durchschnittlichen Sauerstoffsättigung beendet werden.
Bewertung: Sowohl deterministische als auch nicht-deterministische Deadlocks können mit
DiaFlux durch die ungeeignete Platzierung einer One-Choice- Frage und damit fehlende
Werte modelliert werden.
- 61 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
4.4.12 Fehlende Synchronisation
Abbildung 59: DiaFlux Flussdiagramm - nicht-deterministische fehlende Synchronisation
Quelle: eigene Darstellung
Das Diagramm in der Abbildung erfragt, worauf der Anwender Hunger hat, um anschließend
seine konkreteren Vorlieben zu ermitteln und den entsprechenden Anbieter anzurufen, um
Essen zu bestellen oder einen Tisch im Restaurant zu reservieren. Der Kontrollknoten mit der
Multiple-Choice-Frage „Worauf haben Sie Hunger?“ ist ein OR-Split: ein oder mehrere
Antworten sind möglich. Dadurch können die unterschiedlichen, ausgehenden Pfade
durchlaufen werden, was dazu führt, dass „Nummer wählen“ mehrfach angestoßen wird.
Diese nicht-deterministische, fehlende Synchronisation kann aufgelöst werden, indem der
Knoten „Worauf haben Sie Hunger?“ in eine One-Choice-Frage – also einen XOR-Split –
umgewandelt wird.
Bewertung: Der zuerst betretene und somit zuerst eingehende Pfad wird den Knoten
„Nummer wählen“ aktivieren. Die danach eintreffenden Pfade würden nur den Support des
Knoten verstärken. Die Anomalie ist also nicht übertragbar, da eine mehrfache Ausführung
eines Knotens ausgeschlossen ist.
4.4.13 Schleife / Endlosschleife
Abbildung 60: DiaFlux Flussdiagramm - Schleife / Endlosschleife
Quelle: eigene Darstellung
- 62 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Das dargestellte Diagramm soll die Steuerung der Temperatur durch Kühlung modellieren. Ist
die Temperatur mehr als 50°C hoch, wird die Kühlung verstärkt. Ist die Temperatur kleiner
oder gleich 50°C, wird die Kühlung dagegen verringert. Das Ziel und somit das Ende des
Flusses ist bei einer Temperatur von 50°C erreicht. Eine Temperatur ungleich 50°C führt zu
einem geregelten Schleifenablauf. Der Snapshot-Knoten in Kombination mit der
wiederholten Frage nach der Temperatur durch die Eigenschaft always ask des Knoten
„Temp“ sorgen dafür, dass die Temperatur zurück gesetzt und erneut ermittelt wird. Eine
Temperatur von genau 50°C führt aufgrund der fehlerhaften Modellierung der
Nachbedingung zur Verringerung der Kühlung zu einem nicht vorhersagbaren Verhalten des
TMS, da nicht nur das Flussende, sondern auch die erneute Temperaturmessung ausgelöst
wird. Dies wird durch die grüne Hervorhebung in der Abbildung deutlich, die die
Ausführungsschritte des Flussdiagramms markiert.
Bewertung: Die Modellierung von Schleifen in DiaFlux ist möglich und gewollt, so dass es
sich hierbei nicht um eine Anomalie im Sinne eines Fehlers handelt. Fehlerhafte
Endlosschleifen sind natürlich zu vermeiden.
4.4.14 Unnötiger Nicht-Determinismus
Während man bei einer fehlenden Synchronisation von einer ungewollten
Mehrfachausführung eines Knotens ausgeht, bedeutet ein unnötiger Nicht-Determinismus,
dass ein OR-Join nicht weiß, ob er noch auf eingehende Kanten warten oder die weitere
Ausführung anstoßen soll. In DiaFlux ist es möglich, einen OR-Join zu modellieren, indem
eine Multiple-Choice-Frage gestellt und ausgewertet wird. Abbildung 59 zeigt diese
Anomalie.
Bewertung: Diese Anomalie ist nur eingeschränkt auf DiaFlux übertragbar, da ein Knoten mit
mehreren eingehenden Kanten nicht wartet, sondern bereits nach der ersten wahr werdenden
Kante aktiviert wird. Dabei ist jedoch nicht determiniert, welcher Pfad zuerst wahr wird.
- 63 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
4.5 Auffälligkeiten
Neben den verwaisten Knoten, die unerreichbar und nicht in das Prozessmodell integriert sind
und die bereits im Unterkapitel der Prozessanomalien näher erläutert wurden, gehören auch
der tote Pfad und die fehlenden Modellierungsschritte in diese Kategorie.
4.5.1 Toter Pfad
Abbildung 61: DiaFlux Flussdiagramm - toter Pfad
Quelle: eigene Darstellung
Die Darstellung zeigt einen toten Pfad zum Endknoten „Exit2“. Dieser Pfad wird betreten,
wenn „B“ einen Wert kleiner oder gleich 1 aufweist. Später wird der Pfad aber nur dann
weiter ausgeführt, wenn „B“ größer ist als 2. Da „B“ sich zwischendurch nicht verändert hat,
kann „B“ nicht größer als 2 sein und der Pfad endet an dieser Stelle.
Bewertung: Die Modellierung eines toten Pfades in DiaFlux kann vorkommen. Sie verhindert
die weitere Ausführung des Flussdiagramms und kann möglicherweise zu einem Deadlock
führen.
4.5.2 Fehlende Modellierungsschritte
Natürlich kann es auch in DiaFlux vorkommen, dass der Designer eines Workflows nicht
alles bedenkt und somit Schritte in der Modellierung vergisst, die nötig wären, um alle
möglichen Eingabeparameter abzudecken.
Bewertung: Im Fall von fehlenden Modellierungsschritten kann es in DiaFlux zu Deadlocks
kommen. Fehlt beispielsweise an einem Kontrollknoten eine Kante mit einer Bedingung für
einen möglichen Eingabewert, kann der Fluss an dieser Stelle möglicherweise nicht
fortgesetzt werden und kommt zum Stillstand. Die Anomalie ist also uneingeschränkt
übertragbar.
4.6 DiaFlux-spezifische Anomalien
In diesem Kapitel werden weitere Anomalien aufgeführt, die speziell in der Notation DiaFlux
zu finden sind.
- 64 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
4.6.1 Redundantes Flussdiagramm
DiaFlux-Flussdiagramme können als Komponenten in einem anderen Flussdiagramm
wiederverwendet werden. Wird ein Flussdiagramm nicht durch ein anderes oder durch einen
automatischen Start aufgerufen, so ist es redundant.
4.6.2 Redundanter Startknoten
Ein Startknoten in einem DiaFlux-Flussdiagramm kann als redundant bezeichnet werden,
wenn er weder durch einen automatischen Start des Diagramms noch durch den Aufruf aus
einem anderen Diagramm heraus aufgerufen wird.
Abbildung 62: DiaFlux Flussdiagramm - Redundanter Startknoten
Quelle: eigene Darstellung
Das erste Diagramm ruft das zweite Diagramm auf, falls die Frage nach „Hunger“ mit „ja“
beantwortet wurde. Als Eintrittspunkt in das zweite Diagramm ist „Start2“ angegeben. Da das
zweite Diagramm nicht automatisch startet und kein weiteres Diagramm es aufruft, ist der
Startknoten „Start“ (und auch der daraus resultierende Pfad) redundant.
- 65 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
4.6.3 Redundante Abfrage
In DiaFlux ist es möglich, Werte ein einziges Mal (ask) oder aber jedes Mal erneut (always
ask) abzufragen. Bei Werten, die in der Regel konstant bleiben, wird die erste Variante
verwendet, bei Werten, die sich oft ändern, die zweite. Beispiele hierfür wären die Ermittlung
des Geschlechtes (ask) sowie die Abfrage eines Sensorwertes (always ask).
Wird durch Testknoten ein Wert zweimal hintereinander abgefragt und dabei die Methode
ask genutzt, ist die zweite Abfrage redundant, da der Wert bereits bekannt ist und nicht erneut
zugewiesen wird.
4.6.4 Inkonsistente Abfrageart
Wird derselbe Wert zweimal mit den unterschiedlichen Abfragearten ask und always ask
innerhalb eines Diagramms ermittelt, kann es sich um eine fehlerhafte Modellierung handeln.
4.6.5 Inkonsistente Herleitung
Durch den Prozessfluss in einem DiaFlux-Flussdiagramm werden unterschiedliche Diagnosen
bestätigt oder verworfen. Eine Diagnose, die einmal verworfen wurde, darf anschließend
nicht mehr etabliert werden, denn es gab offensichtlich Faktoren, die bereits zu ihrer
Ablehnung führten. (Andersherum ist es allerdings möglich, Diagnosen, die bisher als
bestätigt angenommen wurden, zu verwerfen, wenn neue Aspekte in Betracht gezogen
werden, die zu ihrer Ablehnung führen.)
4.6.6 Schleife ohne Snapshot-Knoten
Wie bereits in Kapitel 2.2.2 beschrieben, tragen Snapshot-Knoten dazu bei, den
Ausführungsstatus eines DiaFlux-Flussdiagrammes zu speichern, so dass vorhergehende
Entscheidungen nicht mehr durch Truth Maintenance rückgängig gemacht werden können,
aber alle vorhergehenden, aktivierten Knoten deaktiviert werden, um ihre erneute Ausführung
zu ermöglichen. Wird eine Schleife ohne einen Snapshot-Knoten modelliert, kann die zweite
Iteration nicht durchgeführt werden, da die Knoten des Pfades bereits durchlaufen und
aktiviert wurden. Eine erneute Aktivierung bereits ausgelöster Knoten ist nicht möglich.
- 66 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Abbildung 63: DiaFlux Flussdiagramm - Schleife ohne Snapshot-Knoten
Quelle: eigene Darstellung
Die Abfrage der Temperatur „Temp“ möge einen Wert größer als 50°C ergeben. Die Kühlung
würde somit verstärkt werden. Wäre die Temperatur danach noch immer größer als 50°C,
würde der Knoten zum Verstärken der Kühlung nicht erneut aktiviert werden, da ein
Snapshot-Knoten fehlt, der ihn zuvor deaktiviert hat.
4.6.7 Kein automatisch startendes Flussdiagramm
Damit ein DiaFlux-Flussdiagramm überhaupt ausgeführt werden kann, muss es als
automatisch startend markiert (siehe Abbildung Checkbox „Autostart“) oder von einem
anderen Flussdiagramm aufgerufen werden. Ist in der gesamten Modellierung eines
Sachverhaltes kein einziges automatisch startendes Flussdiagramm vorhanden, kann keines
der Diagramme durchlaufen und somit keine Aktion ausgeführt oder Diagnose hergeleitet
werden. Damit verlieren die Diagramme ihre Funktion.
Abbildung 64: DiaFlux Editor - automatischer Start eines Diagramms
Quelle: eigene Darstellung
4.6.8 Automatisch startendes Flussdiagramm mit mehr als einem Startknoten
Prinzipiell ist es möglich und nicht fehlerhaft, wenn ein DiaFlux-Flussdiagramm mehrere
Startknoten als Eintrittspunkte aufweist. Dies darf aber nur dann der Fall sein, wenn dieses
Diagramm nicht automatisch startet, sondern die einzelnen Startknoten von anderen
Diagrammen aus aufgerufen werden. Hat ein automatisch startendes Flussdiagramm mehrere
- 67 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Startknoten, werden alle ausgehenden Pfade betreten und parallel ausgeführt, was in der
Regel nicht Sinn und Zweck der Modellierung sein wird.
4.6.9 Rückkopplung
Werte innerhalb einer Wissensbasis können nicht nur durch Regeln, sondern auch durch
Knoten in einem DiaFlux-Flussdiagramm manipuliert werden. Während Regeln ausgeführt
werden, sobald sich ein Wert ändert, finden Änderungen durch Knoten nur im Moment des
Flussablaufes statt. Ein Knoten kann z.B. durch eine zugrunde liegende Formel einen Wert
ändern. Wird nun ständig ein Wert auf beide Arten angepasst, kann es zu einer unerwünscht
hohen Zahl von Propagierungen des Wertes bis hin zu einer Endlosschleife und dem
flussunabhängigen Überschreiben des Wertes kommen.
4.6.10 Unmöglicher Pfad
Bei einem unmöglichen Pfad handelt es sich um eine TM-Anomalie. Ändert sich ein Wert in
der Wissensbasis, werden alle Aktivierungszustände der Knoten der dazugehörigen
Flussdiagramme entsprechend dem neuen Wert angepasst. Widerspricht der neue Wert einer
zuvor gültigen Kantenbedingung, wird der Prozessfluss bis zu der Stelle des Widerspruchs
rückgängig gemacht. Der Pfad, der den Wert geändert hat, kann unmöglich betreten werden.
Die nachfolgende Darstellung visualisiert diesen Sachverhalt.
Abbildung 65: DiaFlux Flussdiagramm - unmöglicher Pfad
Quelle: eigene Darstellung
Es wird zuerst eine Frage gestellt, die mit „Ja“ oder „Nein“ beantwortet werden kann. Ist die
Antwort „Ja“, wird das Flussdiagramm über „Exit1“ verlassen. Ist die Antwort „Nein“, setzt
der darauffolgende Knoten den Antwortwert zurück auf „Ja“. Dieses Verhalten ist
inkonsistent. Durch das Setzen dieses neuen Wertes wird die Änderung im Blackboard
propagiert und durch das TMS verarbeitet. Das TMS macht alles bis zur ersten Frage
rückgängig, da aufgrund des Antwortwertes „Ja“ nur der Pfad zu „Exit1“ betreten werden
kann. Der Pfad zu „Exit2“ kann daher unmöglich betreten werden.
- 68 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
4.6.11 Unbenutzte Elemente der Wissensbasis
Im Rahmen der unbenutzten Elemente können zwei Vorkommen unterschieden werden:
•
Bestimmte Elemente der Wissensbasis werden in keinem dazugehörigen Diagramm
verwendet.
•
Einzelne Unterelemente (Diagnosen, Antworten/Verzweigungsoptionen) werden nicht
hergeleitet bzw. werden nicht in der weiteren Verarbeitung ausgewertet.
In der Abbildung wird die Berechnung des BMI erneut dargestellt.
Abbildung 66: DiaFlux Flussdiagramm - BMI-Berechung
Quelle: KnowWE Demo Body-Mass-Index mitgeliefert in der Wiki-Installation
Dem Diagramm liegen die folgenden Werteabfragen und Herleitungen (Diagnosen) zu
Grunde:
Abbildung 67: Teil einer Wissensbasis zur BMI-Berechnung
Quelle: eigene Darstellung
- 69 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Aus der Darstellung wird deutlich, dass die One-Choice-Fragen nach dem Geschlecht
„Gender“ und einer Schwangerschaft „Pregnant“ in keinem Fall verwendet werden, die
Diagnose Heavy Overweight, die Bestandteil des Elementes „Weight Assessment“ ist, wird
nicht hergeleitet.
Bewertung: Es ist möglich, DiaFlux-Diagramme zu modellieren, die nicht den gesamten
Umfang der zu Grunde liegenden Wissensbasis nutzen. Auf einen solchen Umstand sollte
zumindest hingewiesen werden, wenngleich er im Einzelfall gewollt ist und es sich nicht um
einen Fehler handeln muss.
4.6.12 Konflikt zur Wissensbasis
Einem DiaFlux-Flussdiagramm liegt immer eine zuvor modellierte Wissensbasis zu Grunde.
Beispielsweise werden weit verzweigte Fragebäume erstellt, die in DiaFlux abgebildet
werden können. Innerhalb der Fragebäume existieren unterschiedliche Verzweigungen und
Schachtelungen, die beim Aufbau eines Diagramms ohne Hinweismeldungen an den
Anwender missachtet werden können.
Die folgende Darstellung beschreibt diese Anomalie. Es wurde eine Frage nach dem
Urlaubsziel erstellt. Je nach Antwort existieren untergeordnete Fragen, die konkret auf das
gewählte Ziel zugeschnitten sind. Das (unvollständig) modellierte Flussdiagramm dagegen
stellt die Fragen in beliebiger Reihenfolge. Es wird zuerst der Zustand der Skiausrüstung
erfragt, obwohl noch nicht bekannt ist, dass das Urlaubsziel ein Skigebiet ist. Ein weiterer
inkonsistenter Zustand ist die Möglichkeit, Unterabfragen zu modellieren, die nicht zur
Antwort der darüberliegenden Frage passen. Die Frage nach der Taucherbrille etwa ist nicht
sinnvoll, wenn das Urlaubsziel ein Skigebiet ist. DiaFlux nimmt an dieser Stelle keine
Rücksicht auf die im Markup des Wikis festgelegten Vorgaben der Wissensbasis.
Abbildung 68: DiaFlux Flussdiagramm (unvollständig) - Konflikt zur Wissensbasis
Quelle: eigene Darstellung
- 70 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Abbildung 69: Fragen der Wissensbasis
Quelle: eigene Darstellung
Im nachfolgenden Kapitel wird nun beschrieben, wie einige der identifizierten Anomalien
algorithmisch erkannt und in KnowWE zur Anzeige gebracht werden.
- 71 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
5 Implementierung von Anomalie-Erkennungsalgorithmen für
DiaFlux
5.1 Integration der Anomalie-Erkennung in KnowWE
KnowWE bietet eine Schnittstelle für die kontinuierliche Integration (Continuous Integration
(CI)) von Tests unterschiedlichster Art – das Continuous Integration for Knowlegde
Engineering Plugin, kurz CI4KE-Plugin. Unter CI ist eine Praktik der Software-Entwicklung
zu verstehen, die es den Mitgliedern eines Entwicklungs-Teams ermöglicht, ihre Arbeit
kontinuierlich auf eine gemeinsame Basis zu stellen und zu integrieren. Bei jeder Integration
werden ein Build der Software erstellt und Tests ausgeführt, so dass Fehler zeitnah erkannt
werden können und jederzeit jedem Entwickler eine fertige Version der Software zur
Verfügung steht. CI ermöglicht nicht nur das manuelle Testen auf Knopfdruck, sondern auch
ein automatisiertes Testen beispielsweise über Nacht.1
Die kontinuierlichen Integrationstests in KnowWE übertragen das CI-Prinzip auf den Bereich
des Knowledge Engineering, indem von der zu Grunde liegenden Wissensbasis ein Build
erstellt wird und automatisierte Tests darauf ausgeführt werden. In KnowWE werden
Wissensbasen verteilt entwickelt, so dass es zwingend notwendig ist, die Qualität bei jeder
Änderung zu erhalten.
Bei dem CI4KE-Plugin handelt es sich um eine Anpassung des frei verfügbaren, in Java
implementierten CI-Werkzeugs Hudson auf den Bereich des Knowledge Engineering, die in
KnowWE zu Einsatz kommt. Hiermit ist es nicht nur möglich, das aktuelle Build der
Wissensbasis zu überprüfen, sondern auch den Status der letzten Builds zu sehen. Der BuildVerlauf wird in Form eines Wetterberichtes visualisiert.2 Hinzu kommt die Anzeige der
Testergebnisse und der überwachten Wiki-Artikel im sogenannten CI-Dashboard.
Abbildung 70: CI Dashboard
Quelle: eigene Darstellung
1 Vgl. http://martinfowler.com/articles/continuousIntegration.html, 11.05.2011, 16:06 Uhr
2 Vgl. [Och10], S. 32 f.
- 72 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Diese graphische Benutzerschnittstelle kann über die folgende Syntax in einen Wiki-Artikel
integriert werden:
%%CIDashboard
@name: <test name>
@trigger: <onSave/onDemand>
@test: <testname> <parameters...>
%
Der name ist eine frei wählbare Überschrift für den Test. Unter test werden der Name des
Tests und mögliche Parameter eingetragen. Der Name des Tests entspricht dem Namen der
Java-Klasse, die den Test implementiert. Der trigger bestimmt, wann der Test durchgeführt
wird. Dies kann entweder beim Speichern einer Wiki-Seite (onSave) oder manuell
(onDemand) erfolgen. Letzteres sollte nur bei großen Wissensbasen eingesetzt werden, bei
denen ein Test bei jedem Speichern zu zeitaufwendig wäre.1
5.2 Realisierung der Anomalie-Erkennung
Tests können direkt im Wiki oder als Java-Testklassen innerhalb der Applikation KnowWE
implementiert werden. Die direkte Implementierung im Wiki wird über Groovy2, eine
dynamische Sprache für die virtuelle Maschine von Java, realisiert. Dies hat allerdings den
Nachteil, dass der Code erst zur Laufzeit interpretiert wird und Fehler zu spät erkannt
werden.3 Daher wird der zweite Weg der direkten Implementierung als Java-Klasse innerhalb
von KnowWE gewählt. Außerdem sind die Testklassen so an geeigneter Stelle übersichtlich
zusammengefasst.
In dieser Arbeit wurde KnowWE um ein weiteres Plugin ergänzt: KnowWE-Plugin-CI4KEAnomalies. Dieses Plugin erweitert KnowWE um Integrationstests zur Erkennung von
Anomalien in DiaFlux und beinhaltet aktuell die folgenden Java-Testklassen zur AnomalieErkennung:
•
de.d3web.we.ci4ke.anomalies.AnomalyUnconnectedNode
Prozessanomalie: Knoten ohne eingehende oder ausgehende Kanten
1 Vgl. http://d3webwiki.informatik.uni-wuerzburg.de/Wiki.jsp?page=HowToContinuousIntegrationPlugin#section-
HowToContinuousIntegrationPlugin-DocumentationAndHowToForTheCI4KEPlugin, 25.04.2011, 11:49 Uhr
2 http://groovy.codehaus.org/, 25.04.2011, 11:49 Uhr
3 Vgl. http://d3webwiki.informatik.uni-wuerzburg.de/Wiki.jsp?page=HowToContinuousIntegrationPlugin, 25.04.2011,
11:49 Uhr
- 73 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
•
de.d3web.we.ci4ke.anomalies.AnomalyAutostartFlow
DiaFlux-spezifische Anomalie: automatisch startendes Flussdiagramm mit mehr als
einem Startknoten
•
de.d3web.we.ci4ke.anomalies.AnomalyInconsistentInd
DiaFlux-spezifische Anomalie: inkonsistente Abfrageart
•
de.d3web.we.ci4ke.anomalies.AnomalyUnusedElements
Auffälligkeit: unbenutzte Elemente
Um sich an die CI-Tests anzukoppeln, implementiert jede dieser Java-Testklassen das
Interface AbstractCITest und die Methode call(). Dies ist der notwendige Schritt, um im Wiki
als Test aufgerufen werden zu können.1
public class AnomalyUnconnectedNode extends AbstractCITest {
@Override
public CITestResult call() throws Exception {
...
Der Rückgabewerte der Methode call() muss vom Typ CITestResult sein und spiegelt das
Testergebnis wider.
CITestResult res = new CITestResult(TestResultType.SUCCESSFUL,
": No unconnected nodes detected.");
Dabei kann zwischen SUCCESSFUL, FAILURE und ERROR als Testresultat unterschieden
werden. Nur SUCCESSFUL führt zu einem erfolgreichen Test und somit einer grünen
Statusanzeige für das Build im CI-Dashboard. Als Ergebnis werden außerdem die
implementierten Hinweismeldungen ausgegeben.
Abbildung 71: fehlerfreier Anomalie-Test im CIDashboard
Quelle: eigene Darstellung
1 Vgl. http://d3webwiki.informatik.uni-wuerzburg.de/Wiki.jsp?page=HowToContinuousIntegrationPlugin#section-
HowToContinuousIntegrationPlugin-DocumentationAndHowToForTheCI4KEPlugin, 25.04.2011, 11:49 Uhr
- 74 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Die Quelltexte des Plugins und der Testklassen sind auf der beiliegenden CD zu finden. Das
nachfolgende Kapitel beschreibt exemplarisch den Erkennungsalgorithmus für die
Prozessanomalie der Knoten ohne eingehende oder ausgehende Kanten.
- 75 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
5.3 Erkennung der Anomalie
ausgehende Kanten“
„Knoten
ohne
eingehende
oder
Der Erkennung dieser Anomalie liegt ein einfacher Algorithmus zu Grunde, weshalb dieser
als Beispiel der Erklärung einer Implementierung im Kontext von KnowWE und DiaFlux
dienen soll:
Ermittle die Wissensbasis des Artikels
Ermittle alle Flussdiagramme der Wissensbasis
FÜR ALLE Flussdiagramme
Ermittle alle Knoten eines Flussdiagramms
FÜR ALLE Knoten eines Flussdiagramms
WENN der Knoten keine eingehenden Kanten hat UND
WENN der Knoten keine ausgehenden Kanten hat,
DANN füge ihn zur Liste der unverbundenen Knoten hinzu
WENN unverbundene Knoten gefunden wurden,
DANN ist das Testergebnis negativ,
SONST wurde der Test bestanden
Prinzipiell ist es notwendig, die Wissensbasis zu bestimmen, die überprüft werden soll. In
dieser Wissensbasis müssen alle Flussdiagramme untersucht werden. Diese Schritte sind also
für jeden Algorithmus zur Erkennung einer Anomalie erforderlich:
// get the first parameter assigned by Wiki CIDashboard
// = article whose knowledge base should be searched for anomaly
String articleName = getParameter(0);
// get the knowledge base of this article
KnowledgeBase kb =
D3webModule.getAD3webKnowledgeServiceInTopic(
KnowWEEnvironment.DEFAULT_WEB, articleName);
if (kb != null) {
// get all flowcharts of knowledge base
List<Flow> flowcharts = kb.getManager().getObjects(Flow.class);
...
- 76 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Im Beispiel werden dann alle Knoten der Flussdiagramme durchlaufen und ihre eingehenden
und ausgehenden Kanten überprüft. Hat ein Knoten weder eingehende noch ausgehende
Kanten, so handelt es sich um eine Anomalie innerhalb eines Flussdiagramms und verursacht
ein negatives Testergebnis. Die Namen des Flussdiagramms und des Knotens werden im
Testergebnis angezeigt.
Der vollständige Quelltext dazu ist in Anhang 10.2 zu finden.
- 77 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
6 Bewertung, Zusammenfassung und Ausblick
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).
- 78 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Zur prototypischen Implementierung der Anomalie-Erkennung wurde eine EclipseEntwicklungsumgebung 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.
- 79 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
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
Uneingeschränkt übertragbar: Zugriff auf
Fehler
FEHLENDE DATEN
Uninitialisierter Wert
uninitialisierte Variablenwerte durch
Abstraktionsknoten möglich.
Verzögerte Initialisierung
Uneingeschränkt übertragbar: Zugriff auf
Fehler
bisher uninitialisierte Variablenwerte
durch Abstraktionsknoten möglich.
Unsichere Synchronisation
Uneingeschränkt übertragbar: Zugriff auf
Warnung
möglicherweise uninitialisierte
Variablenwerte durch Abstraktionsknoten
in parallelen Pfaden möglich.
REDUNDANZ
Starke Redundanz
Uneingeschränkt übertragbar:
Warnung
überflüssige Knoten, unnötige
Wiederholung von Werteberechnungen
oder -abfragen.
Schwache Redundanz
Uneingeschränkt übertragbar:
Information
berechneter oder abgefragter
Variablenwert eines Knotens wird in
einigen Pfaden nicht genutzt.
Redundantes Flussdiagramm
DiaFlux-spezifisch
Information
Redundanter Startknoten
DiaFlux-spezifisch
Warnung
Redundante Abfrage
DiaFlux-spezifisch
Information
Uneingeschränkt übertragbar:
Fehler
INKONSISTENZ
Stark verlorene Daten
überschriebene Variablenwerte möglich.
Schwach verlorene Daten
Uneingeschränkt übertragbar:
überschriebene Variablenwerte in einigen
Pfaden möglich.
- 80 -
Warnung
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Multiple Initialisierung
Uneingeschränkt übertragbar: mehrfache
Warnung
Initialisierung eines Variablenwertes in
parallelen Pfade möglich.
Inkonsistente Abfrageart
DiaFlux-spezifisch
Warnung
Inkonsistente Herleitung
DiaFlux-spezifisch
Fehler
Konflikt zur Wissensbasis
DiaFlux-spezifisch
Fehler
Knoten ohne eingehende oder
Uneingeschränkt übertragbar: jeder
Fehler
ausgehende Kanten
Knoten mit Ausnahme des Startknotens
PROZESSANOMALIEN
muss eine eingehende Kante aufweisen,
um ausgelöst zu werden. Jeder Knoten
mit Ausnahme des Endknoten muss
mindestens eine ausgehende Kante
aufweisen, damit der Fluss fortgesetzt
werden kann.
Aktivitätsknoten mit mehr als
Eingeschränkt übertragbar: Aktivitäts- und
einer Eingangs- oder
Kontrollknoten können nicht explizit
Ausgangskante
unterschieden werden.
Warnung
Aber: ein Knoten, der als Aktivitätsknoten
fungiert (z.B. Warteknoten), sollte nur eine
Eingangs- und Ausgangskante aufweisen.
Kontrollknoten mit nur einer
Eingeschränkt übertragbar: Aktivitäts- und
Eingangs- oder Ausgangskante,
Kontrollknoten können nicht explizit
Unvollständigkeit der
unterschieden werden.
Nachbedingungen
Fehler
Aber: ein Knoten, der als Kontrollknoten
fungiert (z.B. Testknoten zur Abfrage
eines Wertes mit dem Ziel der
anschließenden Überprüfung), muss
i.d.R. mehrere Ausgangskanten
aufweisen, da mehrere Nachbedingungen
existieren können.
Sich überschneidende
Uneingeschränkt übertragbar:
Nachbedingungen
ausgehende Kanten eines Knotens
können sich überschneidende
Bedingungen aufweisen. Der zu
betretende Pfad ist somit nicht eindeutig
bestimmt.
- 81 -
Fehler
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Fehlender Start- bzw. Endknoten
Uneingeschränkt übertragbar: Fehlende
Fehler
Start- oder Endknoten führen zu
unausführbaren Pfaden.
Mehrere Start- bzw. Endknoten
Eingeschränkt übertragbar: Mehrere
Warnung
Start- oder Endknoten können gewollt
modelliert sein.
Fehlgerichtete Kanten bei Start-
Uneingeschränkt übertragbar
Fehler
Verbindungsloser Knoten
Uneingeschränkt übertragbar
Fehler
Mehrere Kanten zwischen zwei
Eingeschränkt übertragbar: nur, wenn
Warnung
Knoten
beide Kanten in dieselbe Richtung
und Endknoten
verlaufen, handelt es sich um eine
Anomalie.
Deadlock
Uneingeschränkt übertragbar: fehlt in der
Fehler
Formel eines Abstraktionsknotens
beispielsweise ein Wert zur Berechnung,
da dieser Wert nicht initialisiert ist, kann
der Pfad nicht weiter verfolgt werden.
Fehlende Synchronisation
Eingeschränkt übertragbar: Der erste
Information
eintreffende Pfad löst den Knoten aus.
Schleife
Uneingeschränkt übertragbar
Information
Endlosschleife
Uneingeschränkt übertragbar
Fehler
Unnötiger Nicht-Determinismus
Nicht übertragbar: Ein Knoten mit
Kein Hinweis nötig
mehreren eingehenden Kanten wartet
nicht. Ein modellierter OR-Join wartet
ebenfalls nicht, sondern wird durch den
ersten eingehenden Pfad aufgelöst.
Schleife ohne Snapshot-Knoten
DiaFlux-spezifisch
Fehler
Uneingeschränkt übertragbar: entspricht
Fehler
AUFFÄLLIGKEITEN
Unerreichbare Elemente
Knoten ohne eingehende oder
ausgehende Kanten bzw.
verbindungslosem Knoten
Toter Pfad
Uneingeschränkt übertragbar
- 82 -
Fehler
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Fehlende Modellierungsschritte
Uneingeschränkt übertragbar
Kein Hinweis
möglich
Kein automatisch startendes
DiaFlux-spezifisch
Fehler
DiaFlux-spezifisch
Warnung
Rückkopplung
DiaFlux-spezifisch
Warnung
Unmöglicher Pfad
DiaFlux-spezifisch
Fehler
Unbenutzte Elemente der
DiaFlux-spezifisch
Information
DiaFlux-spezifisch
Warnung
Flussdiagramm
Automatisch startendes
Flussdiagramm mit mehr als
einem Startknoten
Wissensbasis
Konflikt zur Wissensbasis
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.
- 83 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
7 Literatur
Bücher- und Zeitschriftenquellen:
[Aal00]
W.M.P. van der Aalst: Workflow Verification: Finding Control-Flow Errors
using Petri-net-based Techniques, in: Business Process Management:
Models, Techniques, and Empirical Studies, Volume 1806 of Lecture
Notes in Computer Science, Springer-Verlag, Berlin, 2000, S. 161-183.
[ADL10]
A. Awad, G. Decker, and N. Lohmann: Diagnosing and Repairing Data
Anomalies in Process Models, in: Business Process Management
Workshops, Lecture Notes in Business Information Processing, Volume
43, Part 1, 2010, S. 5-16.
[AH04]
W. van der Aalst, K. van Hee: Workflow Management, Models, Methods, and
Systems, MIT Press, 2004.
[Aki03]
Klaus Akin: Qualitätssicherung in diagnostischen Wissensbasen, Diplomarbeit,
University of Würzburg, Würzburg 2003.
[Bau10]
Joachim Baumeister: Continuous Knowledge Engineering with Semantic Wikis
(Habilitation Summary), Universität Würzburg, Würzburg 2010.
[BRP09]
J. Baumeister, J. Reutelshoefer, F. Puppe: KnowWE: A Semantic Wiki for
Knowledge Engineering, in: Applied Intelligence 2010, S. 1-22.
[BS10]
J. Baumeister, D. Seipel: Anomalies in ontologies with rules, in: Web Semantics:
Science, Services and Agents on the World Wide Web, 2010, 8(1): S.
55–68.
[BZ03]
Henry H. Bi, J. Leon Zhao: A Formal Classification of Process Anomalies for
Workflow Verification, in: Proceedings of the Thirteenth Workshop on
Information Technologies and Systems (WITS 2003), Seattle, WA, USA,
2003, S. 207-212.
[DM01]
G. Duftschmid, S. Miksch: Knowledge-based verification of clinical guidelines
by detection of anomalies, in: Artificial Intelligence in Medicine 22,
2001.
[Doy79]
Jon Doyle: A truth maintenance system, in: Artificial Intelligence, Volume 12,
Issue 3, 1979, S. 231-272.
[Fow99]
Martin Fowler: Refactoring. Improving the design of existing code, AddisonWesley, 1999.
[Gal97]
Jürgen Galler: Vom Geschäftsprozessmodell zum Workflow-Modell, Gabler
Verlag Wiesbaden, 1997.
[HA10]
Arthur ter Hofstede, Michael Adams: YAWL – User Manual, Version 2.1beta,
The YAWL Foundation, 2010.
[Hab02]
Lothar Haberstock: Kostenrechnung I, Erich Schmidt Verlag, Berlin, 2002, S.
125.
- 84 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
[HBB09]
R. Hatko, V. Belli, J. Baumeister: Modelling Diagnostic Flows in Wikis, in:
LWA-2009 Special Track on Knowledge Management, Darmstadt, 2009.
[HBBP11]
Reinhard Hatko, Joachim Baumeister, Volker Belli, Frank Puppe: DiaFlux: A
Graphical Language for Computer-Interpretable Guidelines, erscheint
im Rahmen der Knowledge Representation for Health Care (KR4HC2011) (in conjunction with AIME-2011), 2011.
[HBJ09]
R. Hatko, V. Belli, J. Baumeister: DiaFlux: Diagnostic flows in wikis, in:
FGWM’09: Proceedings of German Workshop of Knowledge and
Experience Management (at LWA’09), 2009.
[HRBP10]
R. Hatko, J. Reutelshoefer, J. Baumeister, F. Puppe: Modelling of diagnostic
guideline knowledge in semantic wikis, in: Proceedings of the Workshop
on Open Knowledge Models (OKM-2010) at the 17th International
Conference on Knowledge Engineering and Knowledge Management
(EKAW), 2010.
[LC08]
Uwe Lämmel, Jürgen Cleve: Künstliche Intelligenz, Hanser Verlag, 2008.
[MD04]
Mersmann, S., Dojat, M.: SmartCaretm - automated clinical guidelines in critical
care, in: ECAI’04/PAIS’04: Proceedings of the 16th European
Conference on Artificial Intelligence, including Prestigious Applications
of Intelligent Systems, Valencia, Spain, IOS Press, 2004, S. 745–749.
[Mül05]
Joachim Müller: Workflow-based Integration – Grundlagen, Technologien,
Management, Springer-Verlag, Berlin, 2005, S. 7-34.
[Och10]
M.-O. Ochlast: Continuous integration in knowledge engineering, Master Thesis,
Universität Würzburg, Würzburg 2010.
[PGCR98]
A. D. Preece, C. Grossner, P. G. Chander, T. Radhakrishnan: Structure-based
validation of rule-based systems, in: Journal Data & Knowledge
Engineering, 1998, 26(2): S. 161-189.
[Pre94]
A. Preece: Validation of Knowledge-Based Systems: The State-of-the-Art in North
America, in: Journal of Communication and Cognition - Artificial
Intelligence, 1994, 11(4): S. 381-413.
[Pre98]
A. Preece: Building the right system right, in: Evaluating V&V Methods in
Knowledge Engineering, Verification and Validation of KnowledgeBased Systems: Papers from the AAAI-98 Workshop, AAAI Press, 1998,
S. 38–45.
[PS94]
A. Preece, R. Shinghal: Foundation and application of knowledge base
verification, in: International Journal of Intelligent Systems, Volume 9,
1994, S. 683–702.
[SBBK07]
Sebastian Schaffert, François Bry, Joachim Baumeister, Malte Kiesel: Semantic
Wiki, in: Informatik-Spektrum, Volume 30, Number 6, 2007, S. 434-439.
[SOSF04]
S. Sadiq, M. Orlowska, W. Sadiq, C. Foulger: Data Flow and Validation in
Workflow Modelling, in: ADC '04: Proceedings of the 15th Australasian
database conference, Volume 27, 2004. S. 207-214.
- 85 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
[Spe01]
Mario C. Speck: Geschäftsprozessorientierte Datenmodellierung – ein ReferenzVorgehensmodell zur fachkonzeptionellen Modellierung von
Informationsstrukturen, Logos Verlag, Berlin, 2001.
[SVOK11]
Frank Schönthaler, Gottfried Vossen, Andreas Oberweis, Thomas Karle:
Geschäftsprozesse für Business Communities – Modellierungssprachen,
Methoden, Werkzeuge, Oldenbourg Wissenschaftsverlag, München,
2011.
[SZN05]
Sherry X. Sun, J. Leon Zhao, Jay F. Nunamaker, Jr.: On The Theoretical
Foundation for Data Flow Analysis in Workflow Management, in:
AMCIS 2005 Proceedings, Paper 188, 2005.
[TAS09]
N. Trcka, W.M.P. van der Aalst, N. Sidorova: Data-Flow Anti-Patterns:
Discovering Data-Flow Errors in Workflows, in: Advanced Information
Systems Engineering, Proceedings of the 21st International Conference
on Advanced Information Systems Engineering (CAiSE'09), Volume
5565 of Lecture Notes in Computer Science, Springer-Verlag, Berlin,
2009, S. 425-439.
[Wes07]
Mathias Weske: Business Process Management: Concepts, Languages,
Architectures, Springer-Verlag, Berlin, 2007.
Internetquellen:
Drägerwerk AG: Konzerndaten
http://www.draeger.com/DE/de/, 06.02.2011, 17:05 Uhr
Drägerwerk AG: Medizintechnik
http://www.draeger.com/DE/de/investoren/draeger_auf_einen_blick/medizintech
nik/index.jsp, 06.02.2011, 17:05 Uhr
Universität Würzburg: KnowWE
http://www.is.informatik.uni-wuerzburg.de/forschung/anwendungen/knowwe/,
06.02.2011, 17:25 Uhr
Enzyklopädie der Wirtschaftsinformatik: KI
http://www.enzyklopaedie-der-wirtschaftsinformatik.de/wienzyklopaedie/lexikon/technologien-methoden/KI-undSoftcomputing/Expertensystem, 13.02.2011, 10:49 Uhr
Enzyklopädie der Wirtschaftsinformatik: Ontologie
http://www.enzyklopaedie-der-wirtschaftsinformatik.de/wienzyklopaedie/lexikon/datenwissen/Wissensmanagement/Wissensmodellierung/Wissensreprasentation/Seman
tisches-Netz/Ontologien/index.html/?searchterm=ontologie, 13.02.2011, 10:55
Uhr
Semantic Media Wiki
http://semantic-mediawiki.org/wiki/Semantic_MediaWiki, 13.02.2011, 14:12 Uhr
- 86 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Wikipedia: Auto
http://de.wikipedia.org/wiki/Auto, 13.02.2011, 14:03 Uhr
Universität Würzburg: d3Web
http://www.is.informatik.uni-wuerzburg.de/forschung/anwendungen/d3web/,
13.02.2011, 14:55 Uhr
Universität Würzburg: KnowWE
http://www.is.informatik.uni-wuerzburg.de/forschung/anwendungen/knowwe/,
13.02.2011, 15:14 Uhr
Online Enzyklopädie: Truth Maintenance System
http://www.enzyklo.de/Begriff/Truth%20Maintenance%20System, 25.04.2011,
11:12 Uhr
Universität Würzburg: KnowWE Fragen
http://d3webwiki.informatik.uniwuerzburg.de/Wiki.jsp?page=Doc%20Questions, 18.02.2011, 17:10 Uhr
Universität Würzburg: KnowWE Regeln
http://d3webwiki.informatik.uni-wuerzburg.de/Wiki.jsp?page=Doc%20Rules,
18.02.2011, 17:19 Uhr
Universität Würzburg: KnowWE Diagnose-Regeln
http://d3webwiki.informatik.uniwuerzburg.de/Wiki.jsp?page=Doc%20DiagnosisRule, 18.02.2011, 17:03 Uhr
IT Wissen: Workflow
http://www.itwissen.info/definition/lexikon/Workflow-workflow.html,
24.02.2011, 19:13 Uhr
Universität Hohenheim: BMI
https://www.uni-hohenheim.de/wwwin140/info/interaktives/bmi.htm,
20.03.2011, 13:42 Uhr
NetDoktor: BGA
http://www.netdoktor.de/Diagnostik+Behandlungen/Laborwerte/Blutsauerstoffund-Sauerstoffs-1070.html, 20.03.2011, 15:02 Uhr
Martin Fowler: Continuous Integration
http://martinfowler.com/articles/continuousIntegration.html, 11.05.2011, 16:06
Uhr
Universität Würzburg: KnowWE CI PlugIn
http://d3webwiki.informatik.uniwuerzburg.de/Wiki.jsp?page=HowToContinuousIntegrationPlugin#sectionHowToContinuousIntegrationPluginDocumentationAndHowToForTheCI4KEPlugin, 25.04.2011, 11:49 Uhr
- 87 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
Groovy: dynamische Sprache für Java Plattformen
http://groovy.codehaus.org/
Universität Würzburg: KnowWE CI PlugIn
http://3webwiki.informatik.uniwuerzburg.de/Wiki.jsp?page=HowToContinuousIntegrationPlugin, 25.04.2011,
11:49 Uhr
- 88 -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
8 Ehrenwörtliche Erklärung
Ehrenwörtliche Erklärung
Ich erkläre hiermit ehrenwörtlich, dass ich die vorliegende Arbeit selbstständig angefertigt
habe. Die aus fremden Quellen direkt oder indirekt übernommenen Gedanken sind als solche
kenntlich gemacht. Es wurden keine anderen als die angegebenen Quellen und Hinweise
verwandt.
Die vorliegende Arbeit wurde bisher keiner anderen Prüfungsbehörde vorgelegt und auch
noch nicht veröffentlicht.
Wismar, _________________
_______________________
Unterschrift
- XII -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
9 Anlagenverzeichnis
Inhalte der beiliegenden CD
•
Abbildungen
-
•
Beinhaltet Abbildungen der Master Thesis (u.a. DiaFlux Flussdiagramme)
Arbeitsunterlagen
-
Gliederungsentwurf, Notizen
•
Expose
•
Implementierung
-
•
KnowWE
-
•
Präsentation und Handzettel
YAWL
-
•
Literatur (Buchkapitel, Paper, Internetquellen)
Verteidigung
-
•
Eingereichtes Paper über die Master Thesis
Quellen
-
•
KnowWE Umgebung und Inhalt des erstellten Wikis
Paper
-
•
Java-Klassen der prototypischen Anomalie-Detektionsalgorithmen
YAWL-Spezifikationen und –Abbildungen
GMeinke_103186_Thesis.doc / GMeinke_103186_Thesis.pdf
- XIII -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
10 Anlage A
10.1 DiaFlux Flussdiagramm
Abbildung 72: DiaFlux Flussdiagramm
Quelle: eigene Darstellung
- XIV -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
10.2 Algorithmus zur Erkennung der Anomalie „Knoten ohne eingehende
oder ausgehende Kanten“
/*
* Copyright (C) 2011 Chair of Artificial Intelligence and Applied
Informatics
*
Computer Science VI, University of Wuerzburg
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 3 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be
useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General
Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package de.d3web.we.ci4ke.anomalies;
import java.util.List;
import de.d3web.core.knowledge.KnowledgeBase;
import de.d3web.diaFlux.flow.Flow;
import de.d3web.diaFlux.flow.Node;
import de.d3web.we.basic.D3webModule;
import de.d3web.we.ci4ke.testing.AbstractCITest;
import de.d3web.we.ci4ke.testing.CITestResult;
import de.d3web.we.ci4ke.testing.CITestResult.TestResultType;
import de.d3web.we.core.KnowWEEnvironment;
/**
- XV -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
* Anomaly detection: test for unconnected nodes
*
* @author Gritje Meinke
* @created 17.04.2011
*/
public class AnomalyUnconnectedNode extends AbstractCITest {
@Override
public CITestResult call() throws Exception {
CITestResult res = new CITestResult(TestResultType.SUCCESSFUL,
": No unconnected nodes detected.");
Integer numberOfUnconnectedNodes = 0;
StringBuffer buf = new StringBuffer();
// get the first parameter = article whose KB should be searched
// for anomaly
String articleName = getParameter(0);
// get the KB of this article
KnowledgeBase kb =
D3webModule.getAD3webKnowledgeServiceInTopic(
KnowWEEnvironment.DEFAULT_WEB, articleName);
if (kb != null) {
// get all flowcharts
List<Flow> flowcharts =
kb.getManager().getObjects(Flow.class);
// FlowSet set = new FlowSet();
for (Flow flow : flowcharts) {
List<Node> nodes = flow.getNodes();
for (Node n : nodes) {
if (n.getIncomingEdges().isEmpty()) {
if (n.getOutgoingEdges().isEmpty()) {
buf.append("FLOWCHART: " + flow.getName() + " NODE: " +
n.getName() + "\n");
numberOfUnconnectedNodes++;
} // end if
- XVI -
Analyse von Anomalien in der graphischen Modellierung von diagnostischem Wissen
} // end if
} // end for each node
} // end for each flowchart
} // end if KB
if (numberOfUnconnectedNodes > 0) {
res = new
CITestResult(TestResultType.FAILED, ": Anomaly detected - " +
numberOfUnconnectedNodes.toString() +
" unconnected node(s) found: \n" + buf.toString());
}
return res;
}
}
- XVII -