- What are the differences between the semantics of an action and the operational semantics of a UML model?
These are related but separate initiatives. Semantics of action is an earlier initiative. This was a confirmation that UML cannot be used to create executable models because it lacked constructions to describe processing operations: assignment, generation of events, etc. The original intention was to create an action language to address these shortcomings. However: the participants involved could not agree on the syntax of the language. Thus, instead, they expressed the semantics of the action: the definition of constructions required only for the abstract syntactic level. Suppliers / contractors were then free to use their own surface syntax.
Various initiatives have been taken to create operational semantics for UML (a few examples ). However, by and large, they were not produced directly or for OMG. Most of them were independent research initiatives.
As far as I know, there is no single normative operational semantics for UML. The closest things are probably fUML and related Alf specifications. fUML formalizes a subset of UML with the goal of creating executable models. Alf is the specific syntax for fUML. fUML defines the execution semantics, which it describes as "the behavioral semantics of UML constructs that define an operational action over time, describing or limiting the permissible behavior in a simulated model."
Alf / fUML can be seen as an evolution of the original work of action semantics. Although the name is Alf Spec Concrete Syntax for a UML Action Language , it includes syntax for all the elements needed to create executable models, including classes, relationships, state models, etc.
Is there a standard specification for each of them?
- Action semantics was originally released as a separate specification, which was then combined with the core UML specification in version 1.5 β the specification here .
- Alf and fUML (as above).
Is there any support for implementation tools?
There is a reference implementation for Alf and fUML here . Various tools support the creation of executable models using action languages, for example. xtuml editor (free, open source) and MagicDraw via cameo modeling tool (proprietary).
NTN.
PS: You might consider accepting answers to other questions that you asked ...
source share