Action Language Concepts - woven-planet/opensafety-mbse GitHub Wiki
Whereas a class model defines abstractions, data, logic and constraints and a state model defines synchronization and context, the third facet of Executable UML is action language. It specifies the actual computation.
In Executable UML there are four kinds of activities: class method, state activity, domain operation, external entity operation. For the most part you will be concerned with the first two.
An activity is a set of zero or more actions. A set of zero or more parameters may be supplied as input to an activity. A class method activity is defined on a class and visible on the relevant class diagram. A state activity appears inside of a state and it is not uncommon for class method invocation actions within a state activity.
Actions can perform computations, generate signals to state machine instances, invoke bridges to other domains via external entities, select instances and read and write data defined in the class model, traverse relationships defined in the class model and so forth.
We use an open source action language, Scrall, designed to work with our execution semantics. It is entirely platform (implementation) independent and readily mapped into a script that generates efficient C code in our open source tool chain.