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

Post on 04-Apr-2015

104 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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

3

PRESENTATIONPRESENTATION

• Problématique

UML 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)

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

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

7

METHODOLOGIEMETHODOLOGIE

• Etude IDE EclipseStructure orientée plug-in

Extensible

Plug-in Plug-in

Plug-in

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

9

ECLIPSEECLIPSE

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

Workspace

Platform Runtime

10

ECLIPSEECLIPSEWorkspace

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

Workbench

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

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

13

ECLIPSEECLIPSE

HelpVCM

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

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

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)

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

17

META-MODELEMETA-MODELE

18

CAS CONCRETCAS CONCRET• Opération F – G

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

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)

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

22

CONCLUSIONCONCLUSION

• BilanTER

Première approche du travail en équipeRespect des contraintes

ProjetEtude aboutiePrototype fonctionnelRéutilisable et extensible

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

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

top related