| ATL Subproject | ![]() |
|
ATLAS Model Language Transformation |
| Overview | ||
|
The ATL project aims at providing a set of transformation tools for GMT. These include some sample ATL transformations, an ATL transformation engine, and an IDE for ATL (ADT: ATL Development Tools). ATL discussion occurs on Yahoo group: atl_discussion |
||
|
|
| ATL Presentation |
|
Warning, this presentation is old and will be updated soon The ATL project aims at providing a set of transformation tools for GMT. These include a transformations repository, some sample ATL transformations, an ATL transformation editor plug-in, an ATL transformation engine, etc. The Atlas Transformation Language (ATL) is being developed by the ATLAS team, INRIA. It is a hybrid language (a mix of declarative and imperative constructions) designed to express model transformations as required by any MDA approach (see the QVT RFP). It is described by an abstract syntax (a MOF meta-model), a textual concrete syntax and an additional graphical notation allowing modelers to represent partial views of transformation models. A transformation model in ATL is expressed as a set of transformation rules. The recommended style of programming is declarative. Transformations from Platform Independent Models (PIMs) to Platform Specific Models (PSMs) can be written in ATL to implement the MDA™ approach as suggested by the OMG. For the time being, a prototype engine is running with minimal functionalities. It implements ATL v0.1 language (declarative part). The next version (ATL v0.2) of the engine that will be ported to Eclipse will integrate both declarative and imperative styles of transformation. Eclipse is going to be used as an IDE for ATL, with advanced code edition features (syntax highlighting, auto-completion, etc.). ATL will provide a context in which transformation-based MDA tools can be designed and implemented for Eclipse. The ATL project will progressively provide a complete environment for developing, testing and using model transformation programs through the following items:
The objective is to complete these tasks by the end of 2004. A higher level of integration of ATL into Eclipse will be achieved later by adding the possibility to use EMF as a meta-meta-model for ATL transformations. Further than the IDE for ATL, this last step is aimed at building a fully integrated MDA tool on top of Eclipse. The execution engine would then use the Eclipse EMF repository and thus be able to transform models created within the EMF.Edit framework. Although the QVT RFP asks for a transformation language for MOF models, we think that making other meta-meta-models usable, provided they are semantically close enough to MOF, would add considerable value to a transformation language. This meta-meta-model independence would even be very interesting among OMG standards, MOF 2.0 being different from MOF 1.4. Finally, the ATL framework also integrates the notion of "technological spaces". Although mainly intended to deal with MDA models (based on MOF meta-models and accessible via XMI or JMI), this framework should also handle other kinds of models from different technological spaces (e.g. Java programs, XML documents, DBMS artifacts, etc.). To this end, what we need is a collection of adaptable "injectors" and "extractors" to complement the library of MDA transformation components. Models, meta-models, transformations, injectors and extractors are examples of MDA components that will be handled as uniformly as possible by the ATL repository. |