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