Sie können dieses Tutorial auch auf Englisch und Französisch aufrufen.

 

In diesem Video untersuchen wir zusammengesetzte Aufgaben in YAWL. Zusammengesetzte Aufgaben ermöglichen die Erstellung von Teilworkflows und sind ein Mittel zur Strukturierung komplexerer Geschäftsprozesse. YAWL-Subworkflows basieren auf dem Prinzip des Single Entry Single Exit (SESE). Die folgende Datei enthält eine YAWL-Spezifikation für den Anfang und das Ergebnis am Ende.

 

Willkommen zurück zu einem weiteren YAWL-Tutorial! Heute werden wir über Unterworkflows sprechen, die in YAWL auch als zusammengesetzte Aufgaben bezeichnet werden. Unter-Workflows werden benötigt, wenn Workflows immer komplexer werden, um bestimmte Teile davon herauszufiltern. In YAWL haben wir das Prinzip des Single Entry Single Exit, d.h. jeder Subworkflow hat aus Sicht des Kontrollflusses genau einen Einstiegspunkt und einen Austrittspunkt. Das Besondere an Sub-Workflows oder Subnetzen ist, dass Sie, wenn Sie an gewöhnliche Programmiersprachen gewöhnt sind, das Konzept von Bereichen kennen, in denen Sie bestimmte Blöcke haben und dass Variablen in unteren Blöcken von oberen Blöcken aus sichtbar sind. In YAWL haben wir dieses Konzept nicht. Wenn Sie stattdessen ein Subnetz haben, müssen Sie die Parameter explizit an dieses übergeben, und das werden wir sehen. Wenn Sie sich also das ergänzende Material ansehen - den Link unten -, können Sie ein erstes Netz hochladen. In diesem Tutorial werden wir an diesem Netz arbeiten und es auf eine endgültige Version bringen. Okay, dann los! Wir beginnen also mit einer YAWL-Spezifikation aus dem Zusatzmaterial. Sie finden es hier unten und diese Datei heißt Tutorial10.yawl. Laden Sie das also in Ihren Editor und fangen wir an. Wir haben hier also bereits eine erste Aufgabe und einige Datentypen und Variablen vorbereitet. Angenommen, wir haben einen Bestellvorgang, bei dem die erste Aufgabe "Kaufanfrage vorbereiten" lautet. Wir möchten dann weiter bestellen und die Bestellung erfolgt in zwei Schritten. Also, um das in YAWL zu tun, gehen wir auf die Palette hier und wählen Sie die beiden Quadrate hier ein und klicken Sie auf eine Leinwand irgendwo und dann können wir dies als jede andere Aufgabe verbinden. Und vorerst verbinden wir es einfach mit dem Ende. Und jetzt, wenn wir zu dieser sogenannten zusammengesetzten Aufgabe gehen, können wir jetzt ein neues Subnetz erstellen. Und der Name des Subnetzes ist "Order" und wenn wir jetzt in diese neue Registerkarte gehen. Hier haben wir eine neue Sub-YAWL-Spezifikation mit einem einzelnen Eintrag und einem einzelnen Ausgang. Genau wie eine gewöhnliche YAWL-Spezifikation. Hier in diesem Subnetz haben wir also zwei Aufgaben: Die erste heißt "Kauf genehmigen" und die zweite heißt "Bestellung vorbereiten". Also gehen wir hier runter, erstellen eine neue Zerlegung und die zweite ist "Bestellung vorbereiten". Und jetzt gehen wir zurück zum Hauptnetz. Wir müssen die Netzvariablen explizit an das Teilnetz weitergeben, und in diesem Fall benötigen wir zwei Netzvariablen. Wir gehen zu dieser zusammengesetzten Auftragsaufgabe, klicken auf Datenvariablen und sagen dann, wir brauchen die Bestellanforderung und wir brauchen die Bestellung. Die Bestellanforderung ist eine Eingabevariable, die aus dem Netz der obersten Ebene stammt, und die Bestellung ist eine Ausgabevariable. Jetzt haben wir die Variablen zur Verfügung. Wenn wir zum Auftragssubnetz und zur Aufgabe "Kauf genehmigen" gehen, können wir die Kaufanforderung von hier ausziehen und ablegen. Wenn wir eine andere Variable benötigen, sagen wir eine boolesche Variable "Genehmigt" "- Wir können es hier als lokale Variable definieren und es einfach in diese Aufgabe ziehen und dann die Bestellung vorbereiten. Variablen sind hier also "Purchase_request" als Eingabevariable, "Approved" als Eingabevariable und "Purchase_order" als Ausgabevariable. Dadurch wird die Ausgabe für das gesamte Subnetz vorbereitet. Das ist also alles für jetzt! Wir werden mit diesem Beispiel in einem späteren Video fortfahren. Das endgültige Netz dieses Tutorials finden Sie im ergänzenden Material. Das nächste Tutorial wird das erste zu fortgeschritteneren Themen sein, nämlich der Mehrfachinstanzaufgabe. Ich hoffe Dich dann zu sehen!