OCL Expressions
No edit summary
No edit summary
Line 1: Line 1:
{{Edited|July|12|2025}}
<message>Write the content here to display this box</message>
<message>Write the content here to display this box</message>


Line 23: Line 22:


'''<span style="color: #1a50ad">The MDriven Book</span>''' - '''Next Chapter:''' [[Training:Certain important constructs|Certain important constructs]]
'''<span style="color: #1a50ad">The MDriven Book</span>''' - '''Next Chapter:''' [[Training:Certain important constructs|Certain important constructs]]
{{Edited|July|12|2025}}
[[Category:OCL]]
[[Category:OCL]]
[[Category:Beginner]]
[[Category:Beginner]]
[[Category:The MDriven Book]]
[[Category:The MDriven Book]]

Revision as of 05:57, 18 March 2025

This page was created by Alexandra on 2017-04-16. Last edited by Stephanie@mdriven.net on 2025-03-19.


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.[1] 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.
Different ways MDriven relies on OCL:
  • As a constraint definition on a class
  • As a description of derivation rule on derived attributes
  • As a description of derivation of derived associations
  • As ViewModel columns and Nesting definitions
  • As definitions for Visible and Enable state for ViewModel columns
  • As an expression of style information on ViewModel columns
  • As an 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.

Learn more:

The MDriven Book - Next Chapter: Certain important constructs