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"

Line 7: Line 7:
 
}  
 
}  
 
</source>
 
</source>
 +
 +
==Transformation Outline==
 +
* 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.
 +
* The used runtimes in all <code>Pool</code>s are read from the BPMN diagram. For each used runtime:
 +
** Create a <code>ServiceBinding</code>
 +
** Create a <code>Service</code> and put it in a <code>ServiceCollection</code>
 +
* For each <code>Pool</code>:
 +
** Create a <code>Process</code>
 +
** Copy BPMN process artifacts into IM process variables
 +
** 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.
 +
** 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.
 +
 +
==Transformation Rules Sketch==
 +
{| class="wikitable"
 +
|-
 +
! From
 +
! To
 +
|-
 +
|
 +
|
 +
|}
 +
==Comments==

Revision as of 05:03, 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

  • 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.
  • The used runtimes in all Pools are read from the BPMN diagram. For each used runtime:
    • Create a ServiceBinding
    • Create a Service and put it in a ServiceCollection
  • For each Pool:
    • Create a Process
    • Copy BPMN process artifacts into IM process variables
    • For each Activity
      • Create a Step. If this Activity is a Subprocess, find inner activities and create more Steps.
    • For each SequenceEdge
      • 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