1 xmi 2 javact etude de l'environnement de développement eclipse pour la conception...

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: cesar-granier

Post on 04-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 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

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: 1 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

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: 1 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

3

PRESENTATIONPRESENTATION

• Problématique

UML JavAct?

Page 4: 1 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

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: 1 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

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: 1 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

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: 1 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

7

METHODOLOGIEMETHODOLOGIE

• Etude IDE EclipseStructure orientée plug-in

Extensible

Plug-in Plug-in

Plug-in

Page 8: 1 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

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: 1 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

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: 1 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

10

ECLIPSEECLIPSEWorkspace

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

Workbench

Page 11: 1 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

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: 1 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

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: 1 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

13

ECLIPSEECLIPSE

HelpVCM

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

Page 14: 1 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

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: 1 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

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: 1 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

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: 1 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

17

META-MODELEMETA-MODELE

Page 18: 1 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

18

CAS CONCRETCAS CONCRET• Opération F – G

Page 19: 1 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

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: 1 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

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: 1 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

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: 1 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

22

CONCLUSIONCONCLUSION

• BilanTER

Première approche du travail en équipeRespect des contraintes

ProjetEtude aboutiePrototype fonctionnelRéutilisable et extensible

Page 23: 1 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

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: 1 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

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