Lernmaterial · OFL-1.1

BPMN 2.0-Referenz

Teilnehmer (Participants)

Pool
Participant
Lane
Lane

Pool

Container für einen Prozess. Ein Teilnehmer an einer Interaktion. Pools tauschen Daten ausschließlich über Message Flows aus. Kann eingeklappt werden, um Details zu verbergen.

Pool mit Lanes: Orchestrierungsmodell
Pool als „Dirigent“: ein koordinierender Prozess verteilt Aufgaben an die Teilnehmer
Kollaboration: zwei Pools tauschen Nachrichten aus
Kollaboration: unabhängige Pools (Kunde und Pizzeria), verbunden durch Message Flows

Lane

Ein Band innerhalb eines Pools, das zeigt, wer die Aufgaben ausführt (eine Funktion, Rolle, Abteilung oder ein IT-System).

Lanes: Aufgaben nach Rollen aufgeteilt
Lanes im Pool „WG“ — Aufgaben verteilt auf die Mitbewohner (Christian, Falko, Robert); ein XOR-Gateway entscheidet, was gekocht wird

Aktivitäten (Activities)

Task-Typen

Abstrakt
Task (None)
Manuell
Manual
Benutzer
User Task
Senden
Send Task
Empfangen
Receive Task
Script
Script Task
Service
Service Task
Geschäftsregel
Business Rule

Abstract (None Task)

Der Typ ist nicht festgelegt. Wird in der frühen Modellierung verwendet, wenn die Ausführungsart noch nicht entschieden oder für das Ziel des Diagramms unerheblich ist. Im Grunde ein Platzhalter, der später zu einem konkreten Typ verfeinert wird.

User Task

Wird von einem Menschen über eine Softwareoberfläche ausgeführt: ein CRM-Formular, ein Bildschirm in einer Web-App, ein Eintrag in einem Task-Manager. Der wesentliche Unterschied zu einer manuellen Aufgabe ist, dass die Person innerhalb des Systems arbeitet, das den Status der Aufgabe verfolgt.

Beispiele: eine Anfrage im System genehmigen, ein Formular ausfüllen, ein Dokument in einem Self-Service-Portal prüfen.

Manual Task

Wird von einem Menschen ohne Beteiligung der BPM-Engine ausgeführt. Das System kann nicht automatisch erkennen, wann diese Arbeit beginnt oder endet.

Beispiele: ein Dokument physisch unterschreiben, einen Kunden telefonisch anrufen, ein persönliches Meeting abhalten, ein Paket per Kurier zustellen.

Service Task

Wird automatisch von einem Programm oder Dienst ausgeführt. Kein Mensch ist beteiligt. Der häufigste Task-Typ in ausführbaren Prozessen.

Beispiele: ein HTTP-Request an eine API, ein Schreibvorgang in eine Datenbank, ein Microservice-Aufruf, eine Berechnung ausführen.

Send Task

Sendet eine Nachricht an einen bestimmten externen Teilnehmer (einen anderen Prozess oder ein anderes System) und endet sofort, ohne auf eine Antwort zu warten. Ein Fire-and-Forget-Muster.

Beispiele: eine E-Mail an einen Kunden senden, ein Ereignis in eine Message Queue veröffentlichen, eine Benachrichtigung per Webhook senden.

Receive Task

Wartet auf eine eingehende Nachricht von einem externen Teilnehmer. Der Prozess pausiert an dieser Aufgabe, bis die Nachricht eintrifft.

Eine besondere Variante ist der instanziierende Receive: Ist eine solche Aufgabe der erste Schritt eines Prozesses, erzeugt bereits der Empfang der Nachricht eine neue Prozessinstanz (eine Alternative zum Nachrichten-Startereignis).

Beispiele: auf die Antwort einer Gegenpartei warten, auf einen Callback eines Zahlungsdienstleisters warten, auf eine Lieferbestätigung warten.

Script Task

Führt ein eingebettetes Skript (Code) aus, das direkt im Prozessmodell definiert ist. Anders als ein Service Task ruft der Code kein externes System auf — er läuft innerhalb der BPM-Engine.

Beispiele: ein Datenformat konvertieren, eine Frist berechnen, eine Zeichenkette für eine E-Mail zusammenbauen, eine Bedingung prüfen.

Business Rule Task

Ruft eine Entscheidungs-Engine auf (z. B. eine DMN-Tabelle). Eingaben werden an ein Regelwerk übergeben und eine Entscheidung zurückgeliefert.

Beispiele: einen Rabatt nach Kundensegment bestimmen, eine Versicherungsprämie berechnen, eine Anfrage gegen eine Richtlinie prüfen, eine Anfrage klassifizieren.
Alle BPMN-Task-Typen in einem Diagramm
Übersicht aller Task-Typen: abstract, manual, user, receive, send, script, service, business rule

Task-Marker

Kleine Symbole mittig am unteren Rand eines Task-Rechtecks. Sie zeigen das Verhalten der Aufgabe an — nicht ihren Typ.

Schleife
Loop
Multi-Inst. ∥
Parallel MI
Multi-Inst. ≡
Sequential MI
Compensation
Compensation
Ad-hoc ~
Ad-hoc
Subprozess +
Subprocess
MarkerBedeutungBeispiel
↻ LoopDie Aufgabe wiederholt sich, solange eine Bedingung gilt (eine Instanz, mehrere Iterationen)Ein Dokument überarbeiten → einreichen → bei Ablehnung wiederholen
∥ Parallele Multi-InstanzN Instanzen starten gleichzeitig — eine pro Element der SammlungDie Benachrichtigung an alle Genehmiger gleichzeitig senden
≡ Sequenzielle Multi-InstanzDieselben N Instanzen, aber eine nach der anderenJeden Kandidaten nacheinander interviewen
⏪ CompensationEine Rollback-Aufgabe: läuft nur, wenn eine Kompensation ausgelöst wird, um eine bereits abgeschlossene Aktion rückgängig zu machen„Buchung stornieren“, nachdem „Hotel buchen“ bereits abgeschlossen wurde
~ Ad-hocAufgaben im Subprozess laufen in beliebiger Reihenfolge, können wiederholt oder übersprungen werden; Start- und Endereignisse sind darin nicht erlaubtFreie Auswahl der Schritte während einer Kundenberatung
+ SubprozessEine zusammengesetzte Aktivität mit verborgener innerer Sequenz; Flüsse dürfen ihre Grenze nicht überschreiten„Auftragsabwicklung“ verbirgt 10 interne Schritte
Loop-Marker an einer Aufgabe
Loop-Marker (↻): die Aufgabe wiederholt sich, bis eine Bedingung erfüllt ist
Multi-Instanz-Marker an einer Aufgabe
Parallele Multi-Instanz (∥): „Pizza wählen“ läuft für jeden Mitbewohner gleichzeitig in einer eigenen Instanz
Compensation-Marker an einer Aufgabe
Compensation-Marker (⏪): eine Rollback-Aufgabe, die läuft, wenn eine abgeschlossene Aktion rückgängig gemacht wird

Subprozess

Eine zusammengesetzte Aktivität, markiert mit „+“. Enthält eine eigene Schrittfolge. Flüsse dürfen ihre Grenze nicht überschreiten. Zwischenereignisse docken an die Grenze an.

Subprozess: verborgene Komplexität
Ein Subprozess kapselt seine innere Sequenz — von außen ist nur der „+“-Marker sichtbar

Call Activity

Dicke Umrandung. Verweist auf einen globalen Subprozess (z. B. „Beschaffung“), der prozessübergreifend wiederverwendet wird.

Unterschied zum eingebetteten Subprozess: In einem eingebetteten Subprozess sind Daten direkt zugänglich (gemeinsamer Gültigkeitsbereich mit dem übergeordneten Prozess). Eine Call Activity ist ein eigenständiger Prozess — ihre Ein- und Ausgaben erfordern ein explizites Daten-Mapping: was wir beim Aufruf übergeben und was wir bei der Rückkehr auslesen.
Call Activity: ein gemeinsamer Subprozess, in mehreren Prozessen wiederverwendet
Call Activity: ein einziger globaler Subprozess „Artikel kaufen“ (dicke Umrandung) wird sowohl aus „Auftragsabwicklung“ als auch aus „Bestandspflege“ aufgerufen

Ad-hoc-Subprozess

Marker „~“. Aktivitäten darin können in beliebiger Reihenfolge laufen, sich wiederholen oder übersprungen werden. Start-/Endereignisse sind darin nicht erlaubt.

Ad-hoc-Subprozess: Aufgaben in beliebiger Reihenfolge
Ad-hoc (~): Aufgaben darin laufen in beliebiger Reihenfolge und können wiederholt werden

Event-Subprozess

Gestrichelte Umrandung innerhalb eines Prozesses. Wird durch ein Startereignis ausgelöst, während der übergeordnete Prozess aktiv ist. Unterbrechend — bricht den übergeordneten Prozess ab. Nicht unterbrechend — läuft parallel.

Event-Subprozess
Event-Subprozess (gestrichelte Umrandung): ausgelöst durch ein Ereignis innerhalb des aktiven übergeordneten Prozesses

Gateways

Steuern Verzweigung und Zusammenführung. Ein Gateway ist keine Aufgabe! Die Entscheidung fällt vor dem Gateway.

Exklusiv XOR
Entweder/oder
Parallel AND
Und/und
Inklusiv OR
Eine oder mehrere
Ereignisbasiert
Event-based
Komplex
Complex
Keiner
None

Exklusives Gateway (XOR)

Das häufigste Gateway. Beim Verzweigen aktiviert es genau einen ausgehenden Pfad — denjenigen, dessen Bedingung zuerst zutrifft. Ist keine Bedingung erfüllt, schlägt der Prozess mit einem Fehler fehl (daher ist es gute Praxis, immer einen „Default“-Zweig zu definieren). Beim Zusammenführen lässt es jedes eintreffende Token sofort durch, ohne auf die übrigen zu warten.

Analogie: eine Weggabelung, an der man nur in eine Richtung fährt.

Beispiele: „Ist die Bestellung bezahlt? → Ja / Nein“, „Ist der Betrag > 10.000? → Ja / Nein“.
Tipp: Formulieren Sie die Frage vor dem Gateway und schreiben Sie die Antwortoptionen an die ausgehenden Pfeile.
Exklusives (XOR) Gateway — Beispiel
XOR-Gateway: „Welches Gericht?“ → ein Rezept aus mehreren auswählen (nur ein Pfad wird aktiviert)

Paralleles Gateway (AND)

Beim Verzweigen aktiviert es alle ausgehenden Pfade gleichzeitig, bedingungslos — ohne Prüfung. Beim Zusammenführen wartet es auf Tokens auf allen eingehenden Pfaden und gibt erst, wenn alle eingetroffen sind, ein einziges Token weiter.

Analogie: ein Vorgesetzter verteilt Aufgaben an fünf Mitarbeiter und wartet, bis alle fünf fertig sind.

Beispiele: die Ware versenden und die Rechnung parallel ausstellen; verschiedene Abteilungen prüfen Dokumente gleichzeitig.
Antipattern: Führen Sie Zweige nicht mit AND zusammen, wenn sie per XOR verzweigt wurden oder wenn immer nur einer von ihnen durchlaufen wird. AND wartet ewig auf Tokens auf allen Eingängen — der Prozess gerät in einen Deadlock. Führen Sie nach einem XOR mit einem XOR zusammen (oder mit einer leeren Raute).
Paralleles (AND) Gateway — Beispiel
AND-Gateway: alle Zweige starten parallel und werden an der Zusammenführung synchronisiert (wir warten auf alle)

Inklusives Gateway (OR)

Eine Mischung aus XOR und AND. Beim Verzweigen aktiviert es einen oder mehrere Pfade je nach Bedingungen — jede Bedingung wird unabhängig ausgewertet. Beim Zusammenführen wartet es nur auf Tokens der tatsächlich aktivierten Pfade (nicht auf alle, wie es AND tut).

Analogie: ein Buffet — man nimmt ein Gericht, zwei oder alle, aber nie null.

Beispiele: der Kunde hat Lieferung und/oder Abholung und/oder Geschenkverpackung gewählt — die ausgewählten Optionen ausführen und auf deren vollständigen Abschluss warten.
Vorsicht: OR-Gateways sind schwerer zu analysieren. In verzweigten Diagrammen können die Synchronisierungsregeln unklar sein. Nicht jede Engine unterstützt sie korrekt.
Inklusives (OR) Gateway — Beispiel
OR-Gateway: je nach Bedingungen werden einer oder mehrere Pfade aktiviert; die Zusammenführung wartet nur auf die tatsächlich durchlaufenen Zweige

Ereignisbasiertes Gateway

Grundlegend anders als die übrigen: Es leitet nicht anhand von Daten weiter, sondern anhand des Ereignisses, das zuerst eintritt. Nach dem Gateway platziert man wartende Zwischenereignisse (Timer, Message, Conditional, Signal). Sobald eines auslöst, werden die anderen abgebrochen.

Analogie: Sie haben eine Pizza bestellt — ist sie nach 60 Minuten nicht da, rufen Sie die Pizzeria an; kommt sie früher, essen Sie.

Beispiele: auf Zahlung mit einem Timer warten (nicht in 3 Tagen bezahlt → Bestellung stornieren); auf die Antwort des Kunden oder eine Frist warten.
Ereignisbasiertes Gateway — Beispiel
Ereignisbasiertes Gateway: leitet danach weiter, welches Ereignis zuerst eintrifft (Timer vs. Message)

Komplexes Gateway

Wird verwendet, wenn sich die Verzweigungslogik nicht mit Standard-Gateways ausdrücken lässt. Die Zusammenführungsbedingung wird durch einen Ausdruck definiert (zum Beispiel „fortfahren, wenn 3 von 5 Zweigen abgeschlossen sind“ oder „wenn die erste Antwort eingetroffen ist und 10 Minuten vergangen sind“).

In der Praxis: selten verwendet und nicht von jeder BPM-Engine unterstützt. Wenn eine Kombination aus XOR / AND / OR ausreicht, ist diese vorzuziehen.

Kein Marker (Standard-Exklusiv)

Eine Raute ohne Marker. Semantisch gleichbedeutend mit einem exklusiven (XOR) Gateway — der BPMN-Standard erlaubt das Weglassen des Kreuzes. Manche Methodiker halten das für schlechte Praxis, weil es die Lesbarkeit beeinträchtigt: Es ist unklar, ob der Autor den Marker vergessen oder bewusst XOR gewählt hat.

Ereignisse (Events)

Grundbegriffe

Ein Ereignis ist etwas, das geschieht (eine Tatsache), im Gegensatz zu einer Aufgabe (einer aktiven Handlung). Als Kreise dargestellt.

Start
Dünner Kreis
Zwischen
Doppelter Kreis
Ende
Dicker Kreis

Catching (ungefüllter Marker) — warten. Throwing (gefüllt) — auslösen. Boundary-Ereignisse: unterbrechend (durchgezogen) und nicht unterbrechend (gestrichelt).

Übersichtstabelle der Ereignisse

Symbole aus bpmn-font (Camunda). „—“ = im Standard nicht definiert.

TypStartIntermediateEnd
NormalEvent-Subpr.Nicht unterbr.CatchBoundaryBoundary nicht unterbr.Throw
Kein
✉ Message
⏱ Timer
⚡ Error
▲ Signal
📋 Conditional
↗ Escalation
⬤ Terminate
⏪ Compensation
✖ Cancel
➡ Link
⬠ Multiple
➕ Parallel mult.

Message

Austausch mit einem bestimmten Empfänger: E-Mail, Anruf, HTTP, push. In jeder Position verfügbar.

Message-Ereignis — Beispiel
Message-Ereignis: das Senden einer Pizzabestellung als auslösendes Ereignis (Throw) startet den Prozess auf der Empfängerseite

Timer

Datum/Uhrzeit, Intervall, Countdown (Frist). Nur Catching.

Timer-Ereignis — Beispiel
Timer: Start (nach Zeitplan ausführen), unterbrechende Boundary (Frist), nicht unterbrechende Boundary (Erinnerung)

Error

Ein schwerwiegender Fehler. Catching — nur an einer Boundary. Throwing — nur am Ende.

Error-Ereignis — Beispiel
Ein Boundary-Error-Ereignis am Subprozess „Artikel kaufen“: bei einem Fehler geht der Fluss zum Handler „Kauffehler behandeln“; der Happy Path setzt mit der Bezahlung der Rechnung fort

Conditional

Warten auf eine externe Bedingung („der Ofen ist heiß“). Nur Catching.

Conditional-Ereignis — Beispiel
Conditional: der Prozess wartet, bis externe Bedingungen erfüllt sind — die Pizza kommt erst in den Ofen, wenn er 180° erreicht, und wird erst herausgenommen, wenn sie fertig ist

Signal

Broadcast (im Gegensatz zu einer adressierten Nachricht). Jeder Abonnent reagiert.

Signal-Ereignis — Beispiel
Signal: ein Pizza-Werbespot im TV startet den Prozess über einen Signal-Start; nach dem Kauf stellt sich Appetit ein (eine Bedingung), dann wird die Pizza gegessen; das Signal-Ende sendet die Bewertung an pizzatest.de

Terminate

Stoppt sofort die gesamte Prozessinstanz. Nur am Ende.

Paralleler Prozess mit einfachen Endereignissen
Ohne Terminate: nach dem AND-Split laufen die Tokens parallel. Aufgabe 2 dauert 45 Minuten, Aufgabe 3 dauert 30; die Instanz endet nach 55 Minuten, wenn beide Tokens von ihren einfachen (None-)Endereignissen verbraucht wurden.

Was, wenn es keinen Sinn mehr ergibt, Aufgabe 2 nach Abschluss von Aufgabe 3 fortzusetzen? Dann wird das folgende Muster verwendet:

Derselbe Prozess mit einem Terminate-Endereignis
Mit Terminate: nach Aufgabe 3 wird die Bedingung „wird Aufgabe 2 noch benötigt?“ geprüft. Wenn nicht — geht der Fluss in ein Terminate-Ereignis, das sofort jedes verbleibende Token der Instanz verbraucht (einschließlich der noch laufenden Aufgabe 2). Terminate ist nur als Endereignis zulässig.
Link-Ereignis — Beispiel
Link-Ereignis: ein „Teleport“ — Throwing wirft den Fluss hinaus, Catching nimmt ihn auf und ersetzt einen langen kreuzenden Pfeil

Compensation

Macht eine zuvor abgeschlossene Aktion rückgängig. Die kompensierende Aufgabe ist über eine Assoziation verknüpft.

Compensation-Ereignis — Beispiel
Compensation: ein Boundary-Ereignis (Kontur ⏪) an einer abgeschlossenen Aufgabe löst über eine Assoziation deren Kompensations-Handler aus

Escalation

Wird von einem Subprozess an den übergeordneten Prozess gesendet — kein Fehler. Kann nicht unterbrechend sein.

Escalation-Ereignis — Beispiel
Escalation: der Subprozess „Lieferung“ löst „verspätet“ aus; der übergeordnete Prozess fängt es mit einer nicht unterbrechenden Boundary-Escalation ab und benachrichtigt parallel den Kunden — der Hauptfluss läuft weiter

Cancel

Nur im Kontext von Transaktionen. Am Ende — Rollback. An der Boundary — Catch.

Daten, Artefakte, Flüsse

Datenobjekt
Data Object
Datenspeicher
Data Store
Dateneingabe
Data Input
Datenausgabe
Data Output
Anmerkung
Text Annotation
Gruppe
Group
Fluss
Sequence Flow
Nachrichtenfluss
Message Flow
Bedingt
Conditional Flow
Standard
Default Flow
Transaktion
Transaction

Data Object

Ein „Blatt Papier“ mit umgeknickter Ecke. Steht für Informationen, die innerhalb einer Prozessinstanz erzeugt, verbraucht oder weitergegeben werden. Es existiert nur, solange die Instanz lebt.

Beispiele: eine Kundenanfrage, ein Vertragsentwurf, ein Bericht, der unterwegs zusammengestellt wird.

Data Store

Ein Zylinder. Dauerhafter Speicher, der die Prozessinstanz überdauert: eine Datenbank, ein Register, ein Dateispeicher. Aufgaben lesen daraus und schreiben hinein.

Beispiele: CRM, ERP, Bestelldatenbank, Dokumentenarchiv.

Data Input / Data Output

Parameter eines Prozesses oder Subprozesses an dessen Grenze. Input — was von außen bereitgestellt wird; Output — was zurückgegeben wird. Pfeil mit offenem/gefülltem Dreieck.

Beispiele: der Subprozess „Beschaffung“ nimmt eine Artikelliste als Input und gibt eine Rechnung als Output zurück.

Text Annotation

Ein Kommentar, der über eine gestrichelte Linie an ein beliebiges Element angehängt wird. Beeinflusst die Ausführung nicht — er dient nur der Klärung für den Leser des Diagramms.

Group

Ein gestricheltes, abgerundetes Rechteck. Eine visuelle Gruppierung von Elementen (z. B. „alle Logistikaufgaben“). Es hat keine Ausführungssemantik; Flüsse dürfen seine Grenze frei überschreiten.

Sequence Flow

Ein durchgezogener Pfeil mit gefüllter Spitze. Legt die Ausführungsreihenfolge innerhalb eines einzelnen Pools fest. Kann Pool-Grenzen nicht überschreiten.

Ein bedingter Fluss (mit kleiner Raute am Ursprung) — wird nur ausgelöst, wenn seine Bedingung wahr ist. Wird an ausgehenden Pfeilen einer Aufgabe ohne Gateway verwendet.

Ein Standardfluss (mit Häkchen am Ursprung) — der Ausweichpfad eines XOR-/OR-Gateways oder einer bedingten Verzweigung, der genommen wird, wenn keine andere Bedingung zutrifft.

Message Flow

Ein gestrichelter Pfeil mit offener Spitze. Verbindet verschiedene Pools — eine zwischen unabhängigen Teilnehmern ausgetauschte Nachricht. Wird nicht innerhalb eines einzelnen Pools verwendet.

Beispiele: der Kunde sendet eine Bestellung an die Pizzeria; die Bank sendet eine Zahlungsbestätigung.

Transaction

Ein Subprozess mit doppelter Umrandung. ACID-Semantik: entweder werden alle inneren Aktionen erfolgreich committet, oder die gesamte Transaktion wird über ein Cancel-Ereignis (mit Kompensationen) zurückgerollt. Wird für Konsistenz bei verteilten Operationen verwendet.

Beispiele: die Buchung eines Pakets „Flug + Hotel + Auto“ — schlägt ein Schritt fehl, wird die gesamte Buchung storniert.

Bereit zum Ausprobieren?

Erstellen Sie Ihr erstes BPMN-Diagramm kostenlos — ohne Registrierung oder Kreditkarte.

BPMN-Flussdiagramme mit KI generieren
Beispiele adaptiert von camunda.com. Zusammengestellt von BP1.AI.