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 "MDT/OCL 3.0.0 API Changes"
m (→OCL 2.1/2.3 changes) |
|||
(63 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | The OCL 2.2 language changes under discussion for MDT-OCL 3.0.0. | + | === 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. | Some changes are marked as no change since MDT-OCL 1.x anticipated them. | ||
{| border="1" | {| border="1" | ||
− | !Summary of probable OCL 2.2 change!! Related spec. sections !! Related bug/s !! Adopting Milestone | + | !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 ||[https://bugs.eclipse.org/285633 285633] || | + | | Introduce static keyword and operations || 7.4.4, 7.4.9, 12.12.6 ||[https://bugs.eclipse.org/285633 285633] || EDW || M2 |
|- | |- | ||
− | | OrderedSet is not a subtype of Set. || 7.4.5, 11.6.3 || [https://bugs.eclipse.org/ | + | | OrderedSet is not a subtype of Set. || 7.4.5, 11.6.3 || [https://bugs.eclipse.org/246962 246962] || || -- |
|- | |- | ||
− | | Give message-expression operators precedence || 7.4.7, 9.3.2 || [https://bugs.eclipse.org/ | + | | Give message-expression operators precedence || 7.4.7, 9.3.2 || [https://bugs.eclipse.org/288040 288040] || EDW || M3, Issue 14582 |
|- | |- | ||
− | | Give and/or/xor distinct precedence || 7.4.7, 9.3.2 || [https://bugs.eclipse.org/ | + | | Give and/or/xor distinct precedence || 7.4.7, 9.3.2 || [https://bugs.eclipse.org/288040 288040] || EDW || M3 |
|- | |- | ||
− | | Remove attr, oper keywords || 7.4.9 || || | + | | Remove attr, oper keywords || 7.4.9 || [https://bugs.eclipse.org/184048 184048], [https://bugs.eclipse.org/292112 292112] || EDW || M3 |
|- | |- | ||
− | | Add body, init, derive keywords || 7.4.9 || || No change | + | | Add body, init, derive keywords || 7.4.9 || || -- || No change |
|- | |- | ||
− | | Add qualified navigation paths || 7.5.3, 9.3 || || | + | | Add qualified navigation paths || 7.5.3, 9.3 || [https://bugs.eclipse.org/288575 288575] [https://bugs.eclipse.org/184048 184048], [https://bugs.eclipse.org/292112 292112] || EDW || Parsed in M3 |
|- | |- | ||
− | | exists iterator may have multiple iterators || 7.6.4 || || -- | + | | exists iterator may have multiple iterators || 7.6.4 || [https://bugs.eclipse.org/288573 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 || [https://bugs.eclipse.org/190150 190150], [https://bugs.eclipse.org/259031 259031] || -- | + | | Special types (ElementType, TypeType) don't exist anymore. Consequently, their instances (OclElement, OclType) do not exist either || 8.2, 13.3, 11.3 || [https://bugs.eclipse.org/190150 190150], [https://bugs.eclipse.org/259031 259031], [https://bugs.eclipse.org/294956 294956] || || -- |
|- | |- | ||
− | | Introduce TemplateParameterType || 8.2 || || | + | | Introduce TemplateParameterType || 8.2 || [https://bugs.eclipse.org/294956 294956] || EDW || M4 |
|- | |- | ||
− | | Make CollectionType concrete || 8.2 || || No change | + | | Make CollectionType concrete || 8.2 || || -- || No change |
|- | |- | ||
− | | OclAny is the type to which all other types conform (including Collections) || 8.2 || [https://bugs.eclipse.org/189657 189657] | + | | OclAny is the type to which all other types conform (including Collections) || 8.2 || [https://bugs.eclipse.org/290680 290680][https://bugs.eclipse.org/189657 189657] [https://bugs.eclipse.org/191819 191819] [https://bugs.eclipse.org/259031 259031] || || [http://www.omg.org/issues/issue12948.txt Issue 12948] [http://www.omg.org/issues/issue12795.txt Issue 12795] |
|- | |- | ||
− | | Introduce FeatureCallexp.isPre (rename markedPre) || 8.3.1, 9.3 || || -- | + | | Introduce FeatureCallexp.isPre (rename markedPre) || 8.3.1, 9.3 || || || -- |
|- | |- | ||
− | | Add CollectionKind::Collection || 8.3.5 || || No change | + | | Add CollectionKind::Collection || 8.3.5 || || -- || No change |
|- | |- | ||
− | | Renames for *CallExpCS || 9.3 || || | + | | Renames for *CallExpCS || 9.3 || [https://bugs.eclipse.org/184048 184048], [https://bugs.eclipse.org/292112 292112] || EDW || M3 |
|- | |- | ||
− | | OclInvalid and invalid confusion (OclInvalid must be a type, invalid must be a literal) || 11.2.4 || [https://bugs.eclipse.org/ | + | | OclInvalid and invalid confusion (OclInvalid must be a type, invalid must be a literal) || 11.2.4 || [https://bugs.eclipse.org/281849 281849] [https://bugs.eclipse.org/282882 282882] [https://bugs.eclipse.org/288526 288526] || EDW || M2 |
|- | |- | ||
− | | OclVoid doesn't conform to OclInvalid || 11.2.3 || || | + | | OclVoid doesn't conform to OclInvalid || 11.2.3 || || || [http://www.omg.org/issues/issue14197.txt Issue 14197] |
|- | |- | ||
− | | OclInvalid doesn't conform to OclVoid || 11.2.4 || || | + | | OclInvalid doesn't conform to OclVoid || 11.2.4 || || || [http://www.omg.org/issues/issue14197.txt Issue 14197] |
|- | |- | ||
− | | EMOF Reflection is not merged || 13.2 || || -- | + | | 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. | The OCL.uml meta-model changes under discussion for MDT-OCL 3.0.0. | ||
{| border="1" | {| border="1" | ||
− | !Summary of change !! Related bug/s !! Adopting Milestone | + | !Summary of change !! Related bug/s !! Owner !! Adopting Milestone |
|- | |- | ||
− | | Add TemplateParameterType || || | + | | Add TemplateParameterType || [https://bugs.eclipse.org/294956 294956] || EDW || M4 |
|- | |- | ||
− | | Rename FeatureCallExp.withAtPre as isPre || || -- | + | | Rename FeatureCallExp.withAtPre as isPre || || || -- |
|- | |- | ||
− | | Eliminate EMOF reflection || || -- | + | | Eliminate EMOF reflection || || || -- |
|- | |- | ||
− | | Introduce OCL_2_0.uml more closely matching OCL 2.0 (excluding TemplateParameterType) || || -- | + | | 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) || || -- | + | | 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. | ||
+ | || [https://bugs.eclipse.org/290605 290605]|| EDW || -- | ||
|} | |} | ||
+ | === Parsing and Environment API changes === | ||
The parsing and environment API changes under discussion for MDT-OCL 3.0.0 | The parsing and environment API changes under discussion for MDT-OCL 3.0.0 | ||
{| border="1" | {| border="1" | ||
− | !Summary of change !! Related bug/s !! 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 || M5 |
|- | |- | ||
− | | Eliminate | + | | Eliminate PrsStream, LexStream inheritance || [https://bugs.eclipse.org/299396 299396] || ASBH || M5 |
|- | |- | ||
− | | Replace | + | | Replace IsMarkedAtPreCS.isPre true/false usage by not-null/null IsMarkedAtPreCS || [https://bugs.eclipse.org/287993 287993] || EDW || M2 |
|- | |- | ||
− | | | + | | Eliminate redundant ClassifierContextDeclCS.invOrDefCS daisy chain, retaining just constraints array || [https://bugs.eclipse.org/287993 287993] || EDW || M2 |
|- | |- | ||
− | | | + | | Replace PropertyContextCS.initOrDerCS daisy chain by constraints array || [https://bugs.eclipse.org/287993 287993] || EDW || M2 |
|- | |- | ||
− | | | + | | Change PathNameCS.sequenceOfNames to simpleNames retaining CST context || [https://bugs.eclipse.org/287993 287993] || EDW || M2 |
|- | |- | ||
− | | | + | | Change StateExpCS.sequenceOfNames to simpleNames retaining CST context || [https://bugs.eclipse.org/287993 287993] || EDW || M2 |
|- | |- | ||
− | | | + | | Eliminate CSTToken.startOffset/endOffset || [https://bugs.eclipse.org/297606 297606] || EDW || -- |
|- | |- | ||
− | | | + | | Use PathNameCS rather than List<String> in numerous internal calls || || || -- |
|- | |- | ||
− | | Use | + | | 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. | ||
+ | || [https://bugs.eclipse.org/290605 290605]|| EDW || -- | ||
|} | |} | ||
+ | === Standard library API changes === | ||
The standard library API changes under discussion for MDT-OCL 3.0.0 | The standard library API changes under discussion for MDT-OCL 3.0.0 | ||
{| border="1" | {| border="1" | ||
− | !Summary of change !! Related bug/s !! Adopting Milestone | + | !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 || [https://bugs.eclipse.org/246962 246962] || || -- | ||
+ | |- | ||
+ | | Implement oclType() || [https://bugs.eclipse.org/259031 259031] [https://bugs.eclipse.org/283052 283052] || EDW || -- | ||
+ | |- | ||
+ | | Implement toString() || || || -- | ||
+ | |- | ||
+ | | 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 EObject using perhaps oclAsType(ecore::EObject) || [https://bugs.eclipse.org/297011 297011] || || -- | ||
+ | |} | ||
+ | |||
+ | === Bug fix changes === | ||
+ | |||
+ | The following MDT-OCL 3.0.0 bug fixes obviously change behaviour slightly. | ||
+ | |||
+ | {| border="1" | ||
+ | |- | ||
+ | ! Bug fix | ||
+ | ! Related bug/s | ||
+ | ! Owner | ||
+ | ! Adopting Milestone | ||
+ | |- | ||
+ | | Give if atomic precedence | ||
+ | | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=184048 184048] | ||
+ | | EDW | ||
+ | | M3 | ||
+ | |- | ||
+ | | Fix Integer Dot parsing | ||
+ | | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=288601 288601] | ||
+ | | EDW | ||
+ | | M3 | ||
+ | |} | ||
+ | |||
+ | === Environment changes === | ||
+ | |||
+ | {| border="1" | ||
+ | |- | ||
+ | ! Bug fix | ||
+ | ! Cause | ||
+ | ! Related bug/s | ||
+ | ! Adopting Milestone | ||
+ | |- | ||
+ | | Remove EModelElement inheritance of EObject: | ||
+ | this prevents use of eContainer() and eContents() | ||
+ | | EMF 2.6.0M4 | ||
+ | | [https://bugs.eclipse.org/255469 255469] | ||
+ | | M4 | ||
+ | |- | ||
+ | | Change UMLReflection.getContainerElement() return to List<? extends EObject> | ||
+ | this avoids a (valid) compilation warning | ||
+ | | JDT 3.6.0M4 | ||
+ | | [https://bugs.eclipse.org/298128 298128] | ||
+ | | M6 | ||
+ | |} | ||
+ | |||
+ | === Enhancements === | ||
+ | |||
+ | The following enhancements are planned for MDT-OCL 3.0.0. | ||
+ | |||
+ | {| border="1" | ||
+ | !Enhancement !! Dependency !! Related bug/s !! Owner !! Adopting Milestone | ||
+ | |- | ||
+ | | 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 || M7 | ||
+ | |- | ||
+ | | OCL Validation Delegate || EMF 2.6 M2 || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=191689 191689] || KH || M6 | ||
+ | |- | ||
+ | | OCL Derived Feature Setting Delegate || EMF 2.6 M4 || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=291361 291361] || KH || M6 | ||
+ | |- | ||
+ | | OCL Operation Invocation Delegate || EMF 2.6 M4 || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=291365 291365] || KH || M6 | ||
+ | |- | ||
+ | | Add OCL Capabilities || || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=273680 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. | ||
+ | |||
+ | {| border="1" | ||
+ | !Enhancement !! Dependency !! Related bug/s !! Contributor | ||
+ | |- | ||
+ | | Migrate EMF Query and Transaction OCL support || || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=192506 192506] || | ||
+ | |} | ||
+ | |||
+ | === Administrative Enhancements === | ||
+ | |||
+ | The following enhancements affect mainly the development team. | ||
+ | |||
+ | {| border="1" | ||
+ | !Enhancement !! Related bug/s !! Owner !! Adopting Milestone | ||
+ | |- | ||
+ | | Reorganise features and plugins || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=289763 289763] || || | ||
|- | |- | ||
− | | | + | | Share JUnit tests between Ecore and UML bindings || [https://bugs.eclipse.org/bugs/show_bug.cgi?id=254919 254919] || EDW || M4 |
|} | |} |
Latest revision as of 01:57, 21 June 2010
Contents
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 |