Project Plan For ATL - A Model Transformation Technology, version 3.3.0

Introduction

This document lays out the feature and API set for the 3.3 release of the ATL project, of the Eclipse MMT Project.

Release Deliverables

The release deliverables are the following:

  • ATL source code release, available as versions tagged "R3_3" in the project's CVS repository.
  • ATL SDK (includes runtime and tooling components, with sources and documentation) (downloadable and update site).
  • ATL runtime binary distribution (downloadable and update site).
  • ATL examples (downloadable and update site).
  • ATL EMFTVM, an ATL VM dedicated to composed transformations (downloadable and update site).

Table of Contents

Release Milestones

Release milestones occur at roughly 6 week intervals and follow the Platform release milestone by the Juno-established +2 delta interval. The final ATL 3.3 release will available simultaneously with the 3.8 release of the Platform and all the other Helios projects.
M209/27/2011
M311/08/2011
M412/13/2011
M501/31/2012
M603/20/2012
API freeze
M705/08/2012
Feature Freeze
RC105/22/2012
RC205/29/2012
RC306/05/2012
RC406/12/2012
Final06/27/2012
ATL will produce maintenance releases to align with the Helios Service Releases which includes the Eclipse Platform's 3.7.1 and 3.7.2 releases. ATL may produce additional interim maintenance releases. Maintenance releases will only be published if they contain new fixes. Friday, September 23, 2011 - ATL 3.2.1 maintenance release for Indigo Service Release 1. Friday, February 24, 2012 - ATL 3.2.2 maintenance release for Indigo Service Release 2. Version numbers are subject to change should there be be any additional maintenance releases.

Table of Contents

Target Environments

In order to remain current, each Eclipse release targets reasonably current versions of the underlying operating environments. The ATL project depends upon on the Platform and other projects, which are mostly "pure" Java. The 3.5 release of the Eclipse Platform Project is written and compiled against version 1.4 of the Java Platform APIs, and targeted to run on version 1.4 of the Java Runtime Environment, Standard Edition. ATL will target the same Java version as the platform.

Internationalization

The Eclipse Platform is designed as the basis for internationalized products. The user interface elements provided by the Eclipse SDK components, including dialogs and error messages, are externalized. The English strings are provided as the default resource bundles. As a result, the ATL project will provide English strings in its default bundles and be localized to a subset of those locales offered by the Platform. This plan will be updated to indicate which locales will be provided and the time frame for availability.

Table of Contents

Compatibility with Previous Releases

Most of the 3.2 APIs will be compatible with ATL 3.3.

Table of Contents

Themes and Priorities

Support for Eclipse 3.8 workbench

We will support 3.8 and 4.2 equally, and all the functionality will be the same.

ATL EMFTVM

A new VM for ATL (EMFTVM), but also other rule-based transformations languages, that incorporates composition (rule inheritance, module superimposition) as an integral part.

  • Committed

    • Sources for EMFTVM not included in update site feature [382677] (target milestone: ---)
    • EMFTVM: Cannot combine ATL output models with SimpleGT in/out models [351291] (target milestone: ---)
    • EMFTVM compiler crashes on reference to target element in rule "from" clause [429745] (target milestone: ---)
    • EMFTVM throws NoSuchElementException when invoking any() on an empty collection [405820] (target milestone: ---)
    • EMFTVM throws NullPointerException when assigning property in "do" block [405673] (target milestone: ---)
    • EMFTVM based ATL files do not compile on Eclipse Helios [395906] (target milestone: ---)
    • EMFTVM does not implement Collection::sortedBy(body) [422818] (target milestone: ---)
    • Cannot assign values to array-types EAttributes in EMFTVM [421718] (target milestone: ---)
    • EMFTVM does not support lazy rules with primitive type input elements [405641] (target milestone: ---)
    • Links broken [398710] (target milestone: ---)
    • EMFTVM Launch config doesn't handle unsetting "allow inter-model references" [351281] (target milestone: ---)
    • Feature proposal: ATL research VM with built-in composition support [345414] (target milestone: ---)
    • Multiple iteration of transformation leads to transformation crashes [421578] (target milestone: ---)
    • JIT bytecode verification error: Bad access to protected data [427454] (target milestone: ---)
    • Support for eEnum instances [423597] (target milestone: ---)
    • Defining multiple variants of the same helper with different parameter types fails when using metaclasses as types [419433] (target milestone: ---)
    • AssertionError in ModelImpl$InstanceOfList$InstanceOfIterator [376534] (target milestone: ---)
    • Refining mode rules resolves default traces to the second target element when available [413110] (target milestone: ---)
    • Lazy collections are wrapped around mutable collections [411230] (target milestone: ---)
    • call to add() raises java.lang.UnsupportedOperationException [405587] (target milestone: ---)
    • Native methods cannot override VM operations [408391] (target milestone: ---)
    • Using "self" in a helper without context declaration crashes compiler [422408] (target milestone: ---)
    • Different indexing in Sequence operations 'at' and 'indexOf' [430098] (target milestone: ---)
    • Support (multiple) virtual dispatch for lazy rules [415863] (target milestone: ---)
    • select( )->first() performance enhancement [284585] (target milestone: ---)
    • ATL2006 compiler does not preserve XMI IDs [404344] (target milestone: ---)
    • Problems when adding elements to an existing sequence [406100] (target milestone: ---)
    • rule inheritance and module import [426154] (target milestone: ---)
    • Can only assign to model element features or helper attributes in "do" block, not local variables [406372] (target milestone: ---)
    • Called rules compiled wrongly in refining mode [406662] (target milestone: ---)
    • Matching different objects for which equals return true [412999] (target milestone: ---)
    • AtlResourceImpl should not actually implement save() [406438] (target milestone: ---)
    • multiple calls to lazy rule in refining mode [425492] (target milestone: ---)

Table of Contents