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 "MDT/New and Noteworthy/1.1"

< MDT
m (Navigation of Unnamed Association Ends)
(OCL Tools Component)
Line 44: Line 44:
 
[http://www.eclipse.org/modeling/mdt/news/relnotes.php?project=ocl&version=1.2.0M3 OCL 1.2 M3 release notes].
 
[http://www.eclipse.org/modeling/mdt/news/relnotes.php?project=ocl&version=1.2.0M3 OCL 1.2 M3 release notes].
  
== [[MDT-OCLTools|OCL Tools]] Component ==
+
== [http://wiki.eclipse.org/OCLTools OCL Tools] Component ==
  
''TBD''
+
OCL Tools is a recently added component to the
 +
[http://www.eclipse.org/modeling/mdt Model Development Tools (MDT)] Project
 +
aiming at providing first-class support to modelers
 +
working with specifications containing expressions written in OCL, the
 +
Object Constraint Language. Such support
 +
includes editing, refactoring, code generation, execution, and
 +
interactive debugging of the OCL constraints given for some underlying
 +
(Ecore or UML2) class model. The functionality of OCL Tools builds upon
 +
the MDT OCL component, and has been seeded with two initial
 +
contributions:
 +
 
 +
<ul>
 +
<li>an OCL -> Java compiler, that as of now takes as input an
 +
<tt>.ecore</tt> and a textual file containing OCL constraints (handling UML2 is
 +
in the ToDo list). This compiler extends EMF code generation, producing
 +
Java 5 source code with side-effects-free methods for the given OCL
 +
invariants, pre- and postconditions, and derived attributes and
 +
operations.</li>
 +
 
 +
<li>an OCL text editor, supporting usability features such as
 +
AutoCompletion, navigation by means of hyperlinks, structured views
 +
(for the outline of a document and for the Abstract Syntax Tree of an
 +
OCL constraint), among others. Although MDT OCL itself is completely
 +
fluent in both Ecore and UML2, only the Ecore binding is supported by
 +
the OCL text editor at this time.</li>
 +
</ul>
 +
 
 +
A longer intro to OCL Tools can be found at
 +
<ul>
 +
        <li>the draft article being reviewed for publication at:
 +
            https://bugs.eclipse.org/bugs/show_bug.cgi?id=204701
 +
        </li>
 +
        <li>the [http://wiki.eclipse.org/OCLTools OCL Tools] wiki page</li>
 +
</ul>
  
 
== Unified Modeling Language 2.x ([[MDT-UML2|UML2]]) Component ==
 
== Unified Modeling Language 2.x ([[MDT-UML2|UML2]]) Component ==

Revision as of 11:27, 13 November 2007

Model Development Tools Release 1.1 New and Noteworthy Items.

For more details about the development plan, see the MDT 1.1 draft plan.

Back to Modeling Development Tools.

EMF Ontology Definition Metamodel (EODM) Component

TBD

Object Constraint Language (OCL) Component

Release 1.2 M3

OCL Grammar and Parser API Refactoring

This milestone delivers the long-awaited refactoring of the OCL LPG grammar and associated parser API, contributed by Ed Willink from the GMT project's UMLX component.

The major new API in this contribution is defined in the org.eclipse.ocl.lpg and org.eclipse.ocl.parser packages. Included is an implementation of an EssentialOCL grammar (EssentialOCL.g) which is included in the full grammar (OCLParser.g). The former OCLParser class (which was internal) is refactored to separate the concrete syntax and abstract syntax parsing phases, implemented by the public classes OCLParser and [1] OCLAnalyzer, respectively.

Abstract LPG-parsing API is provided by the org.eclipse.ocl.lpg package, with abstract definitions of lexers, parsers, and analyzers. These are accompanied by a BasicEnvironment interface that provides core services such as a new pluggable ProblemHandler for flexible reporting of parsing/analysis problems.

See Bug 176110 for further details.

Navigation of Unnamed Association Ends

The UML metamodel binding now supports parsing and evaluation of OCL expressions that navigate unnamed association ends. The OCL convention for unnamed ends defines an implicit name which is the name of the classifier at that end with the initial letter in lower case. MDT OCL supports evaluation of such navigation expressions, where the implicit end name is unambiguous, on both instances of UML2-generated metamodels and on instance specifications in UML models.

Navigating unnamed metamodel association ends

Navigating unnamed model association ends

Other Bug Fixes

For other bug fixes, see the OCL 1.2 M3 release notes.

OCL Tools Component

OCL Tools is a recently added component to the Model Development Tools (MDT) Project aiming at providing first-class support to modelers working with specifications containing expressions written in OCL, the Object Constraint Language. Such support includes editing, refactoring, code generation, execution, and interactive debugging of the OCL constraints given for some underlying (Ecore or UML2) class model. The functionality of OCL Tools builds upon the MDT OCL component, and has been seeded with two initial contributions:

  • an OCL -> Java compiler, that as of now takes as input an .ecore and a textual file containing OCL constraints (handling UML2 is in the ToDo list). This compiler extends EMF code generation, producing Java 5 source code with side-effects-free methods for the given OCL invariants, pre- and postconditions, and derived attributes and operations.
  • an OCL text editor, supporting usability features such as AutoCompletion, navigation by means of hyperlinks, structured views (for the outline of a document and for the Abstract Syntax Tree of an OCL constraint), among others. Although MDT OCL itself is completely fluent in both Ecore and UML2, only the Ecore binding is supported by the OCL text editor at this time.

A longer intro to OCL Tools can be found at

Unified Modeling Language 2.x (UML2) Component

TBD

UML2 Tools Component

TBD

XML Schema Infoset (XSD) Component

TBD

Back to the top