BPMN-Dokument-Struktur

Element 'Definitions'

Das Element Definitions stellt das oberste XML-Element dar. Es enthält die für die BPMN 2.0 benötigten Namespaces:

  • Semantic

    Das Element Semantic definiert den Namespace für die semantischen Elemente.

  • bpmndi

    Das Element bpmndi definiert den Namespace für die grafischen Elemente.

  • dc

    Das Element dc definiert die Elemente für den grafischen Stil.

  • di

    Das Element di definiert die Elemente für den textualischen Stil.

Das Element Semantic definiert den Namespace für die semantischen Elemente

Die ID besteht aus der Zeichenfolge ARISBPMN_ und der GUID des BPMN-Diagramms. Zusätzlich wird der Ziel-Namespace http://www.softwareag.com/bpmn2Serialisation/angegeben und der Name des Modells angehängt.

Oberstes Element

Dieses Definitionselement ist das Container-Element für alle anderen Elemente und deren untergeordneten Elemente.

Element 'Collaboration'

Das Element Collaboration dient als Container-Element für die Modellierung von Collaborations. Collaborations sind eine Zusammenstellung von Objekten vom Typ Participant und deren Interaktionen unter Verwendung von Objekten vom Typ Message flow.

Für jedes BPMN-Diagramm wird ein Element vom Typ Collaboration als übergeordnetes Element für die einzelnen Collaborations generiert. Die ID setzt sich aus der Zeichenfolge COLLABORATION_ und der GUID des Modells zusammen.

Collaboration

Element 'Pool'

Ein Pool steht für ein Organisationselement. Enthält ein Modell vom Typ BPMN collaboration diagram (BPMN 2.0) keinen Pool oder ist ein Flusselement nicht in einen Pool eingebettet, repräsentiert das Modell vom Typ BPMN collaboration diagram (BPMN 2.0) dieses Organisationselement.

Gibt es einen Pool, der ein Organisationselement darstellt, wird ein Element generiert, das sich aus der Zeichenfolge FLOWNODE_ und der GUID des Pools zusammensetzt. Andernfalls wird die GUID des Modells vom Typ BPMN collaboration diagram (BPMN 2.0) verwendet.

Der Pool definiert einen Prozess, wenn er mindestens ein Flusselement oder eine Lane besitzt. Das Attribut processRef wird zum Element Participant hinzugefügt und referenziert den Prozess, der durch den Pool definiert wird. Das Attribut processRef wird aus der Zeichenfolge PROCESS_ und der externen GUID des Pools zusammengesetzt. Wird der Prozess durch ein BPMN-Diagramm ohne Pool oder nur durch ein Flusselement definiert, wird die GUID des BPMN-Diagramms verwendet.

Pool

Element 'Lane'

Lanes sind Teile eines Prozesses und werden dazu verwendet, diesen zu strukturieren, besitzen aber keine definierte Semantik. Sie sind normalerweise in einen Pool eingebettet können aber auch direkt im BPMN-Diagramm verwendet werden.

Lanes können horizontal oder vertikal angeordnet sein, was für die Semantik keine Rolle spielt. Die Orientierung von Lanes wird im bpmndi-Teil der BPMN-Datei definiert.

Lane-Orientierung

Für jeden Pool wird ein Element vom Typ process generiert, das ein Element vom Typ laneset enthält. Die ID des Elements vom Typ laneset wird aus der Zeichenfolge LANESET_ und der externen GUID des Pools zusammengesetzt. Liegen die Lanes direkt im BPMN-Diagramm, wird die GUID des Modells verwendet. Das Element vom Typ laneset enthält ein Element lane, dessen ID aus der Zeichenfolge FLOWNODE_ und der externen GUID der Lane zusammengesetzt wird. Das Attribut name enthält den Namen der Lane.

Lane

Ist ein Flusselement wie ein Objekt vom Typ Business Rule Task in eine Lane eingebettet, wird im Element vom Typ lane ein Element vom Typ flowNodeRef generiert, das das Flusselement referenziert.

Business Rule Task

Lanes können wiederum Lanes enthalten. Die Tiefe der Hierarchie ist nicht eingeschränkt. Werden untergeordnete Lanes verwendet, wird für jede Lane, die untergeordnete Lanes besitzt, ein Element childLaneSet generiert, das wiederum alle untergeordneten Elemente vom Typ lane enthält.

Lane mit Sub-Lanes

Element 'Message flow'

Das folgende Beispiel zeigt mögliche Variationen eines Nachrichtenflusses:

  • Nachrichtenfluss zwischen einem Flusselement und einem Pool

  • Nachrichtenfluss zwischen zwei Pools

  • Nachrichtenfluss zwischen zwei Flusselementen

Beispiel für Nachrichtenflüsse

Für jeden Nachrichtenfluss wird ein Element messageflow generiert, dessen ID aus der Zeichenfolge FLOW und der GUID der Kante besteht. Die Elemente vom Typ sourceRef und targetRef beinhalten die zugehörige ID des Flusselements oder des Pool.

Message flow

Ein Nachrichtenfluss kann in ARIS in einen Teil, der den Nachrichtenfluss enthält und einen Teil, der die ausgetauschte Nachricht enthält, aufgeteilt werden. Da dies nicht exakt der BPMN 2.0-Spezifikation entspricht, werden solche Nachrichtenflüsse beim Export in eine BPMN-Datei nicht berücksichtigt.

Element 'Process'

Ein Element process wird generiert, wenn es im BPMN-Diagramm einen Pool gibt, der mindestens ein Flusselement enthält oder das BPMN-Diagramm keinen Pool besitzt. Dieses Element enthält alle anderen Flusselemente, die die Prozess-Details definieren. Seine ID setzt sich aus der Zeichenfolge PROCESS_ und der GUID des BPMN-Diagramms zusammen.

Process

Da Gruppen Elemente enthalten können, die Teil von mehreren Pools sein können, wird für solche Gruppen ein Element process generiert.

Element 'FlowElementContainer'

Elemente vom Typ FlowElementContainer sind Elemente vom Typ Process, SubProcess, Choreography und Sub-Choreography. Relevant sind nur Elemente vom Typ Process und SubProcess

Das Element vom Typ FlowElementContainer dient als übergeordnetes Element für alles Flusselemente eines Prozesses oder Subprozesses. Elemente vom Typ FlowElementContainer sind Objekte vom Typ Activity, Event, Gateway, Sequence Flow, Data Store und Data Object.

Enthält ein Subprozess eines dieser Elemente oder besitzt eine Hinterlegung zu einem Modell, in dem eines dieser Elemente modelliert ist, werden diese zu diesem Element vom Typ FlowElementContainer hinzugefügt. Sind dieses Elemente nicht Teil eines Subprozesses, werden sie unter dem Element process hinzugefügt, das durch einen Pool oder ein BPMN-Diagramm definiert ist.

Organisationselemente als Ressource

Ist ein Objekt vom Typ Task in einem hinterlegten Funktionszuordnungsdiagramm (FZD) mit einem Organisationselement verbunden, wird ein Element resource generiert. Ist der Typ des Task Manual Task oder User Task, wird ein Element vom Typ potentialOwner hinzugefügt. Dieses untergeordnete Element enthält ein Element vom Typ resourceRef, das die Ressource referenziert.

Resource