310 likes | 495 Views
Projet. 4info. Plan. Introduction (1min) Contexte du projet (4min) Imadoc, Dmos, EPF, lambda Prolog Etude de l’existant (5min) Présente plugin E clipse, LPDT et DocReadDT Besoin et spécification (11 min) Visualisation de la grammaire Débogueur DebugDocRead Browser
E N D
Projet 4info
Plan • Introduction (1min) • Contexte du projet (4min) • Imadoc, Dmos, EPF, lambda Prolog • Etude de l’existant (5min) • Présente plugin Eclipse, LPDT et DocReadDT • Besoin et spécification (11 min) • Visualisation de la grammaire • DébogueurDebugDocRead • Browser • Méthode de développement (2min) • Conclusion (2min)
Introduction Introduction • Recherche de l’équipe IMADOC • Reconnaissance de documents • Développement d’un Débogueur • Contexte complexe • Etude de l’existant • Présentation de notre solution
I – Contexte du Projet Méthode DMOS et DMOS-P • Description and MOdification of Segmentation • Description du document par unegrammaire EPF • Procédé multi-résolution, DMOS-P
I – Contexte du Projet Langage EPF • Grammaire bidimensionnel • Exemple de reconnaissance d’un rectangle : • Point d’ancrage • Zone de recherche • Opérateur de position
I – Contexte du Projet Langage lambda prolog • Langage de programmation logique • Extension du langage Prolog • Exemple de syntaxe : pere(X,Y) :- parent(X,Y), homme(X). • Prédicats • Paramètres • Faits
I – Contexte du Projet Application DocRead • Grammaire EPF compilé vers lambda-prolog • Fichiers lambda-prolog qui définissent les opérateurs de positions • Bibliothèques C++ de traitement d’image et de donnés • Le tout génère une exécutable 1 fichier λ-Prolog 1 fichier EPF pmc C epfc gcc Autres fichiers λ-Prolog Bibliothèques en C++ Application DocRead
I – Contexte du Projet Application DocRead • Exemple de détection des terrains de tennis : Image initiale Résultat après exécution
II - Etude de l’existant Etude de l’existant • Eclipse : IntegratedDevelopmentEnvironment • Deux plugins Eclipse conçu par l’équipe IMADOC : • LPDT : Gère les fichiers λ-prolog (.pm) • DocReadDT : Gère les fichier EPF (.epf)
II - Etude de l’existant Eclipse • IDE (IntegratedDevelopmentEnvironment). • Libre, extensible, universel et polyvalent. • Spécificité : architecture en plugins.
II - Etude de l’existant Eclipse
II - Etude de l’existant Eclipse
II - Etude de l’existant DebugLP
II - Etude de l’existant DocReadDT
III - Besoin et spécification Besoin et spécification • Visualisation de la grammaire • Débogueur DebugDocRead • Browser
III - Besoin et spécification • 1– Visualisation de la grammaire (1) Besoins • Visualiser la grammaire EPF • Utilisation d’Xmind
Branche pliée Branche dépliée • III - Besoin et spécification • 1– Visualisation de la grammaire (2) Représantation EPF
III - Besoin et spécification • 1– Visualisation de la grammaire (3) Intégration à Eclipse
III - Besoin et spécification • 1– Visualisation de la grammaire (4) Spécification Xmind • Arbre déplié lors de la génération • Représentation en sous-sujet sous forme d'organigramme bas. • Gestion de la récursivité • Gestion des règles des grammaires possédants plusieurs définitions
III - Besoin et spécification • 1– Visualisation de la grammaire (5) Analyse détaillé • Décryptage de la grammaire EPF • Restitution sous XMind
III - Besoin et spécification • 2– Débogueur DebugDocRead (1) Reprise de DebugLP • Même organisation des fenêtres • Différence entre debugLP et DebugDocRead : • Manipulation des variables dans le code EPF • Utilisation des points d’arrêts dans le code EPF • Création d’une table de correspondance des prédicats
III - Besoin et spécification • 2– Débogueur DebugDocRead (2) Reprise de DebugLP • DebugDocRead: • meilleure interaction entre code EPF et lambda prolog • Inclure image animée si possible
III - Besoin et spécification • 2– Débogueur DebugDocRead (3) Améliorations des modules existants • Onglet Variable • Affichage du nom, de la valeur et du type • Ajout d’une barre de défilement • Identifier les variables de même type • Visionner entièrement une variable
III - Besoin et spécification • 2– Débogueur DebugDocRead (4) Améliorations des modules existants • Onglet Editeur • Inclusion du fichier Xmind • Différenciation des types de fichiers
III - Besoin et spécification • 2– Débogueur DebugDocRead (5) Modules ajoutés • Onglet opérateur de position • Inclus dans le même module que les variables • Même option que pour les variables • Distinction de l’opérateur courant
III - Besoin et spécification • 2– Débogueur DebugDocRead (6) Modules ajoutés • Onglet image • Interaction avec l’image dans DebugDocRead • Changement de la résolution • Affichage d’éléments sur l’image
III - Besoin et spécification • 2– Débogueur DebugDocRead (7) Architecture • Débogueur debugDocRead: • Interface graphique • Communication avec le programme à débuguer • La partie débogage est déjà réalisé par DebugLP
III - Besoin et spécification • 3– Browser (1)
IV - Méthodes développement Méthodes développement • Remplir nos objectifs en 3 parties • 2 versions de notre débogueur • Développement du Browser en parallèle