| <p>Eclipse OCL is an implementation of the <a href="http://www.omg.org/technology/documents/modeling_spec_catalog.htm#OCL">Object Constraint Language (OCL)</a> OMG standard for EMF-based models.</p> |
| <p>The core OCL component provides the following capabilities to support OCL integration:</p> |
| <ul> |
| <li>Defines APIs for parsing and evaluating OCL constraints and queries on Ecore or UML models.</li> |
| <li>Defines Ecore and UML implementations of the OCL abstract syntax model, including support for |
| serialization of parsed OCL expressions.</li> |
| <li>Provides a Visitor API for analyzing/transforming the AST model of OCL expressions.</li> |
| <li>Provides an extensibility API for clients to customize the parsing and evaluation |
| environments used by the parser.</li> |
| </ul> |
| <p>The accompanying examples provide:</p> |
| <ul> |
| <li>A Console for interactive evaluation of OCL expression on models.</li> |
| <li>(Indigo) An Impact Analyzer to support analysis and optimised re-evaluation.</li> |
| </ul> |
| <p>The additional OCL Examples and Editors component provides interactive support for OCL:</p> |
| <ul> |
| <li>An Xtext editor for OCL expressions (used by Papyrus and the Console).</li> |
| <li>An Xtext editor for OCL expressions (used by Papyrus and the Console).</li> |
| <li>An Xtext editor for OCL documents complemementing meta-models (Complete OCL).</li> |
| <li>An Xtext editor for the OCL 'Standard' Library model.</li> |
| <li>(Indigo) A UML-aligned OCL meta-model supporting templates and reflection.</li> |
| <li>(Indigo) An OCL evaluator exploiting the extensible OCL library model.</li> |
| <li>(Indigo) An Xtext Console for interactive evaluation of OCL expression on models.</li> |
| </ul> |
| <p>The core OCL parser is generated by the LALR Parser Generator, a SourceForge project, |
| licensed under the <a href="http://www.eclipse.org/legal/epl-v10.html">EPL v1.0</a>. |
| Download it from the <a href="http://sourceforge.net/projects/lpg/">LPG home page</a>. |
| This site includes the generator executable required to regenerate the parser code.</p> |
| |