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

STP/IM Component/Transformation Approaches/From BPMN/Runtime Technology Based

< STP‎ | IM Component‎ | Transformation Approaches/From BPMN
Revision as of 18:55, 11 May 2008 by Juanjosecg.gmail.com (Talk | contribs) (Transformation Rules Sketch)

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 ServiceBindings.
    2. Create Services and put them 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
BPMN!BpmnDiagram IM!StpIntermediateModel
BPMN!BpmnDiagram.getEAnnotation(IM_VERSION_ANNOTATION) IM!BasicProperty[ITER_VERSION]
BPMN!BpmnDiagram.getEAnnotation(IM_ITER_ANNOTATION) IM!BasicProperty[IM_ITER_NAME]

IM!BasicProperty[IM_ITER_FIRST_PROCESS_NAME] IM!BasicProperty[IM_ITER_RULE_FOR_DETERMINATION] IM!BasicProperty[IM_ITER_RULE_FOR_DETERMINATION_LANGUAGE] IM!BasicProperty[IM_ITER_OBSERVABLE_ATTRIBUTE_LIST_SIZE] IM!BasicProperty[IM_ITER_OBSERVABLE_ATTRIBUTE_MAP] (IM!BasicProperty[IM_ITER_OBSERVABLE_ATTRIBUTE_ID])*

Comments

Back to the top