No edit summary |
No edit summary |
||
Line 15: | Line 15: | ||
* Action Enable expression | * Action Enable expression | ||
* State machine Guards | * State machine Guards | ||
[[OCL Expressions|'''OCL expression''']] must be without side effects. It is a query language and as such it is not expected to change data as the language is applied. In MDriven we do however want to change data when appropriate – so we use the exact same syntax as OCL in something we call [[EAL – ExtendedActionLanguage.]] | [[OCL Expressions|'''OCL expression''']] must be without side effects. It is a query language and as such it is not expected to change data as the language is applied. In MDriven we do however want to change data when appropriate – so we use the exact same syntax as OCL in something we call [[EAL – ExtendedActionLanguage.|'''EAL – ExtendedActionLanguage.''']] | ||
[[OCLOperators|'''OCLOperators''']] | [[OCLOperators|'''OCLOperators''']] |
Revision as of 18:56, 21 August 2017
What is Object Constraint Language
The Object Constraint Language (OCL) is a declarative language for describing rules that apply to Unified Modeling Language (UML) models developed at IBM and now part of the UML standard. Initially, OCL was only a formal specification language extension to UML. OCL may now be used with any Meta-Object Facility (MOF) Object Management Group (OMG) meta-model, including UML.[2] The Object Constraint Language is a precise text language that provides constraint and object query expressions on any MOF model or meta-model that cannot otherwise be expressed by diagrammatic notation. OCL is a key component of the new OMG standard recommendation for transforming models, the Queries/Views/Transformations (QVT) specification.
Learn more with ☛ OCL Video Tutorials
Different ways MDriven relies on OCL
- As constraint definition on a class
- As description of derivation rule on derived attributes
- As description of derivation of derived associations
- As ViewModel columns and Nesting definitions
- As definitions for Visible and Enable state for ViewModel columns
- As expression of style information on ViewModel columns
- As expression for object presentation on classes
- Action Enable expression
- State machine Guards
OCL expression must be without side effects. It is a query language and as such it is not expected to change data as the language is applied. In MDriven we do however want to change data when appropriate – so we use the exact same syntax as OCL in something we call EAL – ExtendedActionLanguage.