Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "STP/IM Component/Transformation Approaches/From BPMN/Runtime Technology Based"

(Transformation Outline)
(Transformation Outline)
Line 9: Line 9:
  
 
==Transformation Outline==
 
==Transformation Outline==
* The BPMN diagram version is read and a IM property is created with this version.
+
# The BPMN diagram version is read and a IM property is created with this version.
* "IM Iter Configuration" starts: the "im.iter" EAnnotation from the BPMN diagram is read and copied to the IM instance.
+
# "IM Iter Configuration" starts: the "im.iter" EAnnotation from the BPMN diagram is read and copied to the IM instance.
* The used runtimes are read from the BPMN diagram. This is done by reading the "technology" EAnnotation from every <code>Pool</code>. For each used runtime:
+
# The used runtimes are read from the BPMN diagram. This is done by reading the "technology" EAnnotation from every <code>Pool</code>. For each used runtime:
** Create a <code>ServiceBinding</code>
+
## Create a <code>ServiceBinding</code>
** Create a <code>Service</code> and put it in a <code>ServiceCollection</code>
+
## Create a <code>Service</code> and put it in a <code>ServiceCollection</code>
* For each <code>Pool</code>:
+
# For each <code>Pool</code>:
** Create a <code>Process</code>
+
## Create a <code>Process</code>
** Copy BPMN process artifacts into IM process variables
+
## Copy BPMN process artifacts into IM process variables
** For each <code>Activity</code>
+
## For each <code>Activity</code>
*** Create a <code>Step</code>. If this <code>Activity</code> is a <code>Subprocess</code>, find inner activities and create more <code>Step</code>s.
+
### Create a <code>Step</code>. If this <code>Activity</code> is a <code>Subprocess</code>, find inner activities and create more <code>Step</code>s.
** For each <code>SequenceEdge</code>
+
## For each <code>SequenceEdge</code>
*** Create a <code>Transition</code>. If this <code>SequenceEdge</code>'s <code>Activity</code> on the source side is a <code>Subprocess</code>, find inner <code>SequenceEdge</code>s and create more <code>Transition</code>s.
+
### Create a <code>Transition</code>. If this <code>SequenceEdge</code>'s <code>Activity</code> on the source side is a <code>Subprocess</code>, find inner <code>SequenceEdge</code>s and create more <code>Transition</code>s.
  
 
==Transformation Rules Sketch==
 
==Transformation Rules Sketch==

Revision as of 05:09, 11 May 2008

This transformation can be found in the class org.eclipse.stp.im.in.bpmn2im.Bpmn2ImWorkspaceOperation under the method with the following signature:

public StpIntermediateModel createIntermediateModelFromBpmn(BpmnDiagram bpmnDiagram, List<String> selectedPools, 
     IProgressMonitor monitor){
          ...
}

Transformation Outline

  1. The BPMN diagram version is read and a IM property is created with this version.
  2. "IM Iter Configuration" starts: the "im.iter" EAnnotation from the BPMN diagram is read and copied to the IM instance.
  3. The used runtimes are read from the BPMN diagram. This is done by reading the "technology" EAnnotation from every Pool. For each used runtime:
    1. Create a ServiceBinding
    2. Create a Service and put it in a ServiceCollection
  4. For each Pool:
    1. Create a Process
    2. Copy BPMN process artifacts into IM process variables
    3. For each Activity
      1. Create a Step. If this Activity is a Subprocess, find inner activities and create more Steps.
    4. For each SequenceEdge
      1. Create a Transition. If this SequenceEdge's Activity on the source side is a Subprocess, find inner SequenceEdges and create more Transitions.

Transformation Rules Sketch

From To

Comments

Back to the top