Automatisierte Erkennung inhaltlicher Modellierungsfehler in Geschäftsprozessmodellen
Zusammenfassung der Projektergebnisse
Die hier durchgeführten Untersuchungen hatten die Automatisierung semantischer Fehlermuster in Geschäftsprozessmodellen (GPM) zum Ziel. GPM beschreiben betriebliche Abläufe und werden in der Software-Technologie unterschiedlich eingesetzt: Sie unterstützen die Kommunikation über die Fachlichkeit von Informationssystemen zwischen den Beteiligten und bilden in der modellgetriebenen Entwicklung den Ausgangspunkt einer Kette von Modellen, die durch mehrstufige Verfeinerungen und Transformationen zum endgültigen Softwareprodukt hinführt. Für beide Ziele ist die Qualität von GPM von entscheidender Bedeutung. Als Voraussetzung für eine unmissverständliche Kommunikation und korrekte Modelltransformation müssen GPM frei von Redundanzen, Widersprüchen und inhaltlichen Fehlern sein sowie den zu modellierenden realen Geschäftsprozess möglichst effizient darstellen. Um die Qualität bezogen auf diese Kriterien verbessern zu können, haben wir in diesem Projekt ein Repository von circa 1000 Prozessmodellen auf inhaltliche Fehler geprüft und Muster identifiziert, mit denen sich diese Fehler beschreiben lassen. Größte Herausforderung war dabei, dass ein bedeutender Teil der in einem GPM enthaltenen Information sich nicht aus der Notationssemantik ergibt (auf die sich klassische Verfahren zur Modellanalyse stützen), sondern in Form der Elementbeschriftungen in freiem, natürlichsprachigem Text vorliegt. Die Fehlermuster beschreiben detailliert, welche sprachlichen und syntaktischen Indikatoren zur Erkennung eines Fehlers notwendig sind. Als Fehlerschwerpunkt stellten sich dabei Tests/Prüfungen und Verzweigungen von Kontrollflüssen heraus. 8 von 19 Fehlermustern lassen sich diesem Bereich zuordnen und beschreiben zum Beispiel fehlende Prüfungen, unzureichende Bedingungen und semantisch falsch gewählte Verzweigungselemente. Das macht die identifizierten Muster besonders hilfreich, wenn abstrakte Modelle aus frühen Anforderungsphasen ausspezifiziert werden sollen. Weitere drei Muster beschreiben Fehler beim Umgang mit Objekten, wie zum Beispiel die Verwendung von Dokumenten, die bearbeitet werden, nachdem sie aus dem Wirkungsbereich des Prozesses entfernt wurden (zum Beispiel durch versenden). Die identifizierten Muster enthalten außerdem eine Beschreibung für mögliche Behebungsschritte, die dem Modellierer Hilfestellung bei der Beseitigung der Fehler geben sollen. Da ein wichtiges Ziel die Automatisierung der Erkennung war und sich gängige Werkzeuge zur Sprachverarbeitung als unzureichend herausstellten, um die benötigten semantischen Informationen aus den Beschriftungen zu extrahieren, wurde eine speziell für GPM taugliche lexikalische Datenbank und ein Analysealgorithmus entwickelt. Die Datenbank enthält, neben den aus den Beschriftungen extrahierten Wörtern, auch Beziehungen wie Synonyme, Antonyme, Nachfolgebeziehungen und hierarchische Abhängigkeiten. Sie ist auch unabhängig vom erstellten Fehlermusterkatalog anwendbar und erlaubt es zum Beispiel, gegensätzliche Bedingungen, semantisch gleichbedeutende Knoten und Aktionsreihenfolgen in GPM zu erkennen. Sie ist außerdem Grundlage für ein Prolog-basiertes Plug-In, mit dem Modelle in der bflow* Toolbox schon zur Modellierungszeit analysiert werden können.