Difference between revisions of "AM3"
(Documentation section content)
(Use Cases section content)
|Line 48:||Line 48:|
== Use Cases ==
== Use Cases ==
== Support ==
== Support ==
Revision as of 11:27, 9 November 2010
|Mailing List • Forum|
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. AM3 is part of the so-called AMMA Platform.
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).
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)
- Frederic Jouault, Bert Vanhooff, Hugo Bruneliere, Guillaume Doux, Yolande Berbers, Jean Bezivin: Inter-DSL Traceability and Navigability 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 and Frederic Jouault and Maria Cecilia Bastarrica and 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)
- Barbero, M, Jouault, F, and Bezivin, J: 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)
- Barbero, M, Del Fabro, MD, and Bezivin, J: Traceability and Provenance Issues in Global Model Management. 3rd ECMDA-Traceability Workshop. 2007. (link)
- Allilaire, F, Bezivin, J, Bruneliere, H, and Jouault, F: Global Model Management In Eclipse GMT/AM3. Proceedings of the Eclipse Technology eXchange workshop (eTX) at the ECOOP 2006 Conference. Nantes, France. 2006. (link)
- Bezivin, J, Jouault, F, Rosenthal, P, and Valduriez, P: 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)
- Bezivin, J, Jouault, F, and Valduriez, P: 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 (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.
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.
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.
Relationships with other Eclipse Projects
AM3 reuses different existing EMP (Eclipse Modeling Project) projects: