BPMN Flashcards
In welchen Phasen des Lebenszyklus von Workflows
werden Petri Netze eingesetzt?
Lebenszyklus von Workflows (Wdh. Kap. 2)
–>Evaluierung:
Workflow „Mining“
Monitoring von Aktivitäten
–>Analyse:
Validierung
Simulation
Verifizierung
Was kann BPMN?
Beschreibt die Notation und Semantik von Prozessen sowie der Kommunikation zwischen Prozessen
o Prozesse werden als sogenannte „Diagramme“ modelliert
o Orchestrierung: Beschreibung des „Zusammenspiels“ von Komponenten (ein Prozess)
o Choreographie (Kommunikation zwischen Prozessen) “lingua franca for process communication”
® Intension sowohl für anwendungsnahe grobe Modelle (descriptive BPMN) als auch für analytische Modelle (analytic BPMN) sowie für ausführbare Modelle (executable BPMN)
® Formale Definition (Meta-Modell) und formale
Ausführungssemantik (neu BPMN 2.0)
Welche Standardisierungsstufen gibt es in BPMN?
Conformance-Klassen für die Klassifikation von Tools und Frameworks bzgl. Standardisierungsgrad:
® Deskriptives BPMN (descriptive)
o Graphische Modellierung
o Für Kommunikation mit den Anwendern
o Fachliches Modell („High-Level“) wird erstellt
® Analytisches BPMN (analytic)
o Ergänzung in der graphischen Repräsentation des
Workflowmodells
o Für Entwurfsexperten
® Ausführbares BPMN (common executable)
o Vervollständigung des Workflowmodells für die Ausführung
o Auf der XML-Beschreibungsebene
o Z.B. Spezifikation der Input-/Output-Sets für
Datenflussspezifikation, der Properties (Data) mit ihrem Typ in XML, der Bedingungen für Gateways
o Datentypdefinition mit XML, Service-Schnittstellendefinition
mit WSDL, Datenzugriffssprache ist Xpath.
Welche Sequenzfluss-Objekte gibt es in BPMN?
Sequenzflusses (funktionaler- und
Verhaltensaspekt) eines Workflows
® Aktivitäten
o Tasks (nicht mehr unterteilte Aufgaben, Arbeitsschritte); typisiert
oder untypisiert
o Subprozesse (hierarchische Modellierung)
® Gateways
o Verzweigung und Zusammenführung (Verknüpfung)
® Ereignisse („Events“)
Welche Verbindungs-Objekte gibt es in BPMN?
o Sequenz-Fluss
o Nachrichten-Fluss
o Assoziation
Welche typisierten Tasks gibt es in BPMN?
® Service-Task
o Automat. Funktion, z.B. Aufruf einer Anwendungsfunktion oder eines Web Services
® Geschäftsregel-Task
o Umsetzung von Geschäftsregeln
® Empfangs-Task (Nachricht)
® Skript-Task
o Ausführung eines Skripts durch Engine
® Sende-Task (Nachricht)
o Entspricht nachrichtensendend. Ereignis
® Manueller Task
o Manuelle Tätigkeit ohne ITUnterstützung
® Benutzer-Task
o Eingaben durch Benutzer
® Unbestimmter Task
Beschreibe die Merkmale eines Subprozesses! Wie wird er gekennzeichnet und warum eingesetzt?
Subprozesse
® Explizite Kennzeichnung im „Hauptprozess“
o Aktivität, die „aufgeklappt“ wird
o oder Umrandung im Hauptprozess
® Aufruf nur vom übergeordneten Prozess aus
(Hauptprozess) möglich
® Subprozess gehört logisch zum „Hauptprozess“ (z.B.
Zugriff auf Daten)
® Start- und End-Ereignisse
® Beliebig viele Hierarchiestufen
® Einsatz:
o Komplexitätsreduktion durch Auslagerung (Top-Down-Entwurf)
o Schleifen (Wiederholung) und Gruppierung von Aktivitäten (z.B.
für Abbruch)
Wie werden Schleifen gekennzeichnet? Wie können Ausführungsbedingungen/Abbruchkriterien spezifiziert werden? (Konstrukte für Aktivitäten)
® Schleifen (loop): **mit einem runden Pfeil
o Darstellung von Wiederholungen als Alternative zu
Sequenzfluss-Schleifen
o Spezifikation einer Ausführungsbedingung oder eines Abbruchkritieriums, bzw. minimale und maximale Ausführung; formal (XPath) oder als textuelle Annotation
Was sind Mehrfachinstanzen? Unterschied zu Schleifen? (Konstrukte für Aktivitäten)
® Mehrfachinstanzen
o Darstellung von mehreren, gleichen Aktivitäten
o Unterschiede zu Schleifen:
• Anzahl der Durchführungen steht fest
• Keine Kopplung an Bedingungen
• Beliebige Ausführungsreihenfolge (sequentiell, parallel)
Besonderheiten bei Sequenzen? Stichwort: Split/Join („Connecting Objects“)
Verzweigung („Split“, in BPMN-Terminologie: „Fork“)
AND-Split
Zusammenführung („Join“, in BPMNTerminologie:
„Merge“) von Sequenzflüssen
XOR-Join
Welche Gateways gibt es? Wie sieht es mit dem Zeitverbrauch aus beim Durchlaufen? (Gateways)
Flussobjekte in BPMN: Gateways
® Kein Zeitverbrauch beim Durchlaufen der Gateways
® Unterscheidung nach Logik:
o exklusiv (XOR); 2 Symbole o parallel (AND) o Inklusives Oder (OR), d.h. ein oder mehrere Pfade o komplex (beliebige Regelspezifikation)
® sowie Unterscheidung
o daten-basiert (z.B. exklusives Gateway)
o Ereignis-(event-)basiert (z.B. exklusives Gateway)
Annmerkungen zu Gateways (Kombination Split&Join| Default-Modellierung|Komplexe Gateways| Alternative Modellierung von Gateways)
Anmerkungen zu Gateways
® Generell beliebige Kombinationen möglich (Split-Gateway, Join-Gateway), allerdings sollte Nachvollziehbarkeit sowie Fehleranfälligkeit berücksichtigt werden
® Bei exklusiven und inklusiven OR-Gateways Modellierung von Default-Ausgängen möglich
® Komplexe Gateways werden in der Praxis selten
eingesetzt
® Alternative zu Gateways sind bedingte oder
bedingungslose Sequenzflüsse
o Bedingungsloser Split: AND (parallele Verzweigung)
o Bedingungsloser Join: XOR
o Bedingte Flüsse: spezielle Notation
Was sind Events? Wie können sie im Auftreten unterschieden werden? (Flussobjekte)
Flussobjekte in BPMN - Events
® Ein Event repräsentiert das Eintreffen (Zeitpunkt) eines Ereignisses während des Ablaufes eines Prozesses
® Unterscheidung nach Auftreten im Prozess (auch graphisch):
o Startereignis
• Starten einer neuen Prozessinstanz
o Zwischenereignis („intermediate event“) • Eintretend „Catching“ • Auslösend „Throwing“
o Endereignis
• tritt bei Ende des Prozesses ein
® Events können an verschiedenen Stellen der Ablaufbeschreibung integriert werden (z.B. an Aktivität geheftet)
Überblick Events - Unterscheidung Catching und Throwing
https://dbis.ipd.kit.edu/download/kap07-wfms-Modellierung-BPMN.pdf [[Folie 24]]
Beschreibe Pools und Lanes! Wo kann man verschachteln? Und was kann man über den Detailierungsgrad von Pools sagen? Was ist ein collapsed Pool bzw. Black Box?
Pools und Lanes
Darstellung von Rollen, Verantwortlichkeiten und
Organisationsstrukturen, aber auch „Aufgabenträgern“ (z.B. techn. Infrastruktur)
® Pools
o Abgrenzung von Prozessbeteiligten, üblicherweise eine Organisation
o Detaillierungsgrad nicht vorgegeben (einzelne Rolle bis Unternehmen)
o Spezialfall „collapsed pool“ (black box) zur Darstellung des externen Verhaltens
® Lanes (Bahnen)
o Unterteilung von Pools
o Abbildung der Organisationsstruktur (bzw. Infrastruktur)
o Verschachtelung möglich („nested lanes“)
® Klare Zugehörigkeiten: Ein Prozess gehört immer zu einem Pool, eine Aktivität immer zu einer Lane.
Was kann man zur Interaktion in Bezug auf Lanes und Pools sagen?
Beispiele mehrere Pools –> Interaktion mehrerer Prozesse
Beispielprozess mit Lanes –> Ein Prozess und mehrere Beteiligte
Was kann man über Nachrichtenflüsse sagen? Von wo nach Wo werden sie eingezeichnet? („Connecting Objects“)
Nachrichtenflüsse#
® Nachrichtenflüsse („Message Flows“) symbolisieren
Informationen, die von Pool zu Pool fließen (d.h. von Prozess zu Prozess)
o Beliebige Art von Informationsaustausch
® Kommunikation
o unternehmensübergreifend
o prozessübergreifend
® sowohl an Pools als auch an Aktivitäten bzw. Nachrichten-Ereignissen
Unterschied BPMN und BPMN 2.0 ?
Daten in BPMN
® Ursprüngliche Intension BPMN (1.0 und 1.1.): keine explizite Modellierung der benötigten Daten
o Datenzugriff innerhalb eines Prozesses möglich (prozesslokal)
o Problematik:
• Abhängigkeiten der Daten / Datenfluss
• Bei vielen Prozessen kein gemeinsamer Datenpool
® Wesentliche Änderungen des Datenaspektes in Version BPMN 2.0:
o Gehört zu den BPMN-Kernelementen
o Ausführungssemantik berücksichtigt auch die Nutzung von Datenobjekten
o Datenflussspezifikation über Input-/Output-Sets
Daten in BPMN 2.0
® Möglichkeiten zur Spezifikation von Daten
o für Prozesse
o für daten-abhängige Flusselemente
• Tasks (Eingabemenge „Data Needs“, Ausgabemenge „Data Results“)
• Gateways & Events (über „catch data“ (Empfang) und „throw data“ (Versand))
o als globaler Datenspeicher
® Sichtweise: Verfügbarkeit von Daten („data availability“)
o Obligatorische und optionale Daten
o Alternative Ein- und Ausgabemengen
® Unterscheidung der Spezifikationsdetaillierung
o „Analytical and descriptive sub-class“
• „Analytical sub-class“: visuelle Darstellung von Daten (im Diagramm)
• Nicht notwendigerweise eindeutig bzgl. Ausführungssemantik
o „Executable subclass“
• sog. “IOSpecifications” für Ausführungssemantik (in XML-Darstellung)
Was sind die wichtigsten Modellierungskonstrukte in BPMN?
Überblick BPMN Elemente
o Aktivitäten, o „Gateways“, o Ereignisse („Events“), o Flüsse, o Daten, o„Pools“ und „Lanes“, o Artefakte
Wozu werden „Lanes“ benutzt?
® Lanes (Bahnen)
o Unterteilung von Pools
o Abbildung der Organisationsstruktur (bzw. Infrastruktur)
o Verschachtelung möglich („nested lanes“)
® Klare Zugehörigkeiten: Ein Prozess gehört immer zu einem Pool,
eine Aktivität immer zu einer Lane.
Beschreiben Sie den Unterschied zwischen Task und Subprozess anhand eines Beispiels.
® Aktivitäten unterteilt in –>
o Tasks (nicht mehr unterteilte Aufgaben, Arbeitsschritte); typisiert oder untypisiert
o Subprozesse (hierarchische Modellierung)
BSP=> noch einfügen
Ausführlich
Subprozesse
® Explizite Kennzeichnung im „Hauptprozess“
o Aktivität, die „aufgeklappt“ wird
o oder Umrandung im Hauptprozess
® Aufruf nur vom übergeordneten Prozess aus
(Hauptprozess) möglich
® Subprozess gehört logisch zum „Hauptprozess“ (z.B.
Zugriff auf Daten)
® Start- und End-Ereignisse
® Beliebig viele Hierarchiestufen
® Einsatz:
o Komplexitätsreduktion durch Auslagerung (Top-Down-Entwurf)
o Schleifen (Wiederholung) und Gruppierung von Aktivitäten (z.B.
für Abbruch)
Beschreiben Sie das Konzept von Ereignissen und klassifizieren Sie diese. Geben Sie ein Beispiel an.
Flussobjekte in BPMN - Events “Ereignisse”
® Ein Event repräsentiert das Eintreffen (Zeitpunkt) eines Ereignisses während des Ablaufes eines Prozesses
® Unterscheidung nach Auftreten im Prozess (auch graphisch): o Startereignis • Starten einer neuen Prozessinstanz o Zwischenereignis („intermediate event“) • Eintretend „Catching“ • Auslösend „Throwing“ o Endereignis • tritt bei Ende des Prozesses ein
® Events können an verschiedenen Stellen der Ablaufbeschreibung integriert werden (z.B. an Aktivität geheftet)
Geben Sie für verschiedene Typen von „Gateways“ Beispiele an.
Unterscheidung nach Logik:
o exklusiv (XOR); 2 Symbole >> o parallel (AND) o Inklusives Oder (OR), d.h. ein oder mehrere Pfade o komplex (beliebige Regelspezifikation)
® sowie Unterscheidung
o daten-basiert (z.B. exklusives Gateway)
o Ereignis-(event-)basiert (z.B. exklusives Gateway)
–> Einladung Job Interview –> OR*E -> (1) Zusage eingetroffen[1.1 aktivität=Interview vorbereiten] (2) Absage eingetroffen [2.2 task=unterlagen zurücksenden]
Beschreiben Sie den Unterschied von ad-hoc Subprozessen, Ereignis-Subprozess, Subprozessen und Aufrufaktivitäten.
Ad-hoc Teilprozess
Bei einem Ad-hoc-Teilprozess werden die Aktivitäten ohne vorgegebene Reihenfolge ausgeführt. Die jeweilige Rolle, die die Aktivitäten ausführt, hat die Freiheit die Reihenfolge selbst festzulegen. Ein Ad-hoc Teilprozess enthält wegen der willkürlichen Reihenfolge der Aktivitäten auch keine Sequenzflüsse.
Ereignis-Unterprozesse
® Motivation: „Abfangen“ von Ereignissen
® Aktivierung des Unterprozesses durch Ereignis (im Unterschied zu
normalen Subprozessen)
® Eintreten des Ereignisses während der Durchführung des
„Hauptprozesses“
® Parallele Durchführung von Ereignis-Unterprozess („Event-Sub-
Process“) und Prozess
® Ereignis-Unterprozess kann mehrmals gestartet werden und
gleichzeitig mehrere Instanzen haben
® Typ des Startereignisses bestimmt Effekt für Hauptprozess
(abbrechend, nicht-abbrechend)
Subprozesse
® Explizite Kennzeichnung im „Hauptprozess“
o Aktivität, die „aufgeklappt“ wird
o oder Umrandung im Hauptprozess
® Aufruf nur vom übergeordneten Prozess aus
(Hauptprozess) möglich
® Subprozess gehört logisch zum „Hauptprozess“ (z.B. Zugriff auf Daten)
® Start- und End-Ereignisse
® Beliebig viele Hierarchiestufen
® Einsatz:
o Komplexitätsreduktion durch Auslagerung (Top-Down-Entwurf)
o Schleifen (Wiederholung) und Gruppierung von Aktivitäten (z.B.
für Abbruch)
Ad-hoc Subprozesse
® Motivation: Darstellung von flexiblen Prozessen (z.B.
Krankenhaus im Einführungsbeispiel), deren Aktivitäten
spezifizierbar, aber deren Ablauf (Sequenzfluss) nicht bekannt ist (bzw. nur teilweise bekannt ist)
® Darstellung von Aktivitäten ohne Sequenzfluss (bzw. teilweise
mit, sofern bekannt)
® Ausführung der Aktivitäten in beliebiger Reihenfolge und beliebiger Häufigkeit (Spezifikation eines Abbruchkriteriums)
Aufruf-Aktivitäten
® Motivation: Wiederverwendung von Aktivitäten in mehreren Prozessen (d.h. globale Aktivität)
® Aufruf-Aktivität („Call Activity“) unabhängig von aufrufenden Prozessen
o Notwendigkeit der Spezifikation von Schnittstellen und Prozessvariablen, da kein Zugriff auf Prozessvariablen
o Beispiel Daten: DataNeed und DataResult der Aufruf-Aktivität sind ProcessDataInput und ProcessDataOutput der extern modellierten
Aufruf-Aktivität
® Bei Tasks: für beliebige Typen
® Bei Prozessen (!= Subprozesse)
o Eigenständige Prozesse
o Wechsel von Lanes (Aufruf und Ausführung) möglich
® Darstellung als dick umrandete Aktivitäten
® Frühere Bezeichnung (BPMN 1.2): „Reusable Subprocesses“
Diskutieren Sie mehrere Möglichkeiten zur
Ausnahmebehandlung.
Ausnahmen und Fehlerbehandlung
® Wichtiges Einsatzgebiet von Ereignissen („Events“)
® Grobklassifikationen
o Nach Effekt von Zwischenereignissen
• Abbrechend
• Nicht abbrechend
o Nach Intension
• Fehlerbehandlung
• Eskalationen
• Eintreffen sonstiger Ereignisse
o Nach Art der Modellierung
• Direkt im Prozess
• Parallelität: Ereignis-Unterprozesse
im Detail:
Abbrechende und nicht-abbrechende Ereignisse
® Motivation: Abbruch einer Aktivität bei Eintreten eines Ereignisses
o Ggf. auch in Verbindung mit Prozessabbruch
® Ereignis wird an Aktivität, der Ausnahmefluss an Ereignis „geheftet“
® Abbrechende Zwischenereignisse
o Beispiele: Ablauf einer gewissen Zeit, Stornierung
o Modellierung über alternative, abbrechende Sequenzflüsse oder
Subprozesse
® Nicht-abbrechende Zwischenereignisse
o Effekt: Aktivierung eines zusätzlichen (parallelen) Pfades
o Beispiele: Erinnerung bei Zeitablauf, Eintreffen einer Nachricht
o Spezielle Notation (siehe Folie Übersicht Events) („noninterrupting“,
gestrichelte Linien)
Erläutern Sie den Unterschied und die Gemeinsamkeiten zwischen Orchestrierungsdiagrammen und
Choreographiediagrammen.
Choreographie = globale Sicht