Difference between revisions of "AM3/Use Cases/Linux Package Dependencies"

From Eclipsepedia

< AM3
Jump to: navigation, search
m (New page: To be completed)
 
(Initial content (migrated from the GMT-AM3 website))
Line 1: Line 1:
To be completed
+
{{Backlink|MDT}} {{Backlink|MoDisco}} [[Image:Am3Logo.png|right]]
 +
 
 +
This AM3 use case titled '''Linux Package Dependencies''' has been implemented by [http://www.emn.fr/x-info/atlanmod/index.php/User:Doux Guillaume Doux] and initially published in April 2009.
 +
 
 +
== Keywords  ==
 +
 
 +
AM3, Global Model Management, Dependencies Management , GraphML, Prefuse, Linux
 +
 
 +
== Overview  ==
 +
 
 +
This use case describes how AM3 can be used to manage packages dependencies in distributions of '''Debian Linux''' based systems. It can be divided in two parts:
 +
* Discovery and Transformation to AM3 part, consisting in injecting the distribution package list into a model using [http://wiki.eclipse.org/index.php/TCS TCS] and then transforming the injected model into an AM3 megamodel. For this part, a specific AM3 extension has been created.
 +
* Visualization part, consisting in extracting the content of the megamodel to a GraphML model and then generate the visualization for this graph.
 +
 
 +
An overview of this use case is presented in next figure:
 +
 
 +
[[Image:Example.jpg]]
 +
'''Linux Package Dependencies Use Case'''
 +
 
 +
The main reason for using AM3 in this kind of use cases is that it allows managing them in a homogeneous way. With this approach we can use AM3 base features (e.g.: navigation between links), and also some specific features like visualization generation that can then be used for other use cases.
 +
 
 +
This use case is provided by [http://www.emn.fr/z-info/atlanmod INRIA AtlanMod] and its development has been supported by the [http://www.emn.fr/z-info/idmpp french IDM++ project] (ANR-07-TLOG-IdM++) and by the [http://www.modelplex.org IST European MODELPLEX project] (MODELing solution for comPLEX software systems, FP6-IP 34081).
 +
 
 +
== Debian Package List Discoverer ==
 +
 
 +
The aim of this discoverer is to allow the injection of a '''Debian''' based distribution packages lists into a model and then to an AM3 megamodel. An overview of this process in presented in the following figure:
 +
 
 +
[[Image:Example.jpg]]
 +
'''Discovery and Transformation to AM3'''
 +
 
 +
== Visualization Generation ==
 +
 
 +
The aim of this part is to allow the visualization of the package dependencies graph. So, we choose to project the contents of the megamodel into a '''GraphML''' file. Then, this file can be used for rendering by a tool like [http://prefuse.org Prefuse].
 +
 
 +
To reach this aim, we use a generic transformation chain that can be used with any AM3 megamodel. This transformation chain allows the transformation of any megamodel containing entities and directed relationships into a graph. This process is shown in next figure:
 +
 
 +
[[Image:Example.jpg]]
 +
'''Vizualisation Generation'''
 +
 
 +
== Sample ==
 +
 
 +
The next figure show the result of the rendering of a megamodel containing dependencies between packages:
 +
 
 +
[[Image:Example.jpg]]
 +
'''Sample Rendered Graph'''
 +
 
 +
== Documentation  ==
 +
 
 +
*[http://docatlanmod.emn.fr/AM3/UseCases/Linux_Package_Dependencies/AM3UseCase-Linux_Package_Dependencies-description.pdf Use Case - Linux Package Dependencies - Description]: General description of the use case, its objectives, its architecture and overall process, the different metamodels and models used, etc.
 +
*[http://docatlanmod.emn.fr/AM3/UseCases/Linux_Package_Dependencies/AM3UseCase-Linux_Package_Dependencies-install.pdf Use Case - Linux Package Dependencies - Installation &amp; Execution Guide]: How to install and execute the use case projects.
 +
 
 +
== Download  ==
 +
 
 +
*[http://docatlanmod.emn.fr/AM3/UseCases/Linux_Package_Dependencies/org.eclipse.gmt.am3.usecase.linuxpackagedependencies_v0-4.zip First complete version of the Linux Package Dependencies use case]. Note that all the sources contained in the archive are also available from the [http://wiki.eclipse.org/index.php?title=AM3/How_Install_New_AM3_From_SVN AM3 SVN]: you must install the '''org.eclipse.gmt.am3.platform.extension.am3navigability ''' plug-in for this use case to work properly.
 +
 
 +
[[Category:Modeling]] [[Category:MDD]] [[Category:AM3]] [[Category:AMMA]]

Revision as of 10:13, 17 November 2010

< To: MDT
< To: MoDisco
Am3Logo.png

This AM3 use case titled Linux Package Dependencies has been implemented by Guillaume Doux and initially published in April 2009.

Contents

Keywords

AM3, Global Model Management, Dependencies Management , GraphML, Prefuse, Linux

Overview

This use case describes how AM3 can be used to manage packages dependencies in distributions of Debian Linux based systems. It can be divided in two parts:

  • Discovery and Transformation to AM3 part, consisting in injecting the distribution package list into a model using TCS and then transforming the injected model into an AM3 megamodel. For this part, a specific AM3 extension has been created.
  • Visualization part, consisting in extracting the content of the megamodel to a GraphML model and then generate the visualization for this graph.

An overview of this use case is presented in next figure:

Example.jpg Linux Package Dependencies Use Case

The main reason for using AM3 in this kind of use cases is that it allows managing them in a homogeneous way. With this approach we can use AM3 base features (e.g.: navigation between links), and also some specific features like visualization generation that can then be used for other use cases.

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

Debian Package List Discoverer

The aim of this discoverer is to allow the injection of a Debian based distribution packages lists into a model and then to an AM3 megamodel. An overview of this process in presented in the following figure:

Example.jpg Discovery and Transformation to AM3

Visualization Generation

The aim of this part is to allow the visualization of the package dependencies graph. So, we choose to project the contents of the megamodel into a GraphML file. Then, this file can be used for rendering by a tool like Prefuse.

To reach this aim, we use a generic transformation chain that can be used with any AM3 megamodel. This transformation chain allows the transformation of any megamodel containing entities and directed relationships into a graph. This process is shown in next figure:

Example.jpg Vizualisation Generation

Sample

The next figure show the result of the rendering of a megamodel containing dependencies between packages:

Example.jpg Sample Rendered Graph

Documentation

Download