Adaptabilit dynamique de la smantique de communication dans Jonathan - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Adaptabilit dynamique de la smantique de communication dans Jonathan

Description:

addMetaObject()/removeMetaObject() : ajoute/retire un m ta-objet au conteneur ... Si faux, il s'adapte lui-m me et ajoute un m ta-objet trace. D faut majeur : le m ta ... – PowerPoint PPT presentation

Number of Views:17
Avg rating:3.0/5.0
Slides: 21
Provided by: gatewayl5
Category:

less

Transcript and Presenter's Notes

Title: Adaptabilit dynamique de la smantique de communication dans Jonathan


1
Adaptabilité dynamique de la sémantique de
communication dans Jonathan
  • François Sarradin
  • Thomas Ledoux

2
Construction dapplications réparties (1/2)
  • Contexte
  • Convergence informatique et télécommunications
  • Accès universel à linformation (Internet)
  • Enjeux
  • Système dinformations des entreprises et des
    organisations (Intranet)
  • Informatique distribuée grand public

3
Construction dapplications réparties (2/2)
  • Besoins
  • Maîtrise de la complexité et des systèmes ouverts
    ? interopérabilité
  • Délai time-to-market de plus en plus court et
    évolution rapide des technologies ? réactivité
  • Maîtrise de la QoS sur des flots multimédia dans
    des environnements  hétéroclites  ? adaptabilité

4
Constats
  • Bus logiciels
  • plates-formes dintégration et
    dinteropérabilité
  • architectures complexes
  • architectures trop peu ouvertes
  • Jonathan
  • plate-forme dexécution répartie ouverte
  • architecture générique pour instancier des bus
    logiciels
  • flexibilité compromise à lexécution

5
Solution
  • Proposer une extension de Jonathan permettant
    ladaptabilité dynamique du bus pour bénéficier
    de nouvelles stratégies de communication à
    lexécution.
  • Exemples dadaptabilité
  • sécuriser les communications quand la
    confidentialité est nécessaire
  • répartir les charges si un serveur ne peut
    répondre rapidement aux requêtes

6
A la découverte de Jonathan
  • Plate-forme dexécution répartie en Java
  • développé par France Telecom RD
  • basé sur le modèle RM-ODP
  • infrastructure de base pour le projet RNRT Parol
  • Objet de liaison
  • réifie la liaison entre deux objets distants
  • facilite la création de nouveaux types de
    liaisons
  • Personnalité
  • unique à chaque type de bus logiciel (CORBA, RMI)
  • une API et un ensemble de protocoles

7
Objets de liaison dans Jonathan
  • Demeurent une abstraction (i.e. pas des entités
    de plein droit)
  • ? où se trouve la sémantique de communication ?
  • ? comment la modifier à lexécution ?

8
Réflexion
  • Caractérise la capacité dun système à raisonner
    et à agir sur lui-même
  • auto-réprésentation (introspection)
  • modification, adaptation de sa propre
    interprétation (intercession)
  • Méta-objet au sens Kiczales et al.
  • un objet du méta-niveau
  • MOP ou protocole à méta-objets
  • une interface pour adapter le système

9
Vers une modification de la sémantique de
communication
  •  sortir  la sémantique dinvocation de base de
    lobjet de liaison pour la réifier
  • la modifier grâce à des aspects non-fonctionnels
    (synchronisation, réplication, authentification)
    qui proposent une interprétation de cette
    sémantique
  • représenter chaque fragment dinterprète de la
    sémantique dinvocation par un méta-objet
  • proposer un MOP pour manipuler les méta-objets et
    adapter les stratégies de communication à
    lexécution.

10
Notre solution
  • Intercepter les invocations au niveau des stubs
    Jonathan
  • le stub joue le rôle de wrapper et délègue la
    sémantique dinvocation aux méta-objets
  • Utiliser un conteneur de méta-objets pour
  • offrir ladaptabilité de la sémantique de
    communication
  • ajout/maj/retrait des aspects non-fonctionnels
  • permettre ladaptabilité de la sémantique de
    composition
  • linéaire, dynamique, avec priorités, avec
    contraintes

11
Intégration des aspects non-fonctionnels via le
conteneur
BaseMO
BaseMO
Conteneur A
Conteneur B
Objet de liaison
objet serveur
client
VM cliente
VM serveur
12
Classes clés du MOP
  • Interface MetaObjectContainer
  • Spécification du contrat des conteneurs
  • addMetaObject()/removeMetaObject()
    ajoute/retire un méta-objet au conteneur
  • invoke() appelé par le stub, réalise le passage
    au méta-niveau
  • invokeNext() décrit la sémantique de
    composition
  • Classe BaseMOContainer fournit une sémantique
    par défaut de la composition
  • Interface MetaObject
  • Spécification du contrat des méta-objets
  • invoke() décrit la sémantique de laspect
    non-fonctionnel
  • Classe BaseMO fournit la sémantique de
    linvocation à distance

13
Adaptabilité de la sémantique de communication
(1er exemple)
  •  Lincrevable  trace TraceMO
  • Définition
  • Utilisation

public class TraceMO extends AbstractMO
implements MetaObject // public Object
invoke(Object obj, Method method, Object
params) throws Exception Object
result String call_string
this.callToString(obj, method, params)
System.out.println(call call_string)
result container.invokeNext(obj, method,
params) if (result ! null)
System.out.println(return return)
return result
//.. TraceMO trace new TraceMO() MetaObjectCont
ainer container (MetaObjectHolder)
compte).getMetaObjectContainer() container.addMet
aObject(trace)
14
Adaptabilité de la sémantique de communication
(2ème exemple)
  • Un méta-objet configurable ResourceProtectionMO
  • But accès synchronisé à une ressource partagée
    (le compte) avec le schéma du producteur/consommat
    eur concurrents.
  • Configuration
  • new ResourceProtectionMO(ajoutCredit,
    ajoutDebit, getSolde)
  • Redéfinition de la méthode invoke() pour
    bloquer/débloquer le thread associé à la ressource

15
Adaptabilité de la sémantique de communication
(3ème exemple)
  • Via un conteneur RemoteMOContainer
  • But créer un conteneur distribué grâce à la
    personnalité Jeremie
  • Résultat administration à distance du contenu
    du conteneur

16
Adaptabilité de la sémantique de composition (1er
exemple)
  • Un exemple naïf NoTraceMOContainer
  • But inhiber momentanément tous les méta-objets
    permettant de tracer ou journaliser les
    invocations
  • Comment réaliser un changement dynamique de
    container (les références aux méta-objets sont
    copiés)
  • Redéfinition de la méthode invokeNext() pour ne
    pas exécuter certains méta-objets

17
Adaptabilité de la sémantique de composition
(2ème exemple)
  • Une auto-adaptabilité via le code fonctionnel
    DynamicTraceMOContainer
  • But le conteneur teste un prédicat à chaque
    invocation (e.g. solde sous la barre de 500F). Si
    faux, il sadapte lui-même et ajoute un
    méta-objet trace
  • Défaut majeur le méta-niveau teste les données
    du niveau de base

18
Adaptabilité de la sémantique de composition
(3ème exemple)
  • Une auto-adaptabilité via le contexte dexécution
    à venir
  • Exemples
  • si milieu non sécurisé, le conteneur sadapte
    lui-même et ajoute un méta-objet
    dauthentification
  • cet après-midi...

19
Travaux connexes
  • Les filtres de composition Aksit et al. 92
  • Les open bindings Blair et al. 98
  • JavaPod Bruneton et al. 00
  • etc.

20
Conclusion
  • Extension des objets de liaison avec des aspects
    non-fonctionnels pour modifier la sémantique de
    communication de Jonathan à lexécution
  • Adaptabilité
  • de communication
  • de composition
  • Perspectives nouveaux conteneurs de
    composition, auto-adaptabilité via le contexte
    dexécution

via un conteneur
Write a Comment
User Comments (0)
About PowerShow.com