CorbaTrace - PowerPoint PPT Presentation

About This Presentation
Title:

CorbaTrace

Description:

Standard OMG Sauvegarde UML en XML Utilisation de XMI dans ... indentation Utilisation simple et transparente Visualisation des diagrammes Avec MagicDraw UML ... – PowerPoint PPT presentation

Number of Views:105
Avg rating:3.0/5.0
Slides: 50
Provided by: Giz79
Category:

less

Transcript and Presenter's Notes

Title: CorbaTrace


1
CorbaTrace
Présentation
Interception
Log2XMI
XMI
Perspectives
  • Florian Champalle
  • Audrey Jaccard
  • Etienne Juliot
  • Nicolas Lemoullec
  • Antoine Parra del Pozo

2
Présentation
Présentation
3
Objectifs
Présentation
  • Débuguer des applications distribuées
  • Créer des outils dinterception de messages entre
    objets Corba
  • Créer des fichiers journaux (logs)
  • Visualiser sous forme de diagrammes de séquences

4
Projet initial
Présentation
  • Création dobjets génériques
  • Mise en place de la structure dinterception
  • Intercepteurs spécifiés par la norme Corba
  • Politique niveau dinterception
  • Création des fichiers journaux
  • Visualisation sous LaTeX

5
Exemple dun fichier journal
Présentation
  • OPEN_FLUXFriday, June 8, 2001 45726 PM
    GMT0100992015846253
  •  
  • gtgtgtSEND_REQUEST
  • DATEFriday, June 8, 2001 45730 PM
    GMT0100992015850952
  • CLIENT_IDclient
  • SERVANT_IDHello
  • MSG_ID502196
  •  
  • OPERATIONsay_hello_to
  • ARGUMENTS3
  • ARGin string(client)
  • ARGin string(502196)
  • ARGin string(le client du POA 1)
  •  
  • OPTIONS
  • request id 0
  • exceptions (no exceptions)
  • response expected true
  • END_OPTIONS

6
Problèmes rencontrés
Présentation
  • Identification
  • Client
  • Message
  • Synchronisation des horloges systèmes
  • Problème dexclusion mutuelle

7
Diagrammes de séquences
Présentation
8
Cahier des charges
Présentation
  • Interception plus souple
  • Application de filtres
  • Représentation graphique

9
Planning
Présentation
10
Architecture générale
Présentation
11
Interception
Interception
12
Choix technologiques
  • Possibilités dinterceptions
  • TCP/IP
  • IIOP
  • Intercepteurs portables
  • Norme Corba 2.3

Interception
13
Principe
Interception
14
Dynamique
Interception
15
Problématique
  • Problèmes
  • Identification
  • Date
  • Architecture
  • Simplicité dutilisation

Interception
  • Solutions
  • Service Context
  • Isolement fonctionnel
  • Génération XML

16
Service Context
Interception
17
Modèle des intercepteurs
Interception
18
Mise en place
  • Simplicité
  • Standardisation

Interception
Implémentation chez le client ORB orb
org.omg.CORBA.ORB.init(args, props)
org.omg.CORBA.Object obj orb.string_to_object(r
ef_IOP) Hello hello HelloHelper.narrow(obj
) System.out.println("Receive "
hello.say_hello("Titi")) orb.destroy()
19
Mise en place
  • Simplicité
  • Standardisation

Interception
Implémentation chez le client InterceptorClient
interceptorClient new InterceptorClient() ORB
orb org.omg.CORBA.ORB.init(args, props)
org.omg.CORBA.Object obj orb.string_to_object(r
ef_IOP) obj interceptorClient.active_intercepti
on(obj, orb) interceptorClient.activate_log(orb,
"My Name") Hello hello HelloHelper.narrow(ob
j) System.out.println("Receive "
hello.say_hello("Titi")) orb.destroy()
20
Log2XMI
Log2XMI
21
Log2XMI
Log2XMI
22
Architecture de Log2XMI
  • 5 étapes

Log2XMI
23
Les logs
  • Le choix de XML
  • lisible
  • très répandu
  • standardisé SAX et DOM
  • adapté aux transformations

Log2XMI
24
Un exemple de Log
  • ltloggt
  • ltmessage mesg_id"0" request_id"0"
    type"receive_request"gt
  • ltlocal_object id"Hello" date"2002-03-18T1737
    04.605"/gt
  • ltdistant_object id"helloClient"
    date"2002-03- 18T173704.372"
    request_id"0"/gt
  • ltoperation name"say_hello"gt
  • ltargument inout"in" value"Titi"
    type"string"/gt
  • lt/operationgt
  • ltoptionsgt
  • ltresponseExpected value"true"/gt
  • lt/optionsgt
  • lt/messagegt
  • lt/loggt

Log2XMI
25
Messages parsés
Log2XMI
26
Fusion des Messages 1/2
  • But de la fusion
  • Le procédé

Log2XMI
27
Fusion des Messages 2/2
  • Cas particulier des messages incomplets
  • pas de messages perdus en XMI
  • type de message BROKEN_xxx
  • utilisation dun objet et dune date  inconnus 

Log2XMI
28
Synchronisation des Messages
  • Problématique
  • messages instantanés en XMI
  • Simplification du problème
  • conserver les messages les plus  rapides 

Log2XMI
29
Synchronisation des Messages
  • Trois étapes
  • 1) évaluation des arcs du graphe à partir des
    messages logués

Log2XMI
30
Synchronisation des Messages
  • 2) estimation des décalages par rapport à lobjet
    de référence

Log2XMI
31
Synchronisation des Messages
  • 3a) mise à jour des dates démission et de
    réception des messages
  • 3b) préparation de la génération XMI tri des
    messages

Log2XMI
32
Synchronisation des Messages
  • Futures évolutions
  • estimation des décalages encore trop imprécise
  • amélioration
  • avec le calcul
  • des distances

Log2XMI
33
Le système de filtre
  • Pourquoi des filtres ?
  • Fichier de filtre - défini dans la DTD
  • Système de filtre inclusif
  • Deux niveaux de filtrage
  • - global
  • - sur lobjet

Log2XMI
34
Le système de filtre
  • Quatre types dinformations filtrables
  • types de messages
  • dates (before, after, between)
  • opérations (nom), arguments (positionnés, typés)
  • objets (nom) et ses sous-filtres

Log2XMI
35
exemple de filtre
  • ltfiltergt
  • ltmessage_typesgt
  • lttype value"BROKEN_REQUEST"/gt
  • lt/message_typesgt
  • ltdatesgt
  • ltafter date"2002-03-09T170000.000"/gt
  • ltbefore date"2002-03-09T150000.000"/gt
  • lt/datesgt
  • ltmethodsgt
  • ltmethod name"Operation1"gt
  • ltargumentAt position"3" value"ddd"/gt
  • lt/methodgt
  • lt/methodsgt
  • ltobjectsgt
  • ltobject id"Objet1"gt
  • ltmethodsgt
  • ltmethod name"Operation1"gt
  • ltargumentAt position"2" value"bbb"/gt
  • lt/methodgt

Log2XMI
36
Processus de génération XMI
  • Pour chaque message
  • Localiser la classe, et le rôle
  • Sélectionner lopération du bon objet
  • Ajouter le message
  • Puis
  • Ajouter lextension à la fin
  • Générer le fichier

Log2XMI
37
XMI et diagrammes
XMI
38
XMI
XMI
39
Le standard XMI
  • Quest-ce que XMI ?
  • Standard OMG
  • Sauvegarde UML en XML
  • Utilisation de XMI dans notre projet
  • Indépendance des modules
  • Indépendance de la visualisation

XMI
40
XMI structure et extensions
  • Structure des documents
  • Sous forme dobjets XMI
  • Le problème des extensions
  • Stocker la représentation graphique
  • Propriétaire à chaque logiciel

XMI
41
Les APIs XMI
  • Structure
  • Utilise DOM
  • Correspondance avec objets XMI
  • Évolutivité
  • Problèmes rencontrés
  • Écriture des extensions
  • DTD, indentation
  • Utilisation simple et transparente

XMI
42
Visualisation des diagrammes
  • Avec MagicDraw UML
  • Pourquoi MagicDraw UML ?
  • Ouvrir le fichier cest fini
  • Avec Rational Rose
  • Pourquoi Rational Rose ?
  • Le plugin XMI de Unisys
  • Petits problèmes
  • Graphiques
  • Meta modèle

XMI
43
Résultat MagicDraw
XMI
44
Lapplication xmi2tex
Fichier XMI
Xmi2tex
Fichier DTD
Fichier TEX
Latex
XMI
Fichier XSL
Librairie MSC
Fichier DVI
45
Résultat latex
XMI
46
Perspectives
Perspectives
47
Site web
  • Utilité
  • Licence LGPL
  • Hébergement chez TuxFamily
  • Développement PHP
  • Promotion

Perspectives
48
Conclusion
  • Gestion déquipe
  • Bilan
  • Evolutions
  • C
  • Interface graphique
  • Projet GNU
  • Pérennité de Corba

Perspectives
49
Questions ?????????
  • Et maintenant ..

les partiels !
Write a Comment
User Comments (0)
About PowerShow.com