Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

AM3/Use Cases/PetStore Navigability

< AM3
< To: MDT
< To: MoDisco
Am3Logo.png

This AM3 use case titled Pet Store Navigability has been implemented by Guillaume Doux and initially published in May 2009.

Keywords

AM3, Global Model Management, Megamodeling, DSL, PetStore, Navigability

Overview

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.

This use case is provided by INRIA AtlanMod and its development has been supported by the french IDM++ project (ANR-07-TLOG-IdM++) and by the IST European MODELPLEX project (MODELing solution for comPLEX software systems, FP6-IP 34081).

Considering inter-model navigabiliy, two kinds of navigation are necessary: between models and between model elements. The next figure provides examples of the two underlying kinds of link.

Navigation Between Software Development Models

The model-level links (normal lines) are stored within the megamodel and are directly navigable.

The model element-level links (dotted lines) are considered as a refinement of the model-level links and are stored in separate weaving models. A different weaving model is required for detailing each model-level link. The navigation of the model element-level links is realized thanks to the combined use of the megamodel and the corresponding weaving models.

The next figures provide two screenshots showing how AM3 is actually used in order to navigate at both model-level and model element-level.

Model-level Navigation View
Model element-level Navigation View

Documentation

Download

Back to the top