| <p>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 main 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 additional OCL Examples and Editors component provides interactive support for OCL:</p> |
| <ul> |
| <li>Provides an Interactive OCL Console to evaluate queries on models.</li> |
| <li>Provides an OCLinEcore Xtext editor for OCL embedded in an Ecore meta-model.</li> |
| <li>Provides a CompleteOCL editor for an OCL document complementing a meta-model.</li> |
| <li>Provides an EssentialOCL editor for individual OCL expressions.</li> |
| </ul> |
| <p>The 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> |