Les Interfaces Graphiques Utilisateurs (GUI) proposent souvent des représentations des données sous forme arborescente. Par exemple, l'explorateur de modèle de Papyrus présente votre modèle sous une forme arborescente. Un autre exemple est l'explorateur de fichier Windows ou Linux. Si l'utilisation de ces représentations arborescentes est simple, leur mise en œuvre et leur programmation est un peu plus complexe. C'est pourquoi nous voulons décrire sous forme de modèle de haut niveau de telle représentation arborescente.
La première étape est de comprendre comment fonctionnent et comment spécifier ces représentations arborescentes: comment spécifier un noeud, son contenu, son image. Comment spécifier quel noeud utiliser pour quelle donnée ? Comment prendre en compte le contexte ? Comment spécifier les noeuds que l'on peut éditer/créer/détruire?
L'objectif du projet est de faire une étude bibliographique des solutions permettant de spécifier des composants de représentation arborescente. Le candidat s'attachera à étudier les mécanismes proposés pour spécifier la représentation. Parmi les solutions existantes, on peut citer : JTree, JFace TreeViewer, l'Explorateur Modisco, ...
Le candidat recherchera les patterns de representation typique des données (ex: regroupement sous un noeud selon des critères).
Ensuite le candidat proposera une solution, basé sur ses études, permettant de spécifier une représentation arborescente.
Cette solution devra pouvoir être transposée dans un langage, sous forme de métamodèle. Le candidat pourra proposer ce métamodèle si le temps le permet.
|