CAHIER DES CHARGES Développer un plugin pour

Transcription

CAHIER DES CHARGES Développer un plugin pour
Université Montpellier II
Département Informatique
Responsable du projet :
Master Informatique
Marc NANARD
Première année
CAHIER DES CHARGES
Développer un plugin pour ECLIPSE
2 février 2007
Eugénie CASONI
Julien DUTEIL
Matthieu DUFOURCQ
Jérémy SOULARY
Chapitre
1
Présentation
1.1
Introduction
Dans le cadre du TER du second semestre de MASTER 1, nous avons choisi le projet
intitulé Développer un plugin pour ECLIPSE
.
L'objectif de ce projet est la conception d'un éditeur de chier SYGMART sous forme
de plugin pour l'IDE Eclipse. Cet éditeur doit permettre la correction automatique d'erreurs et la représentation graphique des chiers.
Ce TER peut être divisé en 3 parties :
l'apprentissage du développement de plugin pour Eclipse par l'intermédiaire des
plugins EMF et GMF ;
conception d'un éditeur pour les chiers SYGMART, TTL et SYG-TTL ;
représentation des chiers sous forme graphique.
1.2
Présentation
Le plugin devra proposer un éditeur avancé pour travailler sur des chiers de type TTL,
SYGMART et SYG-TTL. Ces langages décrivent des règles de grammaire appartenant à
des steps.
L'interface de ce plugin permettra de sélectionner, dans une arborescence, des règles,
des grammaires ou des steps an de les ouvrir dans l'éditeur de texte intégré.
L'éditeur sera capable, d'indiquer les erreurs de syntaxe et peut-être, certaines erreurs
sémantiques. Il serait souhaitable que l'arborescence de règles, grammaires, et steps puisse
être modiée par des glisser-déposer et copier-coller.
Le plugin disposera, en plus de l'arborescence et de l'éditeur, d'un achage graphique
de règle : lorsque l'utilisateur sélectionnera une règle, il pourra visualiser cette règle sous la
forme de deux arbres, l'arbre avant et l'arbre après qui représenteront la transformation
expliquée par la règle.
Cet achage d'arbre pourra être interactif, c'est-à-dire proposer l'achage des propriétés des noeuds et feuilles, permettre de glisser-déposer et représenter les liens entre
les graphes avant et après.
Si le projet arrive à un stade avancé, nous pourrons essayer de compiler les chiers
édités depuis l'interface.
1
Chapitre
2
Méthode de travail
La répartition se fera d'une part en fonction des compétences de chacun en JAVA et
d'autre part selon les diérentes parties du projet. Ainsi nous nous répartirons en deux
sous-groupes :
un groupe qui s'occupera de l'éditeur de texte avec mise en évidence des erreurs et
proposition de corrections ;
un groupe qui concevra une représentation graphique des règles de production.
2.1
Principe théorique
Pour réaliser ce projet, nous avons opté pour une méthode de travail s'inspirant de
l'extreme programming à savoir des cycles rapides de développements et de tests.
Les graphes ci-dessous représentent le coût global d'une modication majeure sur un
logiciel, selon les deux méthodes suivantes :
2
2.2.
APPLICATION PRATIQUE
2.2
CHAPITRE 2.
MÉTHODE DE TRAVAIL
Application pratique
Selon ce principe, nous allons développer un premier plugin qui nous servira de base. Ce
dernier sera seulement composé d'un simple éditeur de texte et d'une gestion élémentaire
des projets et des chiers
Nous pourrons l'enrichir au fur et à mesure par l'ajout de nouvelles fonctionnalités
telles que :
coloration syntaxique ;
représentation graphique des steps et règles ;
gestion des projets et des bibliothèques sous formes d'arborescences ;
mise en évidence des erreurs et propositions de résolutions ;
complétion automatique ;
possibilités de compiler les chiers par l'intermediaire d'un compilateur exterieur ;
...
3
Chapitre
3
Planning
Nous planions diérentes étapes :
1. Phase de recherche et de documentation sur la conception de plugins pour Eclipse
et le langage SYGMART (3 semaines).
2. Implémentation de petits plugins pour nous perfectionner.
3. Début de l'implémentation concrète du plugin. Elle pourra être divisée en 2 parties :
la réalisation de l'éditeur de chier SYGMART ;
l'intégration la représentation graphique des règles.
4. Finitions : correction des derniers bugs, tests naux, rédaction du rapport, préparation du plugin pour sa distribution.
Nous prévoyons de rencontrer notre tuteur de TER, M. Nanard, de façon hebdomadaire. Il nous a conseillé de prendre contact avec Jean-Rémy Falleri, un doctorant de Mme
Huchard, car il a déjà créé des plugins pour l'IDE Eclipse.
Une fois le projet plus avancé, nous pourrons éventuelement rencontrer un administrateur système ayant beaucoup d'expérience dans la conception de plugins.
4