1 / 24

xmi 2 JavAct

xmi 2 JavAct. Etude de l'environnement de développement Eclipse pour la conception d'applications d'acteurs De l’UML aux agents répartis. PLAN. Présentation Problématique Etude de faisabilité Eléments utilisés & étapes Récapitulatif chronologique Méthodologie Etude Eclipse

evita
Download Presentation

xmi 2 JavAct

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. xmi2JavAct Etude de l'environnement de développement Eclipse pour la conception d'applications d'acteurs De l’UML aux agents répartis

  2. PLAN • Présentation • Problématique • Etude de faisabilité • Eléments utilisés & étapes • Récapitulatif chronologique • Méthodologie • Etude Eclipse • Qu’est-ce que c’est ? • Sa structure • Autres étapes • Résolution • Présentation de la production • Cas concret • Conclusion • Bilan • Perspectives • Retour sur expérience

  3. PRESENTATION • Problématique ? UML JavAct

  4. ETUDE DE FAISABILITE • Cycle de développement • 90% du projet : recherches d’une solution adéquate • Programmation : tardive, résulte de l’étude • Peu de réalisation • Etude des possibilités avant production (la partie la plus importante du projet est l’étude) • Réalisation d’un logiciel si recherches convaincantes • Approches possibles • Outils de génération UML  Java (modifier pour générer du JavAct) • Utilisation du format XMI pour générer directement du JavAct • Pas de processus conventionnel • Il ne s’agit pas d’un projet logiciel • Réalisation d’un prototype • Résultant de l’étude & des conclusions • Production d’une documentation (étude & logiciel) • Tests unitaires • Tests réalisées au cours de la production (pas de tests unitaires : programmation finale)

  5. EMPLOI DU TEMPS Semaine 11 : -Plan qualité -1ère étude de Javact Semaine 13 : -XMI -Parsers Semaine 9 : Présentation du TER Semaine 10 : - JavAct - Cahier des charges Semaine 12 : Présentation IDE Eclipse Semaine 14 à 16 : Ebauche d’un programme De traitement du XMI

  6. EMPLOI DU TEMPS Semaine 17/18 : Présentation JavAct Par le client Semaine 20 à 23 : -Plug-ins Omondo -Poséidon (Templates) • Semaine 19 : • Signature • cahier des charges • -Présentation recherches • plug-ins et problème • JavAct • A partir de la semaine 24 : • Choix de la solution XMI • Début de programmation du prototype et réalisation de la documentation

  7. METHODOLOGIE • Etude IDE Eclipse • Structure orientée plug-in • Extensible Plug-in Plug-in Plug-in

  8. ECLIPSE • Plate-forme de développement d’applications • Structure • Noyau • Points d’extensions (plug-ins) • JDT (Java Development Toolkit) • PDE (Plug-in Developer Environment) Eclipse Platform Workbench Help JFace SWT VCM Workspace Platform Runtime

  9. ECLIPSE Platform Runtime • Définit les points d’extensions • Maintient la cohérence • Charge les plug-ins au moment de l’utilisation Workspace

  10. ECLIPSE Workspace • Gestionnaire de ressources • API de création et gestion des productions des plug-ins Workbench

  11. ECLIPSE Workbench • Interface utilisateur • Navigation au sein des ressources • Utilisation des plug-ins • Points d’extensions pour l’ajout de composants graphiques • API pour développement d’interfaces graphiques • JFace • SWT JFace SWT

  12. ECLIPSE JFace SWT • Standard Widget Toolkit • Outils bas niveaux • Indépendant du système • Garantie l’intégration et la portabilité • Applications de constructions • Eléments graphiques bas niveau • Gestion de widgets Help VCM

  13. ECLIPSE Help VCM • Gestionnaire de version • Aide • Plug-ins d’aide • Plug-ins de documentation • Plate-forme d’aide en ligne

  14. METHODOLOGIE • Recherche Plug-ins UML • EMF, Argo2Ecore, Omondo • Personnalisation de l’existant • Différentes approches • Création plug-in traitement XMI • Templates (Poséidon) • Règles de traduction

  15. LE FORMAT XMI • Qu’est-ce que c’est ? • Langage de balises • Représentation arborescente • Description textuelle des diagrammes • Généré par les logiciels UML • Intérêts • Equivalence sémantique UML ↔ XMI • Utilisation d’un parser pour générer le code • Facilité d’utilisation • Possibilité d’intégration à Eclipse (langage Java)

  16. RESOLUTION • Prototype xmi2JavAct • Méta-modèle • Données des diagrammes • Parser • Instanciation du Méta-modèle • Traducteur • Exploitation du Méta-modèle • Production sources JavAct

  17. META-MODELE

  18. CAS CONCRET • Opération F – G

  19. CAS CONCRET • Fichier XMI : n lignes <?xml version = '1.0' encoding = 'UTF-8' ?> <XMI xmi.version = '1.2' xmlns:UML = 'org.omg.xmi.namespace.UML' timestamp = 'Thu Jun 24 17:19:59 GMT+01:00 2004'> <XMI.header> <XMI.documentation> <XMI.exporter>Netbeans XMI Writer</XMI.exporter> <XMI.exporterVersion>1.0</XMI.exporterVersion> </XMI.documentation> </XMI.header> • m lignes correspondants aux éléments graphiques <XMI.content> <UML:Diagram xmi.id = 'di$be8c3e:fd4b98e69e:-7ff9' isVisible = 'true' name = 'DC‘ zoom = '1.0010000000000001'> <UML:GraphElement.position> <XMI.field>0.0</XMI.field> <XMI.field>0.0</XMI.field> </UML:GraphElement.position> <UML:GraphNode.size> <XMI.field>616.5098</XMI.field> <XMI.field>443.0</XMI.field> </UML:GraphNode.size> …

  20. CAS CONCRET • p lignes correspondants aux données du diagrammes … <UML:Interface xmi.id = 'sm$be8c3e:fd4b98e69e:-7fb6' name = 'Sub' visibility = 'public' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref = 'sm$be8c3e:fd4b98e69e:-7fea'/> </UML:ModelElement.stereotype> <UML:Classifier.feature> <UML:Operation xmi.id = 'sm$be8c3e:fd4b98e69e:-7f9d' name = 'sub' visibility = 'public' isSpecification = 'false' ownerScope = 'instance' isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> <UML:BehavioralFeature.parameter> <UML:Parameter xmi.id = 'sm$be8c3e:fd4b98e69e:-7f85' name = 'return' isSpecification = 'false‘ kind = 'return'> <UML:Parameter.type> <UML:DataType xmi.idref = 'sm$be8c3e:fd4b98e69e:-7fbf'/> </UML:Parameter.type> </UML:Parameter> … • m ≈ 92 % n (m >> p)

  21. CAS CONCRET • Code généré par le prototype public class InterAdd implements Add {} public class InterSub implements Sub {} /** @stereotype <<BehaviorPart>> */ public interface Sub extends BehaviorProfile, ActorProfile { public void sub(int x) ; } /** @stereotype <<BehaviorPart>> */ public interface Add extends BehaviorProfile, ActorProfile { public void add(int x) ; } /** @stereotype <<Acteur>> */ public interface Inter extends AddSub {} /** @stereotype <<BehaviorPart>> */ public interface AddSub extends Add, Sub, BehaviorProfile, ActorProfile { public void become(Add beh) ; public void become(Sub beh) ; }

  22. CONCLUSION • Bilan • TER • Première approche du travail en équipe • Respect des contraintes • Projet • Etude aboutie • Prototype fonctionnel • Réutilisable et extensible

  23. CONCLUSION • Perspectives • Evolution en fonction de JavAct • Intégration à Eclipse • Retour sur expérience • Meilleure répartition du travail • Développement plug-in XMI plus tôt • Recherches en parallèle • Réunions plus espacées

  24. xmi2JavAct De l’UML aux agents répartis Projet réalisé par l’équipe SLAMSIFIS ROUGEMAILLE Sylvain : Chef de projet CABANAC Guillaume : Responsable documentation ROUHAUD Olivier : Qualiticien Client (Equipe PS – IRIT TOULOUSE III RANGUEIL) M. MIGEON Frédéric : Maître de conférence Mme. MAUREL Christine : Maître de conférence Remerciements M. MIGEON et Mme. MAUREL pour leur disponibilité et leur patience M. MILLAN pour son aide au cours de notre étude M. CHERBONNEAU responsable du module TER xmi2JavAct

More Related