next up previous
Next: 3.5 Collection actions Up: 3 Action semantics at Previous: 3.3.4 Variable actions

3.4 Implementation-dependent Computation actions

Computation actions take in input values, perform pure functional computation on them, and then return output values to the output pins. They are comparable to the constant functions in programming languages, which are self-contained and make no change to the current state.

Computation actions are an implementation-dependent part of action semantics for the UML, because there is no rigorous definition for primitive actions. Primitive actions can be written in a specific programming language and is left entirely to the modelling environment. The only requirement for the primitive actions is their signatures, including names, a list of input types and a list of output types.

Researchers find it very hard to define primitive actions for computational purposes, given that different application areas have different requirements [AILKC+00]. However, this lack of formal definition for primitive actions forbids the porting of models from a modelling environment to another. Even worse, in practice few models run without any computation action. Actually, the power of computation actions usually tempts designers to abuse them. It is still necessary to define a primitive action set or a primitive language to maximize portability, if it is not ensured.


next up previous
Next: 3.5 Collection actions Up: 3 Action semantics at Previous: 3.3.4 Variable actions
Thomas Feng 2003-04-18