How Mapping Diagrams are Generated to xUML
Designer services are executable UML (xUML) services. This page describes
how the mapping diagram definitions from the Designer are compiled to UML,
how they are presented in the Analyzer, and
where the related execution is implemented.
Refer to Browsing Through the Execution Path of a Designer Service for more information on how to find the related implementations within the trace data.
The Compiler transforms mapping diagrams into UML format. The structure of the transformed mapping diagram is similar to the structure of the execution diagram. This transformation is done in multiple steps. The steps vary depending on the type of mapping:
Simple and Complex Type Mapping
Ref. | Action | Description |
---|---|---|
(1) | mapAddress direct initialScript | Initializations Initialize _self buffer node for non-static mappings. This is needed to make the self context available in the implementation of the execution diagram. |
(2) |
| Operation calls Call all defined mapping operations one by one in an unspecific order. |
(3) | mapAddress direct finalScript | Store data The following is mapped in this step:
The mappings are performed according to the following rules
CODE
|
Array Mapping With Condition
Ref. | Action | Description |
---|---|---|
(1) | mapEmployeeToAddress initialScript | Initializations
|
(2) |
| Operation calls All defined mapping operations are called one by one in an unspecific order. |
(3) | mapEmployeeToAddress finalScript | Store data
|
Array Mapping in a Loop (foreach)
Ref. | Action | Description | |
---|---|---|---|
(1) | xuml_self_orderPos_forEach_initScript | Loop initializations
| |
Operation calls All defined mapping operations are called one by one in an unspecific order. This is not visible in this example because it has no operations calls outside the foreach. | |||
(2) | Loop over array elements | ||
(3) | xuml_self_orderPos_forEach_getCurrentEltScript | Get next array element | |
(4) |
| Operation calls for the current array element All defined mapping operations are called one by one in an unspecific order. | |
(5) | xuml_self_orderPos_finalScript | Store data of the current array element
| |
(6) | xuml_self_orderPos_forEach_incrementScript | Increase array index | |
(7) | mapToErp_finalScript | Store data
|