Eclipse Object Teams 2.6.0 Release Review

Type: 
Release
State: 
Successful
End Date of the Review Period: 

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Wednesday, June 21, 2017
Release: 

Eclipse Object Teams 2.6.0

Description: 

As part of the Oxygen simultaneous release, the Object Teams 2.6.0 release will focus on

  • Further hardening OTDRE (Object Teams Dynamic Runtime Environment, introduced in 2.3.0, required for working with Java 8).
  • Improving the debugging experience for OTDRE
  • Adoping upstream changes (e.g., the new index in JDT)
  • Regular maintenance of code and release engineering technology
API Certification: 

The project leadership certifies that the APIs in this release are "Eclipse Quality".

Architectural Issues: 

Features

The list of installable features has been extended by one:

  • "Object Teams Equinox Integration (Traditional Variant - OTRE)"
    This is a variant of the existing OT/Equinox feature for use with the old weaver (OTRE).
    (No new code, just differently build).

Runtime

While hardening the new runtime (OTDRE), capability was added to automatically detect which variant should be used (OTDRE / OTRE). This obsoletes a command line option that was necessary before.

Debugging

Improving the debugging experience was the main theme during the Oxygen cycle.

  • According to plan, stepping and display of local variables in code affected by bytecode weaving was improved. More is still planned for Photon.
  • Debugging performance was significantly improved: previously, the OT/J debugger used synthetic method breakpoints for its inner working. As of Oxygen these have been replaced by less problematic line breakpoints.
  • The debugger has been integrated with OTDRE's runtime bytecode weaving. Previously, class changes at runtime caused broken stepping experience using outdated line information. This has been fixed.

Release Engineering

The build has been moved to a new HIPP, incl. some due clean-up.

Bugzilla Balance since the 2.5.0 release

  • 43 bugs and enhancements fixed
  • 3 bugs resolved as worksforme
  • 81 remaining open bugs (approximately stable since 2.5.0)
    • Of these, 13 have been filed after the 2.5.0 release
  • 19 open enhancement requests
Security Issues: 

No known security issues

 

Non-Code Aspects: 

Documentation is hosted at http://www.eclipse.org/objectteams/documentation.php, including

  • many wiki pages: introductory texts, examples and patterns and much more
  • developer guide (also bundled as a help plug-in)
  • OT/J language definition
  • ...

The tool ships with learning material in various forms:

  • installable examples
  • cheat sheet
  • developer guide
  • OT/J language definition
  • new&noteworthy

 

Usability Details: 

No changes regarding usability in this release (other than the improved debugging experience).

 

End of Life: 

Nothing has been deprecated.

OTRE, while currently unmaintained, is still a good choice for development with Java 7 and below.

 

Standards: 
  • No standard exists for OT/J, the project provides the only implementation for this technology
    • Language definition (OTJLD) is maintained at objectteams.org.
    • OTDT 2.6.0 implements OTJLD version 1.3.1
    • OT/J as implemented by OTDT 2.6.0 supports all features of Java™ 8
  • OT/J is executed on a standard Java virtual machine
    • OTDRE uses the quasi-standard library ASM
  • OT/Equinox runs on the Equinox framework using ...
    • only standard OSGi headers in MANIFEST.MF
    • only regular extensions in plugin.xml
    • the WeavingHook as standardized in OSGi
  • Installing the OTDT (and any OT/Equinox appl.)
    • using only existing p2 mechanisms

 

Communities: 

Tight integration with the JDT team

  • Some bugs in JDT found during work on Object Teams
  • All improvements in the JDT are promptly adopted in Object Teams

OT/J is subject of recent research at Technical University Dresden - existing contacts have been renewed.

  • In preparation for their research they initially struggled with setting up a development environment for Object Teams, but after a little help they confirmed it working. Documentation has been updated accordingly.
  • In the future, the results of their analysis will be used for improving the performance of OTDRE.

5 bugs were fixed in response to automated reports from AERI.

The successful presentation "Runtime Specialization - Java has never been so dynamic before" has been repeated at Eclipse Summit India, where again it triggered a very lively discussion.

 

This release is part of Eclipse Oxygen.