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.

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...