Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "OCL"

(Documentation, Publications and FAQs)
(Planning)
(7 intermediate revisions by 2 users not shown)
Line 17: Line 17:
 
* Provides an EssentialOCL editor for individual OCL expressions.
 
* Provides an EssentialOCL editor for individual OCL expressions.
  
The grammars for the Xtext-based editors auto-generate ANTLR parsers. In MDT/OCL 3.0, the ANTLR parsers are used solely within the editors. As from MDT/OCL 3.1 the Xtext grammars and parsers provide full evaluation and validation capabilities too. Since the Xtext grammars are associated with a re-engineering to support a model-defined standard library and full OMG compliance, the original LPG parser will be increasingly deprecated.
+
The grammars for the Xtext-based editors auto-generate ANTLR parsers. In Eclipse OCL 3.0, the ANTLR parsers are used solely within the editors. As from Eclipse OCL 3.1 the Xtext grammars and parsers provide full evaluation and validation capabilities too. Since the Xtext grammars are associated with a re-engineering to support a model-defined standard library and full OMG compliance, the original LPG parser will be increasingly deprecated.
  
 
== Downloads and Updates ==
 
== Downloads and Updates ==
Line 29: Line 29:
 
Eclipse OCL source code is available from git://git.eclipse.org/gitroot/mdt/org.eclipse.ocl.git, [http://git.eclipse.org/c/mdt/org.eclipse.ocl.git http://git.eclipse.org/c/mdt/org.eclipse.ocl.git] and [https://github.com/eclipse/ocl/network github Network]. All source projects may be installed by Import...->Team->Team Project Set, then entering [http://eclipse.org/modeling/mdt/ocl/resources/ocl.psf http://eclipse.org/modeling/mdt/ocl/resources/ocl.psf] as the URL for import. Be patient; the repository clone takes a while, and there are no obvious progress indicators during the third phase while projects are actually created.
 
Eclipse OCL source code is available from git://git.eclipse.org/gitroot/mdt/org.eclipse.ocl.git, [http://git.eclipse.org/c/mdt/org.eclipse.ocl.git http://git.eclipse.org/c/mdt/org.eclipse.ocl.git] and [https://github.com/eclipse/ocl/network github Network]. All source projects may be installed by Import...->Team->Team Project Set, then entering [http://eclipse.org/modeling/mdt/ocl/resources/ocl.psf http://eclipse.org/modeling/mdt/ocl/resources/ocl.psf] as the URL for import. Be patient; the repository clone takes a while, and there are no obvious progress indicators during the third phase while projects are actually created.
  
Eclipse OCL has [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;component=OCL;product=MDT;classification=Modeling Open Bugs] and a [news://new.eclipse.org:119/eclipse.modeling.mdt.ocl newsgroup] or [http://www.eclipse.org/forums/eclipse.modeling.mdt.ocl forum].
+
Eclipse OCL has [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;product=MDT.OCL;classification=Modeling Open Bugs] and a [news://new.eclipse.org:119/eclipse.modeling.mdt.ocl newsgroup] or [http://www.eclipse.org/forums/eclipse.modeling.mdt.ocl forum]. See the [[OCL/ForumNetiquette | OCL Forum Netiquette]]
  
 
== Documentation, Publications and [[OCL/FAQ|FAQs]] ==
 
== Documentation, Publications and [[OCL/FAQ|FAQs]] ==
Line 35: Line 35:
 
* [[OCL/Compliance|(OMG) OCL Compliance]] and [[OCL/Limitations|(Eclipse) OCL Limitations]]
 
* [[OCL/Compliance|(OMG) OCL Compliance]] and [[OCL/Limitations|(Eclipse) OCL Limitations]]
 
* [http://help.eclipse.org/ Eclipse Help Center] Current documentation
 
* [http://help.eclipse.org/ Eclipse Help Center] Current documentation
** [http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.ocl.doc%2Fhelp%2FOverview.html&cp=46_0 Juno OCL Documentation] (select OCL Documentation in left hand frame to see content)
+
** [http://help.eclipse.org/kepler/topic/org.eclipse.ocl.doc/help/Overview.html?cp=38_0 Kepler OCL Documentation]
** [http://help.eclipse.org/indigo/topic/org.eclipse.ocl.doc/help/index.html Indigo OCL Documentation] [[OCL/Indigo Documentation Errata| Errata]]
+
** [http://help.eclipse.org/juno/topic/org.eclipse.ocl.doc/help/Overview.html Juno OCL Documentation]
 +
** [http://help.eclipse.org/indigo/topic/org.eclipse.ocl.doc/help/Overview.html Indigo OCL Documentation] [[OCL/Indigo Documentation Errata| Errata]]
 
** [http://help.eclipse.org/helios/nav/40 Helios OCL Developer Guide]
 
** [http://help.eclipse.org/helios/nav/40 Helios OCL Developer Guide]
 
* [[OCL/New_and_Noteworthy|New and Noteworthy]] features of the Eclipse OCL releases.
 
* [[OCL/New_and_Noteworthy|New and Noteworthy]] features of the Eclipse OCL releases.
Line 55: Line 56:
 
=== Planning ===
 
=== Planning ===
  
* [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/mdt/ocl/project-info/plan_kepler.xml&component=Eclipse OCL 4.1 Kepler Draft Plan]
+
* [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/mdt/ocl/project-info/plan_luna.xml&component=Eclipse OCL 5.0/3.4 Luna Draft Plan]
* [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/mdt/ocl/project-info/plan_juno.xml&component=Eclipse OCL 4.0 Juno Plan]
+
* [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/mdt/ocl/project-info/plan_kepler.xml&component=Eclipse OCL 4.1/3.3 Kepler Plan]
 +
* [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/mdt/ocl/project-info/plan_juno.xml&component=Eclipse OCL 4.0/3.2 Juno Plan]
 
* [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/mdt/ocl/project-info/plan_indigo.xml&component=Eclipse OCL 3.1 Indigo Plan]
 
* [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/mdt/ocl/project-info/plan_indigo.xml&component=Eclipse OCL 3.1 Indigo Plan]
 
* [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/mdt/ocl/project-info/plan_helios.xml&component=Eclipse OCL 3.0 Helios Plan]
 
* [http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/modeling/mdt/ocl/project-info/plan_helios.xml&component=Eclipse OCL 3.0 Helios Plan]
Line 63: Line 65:
 
* [http://www.eclipse.org/modeling/mdt/ocl/docs/ocl_project_plan_1_1.html R1.1 Plan]
 
* [http://www.eclipse.org/modeling/mdt/ocl/docs/ocl_project_plan_1_1.html R1.1 Plan]
  
* [[MDT/OCL/Debugger|Evaluator + Console ideas]]
+
* [[OCL/Debugger|Evaluator + Console ideas]]
  
 
=== API Changes ===
 
=== API Changes ===
Line 87: Line 89:
  
 
* [[OCL/Dev/Releng/Buckminster | How to Make and Publish Builds Using Buckminster]]
 
* [[OCL/Dev/Releng/Buckminster | How to Make and Publish Builds Using Buckminster]]
 +
* [[OCL/Dev/Releng/ReleasesTransition | Transition between releases]]
 
* [[OCL/Dev/Releng/Quiet_Week | Quiet week]]
 
* [[OCL/Dev/Releng/Quiet_Week | Quiet week]]
 
* [[OCL/Dev/Releng/P2_Repositories_Organization| P2 Repositories Organization]]
 
* [[OCL/Dev/Releng/P2_Repositories_Organization| P2 Repositories Organization]]

Revision as of 15:58, 22 January 2014

The Eclipse OCL Project provides an implementation of the Object Constraint Language (OCL) OMG standard for EMF-based models.

The Core 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 Core 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.

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 grammars for the Xtext-based editors auto-generate ANTLR parsers. In Eclipse OCL 3.0, the ANTLR parsers are used solely within the editors. As from Eclipse OCL 3.1 the Xtext grammars and parsers provide full evaluation and validation capabilities too. Since the Xtext grammars are associated with a re-engineering to support a model-defined standard library and full OMG compliance, the original LPG parser will be increasingly deprecated.

Downloads and Updates

Eclipse OCL Downloads are available via the Project Downloads page.

Eclipse OCL Updates are available at http://download.eclipse.org/modeling/mdt/ocl/updates and from the Modeling category of the main http://download.eclipse.org/releases/indigo/ Update Site. The OCL End User SDK feature supports OCL in conjunction with Ecore or UML meta-models. The OCL Examples and Editors feature additionally provides an IDE comprising Xtext-based editors and an Interactive Console.

Eclipse OCL Repositories and Updates for Milestone, Interim and Nightly builds are described in P2 Repositories Organization and retained in accordance with the Retention Policy.

Eclipse OCL source code is available from git://git.eclipse.org/gitroot/mdt/org.eclipse.ocl.git, http://git.eclipse.org/c/mdt/org.eclipse.ocl.git and github Network. All source projects may be installed by Import...->Team->Team Project Set, then entering http://eclipse.org/modeling/mdt/ocl/resources/ocl.psf as the URL for import. Be patient; the repository clone takes a while, and there are no obvious progress indicators during the third phase while projects are actually created.

Eclipse OCL has Open Bugs and a newsgroup or forum. See the OCL Forum Netiquette

Documentation, Publications and FAQs

Example Code

Releases and Development

You may want to check the New and Noteworthy features of the Eclipse OCL releases.

Planning

API Changes

  • API Changes made in the Helios Eclipse OCL release.
  • API Changes made in the Indigo Eclipse OCL release.
  • Deprecations announced in the Juno Eclipse OCL release.
  • Limitations of the Ecore/UML bindings and OCL 2.3 compared to the Pivot binding and 'OCL 2.5'.

Architecture

The remainder of this section has links to pages of interest primarily to those developing the OCL component.

Development Environment

Release Engineering

Related Links

Back to the top