xmi 2 javact

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

Upload: evita

Post on 10-Jan-2016

44 views

Category:

Documents


2 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: xmi 2 JavAct

1

xmi2JavAct

Etude de l'environnement de développement Eclipse pour la conception d'applications

d'acteurs

De l’UML aux agents répartis

Page 2: xmi 2 JavAct

2

PLANPLAN• 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

Page 3: xmi 2 JavAct

3

PRESENTATIONPRESENTATION

• Problématique

UML JavAct?

Page 4: xmi 2 JavAct

4

ETUDE DE FAISABILITEETUDE 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)

Page 5: xmi 2 JavAct

5

EMPLOI DU TEMPSEMPLOI DU TEMPS

Semaine 9 :Présentation du TER

Semaine 11 :-Plan qualité-1ère étude de Javact

Semaine 13 :-XMI-Parsers

Semaine 10 :- JavAct- Cahier des charges

Semaine 12 :Présentation IDE Eclipse

Semaine 14 à 16 :Ebauche d’un programmeDe traitement du XMI

Page 6: xmi 2 JavAct

6

EMPLOI DU TEMPSEMPLOI DU TEMPS

Semaine 17/18 :Présentation JavAct

Par le client

Semaine 20 à 23 :-Plug-ins Omondo-Poséidon (Templates)

Semaine 19 :-Signaturecahier des charges-Présentation recherchesplug-ins et problèmeJavAct

A partir de la semaine 24 :Choix de la solution XMIDébut de programmation du prototype et réalisation de la documentation

Page 7: xmi 2 JavAct

7

METHODOLOGIEMETHODOLOGIE

• Etude IDE EclipseStructure orientée plug-in

Extensible

Plug-in Plug-in

Plug-in

Page 8: xmi 2 JavAct

8

ECLIPSEECLIPSE• 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

Workspace

Help

VCM

JFace

SWT

Platform Runtime

Page 9: xmi 2 JavAct

9

ECLIPSEECLIPSE

• Définit les points d’extensions• Maintient la cohérence• Charge les plug-ins au moment de l’utilisation

Workspace

Platform Runtime

Page 10: xmi 2 JavAct

10

ECLIPSEECLIPSEWorkspace

• Gestionnaire de ressources• API de création et gestion des productions des plug-ins

Workbench

Page 11: xmi 2 JavAct

11

ECLIPSEECLIPSE

• 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

Workbench

JFace

SWT

Page 12: xmi 2 JavAct

12

ECLIPSEECLIPSEJFace

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

Page 13: xmi 2 JavAct

13

ECLIPSEECLIPSE

HelpVCM

• Gestionnaire de version • Aide Plug-ins d’aide Plug-ins de documentation Plate-forme d’aide en ligne

Page 14: xmi 2 JavAct

14

METHODOLOGIEMETHODOLOGIE

• Recherche Plug-ins UMLEMF, Argo2Ecore, OmondoPersonnalisation de l’existant

• Différentes approchesCréation plug-in traitement XMITemplates (Poséidon)

Règles de traduction

Page 15: xmi 2 JavAct

15

LE FORMAT XMILE FORMAT XMI

• Qu’est-ce que c’est ?Langage de balisesReprésentation arborescenteDescription textuelle des diagrammesGénéré par les logiciels UML

• IntérêtsEquivalence sémantique UML ↔ XMIUtilisation d’un parser pour générer le code

Facilité d’utilisationPossibilité d’intégration à Eclipse (langage Java)

Page 16: xmi 2 JavAct

16

RESOLUTIONRESOLUTION

• Prototype xmi2JavActMéta-modèle

Données des diagrammes

ParserInstanciation du Méta-modèle

TraducteurExploitation du Méta-modèleProduction sources JavAct

Page 17: xmi 2 JavAct

17

META-MODELEMETA-MODELE

Page 18: xmi 2 JavAct

18

CAS CONCRETCAS CONCRET• Opération F – G

Page 19: xmi 2 JavAct

19

CAS CONCRETCAS 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>…

Page 20: xmi 2 JavAct

20

CAS CONCRETCAS 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)

Page 21: xmi 2 JavAct

21

CAS CONCRETCAS 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) ;}

Page 22: xmi 2 JavAct

22

CONCLUSIONCONCLUSION

• BilanTER

Première approche du travail en équipeRespect des contraintes

ProjetEtude aboutiePrototype fonctionnelRéutilisable et extensible

Page 23: xmi 2 JavAct

23

CONCLUSIONCONCLUSION

• PerspectivesEvolution en fonction de JavActIntégration à Eclipse

• Retour sur expérienceMeilleure répartition du travail

Développement plug-in XMI plus tôtRecherches en parallèle

Réunions plus espacées

Page 24: xmi 2 JavAct

24

xmi2JavAct

De l’UML aux agents répartis

Projet réalisé par l’équipe SLAMSIFISROUGEMAILLE Sylvain : Chef de projetCABANAC Guillaume : Responsable documentationROUHAUD Olivier : Qualiticien

Client (Equipe PS – IRIT TOULOUSE III RANGUEIL)M. MIGEON Frédéric : Maître de conférenceMme. MAUREL Christine : Maître de conférence

RemerciementsM. MIGEON et Mme. MAUREL pour leur disponibilité et leur patienceM. MILLAN pour son aide au cours de notre étudeM. CHERBONNEAU responsable du module TER

xmi2JavAct