Learn OCL
No edit summary
No edit summary
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''What is Object Constraint Language'''
__NOTOC__


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. 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.
'''What is Object Constraint Language?'''


Learn more with ☛ [[OCL Expressions|'''OCL Video Tutorials''']]  
The '''Object Constraint Language (OCL)''' is a [[wikipedia:Declarative_programming|declarative language]] used 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, but now it may now be used with any Meta-Object Facility (MOF) Object Management Group (OMG) meta-model, including UML. It 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
Learn more with ☛ '''[[Training:OCL Expressions|OCL Video Tutorials]]'''
* As constraint definition on a class
 
* As description of derivation rule on derived attributes
=== Different ways MDriven relies on OCL: ===
* As description of derivation of derived associations
* As a constraint definition of a class
* As a description of the derivation rule on derived attributes
* As a description of the derivation of derived associations
* As ViewModel columns and Nesting definitions
* As ViewModel columns and Nesting definitions
* As definitions for Visible and Enable state for ViewModel columns
* As definitions for Visible and Enable state for ViewModel columns
* As expression of style information on ViewModel columns
* As an expression of style information on ViewModel columns
* As expression for object presentation on classes
* As an expression for object presentation of classes
* Action Enable expression
* As Action Enable expression
* State machine Guards
* As State machine Guards
MDriven relies heavily on OCL and it is a very powerful tool to describe constraints, actions and transformations in your model.
MDriven relies heavily on OCL which is a very powerful tool for describing constraints, actions, and transformations in your model.
 
[[OCL Expressions|'''OCL expressions''']] 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. We use the same syntax as OCL in something we call [[EAL – ExtendedActionLanguage.|'''EAL – Extended Action Language.''']]
 
== Explore OCL ==


[[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.''']]
==== [[OCLps|'''OCLps''']] ====


[[OCLps|'''OCLps''']]
==== [[Seeker view]] ====


[[Seeking the database with OCLps|'''Seeking the database with OCLps''']]
==== [[OCLOperators|'''OCLOperators''']] ====


[[OCLOperators|'''OCLOperators''']]
==== [[Certain important constructs|'''Certain important constructs''']] ====


[[Certain important constructs|'''Certain important constructs''']]
==== '''[[Methods]]''' ====


'''[[Methods]]'''
== More Articles ==


More articles:
==== [[Unique constraints on 1 to 1 links]] ====


[[Unique constraints on 1 to 1 links]]
==== [[GuardConstraints]] ====


[[GuardConstraints]]
==== [[ClassFromString]] ====


[[ClassFromString]]
====[[Understanding OCL with reference to SQL]]====
====[[Understanding OCL with reference to SQL]]====
[[Custom types and custom operations in OCL]]


[[A few words on linq]]
==== [[Custom types and custom operations in OCL]] ====
 
==== [[A few words on linq|A few words on Linq]] ====


'''[[OCL by example]]'''
==== '''[[OCL by example|OCL by Example]]''' ====
[[Category:OCL]]
[[Category:OCL]]
[[Category:Discovery]]
[[Category:Discovery]]
 
{{Edited|July|12|2024}}
<html>
<style>
p .mw-headline a:first-of-type  {
    display: block;
    padding: 12px !important;
    border: 2px solid #f7f7f7;
    border-radius: 4px;
    max-width: 560px;
    text-decoration: none;
    animation: all 400ms ease-in-out;
}
 
p .mw-headline a:first-of-type:hover {
    background: #fbfbfb;
    text-decoration: none;
  animation: all 400ms ease-in-out;
}
</style>
 
 
</html>

Latest revision as of 05:13, 14 February 2024


What is Object Constraint Language?

The Object Constraint Language (OCL) is a declarative language used 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, but now it may now be used with any Meta-Object Facility (MOF) Object Management Group (OMG) meta-model, including UML. It 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 a constraint definition of a class
  • As a description of the derivation rule on derived attributes
  • As a description of the 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 of classes
  • As Action Enable expression
  • As State machine Guards

MDriven relies heavily on OCL which is a very powerful tool for describing constraints, actions, and transformations in your model.

OCL expressions 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. We use the same syntax as OCL in something we call EAL – Extended Action Language.

Explore OCL

OCLps

Seeker view

OCLOperators

Certain important constructs

Methods

More Articles

Unique constraints on 1 to 1 links

GuardConstraints

ClassFromString

Understanding OCL with reference to SQL

Custom types and custom operations in OCL

A few words on Linq

OCL by Example

This page was edited 69 days ago on 02/14/2024. What links here