AMW NewsThe sources of AMW have been updated to be compatible with the latest ATL, EMF and Eclipse releases (3.4M5)
This use case shows how model weaving is used to help in the development of model transformations. In some cases, the gap between the input and output metamodels makes it difficult to develop a model transformation that works for every input model. In such cases a weaving model can be used to enrich the input model by annotation. This process can be thought of as a way to parameterize the model transformation.
The sources of AMW have been updated to be compatible with Eclipse 3.3, EMF 2.3 and the latest versions of ATL and AM3 plug-ins. A binary release will be available soon.
This use case follows the approach of the use case (Metamodel comparison and model migration) in order to show how model weaving can be used to compare two versions of a very large metamodel used in Automotive Systems.
This use case illustrates an approach to manage variability in a Model-Driven Software Product Line. The approach proposes the generation of different applications from metamodels, feature models, weaving models, and special transformation rules. The proposal was developed by the Software Construction Group of The University of Los Andes (Colombia). The use case provides an example, publication and user guide.
The INRIA ATLAS team organizes in Nantes (France) a day essentially dedicated to the practice of model transformation (ATL) and model weaving (AMW) tools. This day is intended for ATL and AMW beginners who want to improve their knowledge in the domain. The tools are available in open source under Eclipse and a previous minimal experience with ATL is recommended.
The participation to this day is free of charge but the inscription is mandatory. The number of available places being limited (~15), the inscription's requests will be treated depending on their arrival order.
The tutorial takes place the 13th of July 2007, from 9h to 12h and from 14h to 18h. The inscription's requests have to be sent as soon as possible to Hugo Bruneliere (Hugo DOT Bruneliere AT univ-nantes DOT fr).
Please provide us in your request the basic information such as your name, company, phone number, etc. According to the number of available places, an answer will be sent to you including more details concerning the course of the day.
The tutorials will be either in French or in English, depending on the audience. All the slides will be in English and will be provided to the participants at the beginning of the day (slides non-available outside of the tutorial).
The goal of this day is to provide a practical point of view on Model-Driven Engineering (MDE). By following numerous examples and use cases, you will discover how to:
- Refine models in order to target a specific execution platform;
- Make tools and norms interoperable;
- Build, at low cost, domain-specific languages (DSLs);
- Define chains of transformations and integrate them in a workflow.
Each of these points will use on or several tools of the Atlas Model Management Architecture (AMMA) tool suite, with in particular:
- Atlas Transformation Language (ATL): a model transformation language and engine;
- Kernel MetaMetaModel (KM3): a metamodel definition language;
- Atlas Model Weaver (AMW): a model weaving prototype for interoperability and traceability;
- Textual Concrete Syntax (TCS): a model textual syntaxes definition language;
- Atlas MegaModel Management (AM3): a modeling artifact management prototype in order to facilitate the model-driven development (collaboration, distribution, etc).
All these tools are available from the Eclipse foundation website (http://www.eclipse.org ). ATL is a component of the model-to-model transformation project (M2M).The others are available as components of the GMT project. GMT has the goal to provide an incubation area for innovative projects related to model engineering. M2M and GMT are parts of the top-level modeling project gathering the model engineering activities of the Eclipse foundation.
Reference:
The objective of this use case is to show that AMW can easily support the process of inverse mapping generation. Inversing of mappings is on of the most important model management operators. Informally speaking, the operator puts back a given mapping of metamodels. The operator has multiple practical applications. This use case describes an application of inverses using a Sales Force Automation Systems.
The sources of AMW were updated to be compatible with the migration of the ATL CVS from GMT into M2M. A binary release with these sources will be provided soon.
The code was also refactored to completely separate the core plug-in (org.eclipse.weaver) from the extensions that execute transformations. The latest version before the updates was tagged as build_20070327[ATLRefactoring_Migration]
This use case presents a Model Driven solution for annotating models in order to obtain ontologies. Ontology design can be seen as a difficult task for people who are not aware of ontology concepts. By annotating already made models we expect to reduce the time for producing ontologies.
This use case is part of a work for a complete ontology development environment based on Model Driven Engineering made by Guillaume Hillairet from the L3I Lab in La Rochelle (France).
Mapping features to models is a necessary step when developing software product lines of models. In such product lines, we need to relate objects from feature models (i.e. features) to objects from model templates. In this use case we show an extension to the AMW platform to specify those relations through weaving models.
This use case was developed by OpenCanarias company.
We developed an extension to the AMW plug-in that provides a graphical interface to develop simple ATL transformations. The extension contains a metamodel extension with only the essential elements of ATL transformations: (modules, rules, input and output elements, bindings).
This extension has two main goals:
- to demonstrate that AMW can be easily extended with new facilities;
- to provide a simple graphical interface to develop ATL transformations. The plug-in name is org.eclipse.gmt.weaver.qatl. It is available in the AMW CVS.
This use case calculates the differences between two models. The difference between two models is an essential process to control the changes and evolutions of models. The result of the difference is used to apply a patch in the the models.
This use case shows how to map the overlapping concepts of different views of a complex system. It uses a System Architecture (SA) framework called DoDAF (Department of Defense Architecture Framework).
The integration of AMW and ATL was improved. We created a model handler for weaving models and woven models (AMWModelHandler). This model handler provides a set of primitives that are often needed when developing ATL transformations that use weaving models.
The DSL approach aims at representing every domain with a specific metamodel. The UML approach uses profiles to create domain specific concepts. This use case shows how AMW and ATL are used to produce a bridge between these two modeling approaches.
This use case presents a weaving model used to define a merge operation between a metamodel with geographical information (an extension of GML) and a metamodel with data about the results of elections into a graphical representation (SVG).
The data mapping between relational databases and XML is a typical problem in many organizations. This use case shows how weaving models capture the relationships between a metamodel with flat structures and foreign keys relationshps (representing a relational database) and a metamodel that contains nested structures (representing an XML base).
This use case shows how weaving models and model transformations are used to translate SQL-DDL (Data Definition Language) into KM3 (modeling technical space). The use case presents the complete bridging process: the injection of the SQL file, the weaving model, the transformations, and finally the extraction into a KM3 file.
Models are annotated to add extra information that are not defined in the metamodel. For instance, a model can be annotated with preprocessing informations, comments, etc.
This use case presents a generic annotation framework built using AMW.
Nowadays, there are a large number of tools that can be used to solve similar problems. However, the tools have different data format and semantics. To support interoperability between different tools, it is necessary to identify the heterogeneities between them.
This use case shows how weaving models are used to capture the heterogeneities between different tools' metamodels. It uses two bug tracking tools as example.
Matching is the process of creating weaving models. It is very important to provide methods to easily create weaving models, because this is the starting point for several other use cases.
This use case presents a general overview of the matching process. It shows how AMW is integrated with ATL to be able to execute different matching transformations. This use case also provides a step-by-step 'HowTo' that explains how to execute these transformations, and a guide that explains how to develop user-defined methods.
Aspect oriented modeling aims at weaving business models and cross cutting models in a single model. A weaving can be applied in any model (e.g., weavings in the cross cutting concern AND/OR in the business model), because there is no preferential model. This use case shows how AMW is used on an aspect oriented modeling appplication. The weaving model is interpreted by ATL transformations to weave the models.
A new AMW use case is available: traceability of model transformations. This use case considers traceability of model transformations. After executing a model transformation, it is often necessary to know the set of elements of the source model that were used to produce the target elements. A weaving model is used to save this traceability information.
A new use case of AMW is available: metamodel comparison. The objective of this use case is to demonstrate how weaving models created with the AMW plug-in are used to compare different versions of a metamodel and to produce executable model transformations.
We use two different versions of a Scade metamodel (from the Atlantic zoo). Scade is a standard for development of embedded software for the Avionics Industry.
A new page with a set of use cases of AMW was created. It contains simple and documented use cases of weaving models and AMW.
There is a new release of AMW plugin. This release is compatible with the latest releases of ATL and AM3.
The integration of the AMW plugin with the execution of matching transformations was improved. The plugin uses the new ATL 2006 compiler .
There is a new project "org.eclipse.weaver.transformation". This project is an extension to the weaving core. It contains a set of matching and higher-order transformations that can be called directly from the Weaving panel. For the moment these transformations are available in the context menu of the weaving panel (right click). They are executed one-by-one. We plan to gradually add new transformations and also to combine them, as well as to provide documentation.
As part of the changes related to the new Eclipse Modeling project, the AMW newsgroup has moved. Please use the new AMW newsgroup: eclipse.modeling.gmt.amw
The old one "eclipse.technology.gmt.amw" will be archived.
Creation of a new category of examples with a set of matching transformations. The matching transformations are used to automatically create weaving models.
Creation of a Wiki FAQ with questions about AMW. It will improve gradually. Everybody is welcome to contribute.
This is a complex scenario of management of "systems of systems". It uses many features of AMMA (ATLAS Model Management Architecture) to interoperate between different views of the same system. It uses different types of matching transformations to produce weaving models that capture the overlapping concepts of the different views.
The AMW Wiki was created. It contains general information about the AMW project, metamodel extensions, information about the examples, wish list, etc.
This example contains a set of matching transformations (implemented in ATL) that produce a weaving model. The ATL transformations are executed sequentially using AM3 Ant tasks.
The example is an adapted implementation of the Similarity Flooding algorithm (the reference to it is available on the example description).
New release/commit with many changes in the Model Weaver.
Most part of changes are related to the metadata file (that is not hidden from the users anymore), and the possibility to directly load .ecore weaving metamodels. The new release is available for download at the download page. More information here.
This example contains an extension to the core weaving metamodel to support interoperability between different tools. A weaving model conforming to this extension captures links between the metamodels of two bug tracking tools (Mantis and Bugzilla). The metamodels are extracted from the Atlantic Zoo.
This example contains a weaving model between a KM3 metamodel and a SQL DDL metamodel. The weaving model is used to produce an ATL transformation that translates KM3 models into SQL DDL models. It is similar to the example "Translating SQL into KM3", but the bridge is executed in the opposite direction.
This example uses a weaving model between a SQL DDL metamodel and a KM3 metamodel. The weaving model is used to produce an ATL transformation that translates SQL DDL models into KM3 models. We used an SQL extracted from Mantis bug tracker.
This example generates XSLT and ATL transformations from the same weaving model. It contains two ATL HOTs (higher-order transformations).
The AMW Zoo is a zoo containing weaving metamodels and extensions of weaving metamodels expressed in KM3.
This example generates an ATL execution trace in a weaving model. An ATL transformation produces a traceability weaving model.
This example is an complement that uses the metamodel extension between foreign keys and nested structures.
It provides a HOT (higher-order transformation) that transforms a weaving model into an ATL model.
There is a new example of an extension to the weaving core metamodel.
This extension enables to create a merge weaving model a subset of GML metamodel and an election metamodel into a SVG metamodel.
There is a new example of an extension to the weaving core metamodel.
This extension enables to create weavings between a metamodel with foreign key structure and a metamodel with nested structures.
AMW has now a new logo, more sexy.
ATLAS team wants to thank Xavier Mehaut and Romain Larcher for their pretty work.
A new release of AMW is available. It is compatible with the latest release of ATL.
A newsgroup for discussing AMW technical issues, bugs, suggestions, use cases is now available.
The AMW binaries are now available in the download section. The sources are available under CVS.
Creation of AMW subproject. AMW will be available for download soon.