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"

(Created page with "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 a...")
 
Line 7: Line 7:
  
 
==Milestone 1==
 
==Milestone 1==
 
===Classic Console===
 
* [https://bugs.eclipse.org/499347 499347] Obscure NPE for ResourceSet-less Resources fixed
 
  
 
===Pivot===
 
===Pivot===
* [https://bugs.eclipse.org/484231 484231] Repeated Complete OCL validations are no longer ignored
+
* [https://bugs.eclipse.org/519872 519872] XMI serialization of synthetic orphanage content is now accurate and less bloated.
* [https://bugs.eclipse.org/496341 496341] Better diagnosis of unresolved proxies during AS2CS serialization
+
* [https://bugs.eclipse.org/520083 520083] Editor load failure is now more informative.
* [https://bugs.eclipse.org/496768 496768] Save of Collection type oclAsType arguments no longer gives an unresolved proxy
+
* [https://bugs.eclipse.org/496810 496810] 'self' no longer escaped in serialized OCL expressions
+
* [https://bugs.eclipse.org/496810 496810] parameter names no longer qualified in serialized OCL expressions
+
 
+
===Pivot UML===
+
* [https://bugs.eclipse.org/496210 496210] allInstances() may now be used for Signals
+
* [https://bugs.eclipse.org/496251 496251] OCL expressions now generally available for UMLElement again
+
* [https://bugs.eclipse.org/496383 496383] Association-derived Pivot properties have an ESObject back link again
+
* [https://bugs.eclipse.org/498970 498970] Obscure NPE for PackageImport labels fixed
+
  
 
==Milestone 2==
 
==Milestone 2==

Revision as of 05:12, 21 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

  • 519872 XMI serialization of synthetic orphanage content is now accurate and less bloated.
  • 520083 Editor load failure is now more informative.

Milestone 2

Library

  • 499816 and2/implies2/not2/or2/xor2 support explicitly 2-valued Booleans

Pivot Evaluation

  • 471240 Shadow objects are now singletons
  • 491264 EvaluationCache now suppresses operation re-evaluations

CG

  • 500817 Inlining suppressed for non-final operations
  • 500520 Operation::isTransient suppresses operation evaluation caching

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