On the Choice Between Graph-Based and Block-Structured Business Process Modeling Languages
1. Modellierung betrieblicher Informationssysteme
MobIS 2008 – http://wi-mobis.gi-ev.de/
On the Choice Between
Graph-Based and Block-Structured
Business Process Modeling Languages
Oliver Kopp, Daniel Martin, Daniel Wutke, Frank Leymann
Institute of Architecture of Application Systems
kopp@iaas.uni-stuttgart.de
2. Agenda
Beispielprozess
Kriterien zum Vergleich von Workflow-Sprachen
Zusammenfassung und Ausblick
Graph-based vs. block-structured business process modeling languages
Präsentiert von Oliver Kopp 2
3. Beispielprozess
Graph-based vs. block-structured business process modeling languages
Präsentiert von Oliver Kopp 3
4. Eine andere Betrachtung des Beispielprozesses
<bpel:flow name=quot;Flowquot;>
<bpel:receive name=quot;Reparatur notwendigquot;>
<bpel:sources>
<bpel:source linkName='l1'></bpel:source>
</bpel:sources>
</bpel:receive>
<bpel:invoke name=quot;Reparatur durchführenquot;>
<bpel:targets>
<bpel:target linkName='l1'></bpel:target>
</bpel:targets>
<bpel:sources>
<bpel:source linkName='l2'>
<bpel:transitionCondition>
Benachrichtigung muss gedruckt werden
</bpel:transitionCondition>
</bpel:source>
<bpel:source linkName='l3'>
<bpel:transitionCondition>
Benachrichtigung fertig gestellt UND
Benachrichtigung muss archiviert werden
</bpel:transitionCondition>
</bpel:source>
</bpel:sources>
</bpel:invoke>
<bpel:invoke name=quot;Benachrichtigung druckenquot;>
<bpel:targets>
<bpel:target linkName='l2'></bpel:target>
</bpel:targets>
</bpel:invoke>
<bpel:invoke name=quot;Benachrichtung archivierenquot;>
<bpel:targets>
<bpel:target linkName='l3'></bpel:target>
</bpel:targets>
</bpel:invoke>
<bpel:links>
<bpel:link name=quot;l1quot;></bpel:link>
<bpel:link name=quot;l2quot;></bpel:link>
<bpel:link name=quot;l3quot;></bpel:link>
</bpel:links>
</bpel:flow>
Graph-based vs. block-structured business process modeling languages
Präsentiert von Oliver Kopp 4
5. Vergleich von Prozessmodellierungssprachen?
Üblicherweise durch sogenannte „Patterns“
Workflow-Patterns, Service-Interaction-
Patterns, Correlation-Patterns, …
Erfassen diese Patterns alle Aspekte von
Prozessmodellierungssprachen?
Was interessiert “Unentschlossene” am ehesten?
Gibt es K.O.-Kriterien?
Um welche Sprachen geht es?
BPEL, BPMN, EPK, Windows Workflow Foundation
Web Service Business Process Execution Language
(WS-BPEL 2.0, Vorgänger: BPEL4WS 1.x)
Business Process Modeling Notation
Ereignisgesteuerte Prozess-Kette
YAWL, XPDL, XL, (C# Erweiterung), u.v.m.
Graph-based vs. block-structured business process modeling languages
Präsentiert von Oliver Kopp 5
6. Kriterium: Standardized Rendering
Besitzt die Sprache eine standardisierte
(verbindliche) graphische Darstellung?
Die graphische Darstellung der Windows
Workflow Foundation ist implementiert, jedoch
nicht spezifiziert
Graph-based vs. block-structured business process modeling languages
Präsentiert von Oliver Kopp 6
7. Kriterium: Standardized Serialization
Besitzt die Sprache eine standardisierte
(verbindliche) Serialisierung?
XPDL ist der vorgeschlagene Standard für BPMN
EPML ist der vorgeschlagene Standard für EPCs
Wir sehen die Windows Workflow Foundation als
proprietäres Format, das direkt ausführbaren
Code darstellt
Graph-based vs. block-structured business process modeling languages
Präsentiert von Oliver Kopp 7
8. Kriterium: Intention der Sprache
Welche Zielgruppe spricht die Sprache an?
Durch BPEL können auch nicht-ausführbare
Prozesse modelliert werden
Abstract BPEL Processes
z.B. Beschreibung des Verhaltens eines Services
Graph-based vs. block-structured business process modeling languages
Präsentiert von Oliver Kopp 8
9. Kriterum: Graph-orientierte Modellierung
Kann mit der Sprache ein Workflow durch
Knoten und Kanten beschrieben werden?
Falls ja, welche Typen von Graphen werden
unterstützt?
Windows Workflow Foundation ist rein block-
orientiert
Falls Programm als Flussgraph interpretiert,
dann ist dieser stets wohl-strukturiert
Graph-based vs. block-structured business process modeling languages
Präsentiert von Oliver Kopp 9
10. Kriterium: Block-strukturierte Modellierung
Ist es möglich, in der Sprache Blöcke direkt
durch syntaktische Konstrukte auszudrücken?
In BPMN können durch das Schleifen-Konstrukt
und Unterprozesse Blöcke modelliert werden
Graph-based vs. block-structured business process modeling languages
Präsentiert von Oliver Kopp 10
11. Kriterium: Modellierung von Schleifen
Welche Typen von Schleifen können mittels der
Sprache ausgedrückt werden?
Structured Loops: while/repeat-until
BPEL verlangt, dass die Graphen azyklisch sind
Sowohl in BPEL als auch in WF können Zyklen
durch einen Zustandsautomat „simuliert“ werden
Graph-based vs. block-structured business process modeling languages
Präsentiert von Oliver Kopp 11
12. Kriterium: Parametrisierung der splits and joins
Können die Konstrukte zur
Aufspaltung und Zusammenführung
des Kontrollflusses parametrisiert werden?
BPEL: transition conditions und join conditions
Transition Conditions: Zugriff auf Daten im Prozess
Join-Bedinung: ausschließlich auf eingehende Kanten
BPMN: Join-Bedinung: auch auf Daten im Prozess
EPK: Es kann zwischen drei Typen gewählt werden
V
V
XOR
Graph-based vs. block-structured business process modeling languages
Präsentiert von Oliver Kopp 12
13. Kriterium: Semantik von Joins
Wie ist die Semantik von Joins definiert?
Wie aufwändig ist die Evaluierung?
Sichert die Semantik zu, dass der Workflow zum Ende
kommt?
Bei Dead-Path-Elimination (DPE) wird „globales Wissen“
zu dem Join durchpropagiert, damit
lokal die Entscheidung gefällt werden kann
Graph-based vs. block-structured business process modeling languages
Präsentiert von Oliver Kopp 13
14. Kriterium: Darstellung des Datenflusses
Kann durch die Sprache der Datenfluss explizit
dargestellt werden?
C r it er ia B P EL BPM N EP C WF
{ C13
Explicit D at a Flow + + {
Für BPEL wurde die Erweiterung “BPEL-D”
vorgestellt
Durch Assoziationen kann in BPMN und EPKs
der Datenfluss modelliert werden
Graph-based vs. block-structured business process modeling languages
Präsentiert von Oliver Kopp 14
15. Zusammenfassung
Graph-based vs. block-structured business process modeling languages
Präsentiert von Oliver Kopp 15
16. Zusammenfassung und Ausblick
Kriterienkatalog zum „schnellen“ Vergleich von
Prozessmodellierungssprachen
Nicht jede block-strukturierte Sprache ist
ausschließlich block-strukturiert
WS-BPEL 2.0 unterstützt Graph-basierte
Prozessmodellierung mit einer wohl-definierten
Semantik
Die Modell-Transformationen müssen überdacht
werden!
Graph-basierte Abbildung von BPMN auf BPEL?
Graph-based vs. block-structured business process modeling languages
Präsentiert von Oliver Kopp 16