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/OCL 3.0.0 API Changes"

< MDT
(OCL.uml meta-model changes)
m (OCL 2.1/2.3 changes)
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=== OCL 2.1/2.3 changes ===
+
=== OCL 2.2/2.3 changes ===
  
The OCL 2.1 and 2.3 language changes under discussion for MDT-OCL 3.0.0.
+
The OCL 2.2 and 2.3 language changes under discussion for MDT-OCL 3.0.0.
  
 
Some changes are marked as no change since MDT-OCL 1.x anticipated them.
 
Some changes are marked as no change since MDT-OCL 1.x anticipated them.
Line 64: Line 64:
 
| Introduce OCL_2_2.uml more closely matching OCL 2.2 (excluding ElementType, TypeType) || || || --
 
| Introduce OCL_2_2.uml more closely matching OCL 2.2 (excluding ElementType, TypeType) || || || --
 
|-
 
|-
| Change IntegerLiteralExp.integerSymbol from Integer to Number to support BigInteger
+
| Change IntegerLiteralExp.integerSymbol from Integer to Number to support BigInteger.
Change RealLiteralExp.realSymbol from Double to Number to support BigDecimal
+
Change UnlimitedNaturalLiteralExp.integerSymbol from Integer to Number to support BigInteger.
 +
Change RealLiteralExp.realSymbol from Double to Number to support BigDecimal.
 
|| [https://bugs.eclipse.org/290605 290605]|| EDW || --
 
|| [https://bugs.eclipse.org/290605 290605]|| EDW || --
 
|}
 
|}
Line 76: Line 77:
 
!Summary of change !! Related bug/s !! Owner !! Adopting Milestone
 
!Summary of change !! Related bug/s !! Owner !! Adopting Milestone
 
|-
 
|-
| Migrate OCL grammars and parsing infrastructure to exploit LPG v2 || [https://bugs.eclipse.org/242153 242153] || ASBH || In progress (Branch)
+
| Migrate OCL grammars and parsing infrastructure to exploit LPG v2 || [https://bugs.eclipse.org/242153 242153] || ASBH || M5
 
|-
 
|-
| Eliminate PrsStream, LexStream inheritance || [https://bugs.eclipse.org/242153 242153] || ASBH || In progress (Branch)
+
| Eliminate PrsStream, LexStream inheritance || [https://bugs.eclipse.org/299396 299396] || ASBH || M5
 
|-
 
|-
 
| Replace IsMarkedAtPreCS.isPre true/false usage by not-null/null IsMarkedAtPreCS || [https://bugs.eclipse.org/287993 287993] || EDW || M2
 
| Replace IsMarkedAtPreCS.isPre true/false usage by not-null/null IsMarkedAtPreCS || [https://bugs.eclipse.org/287993 287993] || EDW || M2
Line 99: Line 100:
 
|-
 
|-
 
| Use a Child rather than dynamic environment for LetExp and IteratorExp parsing  || || || --
 
| Use a Child rather than dynamic environment for LetExp and IteratorExp parsing  || || || --
 +
|-
 +
|
 +
Change IntegerLiteralExpCS.integerSymbol from Integer to Number to support BigInteger.
 +
Change UnlimitedNaturalLiteralExpCS.integerSymbol from Integer to Number to support BigInteger.
 +
Change RealLiteralExpCS.realSymbol from Double to Number to support BigDecimal.
 +
|| [https://bugs.eclipse.org/290605 290605]|| EDW || --
 
|}
 
|}
  
Line 114: Line 121:
 
| Implement toString() || || || --
 
| Implement toString() || || || --
 
|-
 
|-
| Submit closure() implementation to OMG || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=297541 297541] || EDW || Patch Ready, [http://www.omg.org/issues/issue13944.txt Issue 13944]
+
| Submit closure() implementation to OMG || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=297541 297541] || EDW || M6, [http://www.omg.org/issues/issue13944.txt Issue 13944]
 
|-
 
|-
 
| Support OclAny reflection using perhaps oclContainer() || [https://bugs.eclipse.org/283052 283052] || EDW || --
 
| Support OclAny reflection using perhaps oclContainer() || [https://bugs.eclipse.org/283052 283052] || EDW || --
Line 162: Line 169:
 
| JDT 3.6.0M4
 
| JDT 3.6.0M4
 
| [https://bugs.eclipse.org/298128 298128]
 
| [https://bugs.eclipse.org/298128 298128]
| Patch ready
+
| M6
 
|}
 
|}
  
Line 174: Line 181:
 
| Add OCL edit support || || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=196973 196973] || EDW || M3
 
| Add OCL edit support || || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=196973 196973] || EDW || M3
 
|-
 
|-
| Add an OCL editor || || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=289759 289759] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=289761 289761] || EDW ||
+
| Add an OCL editor || || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=289759 289759] [https://bugs.eclipse.org/bugs/show_bug.cgi?id=289761 289761] || EDW || M7
 +
|-
 +
| OCL Validation Delegate || EMF 2.6 M2 || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=191689 191689] || KH || M6
 
|-
 
|-
| OCL Validation Delegate || EMF 2.6 M2 || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=191689 191689] || KH ||  
+
| OCL Derived Feature Setting Delegate || EMF 2.6 M4 || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=291361 291361] || KH || M6
 
|-
 
|-
| OCL Derived Feature Setting Delegate || EMF 2.6 M4 || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=291361 291361] || KH ||  
+
| OCL Operation Invocation Delegate || EMF 2.6 M4 || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=291365 291365] || KH || M6
 
|-
 
|-
| OCL Operation Invocation Delegate || EMF 2.6 M4 || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=291365 291365] || KH ||  
+
| Add OCL Capabilities || || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=273680 273680] || ASBH || M5
 
|}
 
|}
  

Latest revision as of 01:57, 21 June 2010

OCL 2.2/2.3 changes

The OCL 2.2 and 2.3 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 Owner Adopting Milestone
Introduce static keyword and operations 7.4.4, 7.4.9, 12.12.6 285633 EDW 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 EDW M3, Issue 14582
Give and/or/xor distinct precedence 7.4.7, 9.3.2 288040 EDW M3
Remove attr, oper keywords 7.4.9 184048, 292112 EDW M3
Add body, init, derive keywords 7.4.9 -- No change
Add qualified navigation paths 7.5.3, 9.3 288575 184048, 292112 EDW Parsed in M3
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, 294956 --
Introduce TemplateParameterType 8.2 294956 EDW M4
Make CollectionType concrete 8.2 -- No change
OclAny is the type to which all other types conform (including Collections) 8.2 290680189657 191819 259031 Issue 12948 Issue 12795
Introduce FeatureCallexp.isPre (rename markedPre) 8.3.1, 9.3 --
Add CollectionKind::Collection 8.3.5 -- No change
Renames for *CallExpCS 9.3 184048, 292112 EDW M3
OclInvalid and invalid confusion (OclInvalid must be a type, invalid must be a literal) 11.2.4 281849 282882 288526 EDW M2
OclVoid doesn't conform to OclInvalid 11.2.3 Issue 14197
OclInvalid doesn't conform to OclVoid 11.2.4 Issue 14197
EMOF Reflection is not merged 13.2 --

OCL.uml meta-model changes

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

Summary of change Related bug/s Owner Adopting Milestone
Add TemplateParameterType 294956 EDW M4
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) --
Change IntegerLiteralExp.integerSymbol from Integer to Number to support BigInteger.

Change UnlimitedNaturalLiteralExp.integerSymbol from Integer to Number to support BigInteger. Change RealLiteralExp.realSymbol from Double to Number to support BigDecimal.

290605 EDW --

Parsing and Environment API changes

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

Summary of change Related bug/s Owner Adopting Milestone
Migrate OCL grammars and parsing infrastructure to exploit LPG v2 242153 ASBH M5
Eliminate PrsStream, LexStream inheritance 299396 ASBH M5
Replace IsMarkedAtPreCS.isPre true/false usage by not-null/null IsMarkedAtPreCS 287993 EDW M2
Eliminate redundant ClassifierContextDeclCS.invOrDefCS daisy chain, retaining just constraints array 287993 EDW M2
Replace PropertyContextCS.initOrDerCS daisy chain by constraints array 287993 EDW M2
Change PathNameCS.sequenceOfNames to simpleNames retaining CST context 287993 EDW M2
Change StateExpCS.sequenceOfNames to simpleNames retaining CST context 287993 EDW M2
Eliminate CSTToken.startOffset/endOffset 297606 EDW --
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 --

Change IntegerLiteralExpCS.integerSymbol from Integer to Number to support BigInteger. Change UnlimitedNaturalLiteralExpCS.integerSymbol from Integer to Number to support BigInteger. Change RealLiteralExpCS.realSymbol from Double to Number to support BigDecimal.

290605 EDW --

Standard library API changes

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

Summary of change Related bug/s Owner Adopting Milestone
OrderedSet is not a subtype of Set. Set operations defined for OrderedSet (union, intersection, including, etc.) must be dropped 246962 --
Implement oclType() 259031 283052 EDW --
Implement toString() --
Submit closure() implementation to OMG 297541 EDW M6, Issue 13944
Support OclAny reflection using perhaps oclContainer() 283052 EDW --
Support EObject using perhaps oclAsType(ecore::EObject) 297011 --

Bug fix changes

The following MDT-OCL 3.0.0 bug fixes obviously change behaviour slightly.

Bug fix Related bug/s Owner Adopting Milestone
Give if atomic precedence 184048 EDW M3
Fix Integer Dot parsing 288601 EDW M3

Environment changes

Bug fix Cause Related bug/s Adopting Milestone
Remove EModelElement inheritance of EObject:

this prevents use of eContainer() and eContents()

EMF 2.6.0M4 255469 M4
Change UMLReflection.getContainerElement() return to List<? extends EObject>

this avoids a (valid) compilation warning

JDT 3.6.0M4 298128 M6

Enhancements

The following enhancements are planned for MDT-OCL 3.0.0.

Enhancement Dependency Related bug/s Owner Adopting Milestone
Add OCL edit support 196973 EDW M3
Add an OCL editor 289759 289761 EDW M7
OCL Validation Delegate EMF 2.6 M2 191689 KH M6
OCL Derived Feature Setting Delegate EMF 2.6 M4 291361 KH M6
OCL Operation Invocation Delegate EMF 2.6 M4 291365 KH M6
Add OCL Capabilities 273680 ASBH M5

Enhancements (unendorsed)

The following enhancements for MDT-OCL 3.0.0 have not yet been endorsed by the OCL committer team.

You are welcome to add your own contributions here provided you have raised the contribution via a Bugzilla.

Enhancement Dependency Related bug/s Contributor
Migrate EMF Query and Transaction OCL support 192506

Administrative Enhancements

The following enhancements affect mainly the development team.

Enhancement Related bug/s Owner Adopting Milestone
Reorganise features and plugins 289763
Share JUnit tests between Ecore and UML bindings 254919 EDW M4

Back to the top