The AtlanMod MegaModel Management (AM3) prototype was developed by the AtlanMod Team and is considered as 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 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 sources of the AM3 prototype/plugins are available from the provided Zip file.
You can find from this section many different documentary resources around the AM3 prototype and underlying approach.
- AM3 Flyer-poster: Complete short description of the AM3 project
- Global Model Management Principles: General theory & concepts
- Global Model Management Supporting Tool: Description of the AM3 prototype (tooling)
- Global Model Management Traceability Extension: Description of the AM3 prototype's generic extension dedicated to traceability (tooling)
Screencasts & slides
- Demo "Navigability between models" on the PetStore use case (description available here).
- Demo "Megamodel discovery, transformation execution and traceability management" on the Performance Annotated UML Statechart use case (description available here).
- Demo "Traceability navigation between models" on the Model Driven Performance Engineering use case (description available here).
- 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)
AM3 provides a set of use cases showing different possible uses of the AM3 Megamodeling tool in various contexts and for varied purposes. 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.
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...