Prozessmodelle mit Petri Nets abbilden

In Unternehmen gibt es eine Vielzahl von Prozessen. Diese werden häufig mit speziellen Programmen wie ARIS und Co. abgebildet. Dabei fehlt aber häufig eine Zusammenführung mit den tatsächlichen IST-Daten der Prozesse. Wie man diese Daten und Sichten zusammenführen kann möchte ich, da ich gerade auf der Arbeit genau solch eine Aufgabe vor mir habe, darüber einen kleinen Beitrag mit meinen aktuellen Erkenntnissen dazu schreiben.

Wir werden dabei auf Methoden im Rahmen des Process Minings eingehen. Was Process Mining ist habe ich bereits versucht in einem eigenen Beitrag zu erläutern. Siehe hier.

Was werde ich also explizit erläutern?

  • Unterschied Discovery zu Conformance
  • Was brauche ich für Conformance
  • Was sind Petrinets und wie sind diese aufgebaut?
  • Wie sieht der aktuelle Use Case für das aktuelle Projekt bei mir aus / Was für Herausforderungen gibt es?

Also wo ist der Unterschied zwischen Discovery und Conformance?

Das ist an sich relativ schnell beschrieben. Discovery bedeutet die Visualisierung und Analyse des IST Prozesses. Abgeleitet aus einem Event-Log bei dem alle Aktivitäten und der Zeitpunkt dieser Aktivitäten zu den Prozessen enthalten ist. Conformance erweitert diese Sicht nun mit dem Abgleich des Ist-Prozesses zu dem Soll-Prozess. Ich kann also nicht nur nachvollziehen, wie der echte Prozess abläuft, sondern auch wo dieser gegen die eigentlichen Prozessvorgaben verstößt, also Aktivitäten ausgeführt werden die nicht gewollt sind  oder in falscher Reihenfolge ausgeführt werden.

Was brauche ich für Conformance Checks?

Neben dem IST-Prozess also die Abbildung über den Event Log braucht man auch den Soll Prozess. In der Regel wird dieser über ein Petri Net abgebildet. Hier ist enthalten welche Aktivitäten vorkommen dürfen und in welcher Reihenfolge diese ausgeführt werden. Diese Informationen werden dann dem IST-Prozess gegenübergestellt. Bei uns im Unternehmen ist Celonis im Einsatz, dass diese Dinge für den User fast komplett ohne Programmierkenntnisse zur Verfügung stellt. Für alle anderen kann ich die Open Source Python Library Process Mining 4 Python empfehlen. Die Herausforderung ist also für die Conformance Checks den Soll-Prozess in ein Petri Net umzubilden, da die Prozesse meistens in anderen Formen hinterlegt werden.

Was sind Petrinets und wie sind diese aufgebaut?

Gut also wir brauchen Petrinets aber was ist das denn jetzt überhaupt?
Also der Name kommt vom Erfinder Carl Adam Petri, der diese in den 1960er Jahren das erste Mal entwickelt hat. Im Deutschen wird es auch Petri-Netz genannt. Es wird zur Beschreibung von Modellen genutzt, vor allem bei verteilten Systemen. Was im Vergleich zu anderen Modellen auch eine gewisse Parallelität innerhalb der Modelle ermöglicht. Petri-Netze werden z.B. in UML und Aktivitätsdiagrammen eingesetzt. Im Prinzip stellen Petri-Netze einen Graphen dar der den Prozessfluss simuliert. Die Einfachste Version hat dabei drei Objekte. Places, Transitions und Edges. Komplexere Modelle erzeugen noch Gewichtungen für die verschiedenen Objekte nach denen eine Transition erst ab einem gewissen Gewichtungsgrad aktiviert wird. Fangen wir aber erstmal mit den drei Objekten an, was sind das für Objekte?

  • Places: Beschreiben die Plätze oder Zustände nach ausführen einer Aktivität. Places können von 1 oder mehreren Transitions angesteuert werden. Außerdem können sie  1 oder mehrere Transitions ansteuern. In der Darstellung werden diese als Kreise dargestellt.
  • Transitions: Die Aktivitäten im Petrinetz. Es muss exakt eine End und eine Start Aktivität geben. Dazwischen kann eine beliebig große Anzahl von Transitions existieren. Zwischen den Transitions liegt immer ein Places. Es gibt keine direkte Verbindung zwischen 2 Transisitions. Eine Transition wird erst ausgelöst wenn alle Places die zu ihr führen entsprechend ausgelöst wurden.
  • Edges: Dies sind die Kanten im Petrinetz, zwischen den Places und Transitions.

Wie sieht der aktuelle Use Case für mein Projekt aus?

Wir haben bereits unsere Prozesse gut visualisiert und können diese in unserem Tool darstellen. Wir haben in unserem Datenmodell nun viele Prozesse abgebildet und können diese in unseren Analysen gesondert darstellen. Unsere Soll Prozesse werden in einer eigenen Datenbank vorgehalten aber nicht in Petrinetz Formaten. Wir müssen also diese Petrinetze automatisch aus den vorliegenden Daten generieren und im nächsten Schritt in unser Process Mining Tool übergeben.

Was für Nutzen versprechen wir uns davon?

Wir haben über 1.000 unterschiedliche Teilprozesse die durchgeführt werden. Wir wollen automatisiert über alle Prozesse ein Dashboard zur Verfügung stellen, welches die Prozesseffizienz der IST Prozesse darstellt, aber auch einen Abgleich zwischen Soll & IST Prozesse ermöglicht. Der Prozessmanager wird dadurch in die Lage versetzt, zu sehen ob schlechte Prozessperformance daran liegt, dass der Soll-Prozess nicht eingehalten wird, oder ob dieser einfach selbst verbessert werden muss. Vor allem aber auch bei welchem der vielen Prozesse angesetzt werden muss und evtl. welche man zusammenfassen kann und standardisieren kann.

Es ist noch in weiten Teilen eine Vision die wir hier verfolgen. Aber die ersten Schritte sind gemacht. Zum einen müssen wir erst verstehen wie wir die Petrinetze aus unseren Soll-Prozessmodellen erstellen können. Wenn es soweit ist, werde ich darüber auch nochmal einen Blogeintrag verfassen.