Stardust/Enhancing and Embedding Stardust/Browser Modeler/BPMN Mapping
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
- 1 Callable Elements
- 2 Activities / Subprocesses
- 3 Tasks
- 4 Services
- 5 Data
- 6 Gateways
- 7 Sequence Flows
- 8 Start Events
- 9 Intermediate Events
- 10 End Events
- 11 Resources
- 12 Processes Collaboration
- 13 Foundation
- 14 Infrastructure
- 15 Addendum (Transformation / Interpretation)
- 16 Supporting Classes (Common Executable Conformance Sub-Class)
- 17 References
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
- globalUserTask: see userTask
- globalManualTask: see manualTask
- globalScriptTask: see scriptTask
- globalBusinessRuleTask: see businessRuleTask
Activities / Subprocesses
Common Activity Extensions (Subprocess, Task etc.):
- TStardustActivity.java (::TStardustCommon TStardustCommon.java)
- EventHandlers
- HibernateOnCreation
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
- StardustUserTaskType StardustUserTaskType (::StardustActivity)
- interactiveApplicationRef -> BPMN Interface, see also Interface
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
- StardustServiceTaskType (::StardustActivity, no further extensions)
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
- StardustInterfaceType
- StardustApplicationType (::org.eclipse.stardust.model.xpdl.carnot.ApplicationType)
- StardustTriggerType (::org.eclipse.stardust.model.xpdl.carnot.TriggerType)
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):
- ConditionalSequenceWithDefault.bpmn
- ConditionalSequenceWithDefaultAndUnconditional.bpmn
- IntegratedConditionalSequenceAndGates.bpmn
- SequentialJoinGatewaysAndConditionalSequence.bpmn
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
- messageRef[Message]: N/A
- operationRef[Operation]: points to an operation contained in an Interface that holds the StardustTriggerType
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:
- messageRef[Message]: N/A
- operationRef[Operation]: points to an operation contained in an Interface that holds the StardustApplicationType.java
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:
- messageRef[Message]: N/A
- operationRef[Operation]: points to an operation contained in an Interface that holds the StardustApplicationType.java
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:
- messageRef[Message]: N/A
- operationRef[Operation]: points to an operation contained in an Interface that holds the 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
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:
- messageRef[Message]: N/A
- operationRef[Operation]: points to an operation contained in an Interface that holds the StardustApplicationType.java
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
- StardustResourceType: Stardust Participant specification
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.