AMW Use Cases

AMW Logo Weaving models may be used in several application scenarios, such as metamodel comparison, traceability, model matching, model annotation, tool interoperability.
This is because it is often necessary to establish relationships between elements of different models.

These use cases are implemented using AMW. AMW supports such a variety of application scenarios because it has an adaptive interface that handles different metamodel extensions (AMW is fully implemented using the reflective API of EMF).
The plug-in also provides a set of extensions points that enables to add new functionalities when necessary.

This section describes a set of key use cases of AMW. The use cases are illustrated with a general overview. Some of them provide more precise documentation, as well as fully implemented examples.

Other Eclipse components also have a use case section, such as the GMT Modisco component or the M2M ATL component.

Some of these use cases were developed in the context of the IST European MODELPLEX project (MODELing solution for comPLEX software systems).

The progress status of each use case is indicated by the icons below:

Specification Partially Implemented Reaching Completion


List of use cases

  • Model migration illustrated by a simple metamodel

    This use case explains how to use AMW and ATL to migrate models conforming to different versions of a metamodel by following the approach proposed in Metamodel comparison and model migration. The main contribution of this work is a step-by-step guide explaining the migration process of a simple metamodel. Additionally, it contains the instructions to launch the matching transformation Name Similarity not used in the previous related use cases.
  • Interoperability between architectural notations

    Nowadays different notations for architectural modeling have been proposed, each one focusing on a specific application domain, analysis type, or modeling environment. No effective interoperability is possible to date. DUALLY is an automated framework that aims to offer an answer to this need allowing both languages and tools interoperability. DUALLY has been implemented as an Eclipse plugin that extends AMW and it is based on model transformation techniques (ATL). This use case shows the DUALLy approach to achieve interoperability between two outstanding architectural notations, Darwin and Acme.
  • Modeling Web applications

    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.
  • Comparison of large metamodels for Automotive Systems

    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.
  • Metamodel comparison and model migration

    This use case shows how we use weaving models to compare two versions of a metamodel. The domain of the metamodel is the development of embedded software in the avionics industry. The weaving model is used to produce a transformation between the models conforming to these metamodels.
  • Inverting mappings

    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.
  • Variability management in software product line

    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.
  • Software product line engineering

    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.

  • Metamodel Annotation for Ontology Design

    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).

  • Traceability of model transformations

    Traceability is used in different applications. This use case considers an ATL transformation. We need to keep track of the elements of the source model that were used to produce one target model element. Weaving models define links to save this traceability information.
  • Calculating the difference between models

    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 models (to synchronize them).
  • Automatic model matching

    Matching is the process of creating weaving models. The matching process is the basis for several other use cases of weaving models.
    This use case gives a general overview of this process and how AMW is integrated with ATL to be able to execute different matching heuristics.
  • Tool interoperability

    Nowadays, there are a large number of tools that can be used to solve similar problems. However, the tools typically have heterogeneous data format and semantics. This use case shows how weaving models and model transformations are used to handle tool interoperability issues between two well-known bug tracking tools, Mantis and Bugzilla.
  • Model annotations in Java 1.4

    Models are annotated to add extra information that are not relevant to be defined in the metamodel. For instance, a model can be annotated with preprocessing informations, comments, etc. This use case shows how weaving models are used to annotate Java 1.4 metamodels.
  • Bridge between SQL and KM3

    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.
  • System Architecture Management

    This use case shows how to map the overlapping concepts of different views of a complex system. It uses a framework that deals with a System Architecture (SA) called DoDAF (Department of Defense Architecture Framework).
  • Data mapping between relational DB and XML

    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 relationships (representing a relational database) and a metamodel that contains nested structures (representing an XML base).
  • Bridge between DSLs and UML profiles

    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.
  • Merge of geographical information and statistical data

    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 statistical data into a graphical representation (SVG).
  • Aspect oriented modeling

    Aspect oriented modeling aims at weaving business models and cross cutting models in a single model. This use case demonstrates how AMW is used as an aspect oriented modeling solution to weave a generic communication protocol with specific communication types.

Incubation
Incubation