Skip to topic | Skip to bottom
Home
Minfo
Minfo.GlTdLpl1314r1.7 - 25 Dec 2013 - 16:18 - PhilippeCollettopic end

Start of topic | Skip to actions

TDs Lignes de Produits et Variabilité

Séance 1 : introduction à la variabilité et à FAMILIAR

TIP Pré-Requis pour cette séance :

Pour information, la page d'installation est : https://github.com/FAMILIAR-project/familiar-documentation/tree/master/installation

Séance 2 : Lien avec les assets, maven

TIP Pré-Requis pour cette séance :

  1. Installer maven sur votre machine si ce n'est pas déjà fait. Voici un tutoriel expliquant la marche à suivre sous windows : http://www.mkyong.com/maven/how-to-install-maven-in-windows/
  2. Si votre eclipse ne supporte pas maven, téléchargez la version avec intégration de maven : "Eclipse IDE for Java Developers Eclipse IDE for Java Developers" sur http://www.eclipse.org/downloads/
  3. Téléchargez les 2 archives jointes (simu-generator.zip, simulator-examples.zip TIP updated) et décompressez les. Vous obtiendrez 3 répertoires. En ligne de commande, rendez vous à l'intérieur de chacun des 3 répertoires et tapez la commande suivante :
mvn clean install
Une fois cela fait, importez les projets dans eclipse : Fichier > Import et dans le sous-menu "maven" -> Existing maven projects, vous sélectionnez ensuite les 3 répertoires décompressés et le setup est terminé.

Séance 3 : Mini-projet

Le projet de LPL consiste à finir d'implémenter un générateur de simulateur.

Vous disposer en entrée des éléments suivants :

  • l'intégralité du code source des différentes fonctionnalités du simulateur découpées en modules maven. Le tout est rassemblé dans un projet maven intitulé "gl-ifi-parent" que vous pouvez dans l'état compiler sur votre machine en tapant la commande "mvn clean install".
  • un feature model représentant la variabilité du simulateur

L'objectif du projet est de permettre à un utilisateur final de réaliser une configuration de ce feature model et d'exécuter la génération de code correspondant à cette configuration. Le résultat de la génération doit être un code compilable et exécutable par une commande maven et doit correspondre aux fonctionnalités choisies dans la configuration.

TIP IMPORTANT : Afin de faciliter le travail, ne considérez dans le projet de base que les configurations NE contenant PAS la feature "PluginLoader".

Le code du générateur doit être clair et autant que possible respecter les principes de GL : découpage en entités de code, héritage si besoin, tests unitaires, etc.

Les seules contraintes demandées concernant l'interface utilisateur pour la réalisation de la configuration sont les suivantes :

  • permettre de voir le FM,
  • permettre sélectionner une feature,
  • permettre de déselectionner une feature,
  • voir l'état de la configuration,
  • savoir si la configuration est terminée
  • permettre le lancement de la génération.

Une interface textuelle suffira amplement dans le cadre du projet, libre à vous de faire une interface graphique si vous en avez le temps.

Vous avez toute latitude pour modifier les codes fournis aussi bien au niveau du squelette du générateur qu'au niveau des codes des modules (gl-ifi-parent) dans la mesure où vous préservez les fonctionnalités données. Vous pouvez également modifier le feature model mais uniquement pour ajouter de nouvelles configurations. Dans tous les cas, vous préciserez dans un fichier la nature des modifications effectuées et donnerez les codes associés.

  • Bonus (+1) : Compilation automatique des codes lors de la génération pour obtenir un jar exécutable *Bonus (+4) : Génération avec prise en compte de la feature PluginLoader?

Attention : tous les modules maven présentés en TD contiennent une référence vers un repository distant :

<repository>
            <id>releases</id>
            <name>I3S Maven Snapshots Repository</name>

<url>http://nyx.unice.fr:9007/nexus/content/repositories/i3s-public</url>
</repository>

Pensez à enlever cette référence de votre projet si vous envisagez de modifier les codes de gl-ifi-parent, sans quoi lors de la compilation, maven risque de ne pas utiliser vos codes mais bien ceux distant.

Matériel:

Calendrier:

  • Mail à envoyer avant le vendredi 13 décembre 2013 pour formation des équipes (4 personnes par équipe)
  • Rendu au plus tard le vendredi 10 janvier 2014 à 23h59.

Graphe de dépendance des modules du site: reactor-graph.png

Equipes inscrites

  • Oliva David, Roumajon Steven, Baglio Michaël, Durando Jimmy (4)
  • GAZZOTTI Raphael, GERMOND Florian, KUENY Mickael, NIVOT Stéfane (4)
  • Elbeze Lea, Auk Jimmy, Palma Adam (3)
  • AYADI Marwen, BEN ABDELJELIL Mohamed, MAGROUN Hamza, OLIVER Donovan, RASAMIZANANY Kune (5)
  • Porta Benjamin, Baticle Clément, Wenzinger quentin (3)
  • Dhouib Molka, BENATHMANE Ayoub, MAAROUFI KARIM, Trabelsi khaoula, MAROUA Hamidou, Lahcen IHMAD (6)
  • Kraria Yoann, Mouline Ludovic, Nesmes Jérémy, Palmieri Anthony (4)
  • Alexia LLorens, Gerald Rocher, Huneau Romain, Brouchet Lionel (4)
  • Bouvier Charlélie, Eric Otto, Jean-Charles Gastaud, Brunel Emmanuel (4)

-- PhilippeCollet - 26 Dec 2013


to top

I Attachment sort Action down Size Date Who Comment
simu-generator.zip manage 7.5 K 03 Dec 2013 - 15:04 PhilippeCollet  
simulator-examples.zip manage 14.7 K 03 Dec 2013 - 15:04 PhilippeCollet  
reactor-graph.png manage 190.7 K 06 Dec 2013 - 16:06 PhilippeCollet  
gl-ifi-parent.zip manage 401.4 K 06 Dec 2013 - 16:06 PhilippeCollet  
maven-compiler.zip manage 29.2 K 06 Dec 2013 - 16:06 PhilippeCollet  
simu-generator-prj.zip manage 14.1 K 06 Dec 2013 - 16:06 PhilippeCollet  
simulateur.fml manage 0.3 K 06 Dec 2013 - 16:06 PhilippeCollet  

You are here: Minfo > GlTdLpl1314

to top

Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding WIKIDeptinfo? Send feedback