Jump to: navigation, search

Difference between revisions of "AM3"

m (FAQ: added link to the AM3 FAQ)
 
(29 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Backlink|AMMA}}
+
{{Backlink|MDT}}
{{Backlink|GMT}}
+
{{Backlink|MoDisco}}
 +
[[Image:Am3Logo.png|right]]
 +
{{AM3Infobox}}
  
[[Image:Am3Logo.png|right]]
+
The '''AtlanMod MegaModel Management (AM3)''' prototype, being developed by the [http://www.emn.fr/z-info/atlanmod AtlanMod Team], is part of the [[MoDisco]] project. It provides a practical support for modeling in the large, i.e. dealing with global resource management in a model-engineering environment.
  
The [http://www.eclipse.org/gmt/am3/ AM3] ('''ATLAS MegaModel Management''') project is a [[GMT]] subproject which is being developed by the [http://www.inria.fr/recherche/equipes/atlas.fr.html ATLAS Team], [http://www.inria.fr/ INRIA].
+
== Overview ==
The aim of the GMT project is to produce a set of prototypes in the area of Model Driven Engineering (MDE). The AM3 project acts in this way by providing a practical support for modeling in the large, i.e. dealing with global resource management in a model-engineering environment.
+
AM3 is part of the [[AMMA]] platform.
+
  
==Abstract==
+
The goal of AM3 (AtlanMod MegaModel Management) is to provide a practical support for modeling in the large. The objective is to deal with global resource management in a model-engineering environment. We base this activity on the concept of a "megamodel". A megamodel is a terminal model in which all model engineering resources available in given projects are registered. The basic idea is that there is no unique metamodel for megamodels. Instead, the user may use metamodels from a library or invent their own ones. This means that the kind of artifacts stored in or retrieved from a given MDE repository may vary. We know some of these artifacts (models, metamodels, transformations, semantic correspondences, etc.) but many others may be contextually defined. This is one of the difficulties of the global model management: the AM3 tool is designed to be metamodel-agnostic in order to handle this contextual variability.
  
The goal of [http://www.eclipse.org/gmt/am3/ AM3] (ATLAS MegaModel Management) is to provide a practical support for modeling in the large, i.e. managing global resources in the field of MDE (Model-Driven Engineering). These global resources are usually heterogeneous and distributed. To access them without increasing the accidental complexity of MDE, we need to invent new ways to create, store, view, access, and modify the global entities that may be involved in developing a solution. To this intent, the notion of a megamodel (i.e. a model which elements are themselves models) is being used. In order to achieve this overall goal, AM3 provides a set of tools and artifacts that implement our Global Model Management (GMM) approach which is based on the concept of "megamodel".
+
== Download and install ==
  
 +
The AM3 prototype is available from the Eclipse-MDT MoDisco SVN (see [http://wiki.eclipse.org/index.php?title=AM3/How_Install_New_AM3_From_SVN How Install New AM3 From SVN]) (sources only).
  
==Description==
+
== Documentation ==
 +
You can find from this section many different documentary resources around the AM3 prototype and underlying approach.
  
Global management tools have plenty of potential applications. They can provide a lot of leverage over common problems. The idea of modeling in the large is to establish and use global relationships and metadata on the basic macroscopic entities (mainly models and metamodels), ignoring the internal details of these global entities.<br/>
+
=== Reference documentation ===
A megamodel is a model recording global information on tools, services and other models. A model may be a terminal model, a metamodel or a metametamodel. Models are considered as a whole together with tools, services and other global entities. Within a model management environment, the main elements produced or consumed are models, metamodels or transformations. With the AM3 supported megamodels, we want also to allow the manipulation of other resources such as XML documents, database tables or flat files. For this reason, we have introduced the notion of artifacts as basic entity. A megamodel gives the representation of the user-working context (a zone). A zone is a set of resources and each zone is represented by a given megamodel. It is the set of all the artifacts, which are accessible in a given context. One goal of the megamodel management tool is to manage artifacts with all necessary functionalities, and to allow executing the control actions associated with the artifacts.<br/><br/>
+
*[http://docatlanmod.emn.fr/AM3/Documentation/AM3_Flyer-Poster_v1-0.pdf AM3 Flyer-poster]: Complete short description of the AM3 project
AM3 is part of the AMMA platform (ATLAS Model Management Architecture). The AMMA platform has been implemented on top of the Eclipse/EMF framework. The AM3 plug-in is based on the availability of the megamodel's metamodel. The main features of AM3 are:
+
*[http://docatlanmod.emn.fr/AM3/Documentation/D2-1-a_Global_Model_Management_Principles_v1-1.pdf Global Model Management Principles]: General theory & concepts
* Management of various artifacts,
+
*[http://docatlanmod.emn.fr/AM3/Documentation/D2-11-b_Global_Model_Management_Supporting_Tool_v3-0.pdf Global Model Management Supporting Tool]: Description of the AM3 prototype (tooling)  
* Management of various relations between artifacts,
+
*[http://docatlanmod.emn.fr/AM3/Documentation/D3-2-d_Global_Model_Management_Traceability_Extension_v1-0.pdf Global Model Management Traceability Extension]: Description of the AM3 prototype's generic extension dedicated to traceability (tooling)
* Sharing and exchange of megamodel elements,
+
* User interfaces for viewing (browsing, creating, changing, etc.) megamodel elements.
+
  
The AM3 plugins implement a framework that provides an environment for modelling in the large with the following basic initial features:
+
=== Screencasts & slides ===
* Managing megamodels:
+
** Adding, editing metadata and deleting artifacts
+
** Adding, editing and deleting relations
+
* Using megamodels:
+
** Sharing artifacts
+
** Searching artifacts
+
* Managing tools and services:
+
** Using tools with artifacts:
+
*** Running transformations:
+
**** Model transformations
+
**** Projectors:
+
***** Injectors
+
***** Extractors
+
**** Launching several transformations in batch mode
+
*** Editing artifacts
+
  
In addition to these, it is very likely that additional functionality will be found useful and implemented in this environment.
+
*[http://docatlanmod.emn.fr/IDM++_public_repository/Flash_Demo/NewNavigabilityDemo.htm Demo "Navigability between models"] on the '''PetStore''' use case ([http://www.emn.fr/z-info/idmpp/index.php/Documentation#The_PetStore description available here]).
 +
<!--
 +
*[http://docatlanmod.emn.fr/IDM++_public_repository/Flash_Demo/AM3Demo-MegamodelVisualization-DRL2IRL.htm Demo "Megamodel visualization generation"] on the '''Rule Interchange Technologies''' use case ([http://www.emn.fr/z-info/idmpp/index.php/Documentation#Rule_Interchange_Technologies description available here]).
 +
-->
 +
*[http://docatlanmod.emn.fr/MODELPLEX_PublicRepository/GMM4ATL%20and%20Navigability%20Demo%20-%20June%202009/demo-showcaseECMDA.htm Demo "Megamodel discovery, transformation execution and traceability management"] on the '''Performance Annotated UML Statechart''' use case ([http://docatlanmod.emn.fr/MODELPLEX_PublicRepository/GMM4ATL%20and%20Navigability%20Demo%20-%20June%202009/ModelPlexShowcase_ECMDA_ATL-AMW-AM3.pdf description available here]).
 +
*[http://docatlanmod.emn.fr/MODELPLEX_PublicRepository/Traceability%20Demo%20(D3.2.b)%20-%20March%202009/demoAM3-Navigability-SAP_upgraded.htm Demo "Traceability navigation between models"] on the '''Model Driven Performance Engineering''' use case ([http://docatlanmod.emn.fr/MODELPLEX_PublicRepository/Traceability%20Demo%20(D3.2.b)%20-%20March%202009/D3.2.d_Global_mode_management_traceability_extension.pdf description available here]).
  
==Available Resources==
+
=== Related publications ===
  
The AM3 project provides many MDE resources which are, at the time, different domains' <b>metamodels</b>, <b>ATL transformations</b>, <b>weaving metamodels</b> and <b>extensions of weaving metamodels</b>. These resources are gathered in what we call [http://www.eclipse.org/gmt/am3/zoos/ "zoos"] and are expressed in different formats (as an example, metamodels are expressed in KM3 as well as in Ecore or Microsoft DSL Tools format, etc).  
+
* Andres Vignaga, Frederic Jouault, Maria Cecilia Bastarrica, Hugo Bruneliere: '''Typing Artifacts in Megamodeling'''. Journal on Software and System Modeling (Springer), Volume 10 Number 1 - Special Section. February 2011. ([http://www.springerlink.com/content/j212100qq405n5q1/ link])
 +
* Frederic Jouault, Bert Vanhooff, Hugo Bruneliere, Guillaume Doux, Yolande Berbers, Jean Bezivin: '''Inter-DSL Coordination Support by Combining Megamodeling and Model Weaving'''. Special Track on the Coordination Models, Languages and Applications at the 25th Symposium On Applied Computing (SAC 2010). Sierre, Switzerland .March 22-26, 2010. ([https://gforge.inria.fr/plugins/scmsvn/viewcvs.php/*checkout*/Publications/2010/2010_SAC_InterDSLCoordination_SAC2010.pdf?rev=32&root=atlantic-zoos link])
 +
* Vincent Mahe, Frederic Jouault, Hugo Bruneliere: '''Megamodeling Software Platforms: Automated Discovery of Usable Cartography from Available Metadata'''. International Workshop on Reverse Engineering Models from Software Artifacts (REM'09) Organized in conjunction with WCRE'09. Lille, France .October, 2009. ([https://gforge.inria.fr/plugins/scmsvn/viewcvs.php/*checkout*/Publications/2009/REM09_MegamodelingSoftwarePlatforms-IEEE-1.0.pdf?rev=23&root=atlantic-zoos link])
 +
* Andres Vignaga, Frederic Jouault, Maria Cecilia Bastarrica, Hugo Bruneliere: '''Typing in Model Management'''. ICMT Conference. Zurich, Switzerland. 2009. ([https://gforge.inria.fr/plugins/scmsvn/viewcvs.php/*checkout*/Publications/2009/TypingInGMM_preliminary.pdf?rev=16&root=atlantic-zoos link])
 +
* Mathias Fritzsche, Hugo Bruneliere, Bert Vanhooff, Yolande Berbers, Frederic Jouault, Wasif Gilani: '''Applying Megamodeling to Model-Driven Performance Engineering'''. 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS). San Fransisco, USA .April 13-16, 2009. ([https://gforge.inria.fr/plugins/scmsvn/viewcvs.php/*checkout*/Publications/2009/mgm4mdpe_preliminary.pdf?rev=9&root=atlantic-zoos link])
 +
* Mikael Barbero, Frederic Jouault, Jean Bezivin: '''Model Driven Management of Complex Systems: Implementing the Macroscope's vision'''. 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS). Belfast, UK. 2008. ([https://gforge.inria.fr/plugins/scmsvn/viewcvs.php/*checkout*/Publications/Before2009/barbero-MDMofComplexSystem%2520-%2520PreliminaryVersion.pdf?rev=12&root=atlantic-zoos link])
 +
* Mikael Barbero, Marcos Didonet Del Fabro, Jean Bezivin: '''Traceability and Provenance Issues in Global Model Management'''. 3rd ECMDA-Traceability Workshop. 2007. ([http://modelbased.net/ecmda-traceability/ link])
 +
* Freddy Allilaire, Jean Bezivin, Hugo Bruneliere, Frederic Jouault: '''Global Model Management In Eclipse GMT/AM3'''. Proceedings of the Eclipse Technology eXchange workshop (eTX) at the ECOOP 2006 Conference. Nantes, France. 2006. ([https://gforge.inria.fr/plugins/scmsvn/viewcvs.php/*checkout*/Publications/Before2009/GlobalModelManagementInEclipseGMTAM3_Revised.pdf?rev=12&root=atlantic-zoos link])
 +
* Jean Bezivin, Frederic Jouault, Peter Rosenthal, Patrick Valduriez: '''Modeling in the Large and Modeling in the Small'''. Lecture Notes in Computer Science, Num 3599, edited by Uwe Asmann, Mehmet Aksit, Arend Rensink. Springer-Verlag GmbH, pages 33-46. 2005. ([http://www.springerlink.com/openurl.asp?genre=article&issn=0302-9743&volume=3599&spage=33 link])
 +
* Jean Bezivin, Frederic Jouault, Patrick Valduriez: '''On the Need for Megamodels'''. In: Proceedings of the OOPSLA/GPCE: Best Practices for Model-Driven Software Development workshop, 19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications. 2004. ([https://gforge.inria.fr/plugins/scmsvn/viewcvs.php/*checkout*/Publications/Before2009/bezivin-megamodel.pdf?rev=12&root=atlantic-zoos link])
  
 +
== Use Cases ==
  
==FAQ / How to==
+
AM3 provides a set of use cases showing different possible uses of the AM3 Megamodeling tool in various contexts and for varied purposes (similarly to what is done in the [http://www.eclipse.org/m2m/atl/usecases/ M2M ATL] project).
 +
A general description is given for each of these use cases, as well as some more precise documentations for many of them. For some, prototypes have already been implemented and are directly downloadable from their respective page.
  
[[AM3_FAQ]]
+
=== PetStore Navigability ===
  
==References==
+
This complete use case presents a concrete use of the generic and extensible inter-model navigability facilities offered by AM3. It shows how a snapshot taken during a software development process can be represented by a megamodel and how global model management can be used to manage and navigate the different development artifacts. The sample application considered in this use case is the standard PetStore online application. The different models and metamodels available from this use case have been developed to figure out the situation at a given time within the software development process.
 +
[[AM3/Use_Cases/PetStore_Navigability| Click here for more details and actual resources...]]
  
Brunelière, H, Allilaire, F, Bézivin, J, and Jouault, F : [http://www.sciences.univ-nantes.fr/lina/atl/www/papers/GlobalModelManagementInEclipseGMTAM3_Revised.pdf Global Model Management In Eclipse GMT/AM3]. In: Proceedings of the Eclipse Technology eXchange workshop (eTX) at the ECOOP 2006 Conference, Nantes, France.  2006.
+
=== Linux Packages Dependencies ===
  
Bézivin, J, Jouault, F, and Valduriez, P : [http://www.sciences.univ-nantes.fr/lina/atl/www/papers/OOPSLA04/bezivin-megamodel.pdf On the Need for Megamodels]. In: Proceedings of the OOPSLA/GPCE: Best Practices for Model-Driven Software Development workshop, 19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications.
+
This complete use case describes how AM3 can be used in order to manage package dependencies in distributions of Debian Linux based systems. It can be divided into two distinct parts: the discovery and transformation to AM3 part which is about injecting the distribution package list into a model using TCS and transforming the injected model into an AM3 megamodel (for this part, a specific AM3 extension has been created); the visualization part which is about extracting the content of the megamodel into a GraphML model and then generating the graphical visualization for this graph.
 +
[[AM3/Use_Cases/Linux_Package_Dependencies| Click here for more details and actual resources...]]
  
Bézivin, J, Jouault, F, Rosenthal, P, and Valduriez, P : [http://www.sciences.univ-nantes.fr/lina/atl/www/papers/RR_LINA_AMMA_Bezivin3_2004%5bv00.01%5d.pdf The AMMA platform support for modeling in the large and modelling in the small]. Research Report LINA, (04.09).
+
== Support ==
  
==See Also==
+
* Newsgroup: {{Newsgroup|eclipse.modisco}}
 +
* [http://www.eclipse.org/forums/eclipse.modisco Forum]
 +
* [https://bugs.eclipse.org/bugs/buglist.cgi?columnlist=bug_severity,priority,op_sys,assigned_to,reporter,bug_status,resolution,short_desc;query_based_on=AM3%20Bugs;query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=RESOLVED;bug_status=VERIFIED;component=AM3;product=MDT.MoDisco Opened bugs]
 +
* [https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;columnlist=bug_severity,priority,op_sys,assigned_to,reporter,bug_status,resolution,short_desc;component=AM3;product=MDT.MoDisco All bugs]
 +
* [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=MDT.MoDisco&component=AM3 Submit a new bug]
 +
* [[AM3/FAQ|FAQ]]
  
[http://www.eclipse.org/gmt/am3 AM3], The <b>ATLAS MegaModel Management</b> project's Eclipse homepage<br/><br/>
+
== Relationships with other Eclipse Projects ==
[http://www.eclipse.org/gmt/atl ATL], The <b>ATLAS Transformation Language</b> project's Eclipse homepage<br/><br/>
+
 
[http://wiki.eclipse.org/index.php/ATL ATL], The <b>ATLAS Transformation Language</b> Eclipse wiki page<br/><br/>
+
AM3 reuses different existing [http://www.eclipse.org/modeling/ EMP (Eclipse Modeling Project)] projects:
[http://www.sciences.univ-nantes.fr/lina/atl/ ATL], The <b>ATL</b> homepage<br/><br/>
+
 
 +
*'''[http://www.eclipse.org/modeling/emf/ EMF]''' to describe and handle models.
 +
*'''[http://www.eclipse.org/mdt/ MDT]''' to support UML2 models.
 +
*'''[http://www.eclipse.org/m2m/ M2M]''' to implement model transformations.
  
 
[[Category:Modeling]]
 
[[Category:Modeling]]
 
[[Category:MDD]]
 
[[Category:MDD]]
[[Category:GMT]]
 
 
[[Category:AM3]]
 
[[Category:AM3]]
 
[[Category:AMMA]]
 
[[Category:AMMA]]

Latest revision as of 05:02, 20 November 2012

< To: MDT
< To: MoDisco

Am3Logo.png
AM3
Download
Community
Mailing ListForum
Bugzilla
Opened bugs
All bugs
Contribute
Browse Source

The AtlanMod MegaModel Management (AM3) prototype, being developed by the AtlanMod Team, is part of the MoDisco project. It provides a practical support for modeling in the large, i.e. dealing with global resource management in a model-engineering environment.

Overview

The goal of AM3 (AtlanMod MegaModel Management) is to provide a practical support for modeling in the large. The objective is to deal with global resource management in a model-engineering environment. We base this activity on the concept of a "megamodel". A megamodel is a terminal model in which all model engineering resources available in given projects are registered. The basic idea is that there is no unique metamodel for megamodels. Instead, the user may use metamodels from a library or invent their own ones. This means that the kind of artifacts stored in or retrieved from a given MDE repository may vary. We know some of these artifacts (models, metamodels, transformations, semantic correspondences, etc.) but many others may be contextually defined. This is one of the difficulties of the global model management: the AM3 tool is designed to be metamodel-agnostic in order to handle this contextual variability.

Download and install

The AM3 prototype is available from the Eclipse-MDT MoDisco SVN (see How Install New AM3 From SVN) (sources only).

Documentation

You can find from this section many different documentary resources around the AM3 prototype and underlying approach.

Reference documentation

Screencasts & slides

Related publications

  • Andres Vignaga, Frederic Jouault, Maria Cecilia Bastarrica, Hugo Bruneliere: Typing Artifacts in Megamodeling. Journal on Software and System Modeling (Springer), Volume 10 Number 1 - Special Section. February 2011. (link)
  • Frederic Jouault, Bert Vanhooff, Hugo Bruneliere, Guillaume Doux, Yolande Berbers, Jean Bezivin: Inter-DSL Coordination Support by Combining Megamodeling and Model Weaving. Special Track on the Coordination Models, Languages and Applications at the 25th Symposium On Applied Computing (SAC 2010). Sierre, Switzerland .March 22-26, 2010. (link)
  • Vincent Mahe, Frederic Jouault, Hugo Bruneliere: Megamodeling Software Platforms: Automated Discovery of Usable Cartography from Available Metadata. International Workshop on Reverse Engineering Models from Software Artifacts (REM'09) Organized in conjunction with WCRE'09. Lille, France .October, 2009. (link)
  • Andres Vignaga, Frederic Jouault, Maria Cecilia Bastarrica, Hugo Bruneliere: Typing in Model Management. ICMT Conference. Zurich, Switzerland. 2009. (link)
  • Mathias Fritzsche, Hugo Bruneliere, Bert Vanhooff, Yolande Berbers, Frederic Jouault, Wasif Gilani: Applying Megamodeling to Model-Driven Performance Engineering. 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS). San Fransisco, USA .April 13-16, 2009. (link)
  • Mikael Barbero, Frederic Jouault, Jean Bezivin: Model Driven Management of Complex Systems: Implementing the Macroscope's vision. 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS). Belfast, UK. 2008. (link)
  • Mikael Barbero, Marcos Didonet Del Fabro, Jean Bezivin: Traceability and Provenance Issues in Global Model Management. 3rd ECMDA-Traceability Workshop. 2007. (link)
  • Freddy Allilaire, Jean Bezivin, Hugo Bruneliere, Frederic Jouault: Global Model Management In Eclipse GMT/AM3. Proceedings of the Eclipse Technology eXchange workshop (eTX) at the ECOOP 2006 Conference. Nantes, France. 2006. (link)
  • Jean Bezivin, Frederic Jouault, Peter Rosenthal, Patrick Valduriez: Modeling in the Large and Modeling in the Small. Lecture Notes in Computer Science, Num 3599, edited by Uwe Asmann, Mehmet Aksit, Arend Rensink. Springer-Verlag GmbH, pages 33-46. 2005. (link)
  • Jean Bezivin, Frederic Jouault, Patrick Valduriez: On the Need for Megamodels. In: Proceedings of the OOPSLA/GPCE: Best Practices for Model-Driven Software Development workshop, 19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications. 2004. (link)

Use Cases

AM3 provides a set of use cases showing different possible uses of the AM3 Megamodeling tool in various contexts and for varied purposes (similarly to what is done in the M2M ATL project). A general description is given for each of these use cases, as well as some more precise documentations for many of them. For some, prototypes have already been implemented and are directly downloadable from their respective page.

PetStore Navigability

This complete use case presents a concrete use of the generic and extensible inter-model navigability facilities offered by AM3. It shows how a snapshot taken during a software development process can be represented by a megamodel and how global model management can be used to manage and navigate the different development artifacts. The sample application considered in this use case is the standard PetStore online application. The different models and metamodels available from this use case have been developed to figure out the situation at a given time within the software development process. Click here for more details and actual resources...

Linux Packages Dependencies

This complete use case describes how AM3 can be used in order to manage package dependencies in distributions of Debian Linux based systems. It can be divided into two distinct parts: the discovery and transformation to AM3 part which is about injecting the distribution package list into a model using TCS and transforming the injected model into an AM3 megamodel (for this part, a specific AM3 extension has been created); the visualization part which is about extracting the content of the megamodel into a GraphML model and then generating the graphical visualization for this graph. Click here for more details and actual resources...

Support

Relationships with other Eclipse Projects

AM3 reuses different existing EMP (Eclipse Modeling Project) projects:

  • EMF to describe and handle models.
  • MDT to support UML2 models.
  • M2M to implement model transformations.