Jump to: navigation, search

Difference between revisions of "ATL Wish List"

(Language Enhancements)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
{{Backlink|ATL}}
 +
 +
This page contains a list of requested features for the [[ATL]] language and execution engine.
 +
They are sorted in three lists depending on their status: unimplemented, being currently implemented, and being currently tested.
 +
 
__TOC__
 
__TOC__
  
== Unimplemented Features ==
+
==Unimplemented Features==
  
=== Language Enhancements ===
+
===Language Enhancements===
  
* Allow module level inheritance
 
 
* Provide short names as well as long names for metamodels  
 
* Provide short names as well as long names for metamodels  
 
* Syntactic enhancement for the “resolveTemp” function (new name, …)  
 
* Syntactic enhancement for the “resolveTemp” function (new name, …)  
Line 12: Line 16:
 
* Pluggable navigation languages (OCL of course but also other ones like XPath, XQuery, …)
 
* Pluggable navigation languages (OCL of course but also other ones like XPath, XQuery, …)
  
=== Implementation Enhancements ===
+
===Implementation Enhancements===
  
 
* Bind the metamodels to their name(s) (AM3)  
 
* Bind the metamodels to their name(s) (AM3)  
 
* Improve the User Interface (AM3)  
 
* Improve the User Interface (AM3)  
 
* Possible generation of bidirectional transformations:  
 
* Possible generation of bidirectional transformations:  
** A solution based on AMW is given in the [http://www.eclipse.org/gmt/amw/examples/#UMLProfiles UMLProfiles] example
+
** A solution based on AMW is given in the [http://www.eclipse.org/gmt/amw/examples/#UMLProfiles UMLProfiles] scenario
 
** A solution based on Constraint Logic Programming has been proposed by Marc Pantel  
 
** A solution based on Constraint Logic Programming has been proposed by Marc Pantel  
 
* Improve  the  debug  mode  and  console  (offer  the  possibility  to  stop  or  continue  an  ATL transformation after errors, …)  
 
* Improve  the  debug  mode  and  console  (offer  the  possibility  to  stop  or  continue  an  ATL transformation after errors, …)  
Line 30: Line 34:
 
* Provide editor(s) to allow ATL extensions  
 
* Provide editor(s) to allow ATL extensions  
  
== Features Currently Being Tested ==
+
==Features Currently Being Implemented==
 +
 
 +
ATL contributors are invited to move the entry describing a specific issue from the above section to this one when they work on solving it.
 +
This way, duplicated efforts should be reduced.
 +
 
 +
==Features Currently Being Tested==
 +
 
 +
ATL contributors are invited to move the entry describing a specific issue from the above sections to this one when the problem is solved.
 +
This results in a list of ''new'' features that need testing.
 +
The corresponding entries should be removed later once the feature is considered stable.
  
 
* Allow hierarchical packaging (extends a!b to a!b.c…)  
 
* Allow hierarchical packaging (extends a!b to a!b.c…)  
  
Latest CVS version enables the use of <metamodel-name>!<package-name>::<class-name> for EMF.
+
Latest CVS version enables the use of <metamodel-name>!<package-name>::<class-name> for EMF and MDR ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=141758 corresponding bug entry]).
This [https://bugs.eclipse.org/bugs/show_bug.cgi?id=141758 patch] provides the same feature for MDR.
+
  
 
* Provide support for using different files for defining a metamodel (technical solution)
 
* Provide support for using different files for defining a metamodel (technical solution)
  
This feature is implemented by this [https://bugs.eclipse.org/bugs/show_bug.cgi?id=140546 patch].
+
This feature is available in the latest CVS version ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=140546 corresponding bug entry]).
 +
 
 +
* Create a wiki web site for frequently asked questions (FAQ).
 +
 
 +
This wiki, which is provided by Eclipse, seems appropriate (see [[ATL_FAQ]]).
 +
 
 +
* Allow module level inheritance
 +
 
 +
This is currently implemented as module superimposition, which differs from inheritance in that superimposition is not part of a module's specification. It is a load-time option to load one transformation module on top of another, optionally masking rules from the previous module (overriding). This feature is available in the latest CVS version ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=156095 corresponding bug entry]).
  
* Create a wiki web site for frequently asked questions (FAQ). It seems to be possible to use this wiki provided by Eclipse…
+
[[Category:ATL]]

Latest revision as of 06:07, 19 March 2007

< To: ATL

This page contains a list of requested features for the ATL language and execution engine. They are sorted in three lists depending on their status: unimplemented, being currently implemented, and being currently tested.

Unimplemented Features

Language Enhancements

  • Provide short names as well as long names for metamodels
  • Syntactic enhancement for the “resolveTemp” function (new name, …)
  • Provide an extended way to define metamodels:
    • Define metamodel’s extensions (conceptual solution)
  • Pluggable navigation languages (OCL of course but also other ones like XPath, XQuery, …)

Implementation Enhancements

  • Bind the metamodels to their name(s) (AM3)
  • Improve the User Interface (AM3)
  • Possible generation of bidirectional transformations:
    • A solution based on AMW is given in the UMLProfiles scenario
    • A solution based on Constraint Logic Programming has been proposed by Marc Pantel
  • Improve the debug mode and console (offer the possibility to stop or continue an ATL transformation after errors, …)
  • Provide static analyzers
    • a type checker…
    • a checker for “nullable” accesses (for example in OCL queries)
  • Possible porting of the ATL virtual machine on embedded systems : provide “smaller” version of the ATL VM
  • Implement new model handlers
    • Improve support for the UML2 Eclipse plugin (remark: see why this is required at ATL Model Handlers)
    • Improve support for the RSA Eclipse plugin (same remark)
  • Implement new injectors and extractors
  • Provide editor(s) to allow ATL extensions

Features Currently Being Implemented

ATL contributors are invited to move the entry describing a specific issue from the above section to this one when they work on solving it. This way, duplicated efforts should be reduced.

Features Currently Being Tested

ATL contributors are invited to move the entry describing a specific issue from the above sections to this one when the problem is solved. This results in a list of new features that need testing. The corresponding entries should be removed later once the feature is considered stable.

  • Allow hierarchical packaging (extends a!b to a!b.c…)

Latest CVS version enables the use of <metamodel-name>!<package-name>::<class-name> for EMF and MDR (corresponding bug entry).

  • Provide support for using different files for defining a metamodel (technical solution)

This feature is available in the latest CVS version (corresponding bug entry).

  • Create a wiki web site for frequently asked questions (FAQ).

This wiki, which is provided by Eclipse, seems appropriate (see ATL_FAQ).

  • Allow module level inheritance

This is currently implemented as module superimposition, which differs from inheritance in that superimposition is not part of a module's specification. It is a load-time option to load one transformation module on top of another, optionally masking rules from the previous module (overriding). This feature is available in the latest CVS version (corresponding bug entry).