Jump to: navigation, search

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

< AM3
(First full version of the page)
(Formatting upgrade)
 
(One intermediate revision by the same user not shown)
Line 15: Line 15:
 
An overview of this use case is presented in next figure:
 
An overview of this use case is presented in next figure:
  
[[Image:AM3UseCase-Linux Package Dependencies-Overview.png|center|frame|'''Linux Package Dependencies Use Case''']]
+
[[Image:AM3UseCase-Linux Package Dependencies-Overview.png|700px|center|thumb|'''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.
 
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.
Line 25: Line 25:
 
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:
 
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:AM3UseCase-Linux Package Dependencies-DiscoveryAndTransformationToAM3.png|center|frame|'''Discovery and Transformation to AM3''']]
+
[[Image:AM3UseCase-Linux Package Dependencies-DiscoveryAndTransformationToAM3.png|700px|center|thumb|'''Discovery and Transformation to AM3''']]
  
 
== Visualization Generation ==
 
== Visualization Generation ==
Line 33: Line 33:
 
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:
 
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:AM3UseCase-Linux Package Dependencies-VisualizationGeneration.png|center|frame|'''Vizualisation Generation''']]
+
[[Image:AM3UseCase-Linux Package Dependencies-VisualizationGeneration.png|700px|center|thumb|'''Vizualisation Generation''']]
  
 
== Sample ==
 
== Sample ==
Line 39: Line 39:
 
The next figure show the result of the rendering of a megamodel containing dependencies between packages:
 
The next figure show the result of the rendering of a megamodel containing dependencies between packages:
  
[[Image:AM3UseCase-Linux Package Dependencies-SampleRenderedGraph.png|center|frame|'''Sample Rendered Graph''']]
+
[[Image:AM3UseCase-Linux Package Dependencies-SampleRenderedGraph.png|700px|center|thumb|'''Sample Rendered Graph''']]
  
 
== Documentation  ==
 
== Documentation  ==

Latest revision as of 09:40, 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.

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:

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:

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:

Vizualisation Generation

Sample

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

Sample Rendered Graph

Documentation

Download