Section: New Results
A model is a structure that represents a design artefact such as a database schema, an interface definition, an XML type definition, a UML model or a Web document. More generally a model can naturally be represented as a graph-based structure. We have proposed a formal characterization of models as a set of related graphs  ,  . All the operational tools built within the project refer to this common conceptual framework which is an improvement on our previous work. Developers of information systems must typically deal with different models and perform transformations between models. Examples of transformations are: mapping heterogeneous data source descriptions in a global schema to perform data warehousing, converting XML documents into HTML, or generating EJB or .Net component definitions from a UML model. Today, most of these transformations are still programmed using specific languages like SQL, XSLT or even Java, Perl, or C. As information systems become more complex and must support cooperation of heterogeneous applications and components, there is an urgent need to propose more systematic ways to develop transformations.
Model management aims at solving this problem by providing techniques and tools for dealing with models and model transformations in more automated ways. It has been studied independently for years by several research communities such as databases, document management, and software engineering. One of the major problems is the multiplicity of input and output format and transformations systems, e.g., from LaTeXto HTML or from SQL to XQuery. There is much to gain if we could handle these various transformations in a more generic way with a coordinated family of languages. To contribute to this evolution, we have continued to refine ATL (Atlas Transformation Language) which is now the basis for AMMA (ATLAS Model Management Architecture). Our research activities in AMMA concern model transformation and weaving, global management of related resources (mainly models, metamodels and transformations), and the integration of these functionalities into an open model management platform.
Model transformation, e.g. mapping a relational database schema into an XML schema, is a very useful and important operation in model management. We have proposed ATL, a combined declarative/imperative language that allows to transform source models into target models. Like the source and target models, the transformation program is itself a model and thus conforms to a given metamodel  .
We have continued our implementation of ATL on Eclipse as part of the GMT open source project. In addition to the ATL engine, a complete integrated development environment (IDE) has been built and also released as GMT open source. The IDE for ATL allows transformation editing and debugging (syntax coloring, step by step execution, breakpoints, environment observation, etc.). We developped several examples of model transformations as part of a basic library.
In the context of the ModelWare project, ATL has been stabilized and applied to several case studies. ATL is now being used by a strong international research community on more than 200 sites. Several companies including Airbus, CS, oAW, NASA/JPL, SODIUS, etc. are now developing transformations in ATL. The language is partially aligned on the recent QVT normative recommendation  and has recently been proposed as one of the standard Eclipse solutions for Model2Model Transformations. We have also shown how ATL allows to bridge the OMG and various other environments like GME or Microsoft DSL Tools. An extensibility scheme has also been proposed for ATL  .
An original aspect of the ATL implementation is that it is based on the public definition of a portable transformation virtual machine. The specification of this virtual machine has been publicly released on Eclipse. We have also proposed KM3 (Kernel MetaMetaModel), a domain specific language for specifying metamodels  , for example those describing tools' internal data formats (MS Excel, MS Project, MatLab, Bugzilla, Mantis, etc.).
Taking stock on the ATL implementation framework, we have obtained several original results that are summarized in  . We have shown the possibility to express a model verification by a pure transformation. Not only the verification criteria may be expressed by a separate model, but also the diagnostic result may be expressed as a model conforming to a variable metamodel. We have proposed a proof of concept based on our ATL implementation. We are currently extending it to measure models by using a similar model-based organization. Many of our practical applications make use of higher order transformations, i.e. transformations taking transformations as input or/and producing transformations as output. This has been made easy because a transformation is not only a program, but also a model conforming to a precise metamodel  .
Model weaving applied to data mapping
Mapping between heterogeneous data is a central problem in many data-intensive applications. A typical data mapping specifies how data from one source representation (e.g. a relational schema) can be translated to a target representation (e.g. an XML schema). Although data mappings have been studied independently in different contexts, there are two main issues involved. The first one is to discover the correspondences between data elements that are semantically related in the source and target representations. This is called schema matching in schema integration and many techniques have been proposed to (partially) automate this task. After the correspondences have been established, the second issue is to produce operational mappings that can be executed to perform the translation. Operational mappings are typically declarative, e.g. view definitions or SQL-like queries. However, using one mapping language causes serious limitations and makes mapping management difficult.
We have proposed a solution based on model weaving which can better control the trade-off between genericity, expressiveness, and efficiency of mappings. In other words, our objective is to support generic data mapping (as in other model management systems but with a different approach) while exploiting specific mapping languages and engines, such as XQuery, SQL or ATL. Our solution considers mappings as models and exploits specific mapping engines. We defined model weaving as a generic way to establish element correspondences. Weaving models may then be used by a model transformation language to translate source model(s) into target model(s). We validated our approach using the ATLAS Model Weaver (AMW) prototype on several application scenarios including the operational interoperability between different tools  Our experiments have shown that many different proposals may be unified by our model-based approach. Coupling a weaving facility (like AMW) with a transformation facility (such as ATL) gave us good efficiency and flexibility. We have illustrated the joint use of AMW and ATL (i.e. generating executable transformations from correspondances) by several practical projects  .
The number of possible applications of model weaving techniques is rapidly rising. A small but convinced community of external users (mainly academics) has started using the Eclipse AMW prototype (www.eclipse.org/gmt/amw/).
Global model management
Within a model management environment, the main elements produced or consumed are models, metamodels, correspondences or transformations. However, in order to allow for the manipulation of other resources such as XML documents, database tables or flat files, collections of generic importers and exporters are needed. Special attention should be given to the global management of all these resources. These models are explicitly typed by their corresponding metamodels allowing to define the signature of each tool.
In our approach, all the information about the components known to a given platform is stored in a specific model named "megamodel". A megamodel is a kind of model registry that stores reference and metadata information on all accessible resources, including relations between these resources. It allows us to build a minimal and highly extensible infrastructure. In particular, this allows easy extension of a local platform towards a distributed platform such as a P2P system without significant modification of tool interoperability mechanisms. Furthermore the approach fits well within the general conceptual scheme developed for model management. Experimental validation is being done through the AM3 (ATLAS MegaModel Manager) tool to record and control the global relations betwen model components (www.eclipse.org/gmt/am3/). This validation is being pursued within the ModelPlex project, on the use cases defined by our industrial partners: SAP, Thales, Telefonica and Westerngeco/Schlumberger.
As part of the current ModelPlex project, this global management approach has also been applied to the problem of model driven reverse engineering  . The idea is to develop tools to extract homogeneous models from legacy programs and data that have been developed since fifty years, under various technologies  . Capturing the various kinds of artefacts present in the information system portfolio of a bank for example is very challenging, difficult and useful for software and system modernization or for handling different situation of company merging for example. Legacy systems are highly complex systems and their understanding is currently an open problem. The application of model driven techniques to this problem is one important goal of the ModelPlex project. In addition to the AM3 Eclipse component mentioned above, the new MoDisco collaborative Eclipse project is targeting the area of Model Driven Reverse Engineering.
The problem of global model management also arises when we are dealing with a high number of different Domain Specific languages (DSLs). We are going to apply similar techniques to the problem of DSL coordination in the FLFS project (Families of languages for Families of Systems). The problem of defining abstract syntaxes, concrete syntaxes and semantics to a DSL has been studied in  ,  ,  and  .