AMW Use Cases

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