Stage 4 : Interface utilisateur pour FlowVR

Mots-Clés

QT, XML, clusters, openGL.

Niveau Requis

BAC+4, BAC+5 ?

Maîtres de stage

Bruno Raffin, Nicolas Turro, Jérémie Allard .

Description du stage

Durée

au moins 3 mois

Contexte

FlowVR (http://flowvr.sf.net ) est un logiciel pour le développement d'applications de réalité virtuelle complexes qui nécessitent pour leur exécution la puissance de plusieurs dizaines de PC. La première version stable a été rendue publique en mars 2004 et a permis de développer plusieurs applications (Figure 1 et vidéo).

Figure 1: Exemple d'applications FLowVR
 

Le développement et l'exécution d'une application FlowVR passe par plusieurs étapes. L'application est décomposée en modules (des programmes) qui sont distribuées sur une grappe de PC et échangent des données suivant un schéma défini par l'utilisateur (appelé le réseau FlowVR). La description des propriétés des modules ainsi que celle du réseau FlowVR utilise XML (Figure 2). Ces fichiers de description sont ensuite analysés et transformés par plusieurs outils pour générer une liste de commandes qui permet de lancer l'application. Au cours de l'exécution d'autres outils permettent de modifier le réseau FlowVR ou de récupérer des informations de performance (Figure 3). Actuellement l'utilisateur doit assimiler l'utilisation de chacun de ces outils avec leurs lignes de commandes aux options multiples et doit être vigilant quand à l'ordre dans lequel ils sont utilisés. Il en résulte de nombreuses erreurs qui compliquent l'utilisation de FlowVR.

Le stage se déroulera au sein du service Support Expérimentations et Développements logiciels (SED) de l'INRIA Rhône-Alpes.

Travail du stagiaire

L'objectif de ce stage est de développer une interface graphique pour FlowVR qui masque la diversité des outils sous-jacents et guide l'utilisateur de manière intuitive dans l'enchaînement des tâches.

Cette interface inclura :

  • des boutons et menus pour déclencher des actions ;
  • des outils de transformation du XML pour une édition des données sous une forme plus accessible que le XML brut ;
  • Une interface 2D d'assitance à la construction de réseau Flowvr ;
  • Une interface 3D pour l'affichage du réseau FlowVR en cours d'exécution, incluant les informations de performance.
  • Des outils permettant de sauvegarder et restaurer des états intermédiaires lors des différentes étapes.

Après une prise en main de FlowVR, le travail passera par une étape de spécification de l'interface, une étape de développement d'outils élémentaires, notamment pour la transformation du XML, et une étape d'implantation et test de l'interface.

Outils utilisés

Matériel

  • Stations Linux
  • Plateforme de réalité virtuelle grimage

Logiciel

  • C++, XML, Qt
  • OpenGL

Figure 2: Un exemple de réseau FlowVR. XSLT a été utilisé pour transformer la description XML du réseau vers un format adapté à l'outil graphviz
\includegraphics[scale=0.2]{fluid2seb.eps}

Figure 3: Outil 3D de visualization des traces d'une application FlowVR programmé avec OpenGL