Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "OCL"
(→Actual Changes) |
|||
Line 16: | Line 16: | ||
The OCL parser is generated by the LALR Parser Generator, a SourceForge project, licensed under the [http://www.eclipse.org/legal/epl-v10.html EPL v1.0]. Download it from the [http://sourceforge.net/projects/lpg/ LPG home page]. This site includes the generator executable required to regenerate the parser code. | The OCL parser is generated by the LALR Parser Generator, a SourceForge project, licensed under the [http://www.eclipse.org/legal/epl-v10.html EPL v1.0]. Download it from the [http://sourceforge.net/projects/lpg/ LPG home page]. This site includes the generator executable required to regenerate the parser code. | ||
+ | |||
+ | == New and Noteworthy == | ||
+ | |||
+ | You may want to check the [[MDT/OCL/New_and_Noteworthy|New and Noteworthy]] features of the MDT/OCL releases. | ||
== Example Code == | == Example Code == | ||
Line 40: | Line 44: | ||
== Releases and Development == | == Releases and Development == | ||
− | === | + | === Planning === |
− | + | ||
− | === | + | * [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/mdt/ocl/project-info/plan_indigo.xml&component=OCL Indigo Draft Plan] |
+ | * [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/mdt/ocl/project-info/plan_helios.xml&component=OCL Helios Draft Plan] | ||
+ | * [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/mdt/ocl/project-info/plan.xml&component=OCL Galileo Draft Plan] | ||
+ | * [http://www.eclipse.org/modeling/mdt/ocl/docs/ocl_project_plan_1_2.html R1.2 Draft Plan] | ||
+ | * [http://www.eclipse.org/modeling/mdt/ocl/docs/ocl_project_plan_1_1.html R1.1 Draft Plan] | ||
− | + | === API Changes === | |
+ | * [[MDT/OCL_3.0.0_API_Changes| API Changes]] made in the last MDT/OCL release (Helios). | ||
=== Architecture === | === Architecture === | ||
Line 54: | Line 62: | ||
The remainder of this section has links to pages of interest primarily to those developing | The remainder of this section has links to pages of interest primarily to those developing | ||
the OCL component. | the OCL component. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Development Environment === | === Development Environment === |
Revision as of 13:18, 17 December 2010
OCL is an implementation of the Object Constraint Language (OCL) OMG standard for EMF-based models.
The OCL component provides the following capabilities to support OCL integration:
- Defines APIs for parsing and evaluating OCL constraints and queries on EMF 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 additional OCL Examples and Editors component provides interactive support for OCL:
- Provides an Interactive OCL Console to evaluate queries on models.
- Provides an OCLinEcore Xtext editor for OCL embedded in an Ecore meta-model.
- Provides a CompleteOCL editor for an OCL document complementing a meta-model.
- Provides an EssentialOCL editor for individual OCL expressions.
The 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.
Contents
New and Noteworthy
You may want to check the New and Noteworthy features of the MDT/OCL releases.
Example Code
- Customizing OCL Environments
- Evaluating Stereotype Constraints using the Ecore Environment
- OCL Snippets
Articles
- OCL Tools: Status and Perspectives by Miguel Garcia and A. Jibran Shidqie
- OCL Compiler for EMF by Miguel Garcia and A. Jibran Shidqie
- How to process OCL Abstract Syntax Trees by Miguel Garcia
- Implementing Model Integrity in EMF with OCL by Christian W. Damus
- EclipseCon 2007 tutorial "Effective Use of the Eclipse Modeling Framework" by Ed Merks et al.
- "Querying UML Models using OCL and Prolog: A Performance Study" presented at MoDeVVa'2008 by Joanna Chimiak-Opoka et al.
(OCL expressions used in the study are available online at the OCL Editor web page in the Library Concept / Concrete Syntax section)
Other documentation
- Frequently Asked Questions
- Javadoc API Reference
- Eclipse Help Center including MDT OCL SDK developer guide
Releases and Development
Planning
API Changes
- API Changes made in the last MDT/OCL release (Helios).
Architecture
The remainder of this section has links to pages of interest primarily to those developing the OCL component.
Development Environment
Release Engineering
- How to Make and Publish Builds Using Athena CBI (DEPRECATED)
- How to Make and Publish Builds Using Buckminster
- Features Organization
Related Links
- Modeling Project Category Wiki
- Model Development Tools Category Wiki
- How to build Modeling sub-projects like OCL