| AM3 Subproject |
![]() |
|
ATLAS MegaModel Management |
| Overview |
||
|
The goal of AM3 (ATLAS 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 registry of model engineering resources available in a given scope (a zone). AM3 assumes that tools for model transformation and model composition already exist and are available. These facilities may come for example from ATL, VIATRA2, UMLX or AMW but other choices are also possible. 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 this global model management: the tools should be metamodel-agnostic in order to handle this contextual variability. |
||
|
|
| AM3 Area |
|
The ATLAS MegaModel Management (AM3) is being developed by the ATLAS team, INRIA. Context Applying Model Driven Engineering (MDE) to the design, running, administration and maintenance of complex computer systems means that we need to cope with a very high number of well defined and precisely focused independent metamodels, each one corresponding to a given DSL (Domain Specific Language). Using model transformation and model composition to solve semantic bridging problems means that we need to work with large libraries - private or public, centralized or distributed - of transformations and compositions. Recent undertakings in the MDE community recognize that dramatic increases in complexity of systems need new solutions. Second generation MDE environments may help answering these problems if they are able to scale up in the presence of a rapidly growing number of modeling artifacts representing different concern facets, different stakeholder views, different development states of composite complex systems while offering a regular management interface to them. This project is about building tools that will simplify the handling of model engineering tasks when the number of involved artifacts will be in the order of the hundred or more. It will try to propose some help in selecting and adapting adequate MDE COTS (Component-of-the-Shelf) when these components have to be found in large distributed Web spaces. If we wish to apply MDE to solve complex problems, it is likely that the number of resources involved will be quite high. In order to answer the corresponding global management question, we need not only to understand how to build the individual components themselves (models, metamodels, transformation composition, etc.), but we also need to invent new ways to cope with the large structured repositories of these components. The present situation in modeling languages and environments is similar to the past situation in programming languages and environments. Following de Remer and Kron [1] we can target “Modeling-in-the-Small versus Modeling-in-the-Large”. Following Wiederhold, Wegner and Ceri [2] we can target “Megamodeling”. In any case, we need to address global coordination between MDE resources (models, metamodels, transformations, semantic correspondences, etc.) located anywhere, for example on Web repositories. We want to apply integrated MDE techniques to help solving this problem. "Integrated" means that we believe the artificial complexity introduced by the use of MDE should not be dealt with classical programming level tools (like make, ant, etc.) but with model engineering tools. Our initial vision of global model management is described in [3]. Now the time has arrived to provide the tools to support this vision. The AM3 Eclipse/GMT subproject is intended to host these experimental tools. 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.
AM3 subproject content AM3 subprojects can be separated into two parts:
AM3 framework AM3 framework provides an environment for modelling in the large with the following basic initial features:
AM3 resources
AM3 resources are all resources (e.g. metamodels) published under the AM3 subproject. These resources can be used in the AM3 framework. A set of metamodels and a set of projectors (injector and extractor) will initially be published. Target audience / End users As the project grows, we plan to publish some typical scenarios for using AM3. For example, one wishes to display a table of health care data. Discovering that a HL7-compatible metamodel exists maybe a first step. Discovering than a MS Excel metamodel can be used may be a second step. Discovering that, in a third repository, there is a transformation from similar input data to table representation may be a third step. Adapting the transformation and checking that a compatible engine is locally available may be the next step. Bibliographical references
[1] DeRemer, F., Kron, H.: Programming-in-the-Large Versus Programming-inthe-Small, IEEE -Trans. on Soft. Eng. 2(2), (1976) |
| Documentation |
|
Project plan of AM3 subproject Publications:
|