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"
(→Other documentation) |
|||
Line 8: | Line 8: | ||
* Provides an extensibility API for clients to customize the parsing and evaluation environments used by the parser. | * Provides an extensibility API for clients to customize the parsing and evaluation environments used by the parser. | ||
− | The OCL | + | The additional OCL Examples and Editors component provides interactive support for OCL: |
+ | * Provides an Interactive OCL Console to evaluate queries on models. | ||
+ | * Provides an [[MDT/OCLinEcore | 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 [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. | |
− | + | == Example Code == | |
− | * [[ | + | * [[CustomizingOclEnvironments | Customizing OCL Environments]] |
− | + | * [[StereotypeOCLwithEcore | Evaluating Stereotype Constraints using the Ecore Environment]] | |
− | + | * [[OCLSnippets | OCL Snippets]] | |
− | + | ||
− | * [[ | + | |
− | + | ||
− | * [[ | + | |
− | + | ||
== Articles == | == Articles == | ||
Line 32: | Line 31: | ||
* [http://eclipsezilla.eclipsecon.org/show_bug.cgi?id=3619 EclipseCon 2007 tutorial "Effective Use of the Eclipse Modeling Framework"] by Ed Merks et al. | * [http://eclipsezilla.eclipsecon.org/show_bug.cgi?id=3619 EclipseCon 2007 tutorial "Effective Use of the Eclipse Modeling Framework"] by Ed Merks et al. | ||
* [http://joanna.opoki.com/papers/2008_MoDeVVa/ "Querying UML Models using OCL and Prolog: A Performance Study"] presented at [http://www.cs.colostate.edu/~ghosh/modevva2008/ MoDeVVa'2008] by Joanna Chimiak-Opoka et al. <br>(OCL expressions used in the study are available online at the [http://squam.info/ocleditor/ OCL Editor web page] in the Library Concept / Concrete Syntax section) | * [http://joanna.opoki.com/papers/2008_MoDeVVa/ "Querying UML Models using OCL and Prolog: A Performance Study"] presented at [http://www.cs.colostate.edu/~ghosh/modevva2008/ MoDeVVa'2008] by Joanna Chimiak-Opoka et al. <br>(OCL expressions used in the study are available online at the [http://squam.info/ocleditor/ OCL Editor web page] in the Library Concept / Concrete Syntax section) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Other documentation == | == Other documentation == | ||
Line 44: | Line 37: | ||
* [http://www.eclipse.org/modeling/mdt/javadoc/#ocl Javadoc] API Reference | * [http://www.eclipse.org/modeling/mdt/javadoc/#ocl Javadoc] API Reference | ||
* [http://help.eclipse.org/ Eclipse Help Center] including MDT OCL SDK developer guide | * [http://help.eclipse.org/ Eclipse Help Center] including MDT OCL SDK developer guide | ||
− | |||
− | |||
− | |||
− | == Development == | + | == Releases and Development == |
+ | |||
+ | === Planned Changes === | ||
+ | * [[MDT/OCL_3.0.0_API_Changes]] planned changes | ||
+ | |||
+ | === Actual Changes === | ||
+ | * [[MDT/OCL/New_and_Noteworthy/Helios|New and Noteworthy]] features in Helios release, by milestone | ||
+ | |||
+ | * [[MDT/OCL/New_and_Noteworthy/Galileo|New and Noteworthy]] features in the 1.3 release, by milestone | ||
+ | |||
+ | * [[MDT_1.1_New_and_Noteworthy#Object_Constraint_Language (OCL) Component|New and Noteworthy]] features in the 1.2 release, by milestone | ||
+ | * [[MDT_1.0_New_and_Noteworthy#Object Constraint Language (OCL) Component|New and Noteworthy]] features in the 1.1 release, by milestone | ||
+ | === Architecture === | ||
+ | |||
+ | * [[MDT/OCL/1.X_Architecture|MDT/OCL 1.X Architecture]] | ||
+ | * [[MDT/OCL/4.X_Architecture|MDT/OCL 4.X Architecture]] | ||
− | + | The remainder of this section has links to pages of interest primarily to those developing | |
the OCL component. | the OCL component. | ||
Revision as of 02:12, 21 June 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 an Ecore implementation 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
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
Planned Changes
- MDT/OCL_3.0.0_API_Changes planned changes
Actual Changes
- New and Noteworthy features in Helios release, by milestone
- New and Noteworthy features in the 1.3 release, by milestone
- New and Noteworthy features in the 1.2 release, by milestone
- New and Noteworthy features in the 1.1 release, by milestone
Architecture
The remainder of this section has links to pages of interest primarily to those developing the OCL component.
Planning
Development Environment
Release Engineering
Related Links
- Modeling Project Category Wiki
- Model Development Tools Category Wiki
- How to build Modeling sub-projects like OCL