Rétro-Ingénierie d'architectures de plugins

De $1

Table des matières
  1. 1. Première étape
    1. 1.1. Travail
  2. 2. Deuxième étape

Version de 16:02, 3 Mai 2024

cette version.

Revenir à liste des archives.

Voir la version actuelle

Le premier mini-projet avait pour but de vous familiariser avec des architectures simples avec du code Java "plat" ou "standalone". Ce deuxième mini-projet a pour but d'expérimenter la rétro-ingénierie d'un projet plus complexe fait d'un ensemble de plugins Eclipse. 

Première étape

Nous avons vu lors du premier mini-projet que LMU ou VisualParadigm présentaient les dépendances entre classes. Ce niveau est trop bas pour comprendre l'architecture d'un programme. Un niveau plus adéquate est le niveau de dépendances entre unités de déploiement. Une unité de déploiement est une ressource qui est déployée par le développeur vers son client et qui peut (ou non) dépendre d'autres ressources de déploiement. 

Exemples d'unités de déploiement:

  • Un fichier .jar: dépendances dans le manifest.mf;
  • Un plugin Eclipse: dépendances dans le plugin.xml ou à travers l'API IPlugin;
  • Un bundle OSGI. 

Travail

Modifier LMU pour introduire la notion d'unité de déploiement ainsi que de dépendance entre unités de déploiement.

Modifier votre plugin pour afficher les dépendances entre les unités de déploiement.

  • Lors de l'analyse d'un .jar, utiliser le manifest.mf;
  • Lors de l'analyse d'un plugin, utiliser le plugin.xml (plugin pas déployé) ou l'API IPlugin si le plugin est déployé.

Deuxième étape

Le code suivant: CCG source contient une application qui s'appelle CCG (Clock Causality Graph). 

CCG est disponible:

  • comme un ensemble de plugins Eclipse: 
  • et comme une application Java standalone: CCG jar 
    • une fois l'archive dézippée, exécuter le script run.bat
    • Tapez la commande help pour avoir la liste des commandes disponibles
    • Des examples de fichiers sont disponibles ici 

CCG utilise une application de gestion de graphe qui s'appelle KPASSA