Stage graphe
Un article de Wiki-evr@.
Version actuelle
Sommaire |
[modifier] Outils de théorie des graphes appliqués à l'éditeur graphique
[modifier] Sujet
A l'heure actuelle, l'éditeur graphique pour le prototypage rapide d'applications de RA ne permet pas d'importer directement les fichiers XML associés aux applications si ce dernier n'a pas fait l'objet d'une édition préalable à l'aide du logiciel en question.
L'objectif est donc de pouvoir importer automatiquement un fichier XML qui ne décrit que l'application. Comme les composants et leur connections peuvent être assimilés à un graphe particulier, le problème peut être transformé en un problème de visualisation des graphes qui est un domaine de recherche ouvert et où certaines solutions sont encore à développer d'autant que la disposition des éléments devra respecter certaines contraintes fortes.
Une deuxième tâche concerne la vérification automatique des cycles de vie des composants dans l'application. Il s'agit de contrôler si ces derniers sont employés une fois qu'ils sont créés et non après qu'ils soient détruits. Ceci est également un problème de théorie des graphes, le cycle de vie des composants étant lié au cycle des états de l'automate. De plus, l'éditeur graphique pourrait proposer la fin du cycle de vie de certains objets sur des feuilles précises grâce à une heuristique que le candidat mettra en place.
Les tâches identifiées sont les suivantes :
- Réaliser une étude bibliographique des algorithmes de représentation des graphes.
- Trouver une heuristique de placement qui réponde aux contraintes posées.
- Implémenter cette heuristique dans le cadre de l'importation automatique de fichiers XML.
- Développer une heuristique qui gère le cycle de vie des objets, voire qui propose quand détruire ces derniers.
- Implémenter dette heuristique dans l'éditeur
[modifier] Durée du stage / Type de candidat ciblé
- 5 à 6 mois environ
- Elève de DEA ou IIE 3ème année
[modifier] Compétences requises
- Notions de théorie des graphes
- Programmation objet et plus particulièrement C++
- Connaissance du système d'exploitation Linux souhaitée
[modifier] Moyens techniques
- PC standard
- Système d'exploitation Linux
- Kit de développement associé au Runtime
[modifier] Contact Principal
- Jean-Yves Didier