AMW Use Case - Automatic interoperability between architectural notations

AMW Logo

This use case shows the DUALLY approach to achieve interoperability between two outstanding architectural notations, Darwin and Acme. Nowadays different notations for architectural modeling have been proposed, each one focussing 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 extend AMW and it is based on model transformation techniques (ATL).

Overview

This use case shows how to semi-automatically obtain Acme specifications from UML-based Darwin models. The overall structure of our tool is represented in Figure 1. In this use case we show how a software architect can automatically obtain ATL transformations from a weaving model; it contains a set of semantic links between either the metamodel or UML profile of the language to weave. The links established in the weaving model will guide the generation (through an HOT) of the transformations at the modeling level.



Figure 1. Conceptual overview of the use case

The motivation for DUALLy is that many architectural languages have been proposed in the last fifteen years, each one with the chief aim of becoming the ideal language for specifying software architectures; what is evident nowadays, instead, is that architectural languages are defined by stakeholder concerns. Capturing all such concerns within a single, narrowly focused notation is impossible. At the same time it is also impractical to define and use a "universal" notation, such as UML. As a result, many domain specific notations for architectural modeling have been proposed, each one focussing on a specific application domain, analysis type, or modeling environment.

These considerations led us to propose DUALLy, a framework to create interoperability among ADLs themselves as well as UML. DUALLy is a general approach, but here we will explain its features referring to the Acme and Darwin use case. As conceptually shown in Figure 1, DUALLy permits to transform concepts of an architectural model Dmodel into the semantically equivalent concepts in the architectural model Amodel. Each model conforms to its corresponding meta-model or UML profile. Therefore, DUALLy works at two abstraction levels: meta-modeling (upper part of Figure 1), and modeling (lower part of Figure 1).

At the meta-modeling level, model driven engineers provide a specification of the architectural language in terms of its meta-model or UML profile. They then define a weaving model so as to semantically relate architectural concepts of the Darwin profile with the equivalent elements in Acme metamodel.

At the modeling level, software architects specify the SA using their preferred ADL or UML-based notation. DUALLy allows the automatic generation of model-to-model transformations which permit the software architect to automatically translate the Dmodel specification into the corresponding Amodel and viceversa.

As it can be noticed in Figure 1, the weaving model (and its corresponding generated transformation) relates Darwin and Acme metamodels (as well as Dmodel to Amodel) passing through what we refer to as A0. A0 represents a semantic core set of modeling elements, providing the infrastructure upon which to construct semantic relations among different ADLs. It acts as a bridge among the different architectural languages to be related together.

DUALLy is automated and implemented as an Eclipse plugin that extends AMW. The meta-models are expressed in Ecore. The UML profiles can be realized using any UML tool which exports in UML2, the EMF-based implementation of the UML 2.0 meta-model for the Eclipse platform. A0 is represented as a UML profile. Transformations among meta-models/profiles and model-to-model transformations are implemented in the context of the AMMA platform. Model-to-model transformations are then automatically instantiated, thus providing the possibility to automatically reflect modifications made on a model designed with one extension to one or even all of the other extensions.

The main advantages DUALLy exposes can be summarized as follows:

  • it works at two abstraction levels, providing a clear separation between model driven experts (the technical stakeholder) and software architects (the final users). The model transformation engine is completely hidden to a software architect, making DUALLy extremely easy to use.
  • DUALLy permits the transformation among formal ADLs and UML model-based notations and viceversa.
  • Software architects can continue using familiar architectural notations and tools, and reusing existing architectural models.
  • DUALLy permits both languages and tools interoperability.
  • The meta-transformations among two architectural notations are defined once, and reused for each model that will be made.


Download

Example

This example is the complete scenario to automatically create transformations between Darwin/LTSA and Acme from AMW weaving models.

Example User Guide

This document explains step-by-step how to semi-automatically obtain Acme specifications from Darwin/LTSA models by using AMW and ATL.

Example User Guide

This is a presentation of a doctoral student that presents a general overview of the approach.

Related Use Cases

Bridge between DSLs and UML profiles

The Use Case which provided the basis on the weaving of UML profiles and DSL metamodels.

References

[1] DUALLy, home page of the DUALLY project. The source code can be found in its SourceForge project page, released under the GNU General Public License (GPL).

[2] Malavolta, H. Muccini, P. Pelliccione, and D. A. Tamburri. Providing Architectural Languages and Tools Interoperability through Model Transformation Technologies. Technical report, TR 004-2008, University of L’Aquila, Computer Science Department. Available at the DUALLy site, 2008.

Acknowledgement

This work is partially supported by ARTDECO (Adaptive infRasTructure for DECentralized Organizations), an Italian FIRB (Fondo per gli Investimenti della Ricerca di Base) 2005 Project.