Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parMelanie Sénéchal Modifié depuis plus de 5 années
1
AD-TOS : Séparation des aspects pour la programmation répartie orientée objet
Laurence Duchien, Gérard Florin, Renaud Pawlak (CEDRIC-CNAM), Lionel Seinturier (LIP6) Paris - France
2
Les Composants d’Aspect
1. configuration Préoccupation extra-fonctionnelle Points de jonction Encapsulation événementielle ?? 2. Introspection structurelle 3. Intercession événementielle Système fonctionnel 2/22/2019 Séminaire systèmes distribué et connaissances
3
Séminaire systèmes distribué et connaissances
Un exemple simple sum=0 sum checksum Invoice --- sum:=300 sum:=700 sum=700? item=printInvoiceItem; total=printInvoiceTotal; weave() { wrap(item,sum); wrap(total,checksum); } sum () {sum+=arg0} checksum() {if(sum!=arg0) error} ok Invoice --- printInvoiceTotal print- Invoice- Item 400 300 400 300 700 700 tissage Invoice --- Service 1……$300 Service 2……$400 Total…..……$700 Invoice --- Service 1……$300 Service 2……$400 Invoice --- Service 1……$300 Invoice --- Service 1……$300 Service 2……$400 Invoice --- Service 1……$300 Invoice --- Service 1……$300 Service 2……$400 Total…..……$700 printInvoiceItem(300) printInvoiceItem(400) printInvoiceTotal(700) output 2/22/2019 Séminaire systèmes distribué et connaissances
4
Composition d’aspects...
Chaque composant d’aspect possède sa propre représentation du programme de base (points de jonction) Intercession événementielle n’entraînant pas de changement du programme de base Composition semi-automatique, commutation des aspects Dynamicité, adaptativité (à l’éxécution) Encapsulation conflictuelle Règles génériques décision automatique de l’ordre d’appel Programme de base Règles spécifiques externes c’est l’aspect de composition 2/22/2019 Séminaire systèmes distribué et connaissances
5
Séminaire systèmes distribué et connaissances
Avantages des aspects Modèle de développement qui intègre et traite naturellement la plupart des problèmes soulevés par le génie logiciel : Séparation des préoccupations jusqu’au niveau du code Implantations generiques réutilisabilité Changement à l ’exécution support de l ’adaptabilité Post-specification de certains aspects évolutivité Traite de problèmes transversaux et non locaux aux objets naturellement ouverts à la répartition de l’information 2/22/2019 Séminaire systèmes distribué et connaissances
6
Un exemple simple (bis)
2/22/2019 Séminaire systèmes distribué et connaissances
7
Travaux en cours / perspectives
Portage de AD-TOS en Java (le projet JAC) ( Composition automatique Modèle de programmation répartie basée sur les groupes d ’objets et mieux adapté à la programmation répartie par aspect Performances : optimisations locales (au niveau des points de jonctions) optimisations globales (au niveau d ’aspects d ’optimisations permettant l ’ordonnancement et le choix d ’aspect suivant des critères sémantiques) 2/22/2019 Séminaire systèmes distribué et connaissances
8
Un exemple réparti simple
Utilisation de proxies (encapsuleurs spécifiques) et définition de : la politique de distribution (localisation des objets) la (les) politiques de replication(s)/cohérence(s) (entre les objets) ! DistributionAspect::weave {prog} { myproxy = new ProxyWrapper(serverhost); myproxy.wrap(prog.class(serverclass).instances); foreach client in prog.class(clientclass).instances { myproxy = new ProxyWrapper(clienthosts[client]); myproxy.wrap(client); } prog.copyAll(clienthosts); } } serverhost=h1; serverclass=Diary; clientclass=User; clienthosts={ h2, h3 } User name Diary makeAppointment(time,users) cancelAppointment(time,users) 0-* 2/22/2019 Séminaire systèmes distribué et connaissances
9
Un modèle de déploiement à base de groupes
Définition de composant d ’aspect spécifiques permettant la réification d ’évenement précis. whenWrite, whenRead sur chaque objet protocole de cohérence whenWrap, whenUnwrap sur chaque objet vision uniforme du groupe quand on l’étend Implemente le wrapping de groupe. 2/22/2019 Séminaire systèmes distribué et connaissances
10
Séminaire systèmes distribué et connaissances
Implementation A-TOS is a prototype built on Tcl Reflective class-based language for local introspection Event-based wrappers support Aspect-Components support Distribution support (TOS Communication Protocol: remote invocation, object migration) Being coupled with Delphi for GUI development Available at: Demo 2/22/2019 Séminaire systèmes distribué et connaissances
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.