Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

AMW

AmwLogo.png

The AMW (ATLAS Model Weaver) project is a GMT subproject developed by the ATLAS Team, INRIA. AMW is part of the AMMA platform.

The AMW project supports the creation of different kinds of links between model elements. The links are saved in a weaving model. The weaving model conforms to an extensible weaving metamodel. <p/>

Weaving models can be used in different application scenarios, such as tool interoperability, transformation specification, traceability, model merging.

Core weaving metamodel

The AMW project is developed based on a core weaving metamodel. This core weaving metamodel supports basic link management, i.e., this metamodel supports n:n relationships between model elements. The ID of elements of the referred elements can be saved using different identification methods. The core weaving metamodel is illustrated below.

AmwCoreMetamodel.png

WElement is the base element from which all other elements inherit. It has a name and a description. WModel represents the root element that contains all model elements. WLink denotes the link type. WLink has a reference end to associate it with a set of link endpoints (WLinkEnd). Each WLinkEnd references one WElementRef. The attribute ref contains the identifier of the linked elements. WElementRef is not referenced directly by WLink because it is possible to reference the same model element by different link endpoints, for example one model element may participate in more than one mapping expression. WModelRef is similar to WElementRef, but it contains references to the models.

Metamodel extensions

The different kind of semantics of the weaving metamodel are defined in extensions to the core weaving metamodel. There are many weaving metamodel extensions that can be applied in different application scenarios.

AMW plugin

The AMW prototype is developed as an Eclipse plugin. It uses EMF as base model handler. The prototype provides a set of extension points definition to enable to customize the interface according to different metamodel extensions. An example of the interface is shown below.

AmwScreenShot.png

AMW plugin extensions

The first contribution to the AMW interface is the base weaver extension plugin (org.eclipse.weaver.extension). This extension enables to use the AMW plugin with the basic functionalities. This extension is provided for download together with the core weaver plugin (org.eclipse.weaver).


Downloads

The AMW project provides an Eclipse plugin to create weaving models and to compose metamodel extensions.
The plugin can be downloaded in the AMW Download Page.
A set of application scenarios is available at AMW Examples. There are examples of weaving models, metamodel extensions, weaving models generated automatically through matching transformations, Ant Tasks, higher-order transformations that take a weaving model and that produce model transformations, etc. These examples are sorted in different categories.

Publications

Publications related to AMW

Examples HowTo

The Examples HowTo contains additional information about the examples available for download in the AMW project web site.

See Also

AMW Wish List

AM3, The ATLAS MegaModel Management project's Eclipse homepage

ATL, The ATLAS Transformation Language project's Eclipse homepage

ATL, The ATLAS Transformation Language Eclipse wiki page

ATL, The ATL homepage

Back to the top