extending ocl to include actions
The UML's Object Constraint Language provides the modeller of object-oriented systems with ways to express the semantics of a model in a precise and declarative manner. The constraints which can be expressed in this language, all state requirements on the static aspects of the system. The Object Constraint Language currently lacks a way to express that events have happened or will happen, that signals are or will be send, or that operations are or will be called. This paper introduces an extension to OCL to solve the above problem: the so-called action clause. We describe how this extension is integrated with the UML semantics to avoid semantics overlap. It also shows that a modeler can use it to specify dynamic requirements declaratively on an abstract level, without the need to use full operational dynamic diagrams.
ocl actions uml constraints operations invariants dynamic semantics pre- and postconditions