Skip to main content
  • Log in
  • Manage Cookies
projects.eclipse.org
Download
  • Projects
  • Working Groups
  • Members
  • Community
    • Marketplace
    • Events
    • Planet Eclipse
    • Newsletter
    • Videos
    • Blogs
  • Participate
    • Report a Bug
    • Forums
    • Mailing Lists
    • Wiki
    • IRC
    • Research
  • Eclipse IDE
    • Download
    • Learn More
    • Documentation
    • Getting Started / Support
    • How to Contribute
    • IDE and Tools
    • Newcomer Forum
  • More
      • Community

      • Marketplace
      • Events
      • Planet Eclipse
      • Newsletter
      • Videos
      • Blogs
      • Participate

      • Report a Bug
      • Forums
      • Mailing Lists
      • Wiki
      • IRC
      • Research
      • Eclipse IDE

      • Download
      • Learn More
      • Documentation
      • Getting Started / Support
      • How to Contribute
      • IDE and Tools
      • Newcomer Forum
    • Search

  1. Home
  2. Projects
  3. Eclipse Tools Project
  4. Eclipse Object Teams
  5. 2.4.0
  6. Review Information

Eclipse Object Teams 2.4.0

Primary tabs

  • Overview
  • Release Plan
  • Review Information(active tab)
Description: 

Mars annual release (2.4) of Object Teams.

Main Theme:

Consolidation

The previous 2.3 release had to accommodate three significant changes in underlying technology. During the Mars cycle (2.4) all these changes were subjected to extensive testing and bug fixing.

  1. OT/Equinox had been rewritten from scratch due to removal of inofficial API in Equinox (Luna). As of Mars this implementation is now complete (as compared to Kepler) and many bugs have been fixed. In fact, the Mars version is superior over the old implementation (Kepler), as it better integrates with Equinox lazy loading, and no longer relies on inofficial API.
  2. In Luna, JDT/Core had introduced support for Java 8, which had to be reconciled with how OT/J extends Java. During the Mars cycle, this has been hardened in JDT/Core and a large number of significant changes have been adopted for OT/J on a regular basis. 
    The Java 8 feature of default methods has been integrated with the OT/J-specific concept of implicit inheritance.
    Additionally, in JDT/Core Mars, the code formatter was replaced by an entirely new re-implementation. This new implementation has been extended for OT/J.
  3. For the OTRE (Object Teams Runtime Environment) to be able to weave into Java 8 bytecodes, a replacement for BCEL was needed. In Luna an early access version of the new OTDRE (Object Teams Dynamic Runtime Environment) was released. This new component is based on ASM instead of BCEL. Additionally, it also supports runtime (re-)weaving, as apposed to only load-time weaving. This component has been significantly improved during the Mars cycle.

 

 

API Certification: 

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

Architectural Issues: 

Compared to 2.3.0 and earlier, the OT/Equinox implementation has been split into:

  • org.eclipse.objectteams.otequinox
    The main implementation based only on standard OSGi API
  • org.eclipse.objectteams.otequinox.turbo
    Optional support for rarely used features (forced exports, and aspect permission negotiation) which still require inofficial API from Equinox.
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.

End of Life: 

Nothing has been deprecated

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.3.0 implements OTJLD version 1.3.1
    • OT/J as implemented by OTDT 2.4.0 supports all features of Java™ 8
  • OT/J is executed on a standard Java virtual machine
    • The new bytecode weaver 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

Apart from a few face-to-face events relating to Object Teams, the Mars cycle was comparably quiet in terms of community interaction. We hope to revive that communication during the next cycle, when development efforts will shift back from technical consolidation towards adding/improving user visible features.

This release is part of Mars.

Project Links

  • Getting Started
  • Website
Eclipse Object Teams

Related Projects

Project Hierarchy:

  • Eclipse Tools Project
  • Eclipse Object Teams

Tags

Technology Types
  • Language
  • Runtime
  • Tools
Build Technologies
  • PDE Build

Eclipse Foundation

  • About Us
  • Contact Us
  • Sponsor
  • Members
  • Governance
  • Code of Conduct
  • Logo and Artwork
  • Board of Directors
  • Careers

Legal

  • Privacy Policy
  • Terms of Use
  • Copyright Agent
  • Eclipse Public License
  • Legal Resources

Useful Links

  • Report a Bug
  • Documentation
  • How to Contribute
  • Mailing Lists
  • Forums
  • Marketplace

Other

  • IDE and Tools
  • Projects
  • Working Groups
  • Research@Eclipse
  • Report a Vulnerability
  • Service Status

Copyright © Eclipse Foundation. All Rights Reserved.

Back to the top