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"

Line 11: Line 11:
 
'''Modeler support:''' whether/how the browser modeler supports the corresponding element  
 
'''Modeler support:''' whether/how the browser modeler supports the corresponding element  
  
'''Stardust Support: ''' extent of execution support / limitations.  
+
'''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)  
 
'''Mapping Description:''' which stardust element or configuration/construct corresponds to the BPMN element (i.e. how to reach the intended behaviour or functionality)  
Line 23: Line 23:
 
'''Attributes:''' usage / mapping of BPMN element attributes. In general, only the element-specific attributes are considered (not inherited from upper classes).  
 
'''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  
+
'''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)  
 
'''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)  
Line 37: Line 37:
 
'''Spec:''' OMG p.146f  
 
'''Spec:''' OMG p.146f  
  
'''Stardust Support: ''' full  
+
'''Execution Support: ''' full  
  
 
'''Mapping Description:''' BPMN processes correspond to processes in Stardust.  
 
'''Mapping Description:''' BPMN processes correspond to processes in Stardust.  
Line 65: Line 65:
 
'''BPMN Modelling Conformance Subclasses:''' -  
 
'''BPMN Modelling Conformance Subclasses:''' -  
  
'''Stardust Support: ''' partial  
+
'''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.  
 
'''Mapping Description:''' BPMN Global Tasks are not directly available in Stardust, however, a process with a corresponding 'global task' can be generated.  
Line 104: Line 104:
 
'''BPMN Modelling Conformance Subclasses:''' Executable (expanded) / Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Executable (expanded) / Descriptive / Analytic  
  
'''Stardust Support: ''' partial (collapsed subprocesses)  
+
'''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.  
 
'''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.  
Line 121: Line 121:
 
<br>  
 
<br>  
  
==== BPMN callActivity ====
+
==== BPMN callActivity ====
  
 
'''Spec:''' OMG p.183f,  
 
'''Spec:''' OMG p.183f,  
Line 127: Line 127:
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
  
'''Stardust Support: ''' partial (no direct call of GlobalTask)  
+
'''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 [[#BPMN_subProcess|Sub-Process]]) with respect to the data visibility (i.e. separate data).  
 
'''Mapping Description:''' Call Activities correspond to the Stardust Subprocess Activity, whereas the configuration differs from a default Subprocess call (cp. BPMN [[#BPMN_subProcess|Sub-Process]]) with respect to the data visibility (i.e. separate data).  
Line 171: Line 171:
 
'''BPMN Modelling Conformance Subclasses:''' Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Descriptive / Analytic  
  
'''Stardust Support: ''' full  
+
'''Execution Support: ''' full  
  
 
'''Mapping Description:''' BPMN unspecific task is not executable. It is mapped to a Route Activity in Stardust.  
 
'''Mapping Description:''' BPMN unspecific task is not executable. It is mapped to a Route Activity in Stardust.  
Line 187: Line 187:
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
  
'''Stardust Support: ''' full  
+
'''Execution Support: ''' full  
  
 
'''Mapping Description:''' BPMN user tasks correspond to Stardust Manual Activities or Interactive Activites respectively.  
 
'''Mapping Description:''' BPMN user tasks correspond to Stardust Manual Activities or Interactive Activites respectively.  
Line 217: Line 217:
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
  
'''Stardust Support: ''' full (WebServices, Plain Java, Spring Beans, Transformation, Parsing, DMS Operation...)  
+
'''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.  
 
'''Mapping Description:''' BPMN service tasks are mapped to Stardust (non-interactive) application tasks.  
Line 245: Line 245:
 
'''BPMN Modelling Conformance Subclasses:'''&nbsp;Analytic  
 
'''BPMN Modelling Conformance Subclasses:'''&nbsp;Analytic  
  
'''Stardust Support: ''' '''tbd'''  
+
'''Execution Support: ''' '''tbd'''  
  
 
'''Mapping Description: tbd'''  
 
'''Mapping Description: tbd'''  
Line 267: Line 267:
 
'''BPMN Modelling Conformance Subclasses:'''&nbsp;Analytic  
 
'''BPMN Modelling Conformance Subclasses:'''&nbsp;Analytic  
  
'''Stardust Support: ''' '''tbd'''  
+
'''Execution Support: ''' '''tbd'''  
  
 
'''Mapping Description: tbd'''  
 
'''Mapping Description: tbd'''  
Line 289: Line 289:
 
'''BPMN Modelling Conformance Subclasses:'''&nbsp;- (full)  
 
'''BPMN Modelling Conformance Subclasses:'''&nbsp;- (full)  
  
'''Stardust Support:&nbsp;tbd'''  
+
'''Execution Support:&nbsp;tbd'''  
  
 
'''Mapping Description: tbd'''  
 
'''Mapping Description: tbd'''  
Line 311: Line 311:
 
'''BPMN Modelling Conformance Subclasses:''' - (full)  
 
'''BPMN Modelling Conformance Subclasses:''' - (full)  
  
'''Stardust Support: ''' '''tbd'''  
+
'''Execution Support: ''' '''tbd'''  
  
 
'''Mapping Description: tbd'''  
 
'''Mapping Description: tbd'''  
Line 335: Line 335:
 
'''BPMN Modelling Conformance Subclasses:''' -  
 
'''BPMN Modelling Conformance Subclasses:''' -  
  
'''Stardust Support: ''' based on extensions  
+
'''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.  
 
'''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.  
Line 367: Line 367:
 
'''BPMN Modelling Conformance Subclasses:''' -  
 
'''BPMN Modelling Conformance Subclasses:''' -  
  
'''Stardust Support: ''' no  
+
'''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 [[#BPMN_Interface|Interface]] extension).  
 
'''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 [[#BPMN_Interface|Interface]] extension).  
Line 389: Line 389:
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
  
'''Stardust Support: ''' full  
+
'''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).  
 
'''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).  
Line 415: Line 415:
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
  
'''Stardust Support: ''' partial (no transformation)  
+
'''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).  
 
'''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).  
Line 442: Line 442:
 
'''BPMN Modelling Conformance Subclasses:''' -  
 
'''BPMN Modelling Conformance Subclasses:''' -  
  
'''Stardust Support: ''' partial (limited to data-/application-path expressions, not any kind of expression)  
+
'''Execution Support: ''' partial (limited to data-/application-path expressions, not any kind of expression)  
  
 
'''Mapping Description:''' part of data flow (see [[#BPMN_dataAssociation|dataAssociation]])  
 
'''Mapping Description:''' part of data flow (see [[#BPMN_dataAssociation|dataAssociation]])  
Line 488: Line 488:
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
  
'''Stardust Support: ''' full  
+
'''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.  
 
'''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.  
Line 512: Line 512:
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
  
'''Stardust Support: ''' full  
+
'''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.  
 
'''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.  
Line 534: Line 534:
 
'''BPMN Modelling Conformance Subclasses:''' Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Analytic  
  
'''Stardust Support: '''partial (diverging only)  
+
'''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.  
 
'''Mapping Description:''' Stardust supports conditions on AND splits, thus this behaves like inclusive gateways. However, the synchronisation is not supported.  
Line 558: Line 558:
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Analytic  
  
'''Stardust Support: ''' NO - REQUIRES CORE EXTENSION  
+
'''Execution Support: ''' NO - REQUIRES CORE EXTENSION  
  
 
<br>  
 
<br>  
Line 568: Line 568:
 
'''BPMN Modelling Conformance Subclasses:''' (full)  
 
'''BPMN Modelling Conformance Subclasses:''' (full)  
  
'''Stardust Support: ''' NO - REQUIRES CORE EXTENSION  
+
'''Execution Support: ''' NO - REQUIRES CORE EXTENSION  
  
 
<br>  
 
<br>  
Line 580: Line 580:
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
  
'''Stardust Support: ''' full (expressions based on javascript)  
+
'''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.  
 
'''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.  
Line 610: Line 610:
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
  
'''Stardust Support: ''' full  
+
'''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.  
 
'''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.  
Line 626: Line 626:
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
  
'''Stardust Support: ''' full  
+
'''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.  
 
'''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.  
Line 651: Line 651:
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
  
'''Stardust Support: ''' full  
+
'''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.  
 
'''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.  
Line 685: Line 685:
 
'''BPMN Modelling Conformance Subclasses:''' Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Descriptive / Analytic  
  
'''Stardust Support: ''' full  
+
'''Execution Support: ''' full  
  
 
'''Mapping Description:''' The timer start event directly corresponds to the Timer Trigger in Stardust.  
 
'''Mapping Description:''' The timer start event directly corresponds to the Timer Trigger in Stardust.  
Line 712: Line 712:
 
'''BPMN Modelling Conformance Subclasses:'''&nbsp;Executable / Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:'''&nbsp;Executable / Descriptive / Analytic  
  
'''Stardust Support: ''' full (JMS, E-Mail)  
+
'''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.  
 
'''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.  
Line 758: Line 758:
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Analytic  
  
'''Stardust Support: ''' full (JMS)  
+
'''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  
 
'''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  
Line 795: Line 795:
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Analytic  
  
'''Stardust Support: ''' full (JMS, E-Mail)  
+
'''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.  
 
'''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.  
Line 832: Line 832:
 
'''BPMN Modelling Conformance Subclasses:''' (Executable / Descriptive / Analytic)  
 
'''BPMN Modelling Conformance Subclasses:''' (Executable / Descriptive / Analytic)  
  
'''Stardust Support: ''' full/partial  
+
'''Execution Support: ''' full/partial  
  
 
'''Mapping Description:'''  
 
'''Mapping Description:'''  
Line 854: Line 854:
 
'''BPMN Modelling Conformance Subclasses:''' (Executable / Descriptive / Analytic)  
 
'''BPMN Modelling Conformance Subclasses:''' (Executable / Descriptive / Analytic)  
  
'''Stardust Support: ''' full/partial  
+
'''Execution Support: ''' full/partial  
  
 
'''Mapping Description:'''  
 
'''Mapping Description:'''  
Line 878: Line 878:
 
'''BPMN Modelling Conformance Subclasses:'''&nbsp;Executable / Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:'''&nbsp;Executable / Descriptive / Analytic  
  
'''Stardust Support: ''' no (only graphical)  
+
'''Execution Support: ''' no (only graphical)  
  
 
'''Mapping Description: '''End event symbol.  
 
'''Mapping Description: '''End event symbol.  
Line 900: Line 900:
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:''' Executable / Descriptive / Analytic  
  
'''Stardust Support: ''' full (JMS, E-Mail)  
+
'''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.  
 
'''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.  
Line 937: Line 937:
 
'''BPMN Modelling Conformance Subclasses:'''&nbsp;Executable / Descriptive / Analytic  
 
'''BPMN Modelling Conformance Subclasses:'''&nbsp;Executable / Descriptive / Analytic  
  
'''Stardust Support: ''' '''tbd'''  
+
'''Execution Support: ''' '''tbd'''  
  
 
'''Mapping Description: ''''''tbd'''  
 
'''Mapping Description: ''''''tbd'''  
Line 951: Line 951:
 
'''Extension Elements/Attributes'''  
 
'''Extension Elements/Attributes'''  
  
<br>
+
<br>  
  
 
== Resources  ==
 
== Resources  ==
Line 961: Line 961:
 
'''BPMN Modelling Conformance Subclasses:'''&nbsp;Executable / full  
 
'''BPMN Modelling Conformance Subclasses:'''&nbsp;Executable / full  
  
'''Stardust Support:''' full  
+
'''Execution Support:''' full  
  
 
'''Mapping Description: '''Resources are mapped to participants in Stardust (i.e.&nbsp;roles, organisations, conditional performer).  
 
'''Mapping Description: '''Resources are mapped to participants in Stardust (i.e.&nbsp;roles, organisations, conditional performer).  
Line 979: Line 979:
 
'''Extension Elements/Attributes'''  
 
'''Extension Elements/Attributes'''  
  
*[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/StardustResourceType.java StardustResourceType]: Stardust Participant specification  
+
*[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/StardustResourceType.java StardustResourceType]: Stardust Participant specification
  
 
<br> <br>  
 
<br> <br>  
Line 989: Line 989:
 
'''BPMN Modelling Conformance Subclasses:''' (Executable / Descriptive / Analytic)  
 
'''BPMN Modelling Conformance Subclasses:''' (Executable / Descriptive / Analytic)  
  
'''Stardust Support: ''' partial (no owner / only performer)
+
'''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
+
'''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)  
 
'''Transformation:''' available (performer)  
Line 1,000: Line 1,000:
  
 
'''Related Elements'''  
 
'''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
+
*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
 
*resourceParameterBindings[ResourceParameterBinding]: N/A
  
'''Extension Elements/Attributes''' none
+
'''Extension Elements/Attributes''' none  
  
'''Specific Types''' (not differentiated in Stardust mapping)
+
'''Specific Types''' (not differentiated in Stardust mapping)  
*Performer
+
 
*Human Performer
+
*Performer  
 +
*Human Performer  
 
*Potential Owner
 
*Potential Owner
  
<br>
+
<br>  
  
 
== Processes Collaboration  ==
 
== Processes Collaboration  ==
Line 1,021: Line 1,023:
 
'''BPMN Modelling Conformance Subclasses:''' (Executable / Descriptive / Analytic)  
 
'''BPMN Modelling Conformance Subclasses:''' (Executable / Descriptive / Analytic)  
  
'''Stardust Support: ''' full/partial  
+
'''Execution Support: ''' full/partial  
  
 
'''Mapping Description:'''  
 
'''Mapping Description:'''  
Line 1,038: Line 1,040:
  
 
==== BPMN Lanes  ====
 
==== BPMN Lanes  ====
 +
 +
  
 
== Foundation  ==
 
== Foundation  ==
Line 1,116: Line 1,120:
 
'''Modeler support:'''  
 
'''Modeler support:'''  
  
'''Stardust Support: ''' full (XML Schema and WSDL imports)  
+
'''Execution Support: ''' full (XML Schema and WSDL imports)  
  
 
'''Mapping Description:''' Stardust data structure import (type declaration)  
 
'''Mapping Description:''' Stardust data structure import (type declaration)  

Revision as of 11:39, 18 October 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



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

  • 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


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.,

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 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

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 [[#BPMN timerStartEvent|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