Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "ATL Wish List"

(Language Enhancements)
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
* Allow hierarchical packaging (extends a!b to a!b.c…)
+
{{Backlink|ATL}}
* Allow module level inheritance
+
 
 +
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__
 +
 
 +
==Unimplemented Features==
 +
 
 +
===Language Enhancements===
 +
 
 
* 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, …)
 +
* 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)  
 
* 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 has been presented by Frédéric Jouault
+
** 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, …)  
* Warm about unchecked “nullable” accesses (for example in OCL queries)
+
* Provide static analyzers
* Provide static analyzers (for example a type checker…)
+
** a type checker…
* Syntactic enhancement for the “resolveTemp” function (new name, …)  
+
** 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  
 
* Possible porting of the ATL virtual machine on embedded systems : provide “smaller” version of the ATL VM  
* Implement new model handlers  
+
* Implement new [[ATL Model Handlers|model handlers]]
* Implement new injectors
+
** Improve support for the UML2 Eclipse plugin (remark: see why this is required at [[ATL Model Handlers]])
* Create a wiki web site for frequently asked questions (FAQ). It seems to be possible to use the wiki provided by Eclipse…
+
** Improve support for the RSA Eclipse plugin (same remark)
* Provide an extended way to define metamodels:
+
* Implement new injectors and extractors
    - Provide support for using different files for defining a metamodel (technical solution)  
+
    - Define metamodel’s extensions (conceptual solution)
+
 
* Provide editor(s) to allow ATL extensions  
 
* Provide editor(s) to allow ATL extensions  
* Pluggable navigation languages (OCL of course but also other ones like XPath, XQuery, )
+
 
 +
==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 ([https://bugs.eclipse.org/bugs/show_bug.cgi?id=141758 corresponding bug entry]).
 +
 
 +
* Provide support for using different files for defining a metamodel (technical solution)
 +
 
 +
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]).
 +
 
 +
[[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).

Back to the top