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.