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

MDT/OCL 3.0.0 API Changes

< MDT
Revision as of 09:51, 4 September 2009 by Ed.willink.me.uk (Talk | contribs)

The OCL 2.2 language changes under discussion for MDT-OCL 3.0.0.

Some changes are marked as no change since MDT-OCL 1.x anticipated them.

Summary of probable OCL 2.2 change Related spec. sections Related bug/s Adopting Milestone
Introduce static keyword and operations 7.4.4, 7.4.9, 12.12.6 285633 In HEAD for M2
OrderedSet is not a subtype of Set. 7.4.5, 11.6.3 246962 --
Give message-expression operators precedence 7.4.7, 9.3.2 288040 Issue pending
Give and/or/xor distinct precedence 7.4.7, 9.3.2 288040 Patch ready
Remove attr, oper keywords 7.4.9 --
Add body, init, derive keywords 7.4.9 No change
Add qualified navigation paths 7.5.3, 9.3 288575 --
exists iterator may have multiple iterators 7.6.4 288573 No change
Special types (ElementType, TypeType) don't exist anymore. Consequently, their instances (OclElement, OclType) do not exist either 8.2, 13.3, 11.3 190150, 259031 --
Introduce TemplateParameterType 8.2 --
Make CollectionType concrete 8.2 No change
OclAny is the type to which all other types conform (including Collections) 8.2 189657, 191819 Issue under discussion
Introduce FeatureCallexp.isPre (rename markedPre) 8.3.1, 9.3 --
Add CollectionKind::Collection 8.3.5 No change
Renames for *CallExpCS 9.3 No change
OclInvalid and invalid confusion (OclInvalid must be a type, invalid must be a literal) 11.2.4 281849 282882 In HEAD for M2
OclVoid doesn't conform to OclInvalid 11.2.3 Issue under discussion
OclInvalid doesn't conform to OclVoid 11.2.4 Issue under discussion
EMOF Reflection is not merged 13.2 --


The OCL.uml meta-model changes under discussion for MDT-OCL 3.0.0.

Summary of change Related bug/s Adopting Milestone
Add TemplateParameterType --
Rename FeatureCallExp.withAtPre as isPre --
Eliminate EMOF reflection --
Introduce OCL_2_0.uml more closely matching OCL 2.0 (excluding TemplateParameterType) --
Introduce OCL_2_2.uml more closely matching OCL 2.2 (excluding ElementType, TypeType) --


The parsing and environment API changes under discussion for MDT-OCL 3.0.0

Summary of change Related bug/s Adopting Milestone
Replace IsMarkedAtPreCS.isPre true/false usage by not-null/null IsMarkedAtPreCS 287993 In HEAD for M2
Eliminate redundant ClassifierContextDeclCS.invOrDefCS daisy chain, retaining just constraints array 287993 In HEAD for M2
Replace PropertyContextCS.initOrDerCS daisy chain by constraints array 287993 In HEAD for M2
Change PathNameCS.sequenceOfNames to simpleNames retaining CST context 287993 In HEAD for M2
Change StateExpCS.sequenceOfNames to simpleNames retaining CST context 287993 In HEAD for M2
Eliminate CSTToken.startOffset/endOffset --
Use PathNameCS rather than List<String> in numerous internal calls --
Use the tryLookupXXX methods rather than lookupXXX methods wherever possible --
Introduce File/Root/Child environments from QVT Declarative --
Use a Child rather than dynamic environment for LetExp and IteratorExp parsing --
Rename closure as transitiveClosure valid for any Collection --


The standard library API changes under discussion for MDT-OCL 3.0.0

Summary of change Related bug/s Adopting Milestone
OrderedSet is not a subtype of Set. Set operations defined for OrderedSet (union, intersection, including, etc.) must be dropped 246962 --

Back to the top