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"
(→Releases and Development) |
(→Retention Policy) |
||
Line 59: | Line 59: | ||
Concerning the distributions in zip files which are downloadable from the [http://www.eclipse.org/modeling/mdt/downloads/?project=ocl project downloads] web page: | Concerning the distributions in zip files which are downloadable from the [http://www.eclipse.org/modeling/mdt/downloads/?project=ocl project downloads] web page: | ||
− | * Formal/Official | + | * Formal/Official Release distributions (including service releases) will be available forever. |
* Milestone distributions are stable versions which are used between releases, so they are kept until the official release comes up. | * Milestone distributions are stable versions which are used between releases, so they are kept until the official release comes up. | ||
* Integration/Interim distributions are used between milestones. When a new milestone distribution appears, integration distributions are removed. | * Integration/Interim distributions are used between milestones. When a new milestone distribution appears, integration distributions are removed. | ||
− | * Nigthly distribution are usually generated from nightly build for internal purposes. We don't guarantee | + | * Nigthly distribution are usually generated from nightly build for internal purposes. We don't guarantee any retention of said distributions. |
Regarding the provided P2 repositories. The following policy applies: | Regarding the provided P2 repositories. The following policy applies: | ||
− | * Formal/Official | + | * Formal/Official Release P2 repositories are kept forever. |
** Helios Release P2 repository: http://download.eclipse.org/modeling/mdt/ocl/3_0/updates/ | ** Helios Release P2 repository: http://download.eclipse.org/modeling/mdt/ocl/3_0/updates/ | ||
* Milestones P2 repositories are kept until the Official release arrives. | * Milestones P2 repositories are kept until the Official release arrives. |
Revision as of 08:13, 24 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).
Retention Policy
MDT/OCL doesn't have any special projec-specific API retention policy, so it's tight to the general Eclipse Project guidelines on API deprecation and removal
Concerning the distributions in zip files which are downloadable from the project downloads web page:
- Formal/Official Release distributions (including service releases) will be available forever.
- Milestone distributions are stable versions which are used between releases, so they are kept until the official release comes up.
- Integration/Interim distributions are used between milestones. When a new milestone distribution appears, integration distributions are removed.
- Nigthly distribution are usually generated from nightly build for internal purposes. We don't guarantee any retention of said distributions.
Regarding the provided P2 repositories. The following policy applies:
- Formal/Official Release P2 repositories are kept forever.
- Helios Release P2 repository: http://download.eclipse.org/modeling/mdt/ocl/3_0/updates/
- Milestones P2 repositories are kept until the Official release arrives.
- Indigo Milestones P2 repository: http://download.eclipse.org/modeling/mdt/ocl/updates/milestones/3.1.0/
- We only keep one P2 repository with the last integration build.
- Indigo Interim P2 repository: http://download.eclipse.org/modeling/mdt/ocl/updates/interim/3.1.0/
- We only keep one P2 repository with the last nigthly build.
- Indigo Nightly P2 repository: http://download.eclipse.org/modeling/mdt/ocl/updates/nightly/3.1.0/
N.B: This policy has been created the 24th, December, 2010.
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