Berechnung von Komplexitätsmetriken für ereignisgesteuerte Prozessketten

Ereignisgesteuerte Prozessketten werden dazu eingesetzt, betriebliche Abläufe zu modellieren. Der wohl wichtigste Anwendungsfall besteht darin, dass diese Modelle zur Kommunikation zwischen verschiedenen Personen genutzt werden. Ziel dieser Kommunikation ist es etwa, die modellierten Abläufe zu verstehen oder Verbesserungspotential aufzudecken. Modelle, die von Menschen verstanden und ggf. geändert werden müssen, sollten so beschaffen sein, dass sie leicht verständlich sind. In den vergangenen Monaten gab es zahlreiche Veröffentlichungen, die Komplexitätsmetriken für Geschäftsprozessmodelle vorschlugen, um zu definieren, wie man „leichte Verständlichkeit“ messen kann[Car05b, GL06, MMN06, ARGP06, CMNR06, Car06]. In diesem Beitrag wird eine Auswahl der dort vorgeschlagenen Metriken kurz beschrieben und ein Werkzeug vorgestellt, mit dem Komplexitätsmetriken für EPKs gemessen werden können. 1 Einführung und verwandte Literatur Um die Arbeit mit ereignisgesteuerten Prozessketten (EPK) zu erleichtern und Fehler oder Missverständnisse auszuschließen, sollten die Modelle möglichst leicht verständlich sein. Diese Forderung führt zu dem Wunsch, Faktoren, die die Verständlichkeit von Modellen beeinflussen, zu messen. Mit anderen Worten: Gesucht sind Metriken, die eine Aussage über die Komplexität von Modellen liefern. Ein Modellierer kann aus den Messungen solcher Metriken Hinweise darauf entnehmen, wann ein Modell vereinfacht werden sollte, was beispielsweise durch das Zerlegen in mehrere Teilmodelle möglich sein kann[RV04]. Wir betonen aber, dass aus den Ergebnissen der Metrikberechnungen keinesfalls schon automatisch Vorgaben für Modellverbesserungen abgeleitet werden können. Die berechneten Metriken können dem Modellierer lediglich Hinweise auf mögliche Verbesserungen geben. Dieser muss dann auf Grund seiner Erfahrung insbesondere entscheiden, ob durch die Metriken eine hohe Komplexität des Prozesses selbst oder des Prozessmodells erkannt wurde und die entsprechenden Schlussfolgerungen zur Verbesserung des Prozesses oder des Prozessmodells ziehen. Ebenso betonen wir, dass keine noch so gute Komplexitätsme∗Der Lehrstuhl für Angewandte Telematik und E-Business ist ein Stiftungslehrstuhl der Deutschen Telekom AG trik alle für die Verständlichkeit einer EPK notwendigen Aspekte messen kann; ein offensichtliches Beispiel sind Verständnisprobleme, die sich aus einer schlechten Benennung von Funktionen und Ereignissen ergeben. Für Software in höheren Programmiersprachen sind zahlreiche Komplexitätsmetriken bekannt, die seit Jahren erfolgreich eingesetzt werden. Verschiedene Forschungsgruppen untersuchten nun, wie sich diese bekannten und erfolgreich angewendeten Ansätze auf Geschäftsprozessmodelle übertragen lassen. Cardoso[Car05b] schlug eine Verallgemeinerung der aus der Software-Komplexitätsmessung bekannten zyklomatischen Komplexität [McC76] vor, die wir in Abschnitt 2.3 besprechen werden. Gruhn und Laue [GL06] sowie Cardoso et al. [CMNR06] gaben eine Übersicht über Ansätze zur Komplexitätsmessung von Software und ihre Übertragung auf Geschäftsprozessmodelle. Rolón et al. [ARGP06] schlagen verschiedene Zählund Verhältnismetriken für die Sprache BPMN vor. All diese Arbeiten entstanden unabhängig voneinander in verschiedenen Forschergruppen in den vergangenen zwölf Monaten sicher ein Zeichen dafür, dass die Komplexitätsmessung von Geschäftsprozessmodellen ein aktuelles und relevantes Thema ist. Keine der bisher genannten Arbeiten liefert eine umfassende Validierung der Tauglichkeit der vorgeschlagenen Metriken. Den ersten Schritt hierzu unternahmen Mendling et al.[MMN06], die EPK-Modelle des SAP R/3 Referenzmodells testeten und untersuchten, welcher Zusammenhang zwischen verschiedenen Komplexitätsmetriken und Modellfehlern besteht. Während bei allen bisher genannten Arbeiten zur Messung der Modellkomplexität nahezu ausschließlich der Kontrollfluss eines Geschäftsprozessmodells betrachtet wurde, schlägt [Car06] erstmals Metriken vor, die auch den Dokumentenfluss und die Nutzung von Ressourcen in die Betrachtungen einbeziehen. Die wichtigsten der in den genannten Veröffentlichungen vorgeschlagenen Metriken werden im Abschnitt 2 diskutiert. Bisher sind unseres Wissens kaum Werkzeuge verfügbar, die Komplexitätsmetriken von Geschäftsprozessmodellen messen können. Zu nennen ist in diesem Zusammenhang Argo/ UML[RR00], das u.a. Layoutprobleme in UML-Diagrammen erkennt. Einen Ansatz für UML-Aktivitätsdiagramme präsentiert [Gro04]; hier werden einerseits bekannte Stilprobleme[Amb03] erkannt, andererseits einige Zählmetriken sowie bei Aktivitätsdiagrammen die zyklomatische Komplexität (siehe Abschnitt 2.3) berechnet. In unserem Beitrag stellen wir das Werkzeug EPCMetrics vor, das verschiedene Komplexitätsmetriken für EPK-Modelle berechnen kann.