Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

On the Choice Between Graph-Based and Block-Structured Business Process Modeling Languages

796 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

On the Choice Between Graph-Based and Block-Structured Business Process Modeling Languages

  1. 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. 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. 3. Beispielprozess Graph-based vs. block-structured business process modeling languages Präsentiert von Oliver Kopp 3
  4. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 15. Zusammenfassung Graph-based vs. block-structured business process modeling languages Präsentiert von Oliver Kopp 15
  16. 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

×