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

(Milestone 2)
Line 14: Line 14:
  
 
===Pivot===
 
===Pivot===
 +
* [https://bugs.eclipse.org/500551 500551] OCL->Export Document menu entry allows embedded OCL to be saved as a distinct Complete OCL document.
 
* [https://bugs.eclipse.org/519872 519872] XMI serialization of synthetic orphanage content is now accurate and less bloated.
 
* [https://bugs.eclipse.org/519872 519872] XMI serialization of synthetic orphanage content is now accurate and less bloated.
 
* [https://bugs.eclipse.org/520886 520886] Non-default CollectionType lower/upper bounds are no longer default internally.
 
* [https://bugs.eclipse.org/520886 520886] Non-default CollectionType lower/upper bounds are no longer default internally.
Line 19: Line 20:
 
* [https://bugs.eclipse.org/521588 521588] Complete OCL properties now have consistent xmi:ids.  
 
* [https://bugs.eclipse.org/521588 521588] Complete OCL properties now have consistent xmi:ids.  
 
* [https://bugs.eclipse.org/521885 521885] Awkward identifiers are now correctly escaped.
 
* [https://bugs.eclipse.org/521885 521885] Awkward identifiers are now correctly escaped.
 +
* [https://bugs.eclipse.org/522060 522060] "*" suffixed imports are no longer corrupted by a save.
 +
* [https://bugs.eclipse.org/522087 522087] Integer literal initializers are now coerced to UnlimitedNatural when necessary.
 +
* [https://bugs.eclipse.org/522106 522106] Many forms of unnecessary console logging resolved.
 +
* [https://bugs.eclipse.org/522180 522180] An AS model with bad operation/property references is now saveable.
 +
* [https://bugs.eclipse.org/522221 522211] A name ambiguously qualified by a package or alias is no longer ambiguous; the alias wins.
 +
* [https://bugs.eclipse.org/522290 522290] Imports in the synthetic Complete OCL document no longer fail to resolve.
  
===Library===
+
===Pivot UML===
* [https://bugs.eclipse.org/499816 499816] and2/implies2/not2/or2/xor2 support explicitly 2-valued Booleans
+
* [https://bugs.eclipse.org/521974 521974] Multi-package profiles such as SysML no longer fail to load.
 
+
* [https://bugs.eclipse.org/521977 521977] Single pop-up now aggregates multiple loading problems.
===Pivot Evaluation===
+
* [https://bugs.eclipse.org/522256 522256] EnumerationLiterals in URI-less Profiles no longer try use the wrong EPackage URI.
* [https://bugs.eclipse.org/471240 471240] Shadow objects are now singletons
+
* [https://bugs.eclipse.org/522292 522292] Duplicate validation messages from applied profiles are now avoided.
* [https://bugs.eclipse.org/491264 491264] EvaluationCache now suppresses operation re-evaluations
+
 
+
===CG===
+
* [https://bugs.eclipse.org/500817 500817] Inlining suppressed for non-final operations
+
* [https://bugs.eclipse.org/500520 500520] Operation::isTransient suppresses operation evaluation caching
+
  
 
==Milestone 3==
 
==Milestone 3==

Revision as of 04:57, 24 May 2018

Eclipse OCL New and Noteworthy items for the Photon 6.4.0 release.

Release Overview

This minor release fixes many bugs and provides enhanced extensibility for OCL-based applications such as QVT.

The Photon release is installable on Mars, Neon and Oxygen platforms provided Xtext 2.9 or greater is also installed.

Milestone 1

Pivot

  • 521094 Multiple and alias-less imports now allowed in OCL stdlib files.

Milestone 2

Pivot

  • 500551 OCL->Export Document menu entry allows embedded OCL to be saved as a distinct Complete OCL document.
  • 519872 XMI serialization of synthetic orphanage content is now accurate and less bloated.
  • 520886 Non-default CollectionType lower/upper bounds are no longer default internally.
  • 520825 Locally Unique Semantically Sensitive IDs used to provide short stable determinstic xmi:ids.
  • 521588 Complete OCL properties now have consistent xmi:ids.
  • 521885 Awkward identifiers are now correctly escaped.
  • 522060 "*" suffixed imports are no longer corrupted by a save.
  • 522087 Integer literal initializers are now coerced to UnlimitedNatural when necessary.
  • 522106 Many forms of unnecessary console logging resolved.
  • 522180 An AS model with bad operation/property references is now saveable.
  • 522211 A name ambiguously qualified by a package or alias is no longer ambiguous; the alias wins.
  • 522290 Imports in the synthetic Complete OCL document no longer fail to resolve.

Pivot UML

  • 521974 Multi-package profiles such as SysML no longer fail to load.
  • 521977 Single pop-up now aggregates multiple loading problems.
  • 522256 EnumerationLiterals in URI-less Profiles no longer try use the wrong EPackage URI.
  • 522292 Duplicate validation messages from applied profiles are now avoided.

Milestone 3

Pivot UML

  • 506191 Multi-language OpaqueExpressions now use the OCL language

Milestone 4

Pivot

  • 474537 Operation call return types are now correctly specialized
  • 507557 All class-typed properties have opposites - no exclusions for transient etc
  • 507628 OCL Validation detects null feature types/names.
  • 507658 LetVariable, IteratorVariable, ResultVariable introduced.

Pivot UML

  • 507406 Evaluations of redefined properties with changed multiplicities no longer fail

Extensibility

  • 412341 Extended validation may be merged into extended AS models
  • 507425 Extended generation re-uses rather than corrupts base model elements
  • 507843 Extended genmodels may use patform URIs

Milestone 5

Three subtle semantic changes.

The Pivot null-analysis exploits the common practice and UML mandate that Collections are null-free. If null content is required it must be declared.

The Pivot invalid-analysis now treats machine failures as fatal rather than invalid. Consequently a property navigation cannot return invalid, and a machine failure cannot be processed using oclIsInvalid().

The Pivot code generator is moving towards efficient inlining of Boolean operations. and/implies/not/or/xor can no longer be redefined.

Ecore

  • 495621 User-defined Primitive types are now merged with regular Primitive types
  • 509858 Opposite role name EAnnotation corrected for sensibly named Collection
  • 510180 A zero lower bound for an EBoolean is ignored. It is always 1; not-null.

Pivot

  • 467339 Null safety analysis now considers simple Boolean if/implies etc data flow
  • 480060 elseif works
  • 492293 Collections are null-free unless declared otherwise
  • 495621 OCL can now be parsed in a user specified context
  • 507628 OCL Validation detects null class names.
  • 507628 OCL Validation detects that the closure body is assignable to the result.
  • 509308 Shadow DataType elements may use a "value=" part with an arbitrary OCL expression.
  • 509616 Collection return types are now modeled more accurately.
  • 509670 Performance of Bags improved.
  • 509713 Property navigation can no longer provide an invalid result.
  • 510729 OCL library Pivot elements now have a stable corresponding Ecore element

Code Generator

  • 509211 Constraints may now use lets to share common code for a tuple return of status and message
  • 509222 Constraints may now use "context" as a variable name
  • 509661 Boolean operations are not redefinable

Milestone 6

OCLinEcore

  • 512452 OCL in Ecore validation now detects OCL validation as well as OCL parsing errors

Pivot

  • 511536 The ParserContext is now extensible.
  • 511782 Bounded collection bounds e.g. Set(T[4]) are now consistently inside the parentheses.
  • 511992 Collections are never null (although they may have null elements)
  • 512758 Collection multiplicities are more accurate for conversions such as oclAsSet().

Pivot UML

  • 512448 Spurious no-invocationDelegates diagnosis for invariants removed
  • 512449 Only the most recent stereotype EPackage is validated
  • 512454 OCL in UML validation now detects OCL validation as well as OCL parsing errors
  • 512545 Validation diagnostics now have UML context and so display sensibly in Papyrus
  • 512553 Static class operations may now be used
  • 512726 Navigable opposite properties may now be used
  • 512910 Opposite properties of static profile stereotypes may now be used

Milestone 7

OCLinEcore

  • 516274 Type bounds on Template Parameters are no longer lost when saving as Ecore

Pivot

  • 515605 Unambiguous opposite properties no longer behave intermittently if their unqualified name is ambiguous.

Pivot UML

  • 513773 Use of an Association end name no longer gices a ClassCastException
  • 513824 Qualified names may now be partially qualified
  • 514353 Associations nested within Classes are no longer ignored
  • 516285 References to nested packages with URIs below packages with null URIs are no longer unresolved

Code Generation

  • 514527 GenModel interface/implementation suffixes are now respected

Java 9, Guava 21

  • 513659 Should run using Guava 21
  • 513663 Should run on a Java 9 platform

Milestone 7a

This cures a potential problem for users auto-generating Java code from OCL enriched models.

  • 516797 @NonNull compilation errors detected by JDT M7 fixed

OCLinEcore

  • 516301 OCL comments and GenModel documentation are now spliced as a single documnetation

RC1

Pivot

  • 515027 Validation now fails if parsing fails
  • 515050 Ambiguities due to same-named meta-properties are now resolved
  • 516963 Unresolved proxies when editing AS files now diagnosed
  • 517065 Irrelevant bad genmodels no longer cause failures

RC2

RC3

Code Generation

  • 517119 Use of EInt with assertions enabled no longer fails

RC4

RC4a

Pivot UML

  • 518130 Import of an unresolved profile is now diagnosed rather than an NPE

Back to the top