OCL Expressions
No edit summary
No edit summary
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The '''Object Constraint Language (OCL)''' is a [[wikipedia:Declarative_programming|declarative language]] for describing rules that apply to [[UML School|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.
'''Object Constraint Language''' ('''OCL''') is a [[wikipedia:Declarative_programming|declarative language]] for describing rules that apply to [[wikipedia:Unified_Modeling_Language|Unified Modeling Language (UML)]] models developed at [[wikipedia:IBM|IBM]] and now part of the UML standard. Initially, OCL was only a formal specification language extension to UML.<sup>[1]</sup> OCL may now be used with any [[wikipedia:Meta-Object_Facility|Meta-Object Facility]](MOF), [[wikipedia:Object_Management_Group|Object Management Group]](OMG), [[wikipedia:Metamodeling|meta-model]], including UML.<sup>[2]</sup> 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 ([[wikipedia:QVT|QVT]]) specification.


==== [[Part 1 OCL Common Expressions]] ====
===== 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: ======
 
==== [[Part 1 OCL Common Expressions|Part 1 OCL: Common Expressions]] ====


==== [[Part 2 OCL: Operators]] ====
==== [[Part 2 OCL: Operators]] ====


==== [[Part 3 OCL: Derivation properties]] ====
==== [[Part 3 OCL: Derivation properties|Part 3 OCL: Derivation Properties]] ====
 
The MDriven Book - See also: [[Training:Certain important constructs|Certain important constructs]]
==== [[Understanding OCL with reference to SQL]] ====
'''OCL by example'''
[[Category:OCL]]
[[Category:OCL]]
[[Category:Beginner]]
[[Category:Beginner]]
[[Category:The MDriven Book]]

Latest revision as of 05:28, 3 April 2024

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:

Part 1 OCL: Common Expressions

Part 2 OCL: Operators

Part 3 OCL: Derivation Properties

The MDriven Book - See also: Certain important constructs

This page was edited 36 days ago on 04/03/2024. What links here