Using the class model
Action language is not like a programming language that is processed as a stand alone entity. The class and state models are cross-referenced as Scrall is parsed and interpreted. In other words, actions are considered in the context of the domain model as a whole. This makes helpful smart interpretation possible.
For example, critical information from the class model is taken into account when Scrall is parsed. If an object is selected across a conditional relationship, it is known that zero objects could be selected. If the containing activity does not handle the zero case, it can be flagged with a warning.
If an object is selected using a combination of attributes that do not comprise an identifier for a given class, it will be known that zero, one or many instances might be selected. If the action is combined with an assignment that requires at most one object selection, a fatal error can occur.
A signal action missing the required parameter signature defined on the state model can be flagged as incomplete.
Throughout the examples in this document we will point out cases where a behind-the-scenes reference to the class and or state model influences the validation and interpretation of an action.