| <?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop' |
| |
| #***************************************************************************** |
| # |
| # template.php |
| # |
| # Author: Freddy Allilaire |
| # Date: 2005-12-07 |
| # |
| # Description: Type your page comments here - these are not sent to the browser |
| # |
| # |
| #**************************************************************************** |
| |
| # |
| # Begin: page-specific settings. Change these. |
| $pageTitle = "AMW Use Case - Automatic interoperability between architectural notations"; |
| $pageKeywords = "ADL, software architecture, interoperability, model weaving, transformations, ATL, AMW, AMMA"; |
| $pageAuthor = "Ivano Malavolta"; |
| |
| # End: page-specific settings |
| # |
| |
| # Paste your HTML content between the EOHTML markers! |
| $html = <<<EOHTML |
| |
| <!-- Main part --> |
| <div id="midcolumn"> |
| <h1><font color='#280882'>AMW</font> Use Case - Automatic interoperability between architectural notations</h1> |
| |
| <a name="goals"></a> |
| <img align="right" src="../../resources/amwLogoSmall.png" valign="top" style="padding-left: 10px;" alt="AMW Logo" /> |
| <blockquote> |
| <ul> |
| <li><a href="#overview"><b>Overview</b></a></li> |
| <li><a href="#download"><b>Download and Examples</b></a></li> |
| <li><a href="#related"><b>Related Use Cases</b></a></li> |
| <li><a href="#references"><b>References</b></a></li> |
| <li><a href="#ack"><b>Acknowledgements</b></a></li> |
| </ul> |
| </blockquote> |
| |
| <hr class="clearer" /> |
| |
| <table> |
| <COLGROUP> |
| <COL width="2%"> |
| <COL width="98%"> |
| <tr> |
| <td></td> |
| This use case shows the <a href="http://www.di.univaq.it/pellicci/dually/"><b>D</b>U<b>AL</b>LY</a> |
| 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. |
| <a href="http://www.di.univaq.it/pellicci/dually/"><b>D</b>U<b>AL</b>Ly</a> is an automated framework that aims to offer |
| an answer to this need allowing both languages |
| and tools interoperability. <a href="http://www.di.univaq.it/pellicci/dually/"><b>D</b>U<b>AL</b>Ly</a> has been implemented |
| as an Eclipse plugin that extend AMW and it is based on model transformation |
| techniques (ATL). |
| <p/> |
| <h4 STYLE="font-size: 10pt; padding: 0; border-bottom: 2px solid #49457C; background-position: top left; background-repeat; repeat-x;"> |
| |
| <a name="overview">Overview</a></h4> |
| |
| <p align="justify"> |
| |
| 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. |
| |
| <p align="center"> |
| <img src="resources/duallyStructure.png"/> |
| <br /><br /> |
| <b>Figure 1. Conceptual overview of the use case</b> |
| </p> |
| |
| <p> |
| The motivation for <a href="http://www.di.univaq.it/pellicci/dually/"><b>D</b>U<b>AL</b>Ly</a> 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 |
| <a href="http://www.uml.org" target="blank">UML</a>. |
| 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. |
| |
| |
| <p>These considerations led us to propose <a href="http://www.di.univaq.it/pellicci/dually/"><b>D</b>U<b>AL</b>Ly</a>, a framework to |
| create interoperability among ADLs themselves as well as UML. |
| <a href="http://www.di.univaq.it/pellicci/dually/"><b>D</b>U<b>AL</b>Ly</a> 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, <a href="http://www.di.univaq.it/pellicci/dually/"><b>D</b>U<b>AL</b>Ly</a> 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, |
| <a href="http://www.di.univaq.it/pellicci/dually/"><b>D</b>U<b>AL</b>Ly</a> works at two abstraction levels: meta-modeling (upper part |
| of Figure 1), and modeling (lower part of Figure 1).</p> |
| |
| <p>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.</p> |
| |
| <p>At the modeling level, software architects specify the SA using |
| their preferred ADL or UML-based notation. <a href="http://www.di.univaq.it/pellicci/dually/"><b>D</b>U<b>AL</b>Ly</a> 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.</p> |
| |
| <p>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.</p> |
| |
| <p><a href="http://www.di.univaq.it/pellicci/dually/"><b>D</b>U<b>AL</b>Ly</a> is automated and implemented as an Eclipse plugin |
| that extends AMW. |
| The meta-models are expressed in <a href="http://www.eclipse.org/modeling/emf/" target="blank">Ecore</a>. |
| The UML profiles can be realized using any UML tool which exports in <a href="http://www.eclipse.org/uml2/" target="blank">UML2</a>, |
| 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 <a href="http://www.sciences.univ-nantes.fr/lina/atl/AMMAROOT/" target="blank">AMMA</a> 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.</p> |
| |
| <p>The main advantages <a href="http://www.di.univaq.it/pellicci/dually/"><b>D</b>U<b>AL</b>Ly</a> exposes can be summarized as follows: |
| |
| <ul> |
| <li> 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 <a href="http://www.di.univaq.it/pellicci/dually/"><b>D</b>U<b>AL</b>Ly</a> extremely easy to use.</li> |
| <li> <a href="http://www.di.univaq.it/pellicci/dually/"><b>D</b>U<b>AL</b>Ly</a> permits the transformation among formal ADLs and UML |
| model-based notations and viceversa.</li> |
| <li> Software architects can continue using familiar architectural |
| notations and tools, and reusing existing architectural models.</li> |
| <li> <a href="http://www.di.univaq.it/pellicci/dually/"><b>D</b>U<b>AL</b>Ly</a> permits both languages and tools interoperability.</li> |
| <li> The meta-transformations among two architectural notations are |
| defined once, and reused for each model that will be made.</li> |
| </ul></p> |
| |
| |
| </p> |
| |
| <br> |
| |
| <h4 STYLE="font-size: 10pt; padding: 0; border-bottom: 2px solid #49457C; |
| background-position: top left; background-repeat; repeat-x;"> |
| <a name="download">Download</a></h4> |
| |
| <table> |
| <COLGROUP> |
| <COL width="25%"> |
| <COL width="75%"> |
| |
| <tr> |
| |
| <td align="center"> |
| <h3><a href="../../examples/dually/DUALLy_DarwinACME_useCase.zip"> |
| Example</a></h3> |
| </td> |
| <td> |
| This example is the complete scenario to automatically create transformations between Darwin/LTSA and Acme from AMW weaving models. |
| </td> |
| </tr> |
| <tr> |
| |
| <td align="center"> |
| <h3><a href="../../examples/dually/DUALLy_DarwinAcme_useCaseGuide.pdf"> |
| Example User Guide</a></h3> |
| </td> |
| <td> |
| This document explains step-by-step how to semi-automatically obtain Acme specifications from Darwin/LTSA models by using AMW and ATL. |
| </td> |
| </tr> |
| |
| <tr> |
| |
| <td align="center"> |
| <h3><a href="../../examples/dually/IVANOpresentation.ppt"> |
| Example User Guide</a></h3> |
| </td> |
| <td> |
| This is a presentation of a doctoral student that presents a general overview of the approach. |
| </td> |
| </tr> |
| |
| </table> |
| |
| |
| <br> |
| |
| <h4 STYLE="font-size: 10pt; padding: 0; border-bottom: 2px solid #49457C; |
| background-position: top left; background-repeat; repeat-x;"> |
| <a name="related">Related Use Cases</a></h4> |
| |
| <table> |
| <COLGROUP> |
| <COL width="25%"> |
| <COL width="75%"> |
| |
| <tr> |
| |
| <td align="center"> |
| <h3><a href="../umlprofiles/"> |
| Bridge between DSLs and UML profiles</a></h3> |
| </td> |
| <td> |
| The Use Case which provided the basis on the weaving of UML profiles and DSL metamodels. |
| </td> |
| </tr> |
| |
| </table> |
| |
| <br> |
| |
| <h4 STYLE="font-size: 10pt; padding: 0; border-bottom: 2px solid #49457C; |
| background-position: top left; background-repeat; repeat-x;"> |
| <a name="references">References</a></h4> |
| |
| |
| [1] <a href="http://www.di.univaq.it/pellicci/dually/">DUALLy</a>, home page of the DUALLY project. The source code can be |
| found in its <a href="http://www.di.univaq.it/pellicci/dually/">SourceForge project page</a>, released under the GNU General Public |
| License (GPL). |
| <p/> |
| |
| [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 LAquila, Computer Science Department. |
| Available at the <a href="http://www.di.univaq.it/pellicci/dually/">DUALLy</a> site, 2008. |
| |
| |
| <br> |
| |
| <h4 STYLE="font-size: 10pt; padding: 0; border-bottom: 2px solid #49457C; |
| background-position: top left; background-repeat; repeat-x;"> |
| <a name="ack">Acknowledgement</a></h4> |
| |
| This work is partially supported by <a href="http://artdeco.elet.polimi.it/Artdeco">ARTDECO</a> (Adaptive infRasTructure for DECentralized Organizations), an Italian FIRB (Fondo per gli Investimenti della Ricerca di Base) 2005 Project. |
| |
| <p/> |
| |
| |
| </div><p/> |
| |
| |
| EOHTML; |
| |
| |
| # Generate the web page |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); |
| ?> |