Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
TER stage
[go: Go Back, main page]

Home > TER stage 2005

Propositions de TER stage 2005

Deux propositions de TER stages :

Conception et implantation d'un nouveau module d'animation pour la boîte à outils graphique ZVTM

Encadrant

Emmanuel Pietriga
email : emmanuel.pietriga@inria.fr
tel : 01 69 15 34 66

Description

Contexte : les boîtes à outils (toolkits) pour la création d'interfaces graphiques telles que Java/Swing représentent des solutions puissantes, génériques et portables mais qui ne peuvent pas être utilisées pour certaines classes d'applications comme les éditeurs de graphes ou les environnements de développement associés aux langages de programmation visuelle. Les programmeurs doivent alors avoir recourt à des APIs de plus bas niveau telles que Java2D, qui sont plus expressives mais aussi plus difficiles à utiliser.

La ZVTM (Zoomable Visual Transformation Machine) est une boîte à outils Java pour la création d'interfaces zoomables (aussi appelées interfaces multi-échelles ou interfaces en 2,5 dimensions). Son but est de faciliter la création d'éditeurs visuels avancés devant gérer des représentations complexes tout en permettant d'expérimenter de nouvelles techniques d'interaction (vues déformantes, vues translucides superposées, auto-zoom fonction de la vitesse de translation, pointage sémantique, etc.). Elle permet au programmeur de se concentrer sur la qualité de l'interface en cours de conception en offrant une API simple et puissante, et en gérant automatiquement les opérations de bas niveau : multi-threading, clipping, rafraîchissement des fenêtres, cohérence des vues multiples, animations, etc.

La boîte à outils est basée sur la métaphore d'univers infinis pouvant être observés au moyen de caméras dont la position et l'altitude d'observation peuvent être changées. Elle est conçue pour prendre charge de grandes quantités d'objets aux formes géometriques complexes grâce à son propre modèle d'objets graphiques. La ZVTM tient son nom de la place importante qu'elle accorde au principe de continuité perceptuelle et donc aux animations de variables visuelles gérées par le module d'animation. Celui-ci permet d'animer la plupart des changements (transformations) effectués sur la représentation suivant différents schémas temporels : changement de position des caméras d'observation, modification des attributs perceptuels des objets graphiques (position, taille, orientation, couleur dans le système de coordonnées HSV), modification des propriétés des lentilles déformantes (fisheye views).

Travail demandé : le but de ce stage est de concevoir et d'implanter un nouveau module de gestion d'animations centré sur la coordination et l'interaction entre animations (le terme retenu pour désigner cette composante du module pourrait être animation choreography, s'inspirant du W3C Web Services Choreography Working Group). Il s'agit de définir l'architecture du module, son interaction avec les autres composants, ainsi que son API. Le nouveau module d'animation reprendra les fonctionnalités existant dans le module actuel et proposera si possible les extensions suivantes (en plus du mécanisme de chorégraphie) :

L'ensemble de ces fonctionnalités devra être mis à la disposition du programmeur au moyen d'une API simple et unifiée.

isaviz screenshot
IsaViz : une des applications utilisant ZVTM

Bibliographie

Initialement propriété de Xerox et du W3C, la boîte à outils ZVTM est distribuée sous license libre LGPL depuis 2002 (hébergement par SourceForge). Elle est utilisée par différents logiciels dont IsaViz (l'éditeur visuel de modèles RDF du W3C) et continue d'évoluer dans le cadre du projet In Situ.

ZVTM
Applications fondées sur la ZVTM

Outils, langages utilisés

Java 1.4 ou 5.0, CVS, outils SourceForge

Intégration d'un analyseur syntaxique DOT dans ZGRViewer, un outil pour la visualisation multi-échelles de graphes

Encadrant

Emmanuel Pietriga
email : emmanuel.pietriga@inria.fr
tel : 01 69 15 34 66

Description

zgrviewer screenshot 1 zgrviewer screenshot 3
ZGRViewer

Contexte : la bibliothèque GraphViz d'AT&T propose différents outils pour le calcul du placement des éléments d'un graphe en vue de sa visualisation. Chaque outil est spécialisé dans le placement de différents types de graphes, mais tous partagent le même but : optimiser de manière automatique le placement des éléments du graphe de manière à offrir une bonne lisibilité de la structure lors de sa visualisation. Les programmes dot et neato, qui font partie de cette bibliothèque, sont capables de traiter des graphes de taille importante (contenant plusieurs milliers de noeuds et d'arcs). La visualisation de tels graphes nécessite l'emploi d'outils de visualisation comme ZGRViewer, reposant sur des techniques d'interaction avancées : interface zoomable (multi-échelles), vues déformantes (focus+contexte), méthodes de navigation adaptées aux espaces d'information de grande taille, etc.

ZGRViewer, application Java implantée au-dessus de la bilbiothèque ZVTM, fait appel aux différents programmes de la bibliothèque GraphViz (implantés en C) et récupère la représentation engendrée par ces programmes sous la forme d'un fichier SVG facilement lisible par ZVTM. Cette approche simple présente un inconvénient majeur : le fichier SVG contient les informations géométriques/graphiques nécessaires à la représentation du graphe, mais aucune information concernant la structure logique du graphe. ZGRViewer est donc capable de représenter visuellement le graphe, mais le considère comme un simple ensemble d'objets graphiques et n'a pas connaissance de sa structuration logique. Cette connaissance n'est pas absolument nécessaire pour visualiser et naviguer dans le graphe, mais permettrait d'ajouter de nouvelles fonctionnalités intéressantes à l'application.

Travail demandé : un moyen de construire la représentation logique du graphe dans ZGRViewer consiste à utiliser un analyseur syntaxique (parser) pour le format DOT (utilisé pour la description des graphes en entrée des programmes de la bibliothèque GraphViz). Cet analyseur permettra de construire une représentation logique du graphe dans ZGRViewer et d'associer ses éléments aux éléments graphiques fournis par la représentation SVG. Le but de ce stage est d'intégrer un analyseur DOT dans ZGRViewer, soit en écrivant une nouvelle implantation, soit en intégrant et en améliorant une implantation existante, telle que celle de Grappa ou du toolkit InfoVis aussi développé dans le projet In Situ (INRIA/LRI). Une fois cette intégration effectuée, l'étudiant pourra optionnellement implanter de nouvelles fonctionnalités tirant parti de cette connaissance de la structure logique du graphe : nouvelles méthodes de navigation, modification de la représentation, etc.

Bibliographie

ZGRViewer
Applications et bibliothèques proposant des parsers DOT en Java
Outils pour l'analyse syntaxique en Java
  • CUP (utilisé par le parser de Grappa)
  • ANTLR (utilisé par le parser d'InfoVis)

Outils, langages utilisés

Java 1.4 ou 5.0, outils pour l'analyse syntaxique tels que ANTLR ou CUP, CVS, outils SourceForge

Informations pratiques

Quelques instructions pour mettre en place l'environnement de développement.