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/Luna"

(Milestone 6)
Line 113: Line 113:
 
==Milestone 6==
 
==Milestone 6==
  
OCL contribution to general purpose menus have been localized under a primary OCL entry to reduce clutter and clirify purpose. [https://bugs.eclipse.org/427975 427975]
+
OCL contribution to general purpose menus have been localized under a primary OCL entry to reduce clutter and clarify purpose. [https://bugs.eclipse.org/427975 427975]
  
OCL-specific validation can now be used  
+
OCL-specific validation can now be used from a variety of contexts. [https://bugs.eclipse.org/428898 428898]
  
 
====Editors====
 
====Editors====
* [https://bugs.eclipse.org/414355 414355] JDT-style auto content assisdt is available following . and ->
+
* [https://bugs.eclipse.org/427007 427007] Type constructors may now have no parts
 +
* [https://bugs.eclipse.org/427866 427866] Complete OCL can now be used in an EmbeddedXtextEditor
  
 
====OCLinEcore====
 
====OCLinEcore====
* [https://bugs.eclipse.org/410682 410682] Comments on invariants are no longer discarded
+
* [https://bugs.eclipse.org/426927 426927] EAnnotation references may now reference Enumeration literals
  
 
====Pivot====
 
====Pivot====
* [https://bugs.eclipse.org/411614 411614] Multi-package models may now be used  
+
* [https://bugs.eclipse.org/411614 411614] Multi-package models may now be used
* [https://bugs.eclipse.org/411441 411441] UML-style collections such as String[*] may be used as the type of e.g. a let-variable
+
* [https://bugs.eclipse.org/411826 411826] excludingAll/includingAll, appendAll/prependAll added
+
* [https://bugs.eclipse.org/412685 412685] Operations and EnumerationLiterals may be used in UML profile constraints
+
* [https://bugs.eclipse.org/412690 412690] EList results are now BasicInternalEList rather than just BasicEList
+
* [https://bugs.eclipse.org/412736 412736] Using Ecore data types such as ecore::EDouble as operation parameters no longer fails
+
 
+
====Code Generator====
+
* [https://bugs.eclipse.org/414040 414040] Common Subexpression Elimination introduced to save code/remove warnings
+
 
+
====Editors====
+
* [https://bugs.eclipse.org/414355 414355] JDT-style auto content assisdt is available following . and ->
+
 
+
====OCLinEcore====
+
* [https://bugs.eclipse.org/410682 410682] Comments on invariants are no longer discarded
+
 
+
====Pivot====
+
* [https://bugs.eclipse.org/411154 411154] Dynamic dispatch now chooses correct dispatch for inherited candidates
+
* [https://bugs.eclipse.org/411441 411441] UML-style collections such as String[*] may be used as the type of e.g. a let-variable
+
* [https://bugs.eclipse.org/411826 411826] excludingAll/includingAll, appendAll/prependAll added
+
* [https://bugs.eclipse.org/412685 412685] Operations and EnumerationLiterals may be used in UML profile constraints
+
* [https://bugs.eclipse.org/412690 412690] EList results are now BasicInternalEList rather than just BasicEList
+
* [https://bugs.eclipse.org/412736 412736] Using Ecore data types such as ecore::EDouble as operation parameters no longer fails
+
 
+
====Code Generator====
+
* [https://bugs.eclipse.org/414040 414040] Common Subexpression Elimination introduced to save code/remove warnings
+
  
 
==Milestone 7==
 
==Milestone 7==

Revision as of 14:48, 28 May 2014

Eclipse OCL New and Noteworthy items for the Luna 5.0.0 release.

Release Overview

The main features of this release are two long overdue User Interface facilities

  • The Validity View provides fine-grained visibility and control of Constraints and their results
  • The OCL debugger may be launched in a number of ways to inspect the execution of an OCL expression

Milestone 1

Editors

  • 414355 JDT-style auto content assisdt is available following . and ->

OCLinEcore

  • 410682 Comments on invariants are no longer discarded

Pivot

  • 411154 Dynamic dispatch now chooses correct dispatch for inherited candidates
  • 411441 UML-style collections such as String[*] may be used as the type of e.g. a let-variable
  • 411826 excludingAll/includingAll, appendAll/prependAll added
  • 412685 Operations and EnumerationLiterals may be used in UML profile constraints
  • 412690 EList results are now BasicInternalEList rather than just BasicEList
  • 412736 Using Ecore data types such as ecore::EDouble as operation parameters no longer fails

Code Generator

  • 414040 Common Subexpression Elimination introduced to save code/remove warnings

Milestone 2

The support for rich invariants has been made extensible.

Previously:

  • the OCLinEcore editor allowed a message expression to follow the invariant name
  • the Complete OCL editor allowed a message expression to follow the invariant name
  • the message was maintained in the ExpressionInOCL::messageExpression property
  • the message was persisted in Ecore as a ...$message EAnnotation detail
  • a validation failure provoked evaluation of the message expression
  • a validation could fail with null for error/false for warning severity

Now:

  • the OCLinEcore editor allows a message expression to follow the invariant/precondition/postcondition name
  • the Complete OCL editor allows a message expression to follow the invariant/precondition/postcondition name
  • the underlying ExpressionInOCL::messageExpression property is deprecated and not used.
  • the message is persisted as a Tuple-valued expression
    • with a mandatory 'status : Boolean = <status-expression>' to give pass/fail
    • with an optional 'message : String = <message-expression>' to give a custom failure message
    • with an optional 'severity : Integer = <severity-expression>' to give a custom severity
    • with other optional tuple parts that may be useful to a custom invocation
  • the old ...$message EAnnotation detail is translated to the new Tuple form when loaded from Ecore
  • the old null/false severity capability is deprecated but used when no 'severity' part is defined

The severity Integer signifies

  • 0 - no deficiency (e.g. for an accompanying information message)
  • +ve and not zero - minor deficiency (e.g. a warning)
  • -ve - major deficiency (e.g. an error)

The use of a Tuple-valued expression provides the enrichment within the single OCL invariant expression and so avoids the need for the tooling in which the OCL expression is used to provide any cooperation. The rich invariants may therefore be used in Papyrus or Ecore or ....

Previously:

invariant nameTooShort('There must be no lower case characters in "' + name + '"'):
    name.toUpperCase() = name;

Rich invariant

invariant nameTooShort: Tuple {
        status : Boolean = name.toUpperCase() = name,
        message : String = 'There must be no lower case characters in "' + name + '"',
        severity : Integer = 1,
        quickfix : String = 'org.examples.quickfixes.ToUpper'
    }

Milestone 3

OCLinEcore

  • 410518 Editing no longer corrupts the relative/absolute characterisrtics of nsURI references
  • 418552 Validation error now reported against useful line than line 1

Pivot

  • 418282 OppositePropertyCallExp introduced to support serialization

Milestone 4

Library

  • 422296 String.tokenize() with one argument no longer confuses its arguments

OCL in UML

  • 421220 InstanceSpecifications as Property defaults no longer cause edit failures

Pivot

  • 356243 OclAny types no longer causes a save failure
  • 422938 Stereotype application is no longer restricted to just Types.
  • 423174 Ambiguous opposites are no longer erased. They now contribute to error messages
  • 423489 The return type of collectNested is now the element type
  • 423490 The implicit source within an iteration is now the iterator

Code Generator

  • 421738 Bad code is no longer generated for boolean comparisons
  • 423023 The code generator may now use a JRE or a JDK

Milestone 5

This milestone tracks the major version change by the Eclipse UML2 project as it adjusts to UML 2.5. UML-dependent plugins and features therefore change from 4.2.0 to 5.0.0. Non-UML plugins and features are unaffected. UML2 plugins are no longer re-exported. The Pivot plugins which are not subject to API compatibility offer support for Eclipse UML2 4.x and 5.x without a major version change. 424476

Pivot

  • 421563 Set no longer conformsTo Bag, and OrderedSet no longer conformsTo Sequence
  • 425830 PivotEObjectValidator can now be used to validate a single constraint

Code Generator

  • 424034 Large auto-generated tables are partitioned to avoid exceeding 65536 bytes

Milestone 6

OCL contribution to general purpose menus have been localized under a primary OCL entry to reduce clutter and clarify purpose. 427975

OCL-specific validation can now be used from a variety of contexts. 428898

Editors

  • 427007 Type constructors may now have no parts
  • 427866 Complete OCL can now be used in an EmbeddedXtextEditor

OCLinEcore

  • 426927 EAnnotation references may now reference Enumeration literals

Pivot

  • 411614 Multi-package models may now be used

Milestone 7

Editors

  • 414355 JDT-style auto content assisdt is available following . and ->

OCLinEcore

  • 410682 Comments on invariants are no longer discarded

Pivot

  • 411154 Dynamic dispatch now chooses correct dispatch for inherited candidates
  • 411441 UML-style collections such as String[*] may be used as the type of e.g. a let-variable
  • 411826 excludingAll/includingAll, appendAll/prependAll added
  • 412685 Operations and EnumerationLiterals may be used in UML profile constraints
  • 412690 EList results are now BasicInternalEList rather than just BasicEList
  • 412736 Using Ecore data types such as ecore::EDouble as operation parameters no longer fails

Code Generator

  • 414040 Common Subexpression Elimination introduced to save code/remove warnings

RC1

Editors

  • 414355 JDT-style auto content assisdt is available following . and ->

OCLinEcore

  • 410682 Comments on invariants are no longer discarded

Pivot

  • 411154 Dynamic dispatch now chooses correct dispatch for inherited candidates
  • 411441 UML-style collections such as String[*] may be used as the type of e.g. a let-variable
  • 411826 excludingAll/includingAll, appendAll/prependAll added
  • 412685 Operations and EnumerationLiterals may be used in UML profile constraints
  • 412690 EList results are now BasicInternalEList rather than just BasicEList
  • 412736 Using Ecore data types such as ecore::EDouble as operation parameters no longer fails

Code Generator

  • 414040 Common Subexpression Elimination introduced to save code/remove warnings

RC2

Editors

  • 414355 JDT-style auto content assisdt is available following . and ->

OCLinEcore

  • 410682 Comments on invariants are no longer discarded

Pivot

  • 411154 Dynamic dispatch now chooses correct dispatch for inherited candidates
  • 411441 UML-style collections such as String[*] may be used as the type of e.g. a let-variable
  • 411826 excludingAll/includingAll, appendAll/prependAll added
  • 412685 Operations and EnumerationLiterals may be used in UML profile constraints
  • 412690 EList results are now BasicInternalEList rather than just BasicEList
  • 412736 Using Ecore data types such as ecore::EDouble as operation parameters no longer fails

Code Generator

  • 414040 Common Subexpression Elimination introduced to save code/remove warnings

RC3

RC4

SR1

Eclipse OCL New and Noteworthy items for the Luna 5.0.1 SR1 release.


SR2

Eclipse OCL New and Noteworthy items for the Luna 5.0.2 SR2 release.

Back to the top