Eclipse Object Teams 2.6.0
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
The project leadership certifies that the APIs in this release are "Eclipse Quality".
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).
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.
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.
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
No known security issues
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
No changes regarding usability in this release (other than the improved debugging experience).
Nothing has been deprecated.
OTRE, while currently unmaintained, is still a good choice for development with Java 7 and below.
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
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.