BPMN document structure

'Definitions' element

The Definitions element represents the top XML element. It contains the namespaces required for BPMN 2.0:

  • Semantic

    The Semantic element defines the namespace for the semantic elements.

  • bpmndi

    The bpmndi element defines the namespace for the graphic elements.

  • dc

    The dc element defines the elements for the graphic style.

  • di

    The di element defines the elements for the textual style.

The Semantic element defines the namespace for the semantic elements.

The ID consists of the ARISBPMN_ string and the GUID of the BPMN diagram. In addition, the target namespace http://www.softwareag.com/bpmn2Serialisation/ is specified and the name of the model attached.

Highest element

This definition element is a container element for all other elements and their subordinate elements.

'Collaboration' element

The Collaboration element serves as a container element for modeling collaborations. Collaborations are a collection of objects of the Participant type and their interactions using objects of the Message flow type.

An element of the Collaboration type is generated as a superior element for the individual collaborations for each BPMN diagram. The ID consists of the COLLABORATION_ string and the GUID of the model.

Collaboration

'Pool' element

A pool represents an organizational element. If a model of the BPMN collaboration diagram (BPMN 2.0) type does not contain a pool or if a flow element is not embedded in a pool, the model of the BPMN collaboration diagram (BPMN 2.0) type represents this organizational element.

If there is a pool that represents an organizational element, an element is generated that consists of the FLOWNODE_ string and the GUID of the pool. Otherwise, the GUID of the model of the BPMN collaboration diagram (BPMN 2.0) type is used.

The pool defines a process if it has at least one flow element or a lane. The processRef attribute is added to the Participant element and references the process defined by the pool. The processRef attribute consists of the PROCESS_ string and the external GUID of the pool. If the process is defined by a BPMN diagram without a pool or only by a flow element, the GUID of the BPMN diagram is used.

Pool

'Lane' element

Lanes are part of a process and are used to structure it, however they have no defined semantic. They are usually embedded in a pool, but can also be used in the BPMN diagram directly.

Lanes can be arranged horizontally or vertically, which makes no difference for the semantics. The orientation of lanes is defined in the bpmndi part of the BPMN file.

Lane orientation

An element of the process type, which contains an element of the laneset type is generated for each pool. The ID of the element of the laneset type is composed of the LANESET_ string and the external GUID of the pool. If the lanes are directly in the BPMN diagram the GUID of the model is used. The element of the laneset type contains a lane element whose ID is composed of the FLOWNODE_ string and the external GUID of the lane. The name attribute contains the name of the lane.

Lane

If a flow element, such as an object of the Business rule task type is embedded in a lane, an element of the flowNodeRef type that references the flow element is generated in the element of the lane type.

Business rule task

Lanes can also contain lanes. The depth of the hierarchy is unlimited. If subordinate lanes are used, a childLaneSet element containing all of the subordinate elements of the lane type is generated for each lane with subordinate lanes.

Lane with sublanes

'Message flow' element

The following example shows all possible variations of a message flow:

  • Message flow between a flow element and a pool

  • Message flow between two pools

  • Message flow between two flow elements

Example for message flows

A messageflow element whose ID is composed of the FLOW string and the GUID of the connection is generated for each message flow. The elements of the sourceRef and targetRef type contain the corresponding ID of the flow element or the pool.

Message flow

In ARIS, a message flow can be divided up into a part that contains the message flow and a part that contains the exchanged message. Because this does not correspond to the BPMN 2.0 specification exactly, such message flows are not included in a BPMN file during export.

'Process' element

A process element is generated if there is a pool in the BPMN diagram that contains at least one flow element or if the BPMN diagram has no pool at all. This element contains all other flow elements that define the process details. Its ID consists of the PROCESS_ string and the GUID of the BPMN diagram.

Process

Because groups can contain elements that can be a part of several pools, a process element is generated for such groups.

'FlowElementContainer' element

Elements of the FlowElementContainer type are elements of the Process, SubProcess, Choreography and Sub-Choreography type. Only elements of the Process and Subprocess type are relevant.

The element of the FlowElementContainer type serves as a superior element for all flow elements of a process or subprocess. Elements of the FlowElementContainer type are objects of the Activity, Event, Gateway, Sequence flow, Data store and Data object types.

If a subprocess contains one of these elements or has an assignment to a model in which one of these elements is modeled, these elements are added to the element of the FlowElementContainer type. If these elements are not part of a subprocess they are added under the process element that is defined by a pool or a BPMN diagram.

Organizational elements as a resource

If an object of the Task type is connected to an organizational element in an assigned function allocation diagram, the resource element is generated. If the type of task is a Manual task or User task, an element of the potentialOwner type is added. This subordinate element contains an element of the resourceRef type that references the resource.

Resource