Project

General

Profile

CdC » History » Version 6

Guillaume Babin, 01/26/2013 08:27 PM

1 1 Romain BOBO
h1. Cahier des charges
2
3 5 Guillaume Babin
h2. Objectif général
4 2 Romain BOBO
5 3 Romain BOBO
L'objectif est de concevoir un éditeur textuel et graphique pour le langage de programmation Lustre sous une approche basée sur l'ingénierie des modèles, en utilisant l'outil ObeoDesigner. Les deux vues du programme édité doivent être synchronisées.
6 5 Guillaume Babin
7 1 Romain BOBO
		
8 5 Guillaume Babin
h2. Fonctionnalités
9 1 Romain BOBO
10 5 Guillaume Babin
h3. Éditeur textuel
11
12
* A.1 : projet xText
13
* A.2 : coloration syntaxique adaptée au langage Lustre
14
* A.3 : auto indentation
15
* A.4 : auto complétion
16
* A.5 : gestion des imports de bibliothèques
17 1 Romain BOBO
			
18 5 Guillaume Babin
h3. Éditeur graphique de type ``boîtes et flèches''
19
20
* B.1 : utilisation de ObeoDesigner
21
* B.2 : palette graphique pour les différents opérateurs
22
* B.3 : affichage des différents nœuds sous forme de boîtes noires
23
* B.4 : possibilité d'ouvrir les différents nœuds pour les visualiser
24
* B.5 : possibilité de modifier les spécifications (entrées/sorties) d'un nœud donné
25
* B.6 : possibilité d'afficher le code correspondant à un nœud donné
26 2 Romain BOBO
			
27 5 Guillaume Babin
h3. De manière générale
28
29
* C.1 : toute modification du code dans l'éditeur textuel doit être répercutée dans l'éditeur graphique, et vice versa (synchronisation)
30
* C.2 : le programme final sera reversé dans le marketplace Obeo http://marketplace.obeonetwork.com ou sur https://github.com/ObeoNetwork
31
* C.3 : licence EPL (Eclipse Public License)
32
* C.4 : documentation de qualité permettant l'amélioration future par d'autres équipes
33
* C.5 : code de qualité permettant une bonne maintenabilité
34 6 Guillaume Babin
* C.6 : le code Lustre doit être le plus propre possible (notamment, les informations relatives au placement graphique des nœuds ne doivent pas s'y trouver)
35
36 5 Guillaume Babin
h3. Éventuellement, les fonctionnalités suivantes pourront être envisagées
37 1 Romain BOBO
38 5 Guillaume Babin
* D.1 : éditeur textuel : l'enroulage de code (folding)
39 1 Romain BOBO
* D.2 : éditeur graphique : la possibilité d'importer des nœuds dans la palette graphique (chargement dynamique de bibliothèque)
40 6 Guillaume Babin
* D.3 : gestion de spécification (préconditions / postconditions) des nœuds (stockée en commentaire dans le fichier Lustre)
41 1 Romain BOBO