TDs Lignes de Produits et Variabilité

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

Cette séance est décomposée en 3 étapes :

  1. Retour sur la variabilité : rappel de cours
  2. Syntaxe de Familiar :
  3. Simulateur de créature et Variabilité
    • Réfléchir à la variabilité présente dans la version actuelle du simulateur
    • Ecrire petit à petit un feature model la capturant
    • Essayer de distinguer la variabilité du domaine (indépendante des détails d'implémentation) de la variabilité technique

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

La page du manuel en ligne est: https://github.com/FAMILIAR-project/familiar-documentation/tree/master/manual

Lancement de la version interactive :

java -jar -Xmx1024M FML-environment-1.1.jar 

Séances 2 (et 3) : correspondance entre modèle de variabilité et asset

Fin de la modélisation de la variabilité

Voici joint le fichier familiar représentant les deux FM : simu_fm_td.fml

  • Analysez les liens qu'il faudrait faire entre ces deux FM

La commande suivante permet de créer un FM unique contenant deux FM en définissant des liens entre les deux :

regles = constraints( A -> B; )
fmSimu = aggregate { fmA fmB } withMapping regles

  • Réalisez le script d'aggrégation des FM avec des contraintes entre eux.

Utilisation de Familiar à travers son API

Ce projet montre l'utilisation de Familiar à travers une API programmatique. Il utilise Maven pour récupérer automatiquement les dépendances nécessaires. Lancez la commande "mvn clean install" pour téléchargez automatiquement les dépendances manquantes.

  • Modifiez le projet pour utiliser le script que vous avez défini pendant la première partie du TP

  • Imaginez et implémentez un programme de réalisation qui prend une configuration en paramètre et va réaliser un produit final.
Ecrivez ce programme de manière incrémentale en essayant de respecter les principes de GL au fur et à mesure de vos incréments.

Tous les produits définis dans le FM sont-ils réalisables ?

N'hésitez pas à modifier les FM en fonction de vos besoins.

Séance 3 : TP long à rendre

Le TP à rendre est une ligne de produits logiciels (LPL) de simulateurs commencée pendant les 3 séances de TP.

Cette ligne (et donc le TP à rendre) est constituée de 3 parties :

  1. une partie permettant la représentation de la variabilité de cette LPL et la configuration d'un produit
  2. une partie permettant la réalisation du produit à partir d'une configuration
  3. l'ensemble des codes et assets nécessaires à la réalisation d'un produit

Les fonctionnalités attendues sont les suivantes :

  • compilation et exécution de la LPL par maven (pom.xml) (le découpage en modules est laissé à votre discrétion)
  • réalisation d'une configuration de manière dynamique, cohérente par rapport au FM qui est donné, à partir d'une interface textuelle
  • construction d'un produit à partir d'une configuration cohérente

La LPL ne devra pas permettre la création de produits qui ne sont pas supportés par les codes. De plus, vous pouvez partir pour de la correction donnée dans le TP 5, ou utilisez vos propres codes réalisés pour le TP long. Bien sûr le code attendu devra être, propre, commenté, et appliquer les différents principes de GL déjà abordés.

Le TP est réalisé en groupe, les groupes sont identiques à ceux du TP long par défaut :

  • Changement de groupe possible par mail avant le 1er décembre 23h59 par mail à "simon POINT urli AT i3s POINT unice POINT fr"
  • TP à rendre (archive avec l'ensemble des codes et un fichier README.pdf) pour 8 décembre à 23h59 par mail à "simon POINT urli AT i3s POINT unice POINT fr"

Equipes

  • Guillaume Dalichamp, Damien Palagi
  • Quentin Wenzinger, Emmanuel Brunel
  • Christensen Pierre, Max Destors, Palmero Romain, Florian Rouyer
  • Etienne Vivien, Maxime Lozach, Robin Fassina-Moschini, Sébastien Grégoire
  • Benzarti Zied, Boutin Yoann, Destefanis Marc, Varandas Kévin
  • PORTA Benjamin, BAUDINO Sergio, AGAGAH Fabrice, Hajar Elouahabi
  • Balde Thierno Mamadou Cellou, Camille Yacoub, Moulaye bezeid, Diallo Mahmoud
  • MEBARKIA Lotfi, PONCET Yoann, BELOKOGNE Ivan, GODWIN Shanley

-- PhilippeCollet - 01 Dec 2014

Revision: r1.7 - 01 Dec 2014 - 14:49 - PhilippeCollet
Minfo > GlTdLpl1415
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