You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

On this Page:
In other programming languages, what you call a "parameter" is drawn as an activity parameter node in UML.

Example File (Builder project Basic Modeling/Flows):

<your example path>\Basic Modeling\Flows\uml\basicFlows.xml

The Bridge allows you to define multiple output parameters for a single request. This is very useful as it allows you to return an arbitrary number of data items, even if they have different classes. For example, a zoo Service could have an operation that returns all animals in the zoo in an array and an integer stating the total weight of all animals.

Figure: Input and Output Activity Parameter Nodes

Input and output parameters of an operation must be modeled as parameter nodes in your diagrams.

Transformations

Frequently, just drawing an input or output transition from an object node to an action node specifies the input and output of an activity or an action.
However, if the calling object node names are different to the called object node names one has to map object flow state names. Usage of explicit parameter mapping is often required when re-using requests of activities or when applying an adapter.
In this case we use pins or the stereotype <<Transformation>> to define the mapping.

Example File (Builder project Basic Modeling/Data):

<your example path>\Basic Modeling\Data\uml\transformations.xml

Pins

Pins are placed directly on the action node. There are three different kinds of pins:

Type of PinDescription
Input PinsAn input pin is a pin that holds input values to be consumed by an action node. Any type is valid. The pin deduces the type from the calling object node and must not be specified.
Output PinsAn output pin is a pin that holds output values produced by an action node. Any type is valid. The pin deduces the type from the calling object node and must not be specified.
Value PinsA value pin is an input pin that provides a value to an action that does not come from an incoming object flow edge. The value is set statically on the pin. Type must be either String, Integer or Float. The type must be specified.

See in the figure below different possibilities how to apply pins.

Transformation

The <<Transformation>> stereotype is applied directly on the object flow. It extracts the value of a single attribute from a complex type object node respectively output pin, and transports the value to an input pin respectively a simple type object node.

The target of a transformation must always be a simple type. Transformation to an attribute of a complex type is not possible. Each add-on communicating with external systems is called adapter.

See in the figure below different possibilities how to apply transformations on an object flow.

Figure: Transformation Example

  • No labels