Vous êtes sur la page 1sur 4

www.mde4rt.fr

2008

Projet MDE for Real-Time Development tools mde4rt

Introduction

Suite à la formation « les outils de l’IDM sous Eclipse », il est apparu envisageable de se lancer dans le développement d’outils d’édition de modèles pour le domaine des systèmes temps-réel. Dans un premier temps, l’analyse SA-RT et la conception multitâches LACATRE nous semblent les plus pertinents :

- SART : il n’existe pas d’outil commercialisé, Axiomys étant sans suite et l’outil Envision SART-SD de CASE France est trop complexe et ne respecte pas le standard ; le métamodèle de SA-RT est simple et les premières expérimentations sont concluantes ;

- LACATRE : le projet a été abandonné faute de temps et d’outils de développement matures ; le métamodèle reste simple et les outils semblent adaptés.

Les outils doivent permettre :

- l’édition textuelle et graphique de modèles SA-RT et LACATRE ;

- leur validation que ce soit pour des règles syntaxiques et sémantiques, par exemple :

un événement entrant dans un processus de contrôle déclenche une transition, il n’y a pas plus de 7 processus dans un DFD, une tâche est toujours créée au moins une fois , …;

- la génération de documentation pour SART et de code pour LACATRE.

Planning prévisionnel et organisation du projet

On a jusqu’à fin décembre 2008 pour régler les problèmes techniques. L’objet de cette première phase est l’expérimentation et la consolidation de notre connaissance sur les outils IDM sous Eclipse (cf. ci après).

En décembre 2008, il faut se fixer sur deux métamodèles, un pour SA-RT et un pour LACATRE.

De Janvier à Juin 2009, on doit réaliser une première version d’outil d’édition textuel, de validation, de génération et d’édition graphique : il est à noter que l’outil d’édition graphique doit être réalisé en dernier, soit lorsque l’éditeur textuel, la validation et la génération ont été mis au point.

Nom du projet: mde4rt Participants : Jean-Philippe Babau, Mathieu Maranzana, Lionel Morel.

Rôle des participants : Jean-Philippe coordonne le projet, Lionel s’intéresse plus particulièrement à SA-RT et Mathieu à LACATRE.

Fonctionnement du projet

Afin de faciliter la vie du projet pour intégrer des personnes éloignées géographiquement et potentiellement nouvelles dans le projet, il apparaît nécessaire d’utiliser les outils actuels de communication et de suivi de projets :

www.mde4rt.fr

2008

- Outil de communication sur les outils et les divers documents ;

- Outil de versionning pour le suivi de modifications ;

- Outils de suivi de projets : tâche, listes de diffusion, …

Pour le premier, un serveur SVN semble évident, surtout qu’il peut être intégré à Eclipse. Pour le reste, un wiki doit permettre de suivre le projet, de réaliser un site internet collaboratif, voire de créer des forum, … Pour ces outils, on peut s’appuyer sur une solution locale à l’INSA de Lyon ou aller vers une solution ouverte.

Au niveau du suivi des tâches, on propose dans un premier temps d’associer à chaque tâche :

- Un nom ;

- Un numéro ;

- Une description ;

- Un état : non commencé, en cours, à valider, validé ;

- Une personne en charge du suivi (ou personne si non commencé) ;

- Un deadline.

Pré-étude des outils

La forge de l'insa est "en cours de réalisation" dixit la DSI. Même si, à terme, cela peut devenir une solution intéressante (ce dont on doute, pour les raisons d'accès), elle ne sera pas disponible avant septembre. A noter qu'une forge c'est pratique car cela regroupe un serveur svn, le découpage en projets/sous-projets, des facilités de gestion, le suivi de tâches, etc. On peut se faire une idée en allant sur : http://gforge.insa-lyon.fr/projects/batchappe/

Un wikimedia a été installé pour faire des tests: http://liesp.insa-lyon.fr/lmorel/wiki/ Le contenu et la mise en forme sont « bidon », mais cela permet de vérifier que c'est pratique, facile à utiliser (Lionel a mis 10min à comprendre comment ça se configure et créer les pages que vous pouvez voir). Dans l'exemple, tout le monde peut éditer (je crois), mais c'est entièrement configurable (des gens s'en serve pour faire des pages perso). C'est open source (ce qui ne veut pas dire que nos projets doivent l'être obligatoirement), c'est très utilisé, simple et (assez) bien documenté.

Pour le serveur svn, Lionel propose d'utiliser assembla. La taille des projets "gratuits" est limitée à 500Mo, ce qui semble largement suffisant dans un premier temps (attention : eclipse prend de la place, mais on ne sauvegardera bien sûr jamais éclipse sur le serveur svn. Les projets eclipse, par contre, ne tiennent pas vraiment de place ??). Pour plus d'espace, c'est payant, mais il faut noter qu'ils proposent aussi d'héberger des projets "académiques" avec plus d'espace « à méditer pour la suite ». La liste des "features" est sur :

http://www.assembla.com/tour Pour résumer c'est un serveur svn avec suivi de projet (task lists), gestion d'équipe de développement, etc. Bien sûr le serveur svn est accessible avec n'importe quel client http (ils fournissent l'adresse http).

Pour compléter, l’utilisation de google peut être un plus lors de réunion téléphoniques pour noter, via des documents partagés, le compte-rendu de la réunion. De même, des outils de communication tel que MSN pourraient être pratiques pour des réunions à distance. Cela nécessite de créer un compte sur google et mSN pour chaque participant au projet.

www.mde4rt.fr

Mise en place des outils

2008

On choisit Assembla pour le suivi de projet et on installe un wiki pour la communication sur le projet et la gestion commune des documents.

Tout le monde s’inscrit sur Assembla et Jean-Philipe se charge de remplir la liste des tâches à faire. Assembla possède un wiki mais est trop limité en taille et pas assez user-friendly pour l’utiliser.

Pour installer un wiki indépendant, Jean-Philipe achète un nom de domaine (www.mde4rt.fr) et Lionel installe un serveur Apache (avec ouverture des ports http et https) à l’INSA (avec accord de la DSI), le serveur administré en IF par Lionel. Il faut encore trouver une machine.

Liste des tâches (à rendre accessible sur Assembla)

Phase « expérimentations et consolidation » Analyse des modèles, transformation et génération (JPB, avant fin 2008)

- expérimentation de Kermeta: rédaction d’une documentation sur l’utilisation et les possibilités ;

- expérimentation d’ATL : rédaction d’une documentation sur l’utilisation et les possibilités ;

- expérimentation d’Acceleo : rédaction d’une documentation sur l’utilisation et les possibilités ;

- génération d’image : comment générer un document contenant une image jpeg d’une vue graphique d’un modèle.

Outils pour l’édition (, avant fin 2008)

- mettre en place des menus et des sous-menus ;

- réagir et insérer du code suite à un clic sur un élément du modèle ;

- afficher une boite de dialogue permettant de modifier un attribut textuel de

l’élément sélectionné ;

- afficher une liste à cocher pour définir un attribut de l’élément sélectionné ;

- sur un click droit, afficher un menu contextuel d’actions à mener sur l’élément sélectionné ;

- modifier et personnaliser la palette ;

- afficher des « logo » (shape) spécifiques par élément du modèle ;

- gérer des listes afin d’aider à l’édition de modèles ;

- gérer une liste prédéfinie ;

- gérer une liste à partir d’éléments du modèle ;

- sur un click d’un élément ou le lancement d’une action, éditer un nouveau modèle

(ouvrir l’éditeur sur le modèle déjà créé ou à créer) ;

Outils pour le développement (LM, avant fin 2008)

- développer un outil RCP pour un outil spécifique : faire une documentation ;

- faire un plugin et le partager via le web : faire une documentation ;

- organiser un plugin afin de faire vivre un projet complet : définir l’organisation des répertoires et fichiers du projet ;

- suivre l’évolution des plugin : donner les règles à suivre pour assurer une évolution « calme » du projet vis-à-vis des plugins réutilisés ;

www.mde4rt.fr

2008

- comment « ouvrir » un plugin pour permettre de développer des extensions : quels choix sont pertinents en terme d’extensions ;

Modélisation (LM, avant fin 2008)

- comment organiser le métamodèle afin de permettre de faire des sauvegardes « partielles » des modèles (un bord, une tâche, …), de récupérer ces éléments pour les intégrer à un modèle, de faire des copié/collé de parties de modèles : définir une politique de métamodélisation ;

- comment construire un composant graphique dédié ; - comment représenter une séquence d’actions via des lignes (cf. LACATRE) : un code exemple et un rapport d’explication ;

- comment manipuler le modèle en Java : reprendre l’API JAVA de parcours du modèle.

Organisation des projets (JPB, avant fin 2008)

- comment organiser les répertoires SVN et les projets Eclipse pour bien séparer les préoccupations et les équipes de développement ;