OCL (Object Constraint Language)

Eclipse OCL is an implementation of the Object Constraint Language (OCL) OMG standard for EMF-based models.
The core OCL component provides the following capabilities to support OCL integration:

  • Defines APIs for parsing and evaluating OCL constraints and queries on Ecore or UML models.
  • Defines Ecore and UML implementations of the OCL abstract syntax model, including support for serialization of parsed OCL expressions.
  • Provides a Visitor API for analyzing/transforming the AST model of OCL expressions.
  • Provides an extensibility API for clients to customize the parsing and evaluation environments used by the parser.

The accompanying examples provide:

  • A Console for interactive evaluation of OCL expression on models.
  • (Indigo) An Impact Analyzer to support analysis and optimised re-evaluation.

The additional OCL Examples and Editors component provides interactive support for OCL:

  • An Xtext editor for OCL expressions (used by Papyrus and the Console).
  • An Xtext editor for OCL expressions (used by Papyrus and the Console).
  • An Xtext editor for OCL documents complemementing meta-models (Complete OCL).
  • An Xtext editor for the OCL 'Standard' Library model.
  • (Indigo) A UML-aligned OCL meta-model supporting templates and reflection.
  • (Indigo) An OCL evaluator exploiting the extensible OCL library model.
  • (Indigo) An Xtext Console for interactive evaluation of OCL expression on models.

The core OCL parser is generated by the LALR Parser Generator, a SourceForge project, licensed under the EPL v1.0. Download it from the LPG home page. This site includes the generator executable required to regenerate the parser code.

Commit Activity: 
Commits on this project (lifetime).
Technology Types: