Boundary Event
Was ist ein Boundary Event?
Ein BPMN-2.0-Boundary-Event ist ein zwischengeschaltetes Catch Event, das am Rand einer Aktivität angebracht ist. Während die Aktivität läuft, wartet es auf einen Auslöser, etwa eine Frist, eine Nachricht, einen Fehler, ein Signal oder eine Datenänderung. Tritt der Auslöser ein, öffnet sich ein Pfad aus der Aktivität heraus.
- Es befindet sich immer am Rand eines Tasks, Sub-Process, einer Transaction oder Call Activity. Es kann weder an einem Event oder Gateway angebracht werden noch frei im Ablauf stehen.
- Es hat ausgehende Sequence Flows, aber keine eingehenden: Die Aktivität, an der es angebracht ist, ist der einzige Einstiegspunkt.
- Es wartet nur, solange die Aktivität aktiv ist. Wird die Aktivität zuerst abgeschlossen, wird das Boundary Event nicht ausgelöst. Compensation ist die Ausnahme: Sie wird nach Abschluss der Aktivität aktiviert.
- Wird der Auslöser aktiv, verlässt ein Token die Aktivität über den ausgehenden Flow des Boundary Events. Bei einem unterbrechenden Event wird das Token der Aktivität ersetzt, bei einem nicht unterbrechenden kommt ein weiteres Token hinzu.
- In der Notation wird es als Doppelkreis am Rand der Aktivität dargestellt, mit dem Auslösersymbol im Inneren.
ProcessMind unterstützt Boundary Events für alle auf dieser Seite aufgeführten Typen. Ziehen Sie ein Boundary Event aus der Gruppe Boundary Event oder Boundary Non-Int. in der Palette BPMN-Elemente auf den Rand einer Aktivität, um es dort anzubringen. Wenn Sie ein vorhandenes zwischengeschaltetes Catch Event auf den Rand einer Aktivität ziehen, wird es ebenfalls angebracht. Ziehen Sie es wieder weg, um es zu lösen. Sowohl die Anbindung als auch die Einstellung für die Unterbrechung bleiben beim Export und erneuten Import einer BPMN-Datei erhalten.
Unterbrechend oder nicht unterbrechend
Boundary Events gibt es in zwei Varianten. Welche Variante vorliegt, bestimmt, was mit der Aktivität geschieht, wenn der Auslöser eintritt.
| Unterbrechend | Nicht unterbrechend | |
|---|---|---|
| Darstellung | Ein durchgezogener Doppelring | Ein gestrichelter Doppelring |
| Auswirkung auf die Aktivität | Wird sofort abgebrochen; die darin ausgeführte Arbeit wird verworfen | Läuft weiter; nichts wird abgebrochen |
| Pfade nach dem Auslöser | Nur der Grenzpfad; der normale ausgehende Sequenzfluss der Aktivität wird nicht genommen | Beide: Der normale Pfad läuft weiter, während der Grenzpfad parallel ausgeführt wird |
| Mögliche Auslösungen | Einmal; nach dem Auslöser ist die Aktivität beendet | Mehrmals, solange die Aktivität aktiv ist, zum Beispiel bei jedem Zyklus eines wiederholten Timers |
| BPMN-Attribut | cancelActivity="true" | cancelActivity="false" |
Ein unterbrechendes Boundary Event ersetzt die normale Fortsetzung der Aktivität. Ein nicht unterbrechendes Boundary Event zweigt von ihr ab.
Verwenden Sie die unterbrechende Variante, wenn der Auslöser die Aktivität sinnlos oder unsicher macht, etwa bei einer verpassten Frist, einem Fehler oder einem Widerruf. Die nicht unterbrechende Variante eignet sich, wenn der Auslöser zusätzliche Arbeit parallel zur Aktivität anstößt oder eine Erinnerung beziehungsweise Mitteilung auslösen soll, ohne die laufende Arbeit zu verwerfen.
Beide Varianten sind nur sinnvoll, solange die Aktivität aktiv ist. Wird ein unterbrechendes Event ausgelöst, bricht es die Aktivität ab. Gleichzeitig werden alle anderen Boundary Events dieser Aktivität deaktiviert. Ein nicht unterbrechendes Event lässt die Aktivität und ihre übrigen Boundary Events bestehen.
Eine Aktivität, mehrere Boundary Events. Eine Aktivität kann mehrere Boundary Events haben. Eine Genehmigungsaufgabe kann zum Beispiel folgende Kombination enthalten:
- Ein unterbrechender Timer nach zwei Arbeitstagen: Eskalieren Sie den Vorgang und beenden Sie die Aufgabe.
- Ein nicht unterbrechender Timer alle vier Stunden: Senden Sie eine Erinnerung und lassen Sie die Aufgabe weiterlaufen.
- Ein unterbrechendes Error Event am Subprocess, der die eigentliche Prüfung ausführt: Behandeln Sie einen technischen Fehler.
Arten von Boundary Events
ProcessMind unterstützt die folgenden Arten. Es gibt mehr unterbrechende Varianten, weil manche Auslöser nur sinnvoll sind, wenn sie die Aktivität beenden.
Unterbrechende Boundary Events
| Typ | Bedeutung | Typisches Beispiel |
|---|---|---|
| Message | Wartet auf eine bestimmte Nachricht, die an diese Aktivität gerichtet ist. | „Auf Lieferantenangebot warten“ wird durch die Nachricht „Angebot zurückgezogen“ unterbrochen und mit „Alternativen Lieferanten suchen“ fortgesetzt. |
| Timer | Eine Frist: eine Dauer, ein Datum oder ein Zeitraum, der ab dem Start der Aktivität berechnet wird. | Für „Ausgabe genehmigen“ gilt ein Timer von zwei Tagen. Ist die Aufgabe bis dahin nicht abgeschlossen, wechselt der Case zu „An Finanzleitung eskalieren“. |
| Error | Fängt einen innerhalb der Aktivität ausgelösten Fehler ab und beendet sie. Error Boundary Events unterbrechen immer. | Der Subprocess „Bonitätsprüfung durchführen“ löst „Prüfung fehlgeschlagen“ aus. Der Grenzpfad führt zu „Manuelle Kreditprüfung anfordern“. |
| Escalation | Beendet die Aktivität, weil eine übergeordnete Stelle übernehmen muss. | „Vorfall beheben“ wird eskaliert, wenn die Frist für die erste Reaktion verstrichen ist. Der Vorgang wechselt zu „Vorfallsleitung übernimmt“. |
| Cancel | Fängt das Cancel-End-Event eines Transaction-Subprocess ab. Nur für eine Transaction zulässig. | Die Transaction „Reise buchen“ wird vom Kunden abgebrochen. Der Grenzpfad führt zu „Zahlung erstatten und Reservierungen freigeben“. |
| Vergütung (Sonderfall) | Führt den Vergütungshandler für eine bereits abgeschlossene Aktivität aus, um deren Wirkung rückgängig zu machen. Laufende Arbeit wird nicht abgebrochen. | „Anzahlung einziehen“ wird durch „Anzahlung erstatten“ rückgängig gemacht, wenn die Bestellung später im Prozess storniert wird. |
| Conditional | Wird ausgelöst, wenn während der Aktivität eine Geschäftsbedingung eintritt. | „Lagerbestand reservieren“ wird unterbrochen, wenn availableStock < orderedQuantity; der Case wechselt zu „Rückstand vermerken und Kunden benachrichtigen“. |
| Signal | Fängt ein Broadcast-Signal ab. Ein Signal ist nicht an eine einzelne Aktivität gerichtet; alle passenden Listener können darauf reagieren. | „Fehlende Unterlagen zusammentragen“ wird durch das unternehmensweite Signal „Case zurückgezogen“ unterbrochen und der Case geschlossen. |
| Multiple | Wird ausgelöst, sobald einer von mehreren Auslösern eintritt. | „Auf Antwort des Kunden warten“ fängt entweder die Nachricht „Antwort eingegangen“ oder einen Timer von zehn Tagen ab. Was zuerst eintritt, beendet die Wartezeit. |
| Parallel Multiple | Wird erst ausgelöst, wenn alle Auslöser eingetreten sind. | „Freigaben für die Veröffentlichung einholen“ wartet auf die Nachricht zur rechtlichen Freigabe und die Nachricht zur Sicherheitsfreigabe, bevor der Prozess fortgesetzt wird. |
Einige Faustregeln für diese Gruppe:
- Fehler gehört an einen Subprozess, eine Call Activity oder eine Transaktion, also an die Aktivität, in der der Fehler tatsächlich auftreten kann. Bei einer einfachen Aufgabe gibt es keinen inneren Ablauf, in dem ein Fehler auftreten könnte.
- Abbrechen gehört an einen Transaktions-Subprozess. An anderer Stelle gibt es nichts, was das Ereignis abfangen könnte.
- Vergütung ist ein Sonderfall. Das Ereignis wird aktiviert, nachdem die zugehörige Aktivität abgeschlossen ist, und durch ein Vergütungsereignis an anderer Stelle im Prozess ausgelöst. Es bildet ab, dass ein bereits ausgeführter Schritt rückgängig gemacht wird, nicht dass ein laufender Schritt beendet wird.
- Multiple beschreibt einen Wettlauf zwischen Auslösern. Parallel Multiple wartet dagegen auf alle Auslöser.
Nicht unterbrechende Boundary Events
| Typ | Bedeutung | Typisches Beispiel |
|---|---|---|
| Message | Eine Nachricht trifft ein, während die Aktivität weiterläuft; sie startet einen Nebenpfad. | „Angebot entwerfen“ läuft weiter, wenn die Nachricht „Kommentar der prüfenden Person eingegangen“ den Schritt „Prüfungskommentar protokollieren“ startet. |
| Timer | Eine Erinnerung oder regelmäßige Prüfung; die Aktivität wird nicht beendet. | Für „Support-Ticket bearbeiten“ gilt ein sich alle acht Stunden wiederholender Timer, der „Statusmeldung senden“ startet, während die Bearbeitung weiterläuft. |
| Escalation | Löst parallel zur Aktivität eine Eskalation aus, ohne sie zu beenden. | „Beschwerde bearbeiten“ läuft weiter, während die Eskalation „Kunde ist strategisch wichtig“ den Schritt „Account-Leitung benachrichtigen“ startet. |
| Conditional | Eine Bedingung startet einen Nebenpfad, während die Aktivität weiterläuft. | „Kreditantrag bearbeiten“ läuft weiter, wenn riskScore > 70 den Schritt „Zur Prüfung markieren“ startet. |
| Signal | Ein Broadcast startet für jeden Listener einen Nebenpfad; die Aktivität läuft weiter. | „Nächtliche Stapelverarbeitung ausführen“ läuft weiter, wenn das Signal „Markt geschlossen“ den Schritt „Zwischensummen sichern“ startet. |
| Multiple | Einer von mehreren Auslösern startet einen Nebenpfad; die Aktivität läuft weiter. | „Vertrag verhandeln“ bleibt offen. Eine Nachricht der Gegenpartei oder ein Timer von drei Tagen startet „Erinnerung senden“. |
| Parallel Multiple | Alle Auslöser starten gemeinsam einen Nebenpfad; die Aktivität läuft weiter. | „Auf alle Prüfungen warten“ bleibt aktiv, bis sowohl die Nachricht als auch das Signal eingegangen sind. Anschließend wird „Bereitschaft protokollieren“ gestartet. |
Nicht unterbrechende Boundary Events eignen sich für Erinnerungen, Mitteilungen, Beobachtung und parallele Eskalationen. Sie ändern den Hauptfluss nicht, sondern fügen einen Nebenpfad hinzu.
Event-Typen, die keine Boundary Events sind
Einige Event-Typen sehen aus, als könnten sie Boundary Events sein, sind es aber nicht:
- Link Events verbinden Teile eines Ablaufs. Sie sind zwischengeschaltete Catch oder Throw Events im Sequenzfluss, keine angehängten Events.
- Terminate beendet eine gesamte Prozessinstanz und kommt nur als End-Event vor.
- Keine ist kein Auslöser. Ein Boundary Event kann daher nie „Keine“ sein: Jedes Boundary Event muss etwas abfangen.
Boundary Event in ProcessMind hinzufügen
- Öffnen Sie die Palette BPMN-Elemente.
- Wählen Sie für ein unterbrechendes Event einen Typ aus der Gruppe Boundary Event oder für ein nicht unterbrechendes Event aus Boundary Non-Int..
- Ziehen Sie das Event auf den Rand einer Aufgabe, eines Subprocess, einer Transaction oder einer Call Activity.
- Lassen Sie es dort los. Das Event rastet am nächstgelegenen Rand ein und wird der Aktivität zugeordnet.
- Zeichnen Sie den Sequenzfluss vom Boundary Event zum ersten Schritt des Ausnahme- oder Nebenpfads.
Tipps für die Arbeit mit Boundary Events:
- Wenn Sie ein Intermediate Event auf den Rand einer Aktivität ziehen, wird es angefügt. Ziehen Sie dasselbe Event auf eine freie Stelle der Zeichenfläche, entsteht ein normales Intermediate Catch Event. Ziehen Sie es später auf einen Rand, um es anzufügen, oder vom Rand weg, um es zu lösen.
- Ein Boundary Event wird zusammen mit seiner Host-Aktivität verschoben, ausgeblendet und gelöscht. Es kann nicht unabhängig von einer Aktivität platziert werden.
- Die nicht unterbrechende Variante hat einen eigenen Eintrag in der Palette und ist keine Checkbox. Wählen Sie sie aus, bevor Sie das Event ziehen, wenn die Aktivität weiterlaufen soll.
- Beim Export wird die Zuordnung als
attachedToRefund die Einstellung für die Unterbrechung alscancelActivitygespeichert. Beim erneuten Import der Datei werden beide wiederhergestellt.
Häufige Fehler
- Ein Boundary Event ohne ausgehenden Sequenzfluss. Es fängt den Auslöser ab, hat dann aber keinen Folgeschritt. Der Ausnahmeweg endet damit in einer Sackgasse.
- Ein nicht unterbrechender Timer, obwohl ein verbindlicher Abbruch erforderlich ist. Die Aktivität läuft weiter, die Frist beendet die Arbeit also nicht. Verwenden Sie für eine Frist die unterbrechende Variante.
- Ein Error Boundary Event an einer einfachen Aufgabe. Fügen Sie es an den Subprocess oder die Call Activity an, in dem beziehungsweise der sich der fehlerhafte Schritt befindet.
- Die Erwartung, dass ein Boundary Event nach Abschluss der Aktivität ausgelöst wird. Das ist nicht möglich. Eine Ausnahme ist Vergütung, die nach Abschluss aktiviert wird.
- Cancel außerhalb einer Transaction verwenden. Das Cancel Boundary Event ist ausschließlich für Transaction-Subprocesses vorgesehen.
- Zwei unterbrechende Events an einer Aktivität anbringen und erwarten, dass beide Pfade ausgeführt werden. Der erste Auslöser gewinnt. Die Aktivität und ihre übrigen Boundary Events werden ebenfalls abgebrochen.
Alle Events mit den zugehörigen Symbolen
| Start | Zwischenereignis | Ende | ||||||
|---|---|---|---|---|---|---|---|---|
| Type | Normal | Ereignis-Subprozess | Nicht unterbrechender Ereignis-Subprozess | Fangen | Begrenzung | Nicht unterbrechende Begrenzung | Auslösen | |
| Kein Ereignistyp | | |||||||
| Nachricht | | | | | | | | |
| Timer | | | | | | | ||
| Bedingt | | | | | | | ||
| Link | | | | |||||
| Signal | | | | | | | | |
| Fehler | | | | |||||
| Eskalation | | | | | | | ||
| Beendigung | | |||||||
| Kompensation | | | | | ||||
| Abbruch | | | ||||||
| Mehrfach | | | | | | | | |
| Mehrfach parallel | | | | | | | ||
Ein benutzerdefiniertes BPMN-Modell generieren
Verwandte Themen
- Events: alle Event-Typen.
- Intermediate Event: Events in der Mitte eines Ablaufs.
- Aktivitäten: Aufgaben und Subprocesses, an die ein Boundary Event angefügt werden kann.
- Unterstützte BPMN-Elemente: Was ProcessMind importiert und exportiert.
- BPMN 2.0: Ein Praxisleitfaden: die Notation mit ausgearbeiteten Beispielen.
Verbessern Sie Prozesse. Schaffen Sie eine vernetzte Architektur. Behalten Sie die Kontrolle.
Erhalten Sie sofort Zugriff, ohne Kreditkarte und Wartezeit. Bilden Sie die Arbeitsweise Ihrer Organisation in klaren, vernetzten Prozessmodellen ab.
Entwickeln Sie Ihre Prozessarchitektur, definieren Sie Zuständigkeiten und Kontrollen und stimmen Sie Rollen und Verantwortlichkeiten auf allen Ebenen ab.
Starten Sie Ihre kostenlose Testphase und schaffen Sie eine verlässliche Grundlage, um Ihre Prozesse zu steuern und kontinuierlich zu verbessern.