Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Stardust/Enhancing and Embedding Stardust/Browser Modeler/BPMN Mapping"

(Addendum (Transformation / Interpretation))
 
(5 intermediate revisions by the same user not shown)
Line 768: Line 768:
 
'''Attributes'''  
 
'''Attributes'''  
  
*isInterrupting: tbd
 
 
*from ::catchEvent  
 
*from ::catchEvent  
 
**parallelMultiple: tbd
 
**parallelMultiple: tbd
Line 787: Line 786:
 
'''Extension Elements/Attributes'''  
 
'''Extension Elements/Attributes'''  
  
<br>  
+
<br>
  
 
==== BPMN throwing messageIntermediateEvent  ====
 
==== BPMN throwing messageIntermediateEvent  ====
Line 828: Line 827:
 
==== BPMN Catching timer Intermediate Event  ====
 
==== BPMN Catching timer Intermediate Event  ====
  
'''Spec:''' OMG p.,  
+
'''Spec:''' OMG p. 234, 274
  
'''BPMN Modelling Conformance Subclasses:''' (Executable / Descriptive / Analytic)
+
'''BPMN Modelling Conformance Subclasses:''' Executable / Analytic
  
'''Execution Support: ''' full/partial
+
'''Execution Support: ''' full
  
'''Mapping Description:'''  
+
'''Mapping Description:''' An intermediate timer event delays the flow according to a given value (timeDate, timeCycle, timeValue). In Stardust, this behaviour is reached with a Timer event handler bound to a (Route) Activity which is hibernated when bound and completed when the timer event occurs.
  
'''Transformation:''' todo
+
'''Transformation:''' available for timeDuration. A BPMN extension could enable variable dates based on workflow data.
  
'''Testmodel(s):''' [http://git.eclipse.org/c/stardust/org.eclipse.stardust.ide.git/tree/model/org.eclipse.stardust.model.bpmn2.transform/src/test/resources/models/bpmn/ .bpmn .bpmn]  
+
'''Testmodel(s):''' [http://git.eclipse.org/c/stardust/org.eclipse.stardust.ide.git/tree/model/org.eclipse.stardust.model.bpmn2.transform/src/test/resources/models/bpmn/CatchingIntermediateTimerEvent.bpmn CatchingIntermediateTimerEvent.bpmn]  
  
 
'''Attributes'''  
 
'''Attributes'''  
 +
 +
*from&nbsp;::catchEvent
 +
**parallelMultiple: tbd
  
 
'''Related Elements'''  
 
'''Related Elements'''  
 +
 +
*from&nbsp;::catchEvent
 +
**eventDefinitionRefs[EventDefinition]: single definition supported (details below)
 +
**dataOutputAssociation[DataOutputAssociation]: see [[#BPMN_dataAssociation|DataAssociation]]
 +
**dataOutputs[DataOutput]: not used see [[#Data|Data]]
 +
**outputSet[OutputSet]: not used see [[#Data|Data]]
 +
 +
'''TimerEventDefinition:'''
 +
 +
*messageRef[Message]: N/A
 +
*operationRef[Operation]: points to an operation contained in an [[#BPMN_Interface|Interface]] that holds the [http://git.eclipse.org/c/stardust/org.eclipse.stardust.ide.git/tree/model/org.eclipse.stardust.model.bpmn2/src/main/java/org/eclipse/stardust/model/bpmn2/sdbpmn/StardustApplicationType.java StardustApplicationType.java]
 +
 +
*TimerEventDefinition:
 +
**timeCycle[Expression]:ISO-8601 format for recurring time interval representations - mapped to period
 +
**timeDuration[Expression]: ISO-8601 format for time interval representations - mapped to period
 +
**timeDate[Expression]: N/A for intermediate event
  
 
'''Extension Elements/Attributes'''  
 
'''Extension Elements/Attributes'''  
  
<br>  
+
none
 +
 
 +
<br>
  
 
==== BPMN Boundary error Intermediate Event  ====
 
==== BPMN Boundary error Intermediate Event  ====
Line 1,137: Line 1,157:
  
 
'''Specific types:''' list of more specific elements / subclasses not yet described separately  
 
'''Specific types:''' list of more specific elements / subclasses not yet described separately  
 +
 +
<br>
 +
== Addendum (Transformation / Interpretation) ==
 +
The following sections discuss cases which are not distinctly attributed to a certain model element but rather to the process behaviour or topology.
 +
 +
=== Process Start ===
 +
Stardust does not include Start- or EndEvents as part of the process flow (i.e. process triggers are not connected by sequence flows/transitions). The actual process start (entry point) is the first (and only) activity without incoming transitions. Consequently, the following cases require specific considerations with respect to the transformation/execution.
 +
 +
==== Parallel Activities (e.g. parallel box) ====
 +
In BPMN a process may have several activities without incoming sequence flows, meaning that they are all started in parallel, when the process is instantiated.
 +
 +
If (and only if) there is no BPMN StartEvent but multiple activities without incoming sequence flows (i.e. parallel box), a route activity with a parallel split is inserted as process start (cp. [http://git.eclipse.org/c/stardust/org.eclipse.stardust.ide.git/tree/model/org.eclipse.stardust.model.bpmn2.transform/src/test/resources/models/bpmn/ParallelBox.bpmn ParallelBox.bpmn]).
 +
 +
A route activity as process entry point is also introduced, when a BPMN Start Event (none) forks into a parallel flow (cp. [http://git.eclipse.org/c/stardust/org.eclipse.stardust.ide.git/tree/model/org.eclipse.stardust.model.bpmn2.transform/src/test/resources/models/bpmn/ParallelSplitStart.bpmn ParallelSplitStart.bpmn]).
 +
 +
==== Backloops ====
 +
If a flow loops back to the first activity, there is ‘no process start’ anymore. In this case, the transformation introduces a route activity at the beginning of the process (between the start trigger, if there is one, and the first activity), cp. [http://git.eclipse.org/c/stardust/org.eclipse.stardust.ide.git/tree/model/org.eclipse.stardust.model.bpmn2.transform/src/test/resources/models/bpmn/BackloopToStart.bpmn BackloopToStart.bpmn].
 +
 +
If the BPMN Process does not contain a StartEvent, the same rule (to determine the process entry point(s)) basically applies to a BPMN Process, thus, backloops are not dealt with separately.
 +
 +
 +
<br>
  
 
== Supporting Classes (Common Executable Conformance Sub-Class)  ==
 
== Supporting Classes (Common Executable Conformance Sub-Class)  ==
 +
  
 
'''Spec.:''' cp. OMG p.7  
 
'''Spec.:''' cp. OMG p.7  
Line 1,157: Line 1,200:
 
*MessageEventDefinition (id, messageRef, operationRef): operationRef only (see (Message-) [[#BPMN_Events|Events]]  
 
*MessageEventDefinition (id, messageRef, operationRef): operationRef only (see (Message-) [[#BPMN_Events|Events]]  
 
*TerminateEventDefinition (id): tbd  
 
*TerminateEventDefinition (id): tbd  
*TimerEventDefinition (id, timeDate): timeDate plus timeCycle plus stopTime extension (see [[#BPMN timerStartEvent|timerStartEvent])
+
*TimerEventDefinition (id, timeDate): timeDate plus timeCycle plus stopTime extension (see [[#BPMN timerStartEvent|timerStartEvent]])
  
<br>  
+
<br>
  
 
== References  ==
 
== References  ==
  
 
OMG2011: Business Process Model and Notation (BPMN), Version 2.0, formal/2011-01-03, available from http://www.omg.org/spec/BPMN/2.0/ Notice: The pages referred to primarily indicate where attributes and the object model are described. Further information about specific elements (e.g. execution semantics etc.) may be found elsewhere in the specification.
 
OMG2011: Business Process Model and Notation (BPMN), Version 2.0, formal/2011-01-03, available from http://www.omg.org/spec/BPMN/2.0/ Notice: The pages referred to primarily indicate where attributes and the object model are described. Further information about specific elements (e.g. execution semantics etc.) may be found elsewhere in the specification.

Latest revision as of 06:55, 1 December 2012

This page documents how Stardust relates to and supports BPMN 2.0 with respect to a) modeling support (browser modeler) and b) engine support (i.e. transformation of BPMN 2.0 XML into the Stardust object model).

The description targets the graphical BPMN elements as well as several supporting elements basically not visible in a process model.

The following aspects/items are provided for each (if applicable):

Spec: a hint on where to find a description in the BPMN 2.0 specification (i.e. class model and attributes/relations)

BPMN Modelling Conformance Subclasses: the conformance subclasses to which the element belongs (cp. chapter 2 of the BPMN 2.0 specification)

Modeler support: whether/how the browser modeler supports the corresponding element

Execution Support: extent of execution support / limitations.

Mapping Description: which stardust element or configuration/construct corresponds to the BPMN element (i.e. how to reach the intended behaviour or functionality)

Transformation: current state of transformation

Testmodel(s): link(s) to BPMN XML testmodels (with Stardust extensions, if available) with corresponding elements

see also: link(s) to related or supporting elements providing more

Attributes: usage / mapping of BPMN element attributes. In general, only the element-specific attributes are considered (not inherited from upper classes).

Related Elements: usage / mapping of BPMN element model associations (types declared in square brackets)

Extension Elements/Attributes: extensions to BPMN for Stardust specific information and links to object model classes, if available (note '::<super>' is used to indicate a superclass)

Specific types: list of more specific elements / subclasses not yet described separately


Contents


Callable Elements

BPMN process

Spec: OMG p.146f

Execution Support: full

Mapping Description: BPMN processes correspond to processes in Stardust.

Transformation: partial (related elements missing)

Testmodel(s): e.g. CollapsedSubprocess.bpmn (any testmodel contains at least one process).

see also: callActivity

Related Elements

  • Auditing: tbd
  • Monitoring: tbd
  • Property: Stardust Variable (Data)
  • Resource role: tbd
  • Artifact: tbd
  • CorrelationSubscription: tbd
  • Interface: tbd


BPMN globalTask

Spec: OMG p.187f

BPMN Modelling Conformance Subclasses: -

Execution Support: partial

Mapping Description: BPMN Global Tasks are not directly available in Stardust, however, a process with a corresponding 'global task' can be generated.

Transformation: TODO

Task call: see callActivity

Related Elements

  • Property: Stardust Variable (Data)
  • Resource role: tbd
  • Interface: tbd

Specific types


Activities / Subprocesses

Common Activity Extensions (Subprocess, Task etc.):


BPMN subProcess

Spec: OMG p.173f

BPMN Modelling Conformance Subclasses: Executable (expanded) / Descriptive / Analytic

Execution Support: partial (collapsed subprocesses)

Mapping Description: BPMN Sub-Processes correspond to Stardust Sub-Processes. In Stardust, subprocess-activities call a process whilst BPMN subprocesses contain their process elements (i.e. they are flow element containers). However, by specifying the called process in stardust as 'synchronous with shared data', the behaviour and even data visibility are similar to BPMN.

Transformation: available

Testmodel(s): CollapsedSubprocess.bpmn

Related Elements

Specific types

  • AdHocSubprocess: tbd
  • EventSubprocess: tbd


BPMN callActivity

Spec: OMG p.183f,

BPMN Modelling Conformance Subclasses: Executable / Descriptive / Analytic

Execution Support: partial (no direct call of GlobalTask)

Mapping Description: Call Activities correspond to the Stardust Subprocess Activity, whereas the configuration differs from a default Subprocess call (cp. BPMN Sub-Process) with respect to the data visibility (i.e. separate data).

Transformation: todo

Testmodel(s): todo .bpmn .bpmn

Attributes

  • none

Related Elements

  • calledElement [CallableElement]

Extension Elements/Attributes

  • tbd (::StardustActivity)


Process Call

Mapping Description: The Stardust Sub-process Activity synchronously calls a process with separate data (i.e. process parameters / input-/output-paths are used, mapped to BPMN Process DataInput/DataOutput elements).

Transformation: todo

GlobalTask Call

Mapping Description: Global tasks are transformed to Stardust Processes containing an Activity that corresponds to the GlobalTask (see globalTask). The call then works similar to Process Call.

Transformation: todo


Tasks

BPMN Task (Abstract / None)

Spec: OMG p.156f

BPMN Modelling Conformance Subclasses: Descriptive / Analytic

Execution Support: full

Mapping Description: BPMN unspecific task is not executable. It is mapped to a Route Activity in Stardust.

Transformation: available

Testmodel(s): AbstractTask.bpmn


BPMN userTask

Spec: OMG p.163,

BPMN Modelling Conformance Subclasses: Executable / Descriptive / Analytic

Execution Support: full

Mapping Description: BPMN user tasks correspond to Stardust Manual Activities or Interactive Activites respectively.

Transformation: available

Testmodel(s): Stardust Manual Activity (with performers): UserTask.bpmn, Stardust Interactive Task: UserTaskWebApp.bpmn

Attributes

  • implementation: Manual Activity=“##unspecified", JSP=http://java.sun.com/JSP/Page, JSF=http://java.sun.com/jsf, JFC= http://java.sun.com/jfc

Related Elements

  • resources [ResourceRole]: Stardust Participant (if ResourceRole type Performer). See also Resources
  • Rendering: not used (see extension)

Extension Elements/Attributes


BPMN serviceTask

Spec: OMG p.158f,

BPMN Modelling Conformance Subclasses: Executable / Descriptive / Analytic

Execution Support: full (WebServices, Plain Java, Spring Beans, Transformation, Parsing, DMS Operation...)

Mapping Description: BPMN service tasks are mapped to Stardust (non-interactive) application tasks.

Transformation: available

Testmodel(s): Webservice call: ServiceTaskWebServiceApp.bpmn

Attributes

  • implementation: ("##unspecified"), "#WebService", tbd: url's specifying the implementation type. Not used for execution.

Related Elements

  • operationRef [Operation]: used to identify the Interface holding the application details (see Interface)

Extension Elements/Attributes


BPMN sendTask

Spec: OMG p.159

BPMN Modelling Conformance Subclasses: Analytic

Execution Support: tbd

Mapping Description: tbd

Transformation: todo

Testmodel(s): .bpmn .bpmn

Attributes

Related Elements

Extension Elements/Attributes


BPMN receiveTask

Spec: OMG p.161

BPMN Modelling Conformance Subclasses: Analytic

Execution Support: tbd

Mapping Description: tbd

Transformation: todo

Testmodel(s): .bpmn .bpmn

Attributes

Related Elements

Extension Elements/Attributes


BPMN businessRulesTask

Spec: OMG p.164

BPMN Modelling Conformance Subclasses: - (full)

Execution Support: tbd

Mapping Description: tbd

Transformation: todo

Testmodel(s): .bpmn .bpmn

Attributes

Related Elements

Extension Elements/Attributes


BPMN scriptTask

Spec: OMG p.165 

BPMN Modelling Conformance Subclasses: - (full)

Execution Support: tbd

Mapping Description: tbd

Transformation: todo

Testmodel(s): .bpmn .bpmn

Attributes

Related Elements

Extension Elements/Attributes


Services

BPMN Interface

Spec: OMG p.104f,

BPMN Modelling Conformance Subclasses: -

Execution Support: based on extensions

Mapping Description: "An Interface defines a set of operations that are implemented by Services" (OMG p.104). Therefore the Interface element is used as container (see extension element StardustInterfaceType below) for the Stardust application specification. As Stardust has a variable concept for different kinds of applications (including a concept of 'accesspoints' e.g. exceeding the interface exposed by WSDL operations), the extension bases on the internal Stardust Object model.

Transformation: available

Testmodel(s): WebService Task: ServiceTaskWebServiceApp.bpmn, Interactive UserTask: UserTaskWebApp.bpmn, Message Events MessageEvents.bpmn

Attributes

  • name: Application Name

Related Elements

  • operations [Operation]: only used to reference from Activities
  • callableElements[CallableElement]: not used
  • implementationRef [Element]: dummy usage - references the nested extension element (StardustApplicationType)

Extension Elements/Attributes


BPMN Endpoint

Spec: OMG p.105,

BPMN Modelling Conformance Subclasses: -

Execution Support: no

Mapping Description: Endpoint is an extensionpoint for service addresses related to BPMN participants. There is no correspondance in Stardust. The service addressing is contained in the application configuration (see Interface extension).

Transformation: N/A

Testmodel(s): N/A

Attributes none (in addition to baseElement)

Related Elements none (in addition to baseElement)


Data

BPMN dataObject

Spec: OMG p.205

BPMN Modelling Conformance Subclasses: Executable / Descriptive / Analytic

Execution Support: full

Mapping Description: Corresponds to Data in Stardust. Depending on the configuration, the data visibility may increase the scope as defined by BPMN (e.g. it may be globally visible to other processes).

Transformation: available

Testmodel(s): Dataflow (structured type): DataObjectFlow.bpmn, Dataflow (primitive types): SimpleTypeDataFlow.bpmn

see also: Item Aware Element, Item Definition, Import

Attributes

  • isCollection: tbd

Related Elements none (see Item Aware Element)

Extension Elements/Attributes none


BPMN dataAssociation

Spec: OMG p.221

BPMN Modelling Conformance Subclasses: Executable / Descriptive / Analytic

Execution Support: partial (no transformation)

Mapping Description: Stardust defines dataflows through input and outputs of activities (data mapping). In addition, these mappings have a data-path to map the source (part) with the target (part). Thus, data associations are interpreted as such mappings, using the associations's assignment for data paths (and application paths).

Transformation: available

Testmodel(s): Basic Dataflows: DataObjectFlow.bpmn and SimpleTypeDataFlow.bpmn, Dataflows with application access-points/application paths: ServiceTaskWebServiceApp.bpmn and UserTaskWebApp.bpmn

Attributes none (::baseElement)

Related Elements

  • transformation[Expression]: data path, if no assignment is defined
  • assignment[Assignment]: depending on the association direction (input/output) the assignment-from/to are mapped to data path or application path
  • sourceRef[ItemAwareElement]: data object (not used for dataOutputAssociations, as the data mapping belongs to the activity whilst BPMN has a data input element on the activity)
  • targetRef[ItemAwareElement]: data object (not used for dataInputAssociations, as the data mapping belongs to the activity whilst BPMN has a data input element on the activity)

Extension Elements/Attributes none (see Assignment)


BPMN Assignment

Spec: OMG p.223

BPMN Modelling Conformance Subclasses: -

Execution Support: partial (limited to data-/application-path expressions, not any kind of expression)

Mapping Description: part of data flow (see dataAssociation)

Extension Elements/Attributes

  • Attribute ApplicationAccessPointRef (references an application access point of stardust)


BPMN Item Aware Element

Spec: OMG p.203

Related Elements

  • itemSubjectRef[ItemDefinition]: Stardust Data types (structured types, primitive data etc.)
  • dataState[DataState]: tbd

Extension Elements/Attributes: none


BPMN Item Definition

Spec: OMG p.92

Related Elements

  • itemKind[ItemKind]: not used, 'Information' assumed
  • structureRef: structured type definition / mapping of XML simple type to privitive type
  • import[Import]: XML Schema import (containing the structured types)
  • isCollection: tbd

Extension Elements/Attributes: none


Gateways

BPMN exclusiveGateway

Spec: OMG p.290

BPMN Modelling Conformance Subclasses: Executable / Descriptive / Analytic

Execution Support: full

Mapping Description: diverging exclusive Gateways correspond to XOR Splits, converging ones to XOR Joins. Mixed gateways and multiple gateways in a sequence are handled using route activities.

Transformation: available

Testmodel(s): XORGatewaysSingle.bpmn MixedGateway.bpmn SequentialMixedGateway.bpmn

Attributes none (::Gateway)

Related Elements

  • default[SequenceFlow]: relates to the 'otherwise' condition of Stardust sequence flows (transitions)

Extension Elements/Attributes none


BPMN parallelGateway

Spec: OMG p.290

BPMN Modelling Conformance Subclasses: Executable / Descriptive / Analytic

Execution Support: full

Mapping Description: diverging parallel Gateways correspond to AND Splits, converging ones to AND Joins. Mixed gateways and multiple gateways in a sequence are handled using route activities.

Transformation: available

Testmodel(s): ParallelGatewaysSingle.bpmn, (combined with conditional flows: combined)

Attributes none (::Gateway)

Related Elements none (::Gateway)

Extension Elements/Attributes none


BPMN inclusiveGateway

Spec: OMG p. 292

BPMN Modelling Conformance Subclasses: Analytic

Execution Support: partial (diverging only)

Mapping Description: Stardust supports conditions on AND splits, thus this behaves like inclusive gateways. However, the synchronisation is not supported.

Transformation: N/A

Testmodel(s): N/A

Attributes none (::Gateway)

Related Elements

  • default[SequenceFlow]

Extension Elements/Attributes none


BPMN eventBasedGateway

Spec: OMG p.297

BPMN Modelling Conformance Subclasses: Executable / Analytic

Execution Support: NO - REQUIRES CORE EXTENSION


BPMN complexGateway

Spec: OMG p.295

BPMN Modelling Conformance Subclasses: (full)

Execution Support: NO - REQUIRES CORE EXTENSION


Sequence Flows

BPMN sequenceFlow

Spec: OMG p.97f.

BPMN Modelling Conformance Subclasses: Executable / Descriptive / Analytic

Execution Support: full (expressions based on javascript)

Mapping Description: Sequence flows basically are transitions in Stardust. To reach the behaviour specified by BPMN, certain cases have to be distinguished: conditional sequence flows and uncontrolled flows. These are addressed in the following two sections.

Transformation: available

Testmodel(s): Sequence.bpmn

Attributes

  • isImmediate: N/A

Related Elements

  • SourceRef[FlowNode]: From (activity)
  • TargetRef[FlowNode]: To (activity)
  • conditionExpression[Expression]: Stardust condition (javascript)

Extension Elements/Attributes

  • todo: forkOnTraversal


unconditional flow

Spec: OMG p.36/38 (and others)

BPMN Modelling Conformance Subclasses: Executable / Descriptive / Analytic

Execution Support: full

Mapping Description: Besides single sequence flows, BPMN defines the behaviour of forking and merging sequences (without using Gateways) as parallel (fork) and exclusive (merge). Thus, these constructs correspond to AND splits and XOR joins in Stardust respectively.

Transformation: available

Testmodel(s): UncontrolledFlow.bpmn


conditional flow

Spec: OMG p. 427, 35f.

BPMN Modelling Conformance Subclasses: Executable / Descriptive / Analytic

Execution Support: full

Mapping Description: All transitions may have conditions in Stardust, thus there is a direct corresponance. Besides the graphical difference (diamond / slash marker), in BPMN conditional / default sequence flows are rather thought of to define alternative paths. Thus, in Stardust further flow control is required (i.e. join/split configuration). Basically, the combination of conditional and default sequence flows from an activity can be represented with a AND split and transitions with conditions (or 'OTHERWISE' for default sequences). If the combination also contains unconditional sequence flows, a parallel flow (unconditional AND-Split) is required, followed by another AND-Split with conditional/default flows (thus requiring a route activity in between). A minor difference regarding attributes is, that the default flow is defined on the FlowNode in BPMN, whilst in Stardust this information is on the transition element.

Transformation: available

Testmodel(s):


Start Events

General limitations on start events: Stardust only supports a single entry point into a process (i.e. only one activity without incoming sequence flows or a single start trigger).

BPMN startEvent (None)

Spec: OMG p.240f

BPMN Modelling Conformance Subclasses: Executable / Descriptive / Analytic

Execution Support: full

Mapping Description: Stardust uses an unspecific start event only as visual element but offers a 'manual trigger', that is not available in BPMN. Therefore, the BPMN 'none' start event is extended with a performer attribute, allowing to indicate a manual start for process execution in Stardust.

Transformation: available

Testmodel(s): StartEventNone.bpmn

Attributes

  • isInterrupting: tbd
  • from ::catchEvent
    • parallelMultiple: tbd

Related Elements

  • from ::catchEvent
    • eventDefinitionRefs[EventDefinition]: N/A ('none' startEvent)
    • dataOutputAssociation[DataOutputAssociation]: N/A (for 'none')
    • dataOutputs[DataOutput]: N/A (for 'none')
    • outputSet[OutputSet]: N/A (for 'none')

Extension Elements/Attributes

  • StardustStartEventType.java allows for any generic Stardust attribute type, containing an 'engine:participant' value for manual start events.


BPMN timerStartEvent

Spec: OMG p.240f

BPMN Modelling Conformance Subclasses: Descriptive / Analytic

Execution Support: full

Mapping Description: The timer start event directly corresponds to the Timer Trigger in Stardust.

Transformation: available

Testmodel(s): StartEventTimer.bpmn

Related Elements

  • TimerEventDefinition:
    • timeCycle[Expression]:ISO-8601 format for recurring time interval representations - mapped to 'periodicity'
    • timeDate[Expression]: ISO-8601 format for date and time representations - mapped to 'startTime'
    • timeDuration[Expression]: N/A for start event

Extension Elements/Attributes

  • TimerEventDefinition:stopTime


BPMN messageStartEvent

Spec: OMG p.234f, 271 (MessageEventDefinition)

BPMN Modelling Conformance Subclasses: Executable / Descriptive / Analytic

Execution Support: full (JMS, E-Mail)

Mapping Description: Depending on the Operation referred to in the MessageEventDefinition, the messageStartEvent is mapped to a Stardust JMS trigger or an E-Mail trigger.

Transformation: partially (JMS, missing trigger type definition)

Testmodel(s): Message events (start, intermediate, end): MessageEvents.bpmn

Attributes

  • isInterrupting: tbd
  • from ::catchEvent
    • parallelMultiple: tbd

Related Elements

  • from ::catchEvent
    • eventDefinitionRefs[EventDefinition]: single definition supported (details below)
    • dataOutputAssociation[DataOutputAssociation]: see DataAssociation
    • dataOutputs[DataOutput]: not used see Data
    • outputSet[OutputSet]: not used see Data

MessageEventDefinition

Extension Elements/Attributes:

  • None for StartEvent / MessageEventDefinition
  • Attribute parameterMappingOid on Assignment (of DataOutputAssociation)


Intermediate Events

Stardust originally does not have explicit (independent) intermediate event elements. Hovever, some event handling can be defined for activities and some (service-) activity configurations behave similar to certain BPMN events.


BPMN catching messageIntermediate Event

Spec: OMG p.234ff. 271 (MessageEventDefinition)

BPMN Modelling Conformance Subclasses: Executable / Analytic

Execution Support: full (JMS)

Mapping Description: As a BPMN (catching) message event basically waits until a message arrives, this behaviour corresponds to a Stardust service activity with a JMS application

Transformation: available (JMS)

Testmodel(s): Message events (start, intermediate, end): MessageEvents.bpmn

Attributes

  • from ::catchEvent
    • parallelMultiple: tbd

Related Elements

  • from ::catchEvent
    • eventDefinitionRefs[EventDefinition]: single definition supported (details below)
    • dataOutputAssociation[DataOutputAssociation]: see DataAssociation
    • dataOutputs[DataOutput]: not used see Data
    • outputSet[OutputSet]: not used see Data

MessageEventDefinition:

Extension Elements/Attributes


BPMN throwing messageIntermediateEvent

Spec: OMG p.234ff. 271 (MessageEventDefinition)

BPMN Modelling Conformance Subclasses: Executable / Analytic

Execution Support: full (JMS, E-Mail)

Mapping Description: As a BPMN (throwing) message event basically sends a message when a token arrives, this behaviour corresponds to a Stardust service activity with a JMS application. Similarly, an E-Mail may be sent.

Transformation: available (JMS)

Testmodel(s): Message events (start, intermediate, end): MessageEvents.bpmn

Attributes

  • isInterrupting: tbd
  • from ::throwEvent
    • parallelMultiple: tbd

Related Elements

  • from ::throwEvent
    • eventDefinitionRefs[EventDefinition]: single definition supported (details below)
    • dataInputAssociation[DataInputAssociation]: see DataAssociation
    • dataInputs[DataInput]: not used see Data
    • inputSet[InputSet]: not used see Data

MessageEventDefinition:

Extension Elements/Attributes


BPMN Catching timer Intermediate Event

Spec: OMG p. 234, 274

BPMN Modelling Conformance Subclasses: Executable / Analytic

Execution Support: full

Mapping Description: An intermediate timer event delays the flow according to a given value (timeDate, timeCycle, timeValue). In Stardust, this behaviour is reached with a Timer event handler bound to a (Route) Activity which is hibernated when bound and completed when the timer event occurs.

Transformation: available for timeDuration. A BPMN extension could enable variable dates based on workflow data.

Testmodel(s): CatchingIntermediateTimerEvent.bpmn

Attributes

  • from ::catchEvent
    • parallelMultiple: tbd

Related Elements

  • from ::catchEvent
    • eventDefinitionRefs[EventDefinition]: single definition supported (details below)
    • dataOutputAssociation[DataOutputAssociation]: see DataAssociation
    • dataOutputs[DataOutput]: not used see Data
    • outputSet[OutputSet]: not used see Data

TimerEventDefinition:

  • TimerEventDefinition:
    • timeCycle[Expression]:ISO-8601 format for recurring time interval representations - mapped to period
    • timeDuration[Expression]: ISO-8601 format for time interval representations - mapped to period
    • timeDate[Expression]: N/A for intermediate event

Extension Elements/Attributes

none


BPMN Boundary error Intermediate Event

Spec: OMG p.,

BPMN Modelling Conformance Subclasses: (Executable / Descriptive / Analytic)

Execution Support: full/partial

Mapping Description:

Transformation: todo

Testmodel(s): .bpmn .bpmn

Attributes

Related Elements

Extension Elements/Attributes


End Events

BPMN endEvent (None)

Spec: OMG p.234ff

BPMN Modelling Conformance Subclasses: Executable / Descriptive / Analytic

Execution Support: no (only graphical)

Mapping Description: End event symbol.

Transformation: N/A

Testmodel(s): .bpmn .bpmn

Attributes N/A

Related Elements N/A

Extension Elements/Attributes N/A


BPMN messageEndEvent

Spec: OMG p.234ff. 271 (MessageEventDefinition)

BPMN Modelling Conformance Subclasses: Executable / Descriptive / Analytic

Execution Support: full (JMS, E-Mail)

Mapping Description: As a BPMN message end event basically sends a message at the end of a process, this behaviour corresponds to a Stardust service activity with a sending JMS application at the end of a process. Similarly, an E-Mail may be sent.

Transformation: available (JMS)

Testmodel(s): Message events (start, intermediate, end): MessageEvents.bpmn

Attributes

  • isInterrupting: tbd
  • from ::throwEvent
    • parallelMultiple: tbd

Related Elements

  • from ::throwEvent
    • eventDefinitionRefs[EventDefinition]: single definition supported (details below)
    • dataInputAssociation[DataInputAssociation]: see DataAssociation
    • dataInputs[DataInput]: not used see Data
    • inputSet[InputSet]: not used see Data

MessageEventDefinition:

Extension Elements/Attributes none


BPMN terminateEndEvent

Spec: OMG p. 273

BPMN Modelling Conformance Subclasses: Executable / Descriptive / Analytic

Execution Support: tbd

'Mapping Description: 'tbd

Transformation: todo

Testmodel(s): .bpmn .bpmn

Attributes

Related Elements

Extension Elements/Attributes


Resources

BPMN Resource

Spec: OMG p.95f

BPMN Modelling Conformance Subclasses: Executable / full

Execution Support: full

Mapping Description: Resources are mapped to participants in Stardust (i.e. roles, organisations, conditional performer).

Transformation: partially available (roles, organisations, conditional performer)

Testmodel(s): UserTask.bpmn

Attributes

  • name

Related Elements

  • resourceParameters[ResourceParameter]: N/A

Extension Elements/Attributes



BPMN ResourceRole

Spec: OMG p. 154

BPMN Modelling Conformance Subclasses: (Executable / Descriptive / Analytic)

Execution Support: partial (no owner / only performer)

Mapping Description: ResourceRoles of activities are mapped to Stardust participants, if the resource role is of type 'Performer' or a subclass of that

Transformation: available (performer)

Testmodel(s): .bpmn .bpmn

Attributes

Related Elements

  • resourceRef[Resource]: reference to the resource which is mapped to a Stardust participant, if the resource role is 'Performer'
  • resourceAssignmentExpression[ResourceAssignmentExpression]: N/A
  • resourceParameterBindings[ResourceParameterBinding]: N/A

Extension Elements/Attributes none

Specific Types (not differentiated in Stardust mapping)

  • Performer
  • Human Performer
  • Potential Owner


Processes Collaboration

BPMN Participant

Spec: OMG p.,

BPMN Modelling Conformance Subclasses: (Executable / Descriptive / Analytic)

Execution Support: full/partial

Mapping Description:

Transformation: todo

Testmodel(s): .bpmn .bpmn

Attributes

Related Elements

Extension Elements/Attributes


BPMN Lanes

Foundation

BPMN baseElement

Attributes

  • id: generally mapped to Stardust element-id.

Related Elements

  • documentation [Documentation]: See Documentation.
  • extensionDefinitions: Not used, as the transformation relies on XML Schema based interchange.
  • extensionValues: Not used, as the transformation relies on XML Schema based interchange.


BPMN Documentation

Mapping description: The content of documentations is used as description of Stardust elements. As BPMN foresees multiple documentations for most elements, the text is concatenated.

Attributes

  • text: Stardust description.
  • textFormat: not used (only plain text supported).


Common attributes

In addition to id and documentation (from baseElement), most elements have a name attribute (not 'globally' inherited) which is also available for Stardust elements.


Infrastructure

BPMN Definitions

Mapping Description: The root element of the BPMN Document corresponds to a Stardust Model. It may contain several processes, data structures, imports etc.

Transformation: available

Attributes

  • targetNamespace: not transformed (XML specific).
  • expressionLanguage: not used (supported expression languages are declared in specific expression elements) - tbd
  • typeLanguage: not used (default = XML Schema is supported)
  • exporter: unused (may be set for export)
  • exporterVersion: unused (may be set for export)

Related Elements

  • relationships: tbd
  • imports: XML Schema and WSDL imports supported, further: tbd.
  • rootElements: for modelling
  • diagrams: for modelling
  • extensions: unused (relies on XSD based extensions)


Extension Elements/Attributes

  • attributeGroup ModelAttributes (see StardustBPMN20.xsd)
    • oid
    • modelOID
    • author
    • created
    • carnotVersion
    • vendor


BPMN Import

Spec: OMG p.53f

BPMN Modelling Conformance Subclasses:

Modeler support:

Execution Support: full (XML Schema and WSDL imports)

Mapping Description: Stardust data structure import (type declaration)

Transformation: available

Testmodel(s): see dataObject

Attributes: usage / mapping of BPMN element attributes

  • importType: declarative
  • location: external reference of type declaration
  • namespace: namespace of external reference

Extension Elements/Attributes: extensions to BPMN for Stardust specific information and links to object model classes, if available (note '::<super>' is used to indicate a superclass)

Specific types: list of more specific elements / subclasses not yet described separately


Addendum (Transformation / Interpretation)

The following sections discuss cases which are not distinctly attributed to a certain model element but rather to the process behaviour or topology.

Process Start

Stardust does not include Start- or EndEvents as part of the process flow (i.e. process triggers are not connected by sequence flows/transitions). The actual process start (entry point) is the first (and only) activity without incoming transitions. Consequently, the following cases require specific considerations with respect to the transformation/execution.

Parallel Activities (e.g. parallel box)

In BPMN a process may have several activities without incoming sequence flows, meaning that they are all started in parallel, when the process is instantiated.

If (and only if) there is no BPMN StartEvent but multiple activities without incoming sequence flows (i.e. parallel box), a route activity with a parallel split is inserted as process start (cp. ParallelBox.bpmn).

A route activity as process entry point is also introduced, when a BPMN Start Event (none) forks into a parallel flow (cp. ParallelSplitStart.bpmn).

Backloops

If a flow loops back to the first activity, there is ‘no process start’ anymore. In this case, the transformation introduces a route activity at the beginning of the process (between the start trigger, if there is one, and the first activity), cp. BackloopToStart.bpmn.

If the BPMN Process does not contain a StartEvent, the same rule (to determine the process entry point(s)) basically applies to a BPMN Process, thus, backloops are not dealt with separately.



Supporting Classes (Common Executable Conformance Sub-Class)

Spec.: cp. OMG p.7

  • StandardLoopCharacteristics (id, loopCondition): Stardust Loop (While|Repeat with Loop Condition) (Todo)
  • MultiInstanceLoopCharacteristics (id, isSequential, loopDataInput, inputDataItem): no direct support - tbd
  • Rendering: not used (cp. userTask)
  • Resource (id, name): Performer (see userTask and Resource)), further resources: tbd
  • ResourceRole (id, resourceRef, resourceAssignmentExpression): Performer (see userTask and ResourceRoles))
  • InputOutputSpecification (id, dataInputs, dataOutputs): Task Data Flow (see Data)
  • DataInput (id, name, isCollection, itemSubjectRef): Data Flow (see Data)
  • DataOutput (id, name, isCollection, itemSubjectRef): Data Flow (see Data)
  • ItemDefinition (id, structure or import) [XSD Complex Type structure]: Data Flow (see Data)
  • Operation (id, name, inMessageRef, outMessageRef, errorRefs): Applications / Interactive Applications (see serviceTask, userTask, (Message-) Events)
  • Message (id, name, structureRef): not used for execution.
  • Error (id, structureRef): tbd
  • Assignment (id, from, to): used for Stardust DataMapping (Application Tasks / Interactive Tasks), ParameterMapping (Triggers) (see dataAssociation
  • MessageEventDefinition (id, messageRef, operationRef): operationRef only (see (Message-) Events
  • TerminateEventDefinition (id): tbd
  • TimerEventDefinition (id, timeDate): timeDate plus timeCycle plus stopTime extension (see timerStartEvent)


References

OMG2011: Business Process Model and Notation (BPMN), Version 2.0, formal/2011-01-03, available from http://www.omg.org/spec/BPMN/2.0/ Notice: The pages referred to primarily indicate where attributes and the object model are described. Further information about specific elements (e.g. execution semantics etc.) may be found elsewhere in the specification.

Back to the top