Skip to main content

Project Plan For ATL, version 3.3.0


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.
API freeze
Feature Freeze
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.


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.


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

    • Add Maven/stand-alone support for EMFTVM Ant tasks [534003] (target milestone: 4.0)
    • Broken download for ATL/EMFTVM MarketPlace listing [566168] (target milestone: 4.3)
    • Sources for EMFTVM not included in update site feature [382677] (target milestone: ---)
    • EMFTVM cannot invoke Java methods on instances of private classes [461445] (target milestone: ---)
    • EMFTVM: Cannot combine ATL output models with SimpleGT in/out models [351291] (target milestone: ---)
    • EMFTVM's allInstancesFrom() implementation does not support querying metamodels [570983] (target milestone: 4.3)
    • Add entrypoint rule support to EMFTVM [529548] (target milestone: 4.0)
    • JIT miss for public boolean org.eclipse.m2m.atl.emftvm.util.LazySet$IncludingSet.isEmpty() [454382] (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 not avilable from SimRel [525935] (target milestone: 4.0)
    • The org.eclipse.m2m.atl.emftvm.engine feature strictly required asm 9.1 [579737] (target milestone: 4.6)
    • 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 CDO support breaks standalone maven support [573721] (target milestone: 4.5)
    • 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: ---)
    • java.lang.IncompatibleClassChangeError: Found class org.objectweb.asm.MethodVisitor, but interface was expected [479874] (target milestone: 3.7)
    • Feature proposal: ATL research VM with built-in composition support [345414] (target milestone: ---)
    • ATL feature packaging problems [573564] (target milestone: 4.5)
    • Multiple iteration of transformation leads to transformation crashes [421578] (target milestone: ---)
    • Lazy collections are wrapped around mutable collections [411230] (target milestone: ---)
    • Assigning a collection of collections to a many-valued property results in a ClassCastException [496434] (target milestone: 3.8)
    • 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: ---)
    • Different indexing in Sequence operations 'at' and 'indexOf' [430098] (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: ---)
    • Evaluating VMException.toString() may throw new VMException [499982] (target milestone: 3.8)
    • Editor confused by double quotes (") [476860] (target milestone: ---)
    • call to add() raises java.lang.UnsupportedOperationException [405587] (target milestone: ---)
    • select( )->first() performance enhancement [284585] (target milestone: ---)
    • Native methods cannot override VM operations [408391] (target milestone: ---)
    • Using "self" in a helper without context declaration crashes compiler [422408] (target milestone: ---)
    • [Feature] Support batch transformation in Ant [570932] (target milestone: 4.3)
    • 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: ---)
    • [Feature] Add support for CDO [572248] (target milestone: 4.4)
    • Can only assign to model element features or helper attributes in "do" block, not local variables [406372] (target milestone: ---)
    • Matching different objects for which equals return true [412999] (target milestone: ---)
    • OCL operator Set::-(Set) generate java exception at runtime [571192] (target milestone: 4.4)
    • Called rules compiled wrongly in refining mode [406662] (target milestone: ---)
    • Support (multiple) virtual dispatch for lazy rules [415863] (target milestone: 4.0)
    • NullPointerException in EMFTVMUtil#checkValueTypeIsEObject() [535793] (target milestone: 4.0.1)
    • ATL Console is not initialised sufficiently lazily [240282] (target milestone: 4.0)
    • EMFTVMUtil#getMethodSignature() causes method lookup collisions [488223] (target milestone: 3.8)
    • multiple calls to lazy rule in refining mode [425492] (target milestone: ---)
    • AtlResourceImpl should not actually implement save() [406438] (target milestone: ---)
    • Wrong OclModel.metamodel multiplicity [525691] (target milestone: 4.0)
    • ATL is not current (incompatible with Xtext, Orbit) [514604] (target milestone: ---)
    • Stale ASM version 5 [534946] (target milestone: 4.0.1)

Table of Contents

Back to the top