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

 

In diesem Video sprechen wir über Stornierungsregionen in YAWL. Diese Abbruchbereiche sind ein flexibles Werkzeug zum Umgang mit allen Arten von abnormalem Verhalten, von vom Benutzer ausgelösten Abbrüchen von Aktivitäten bis hin zu Zeitüberschreitungen. Die Flexibilität bei der Definition von Stornierungsregionen hat ihren Preis: Fehler sind leicht möglich. Wir zeigen Ihnen, wie Sie diese vermeiden. Die hier angehängte ZIP-Datei enthält eine anfängliche und eine endgültige YAWL-Spezifikation, um diesem Tutorial auf Ihrer eigenen YAWL-Installation zu folgen.

Das Begleitmaterial finden Sie hier.

Hallo! Willkommen zurück zu einem anderen Tutorial! Heute werden wir über Stornierungsregionen in YAWL sprechen. In vielen Fällen ist es wichtig, eine Reihe von Aufgaben abbrechen zu können, sobald Sie einen komplexen Workflow gestartet haben. In YAWL sind Stornierungsbereiche ein äußerst leistungsfähiges Werkzeug. Allerdings ist es nicht so einfach, sie richtig zu verwenden. Heute werde ich Ihnen zeigen, wie Sie Fehler beim Definieren von Stornierungsbereichen vermeiden können, und wir werden Ihnen ein Beispiel geben und die Mechanismen dieser Stornierungsbereiche erläutern. Ergänzendes Material finden Sie wie gewohnt unter dem folgenden Link. Und wir werden gleich anfangen. Wir beginnen mit einer Spezifikation, die Sie im ergänzenden Material finden. Die Datei heißt Tutorial12.yawl. Außerdem müssen Sie zuerst die YBWP-Datei zum Exportieren von YAWL-Organisationsdaten laden. Wenn Sie nicht wissen, wie das geht, schauen Sie sich eines der vorherigen Tutorials an. Diese Spezifikation ist hier bereits in den YAWLeditor geladen, und Sie können sie erkennen, da dies die Spezifikation von Lernprogramm 9 ist. Wir haben jemanden, der eine Anforderung formuliert, und dann läuft ein Prozess, in dem wir uns entscheiden, entweder Software in einem Projekt zu entwickeln oder Software zu beschaffen. Stellen Sie sich vor, Sie stellen nach der Formulierung der Anforderung fest, dass Sie diese Software doch nicht benötigen und den gesamten Vorgang abbrechen möchten - unabhängig davon, wo er sich gerade befindet. Wenn wir uns also diesen ganzen Teil der Spezifikation nach der Formulierung ansehen, können wir sagen, dass wir das Ganze trotzdem stornieren können, bis die Bestellung versandt oder das Projekt tatsächlich gestartet wird. Und wir möchten die Möglichkeit geben, denselben Benutzer zu kündigen, der die Anforderung formuliert hat. Wie können wir das machen? Nun, wir werden zuerst eine UND-Aufteilung nach "Anforderung formulieren" erstellen. Und das ist hier ein sehr häufiges Muster. Also wählen wir " Anforderung formulieren " und gehen auf die linke Seite, schauen uns den geteilten Typ an und wählen aus. Und hier fügen wir eine Aufgabe "Anforderung abbrechen" ein und verbinden sie hier und verbinden sie dann auch mit dem Ende. Diese Aufgabe zum Abbrechen von Anforderungen wird demselben Benutzer angeboten, der die Anforderung formuliert hat. Also auf der linken Seite, gehen wir zu Resourcing, ermöglichen Systemangebot, und wir werden die completer der Aufgabe „Formulieren Anforderung“ wählen. Um unseren Stornierungsbereich zu definieren, müssen wir hier auf dieses rote Kreissymbol klicken. Und dann erhalten wir hier ein weiteres Symbol, mit dem wir diesem Stornierungsbereich Elemente hinzufügen können. Wir müssen alles auswählen: Ausgehend von dieser Bedingung hier alle Aufgaben hier und auch die Bögen zwischen den Aufgaben. Der Grund, warum wir die Bögen auswählen müssen, ist, dass YAWL von Petri-Netzen stammt. Und in Petri-Netzen gibt es zwischen zwei Übergängen immer einen Platz. Und Sie können sich vorstellen, dass jedes Mal, wenn wir zwei Aufgaben oder zwei Übergänge in einer YAWL-Spezifikation haben, ein impliziter Platz zwischen ihnen ist, der sich auf dem Bogen befindet. Deshalb müssen wir jetzt alle Elemente in diesem Stornierungsbereich auswählen, den wir definieren möchten. Also wählen wir hier die Bedingung aus und klicken auf "Hinzufügen" und wählen dann die Aufgaben aus. Und wir wählen alle Bögen zwischen den Aufgaben aus. Und jetzt ist unsere Stornierungsregion abgeschlossen. Und wir werden auch ... jetzt können wir damit aufhören ... und jetzt sehen wir die Stornierungsregion nicht mehr. Wir können Aufgaben erneut auswählen und daraufklicken, um sie erneut anzuzeigen. Und Sie können jetzt sehen, dass dieser rote Punkt hier anzeigt, dass dies eine Stornierungsaufgabe ist. Außerdem definieren wir "Projekt starten" und " Bestellung vorbereiten " als Stornierungsaufgaben. Also werden wir wieder den Stornierungsbereich definieren. Und dieses Mal wählen wir "Anforderung abbrechen" und den Bogen davor. Siehe "Projekt starten" ist jetzt eine Abbruchaufgabe. Und wir werden das Gleiche für "Bestellung vorbereiten" tun. Und wir sind fertig. Wir speichern dies und laden es in die YAWL-Engine hoch. Jetzt können wir beginnen, den Fall auszuführen und zu sehen, wie er sich verhält. Die erste Aufgabe ist also Lorenzo Monaco zugewiesen: "Anforderung formulieren". Und jetzt haben wir drei Arbeitselemente: "Anforderung abbrechen", die Lorenzo Monaco zugewiesen wird, dem gleichen Benutzer, der gerade die Anforderung gestartet hat, "Softwareentwicklungsprojekt definieren" und "Softwarebeschaffung vorbereiten". Alle sind jetzt demselben Benutzer zugeordnet. Dies dient zu Demonstrationszwecken und wir werden sehen, was passiert, wenn wir "Anforderung abbrechen" ausführen. "Wir akzeptieren und starten es. Und Sie können immer noch sehen, dass die anderen beiden noch da sind. Also hat es begonnen und da wir kein Verhalten dafür definiert haben, können wir es nicht anzeigen, aber wir können es vervollständigen. Und Sie können es jetzt sehen: Nach Abschluss sind alle anderen Arbeitselemente verschwunden. Wenn wir uns die Fälle ansehen, können wir sehen, dass der Fall abgeschlossen ist. Diese Stornierung hat also funktioniert. Sie können versuchen, den Workflow jetzt im Rest auszuführen und beispielsweise loszulegen Um das Projekt zu starten und zu sehen, zu welchem Zeitpunkt die Aufgabe "Anforderung abbrechen" wiederum abgebrochen wird. Und dieses Muster hier, dass wir zwei Bereiche im Workflow haben, die sich gegenseitig abbrechen, ist ein sehr häufiges Muster in Workflows Wenn Sie Fragen haben, stellen Sie diese bitte in den Kommentaren und vergessen Sie nicht, diesen Kanal zu abonnieren, wenn Sie keine neuen Folgen verpassen möchten. Bis bald!