La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Laurence Duchien, Gérard Florin, Renaud Pawlak (CEDRIC-CNAM),

Présentations similaires


Présentation au sujet: "Laurence Duchien, Gérard Florin, Renaud Pawlak (CEDRIC-CNAM),"— Transcription de la présentation:

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


Télécharger ppt "Laurence Duchien, Gérard Florin, Renaud Pawlak (CEDRIC-CNAM),"

Présentations similaires


Annonces Google