?. La-mise-en-oeuvre-des-sélecteurs-qui-héritent-de-la-classe-joinpointselector, Chaque sélecteur doit implémenter les deux méthodes boolean staticTest (Joinpoint) et boolean dynamicTest (Joinpoint) Lapremì ere vérifie si le sélecteur identifie la partie statique du point de jonction. Cela correspond auxpì eces qui peuventêtrepeuventêtre déterminées au moment de la compilation, même si ce rapprochement des points de jonction se fait par interprétation lors de l'exécution, car l'instance de Joinpoint contient plusieursélémentsplusieurséléments d'information statique (accessible par getStaticPart()). Ledeuxì eme, etc. fournies par l'interface Joinpoint

?. La-mise-en-oeuvre, Il y a deux cas : dans le premier, le langage des actions est aussi Java, le concepteur peut utiliser l'implémentation des actions prédéfinis dans CALI alors que dans ledeuxì eme, le langage des actions n'est plus Java

. La-détection-d, un point de jonction et l'exécution des actions correspondant de l'aspect m` enent l'aspectàaspect`aspectà l'autré Etat. CetétatCetétat plus tard, conduitàconduità un choix entre deux C I. L'´ etat de l'aspectévolue aspectévolue en fonction du point de jonction apparaissant en premier

U. Point-clé-dans-la-mise-en-oeuvre-de-eaop-est-la-représentation-de-l-'aspectétataspect´aspectétat, Il convient de noter que l'´ etat de l'aspectévoluèaspectévoluè a l'´ etape suivante après l'exécution de l'avis, et pas seulement après la jointure correspondantàcorrespondantà point. En outre, l'aspect doit avoir accèsaccèsà C I correspondantà correspondantà chaqué etat. Pour cette raison, nous décidons de joindre toutes les informations sur la poursuite de l'aspect de l'´ etat. Cela signifie que le choix entre la liste des C I qui ont pour but d'intercepter le point de jonction sero jointè a l'´ etat, Au lieu de fixer un C I ` a chaque transition, la transition entre lesétatslesétats est représentée par l'´ evènement correspondantàcorrespondantà la fin de l'exécution des greffons

D. Havinga, proposent un langage d'aspects dédié qui permet d'appliquer le modèle décorateur tout en séparant le code portant sur le pattern Décorateur. L'implémenation de ce langage avec CALI consistéconsistéà réutiliser les sélecteurs définis dans l'implemenatation d'AspectJ et 8

?. Un-greffon-pour-chaque-méthode-concernée,-en-utilisant-un-sélecteur-de-type-call-et-un-memoizeadvice, Le sélecteur intercepte les appels de cette méthode, et les greffons associés renvoie la la valeur mise en cache (si une est déjà stockée) ou des caches de la valeur retournée par proceed (s'il n

. De-même, chaque mutex est implémenté comme un greffon, o` u l'action est implémentée comme une instance de MutexAdvice qui g` ere la synchronisation tandis que le sélecteur achemine toutes les méthodes dans l'exclusion prévue au greffon

C. Dans, nous choisissons de ne pas réifier le point de jonction de l'aspect dans la plateforme mais nous laisser cette tâchè a chaque définition de langage

. Javassist, Java programming assistant

Y. Apter, D. H. Lorenz, and O. Mishali, Toward debugging programs written in multiple domain specific aspect languages, Proceedings of the sixth annual workshop on Domain-specific aspect languages, DSAL '11, pp.5-8, 2011.
DOI : 10.1145/1960496.1960499

I. Aracic, V. Gasi¯-unas, M. Mezini, and K. Ostermann, An Overview of CaesarJ, Lecture Notes in Computer Science, vol.39, issue.10, pp.135-173, 2006.
DOI : 10.1007/3-540-45429-2_1

A. Assaf and J. Noyé, Flexible pointcut implementation: An interpreted approach, Carré [29], pp.45-60
URL : https://hal.archives-ouvertes.fr/inria-00460796

A. Assaf and J. Noyé, Dynamic AspectJ, Proceedings of the 2008 symposium on Dynamic languages, DLS '08, pp.1-12, 2008.
DOI : 10.1145/1408681.1408689

URL : https://hal.archives-ouvertes.fr/inria-00429548

P. Avgustinov, A. Simon-christensen, L. Hendren, S. Kuzins, J. Lhoták et al., abc, Proceedings of the 4th international conference on Aspect-oriented software development , AOSD '05, pp.87-98, 2005.
DOI : 10.1145/1052898.1052906

P. Avgustinov, E. Hajiyev, N. Ongkingco, D. Oege-de-moor, J. Sereni et al., Semantics of Static Pointcuts in AspectJ, Proceedings of the 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp.11-23, 2007.

E. Henri, D. Bal, and . Grune, Programming Language Essentials, 1994.

O. Barzilay, Y. A. Feldman, S. Tyszberowicz, and A. Yehudai, Call and execution semantics in AspectJ, FOAL 2004 Proceedings -Foundations of Aspect-Oriented Languages -Workshop at AOSD, 2004.

C. Bockisch, M. Haupt, M. Mezini, and K. Ostermann, Virtual machine support for dynamic join points, Proceedings of the 3rd international conference on Aspect-oriented software development , AOSD '04, pp.83-92, 2004.
DOI : 10.1145/976270.976282

N. Bouraqadi and T. Ledoux, Supporting AOP using reflection, Filman et al. [47], pp.261-282
URL : https://hal.archives-ouvertes.fr/hal-00457078

G. Bracha and W. Cook, Mixin-based inheritance, ACM SIGPLAN Notices, vol.25, issue.10, pp.303-311, 1990.
DOI : 10.1145/97946.97982

M. Bravenboer, E. Tanter, and E. Visser, Declarative, formal, and extensible syntax definition for AspectJ, Proceedings of the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp.209-228, 2006.

E. Martin-bravenboer and . Visser, Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions, John M. Vlissides and Douglas C

J. Brichau, M. Mezini, J. Noyé, W. Havinga, L. Bergmans et al., An initial metamodel for aspect-oriented programming languages, 2006.

R. Cardone and C. Lin, Using mixin technology to improve modularity, pp.219-241

D. Caromel, L. Mateu, and . Tanter, Sequential Object Monitors, Proceedings of the 18th European Conference in Object-Oriented Programming, pp.316-340, 2004.
DOI : 10.1007/978-3-540-24851-4_15

URL : https://hal.archives-ouvertes.fr/hal-00457132

P. Costanza and R. Hirschfeld, Language constructs for context-oriented programming, Proceedings of the 2005 conference on Dynamic languages symposium , DLS '05, pp.1-10, 2005.
DOI : 10.1145/1146841.1146842

K. Czarnecki and U. W. Eisenecker, Generative Programming, 2000.
DOI : 10.1007/3-540-36208-8_2

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.387.6297

P. David, T. Ledoux, and N. M. Bouraqadi-saâdani, Two-step weaving with reflection using aspectj, OOPSLA 2001 Workshop on Advanced Separation of Concerns in Object-Oriented Systems, 2001.

E. W. Dijkstra, On the role of scientific thought. Selected Writings on Computing: A Personal Perspective, pp.60-66, 1974.

T. Dinkelader, M. Mezini, and C. Bockisch, The art of the meta-aspect protocol, Proceedings of the 8th International Conference on Aspect-Oriented Software Development , AOSD 2009, pp.51-62, 2009.

R. Douence, P. Fradet, and M. Südholt, A Framework for the Detection and Resolution of Aspect Interactions, Proceedings of the Generative Programming and Component Engineering, pp.173-188, 2002.
DOI : 10.1007/3-540-45821-2_11

URL : https://hal.archives-ouvertes.fr/inria-00000950

R. Douence, O. Motelet, and M. Südholt, A formal definition of crosscuts, Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns, pp.170-186, 2001.
DOI : 10.1007/3-540-45429-2_13

R. Douence and M. Südholt, Une technique générique de réification pour les langagesà langagesà objets, 6th Maghrebian Conference on Information Technologies, MCSEAI 00, 2000.

R. Douence and M. Südholt, A generic reification technique for object-oriented reflective languages, Higher-Order and Symbolic Computation, vol.14, issue.1, pp.7-34, 2001.
DOI : 10.1023/A:1011549115358

URL : https://hal.archives-ouvertes.fr/hal-00444033

R. Douence and M. Südholt, A model and a tool for Event-based Aspect-Oriented Programming (EAOP), Ecole des Mines de Nantes42] ´ Eric Tanter. From Metaobject Protocols to Versatile Kernels for Aspect-Oriented Programming, 2002.

J. Fabry, E. Tanter, and T. D. Hondt, ReLAx, Proceedings of the 2nd workshop on Aspect-oriented software development , DSAL '07, 2007.
DOI : 10.1145/1255400.1255403

URL : https://hal.archives-ouvertes.fr/inria-00167406

J. Fabry, E. Tanter, T. D. Hondt, and . Kala, KALA: Kernel aspect language for advanced transactions, Science of Computer Programming, vol.71, issue.3, pp.165-180, 2008.
DOI : 10.1016/j.scico.2007.10.004

P. Daniel, R. E. Filman, and . Friedman, Aspect-oriented programming is quantification and obliviousness The Netherlands, Workshop on Advanced Separation of Concerns at OOPSLA'00, 2000.

R. E. Filman, Understanding AOP through the study of interpreters, 2003.

E. Freeman, E. Freeman, K. Sierra, and B. Bates, Head First Design Patterns, 2004.

E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns : Elements of Reusable Object-Oriented Software, 1994.

J. Gosling, B. Joy, G. Lewis-steele-jr, and G. Bracha, The Java Language Specification, Third Edition, 2005.

J. Hannemann and G. Kiczales, Design Pattern implementation in Java and AspectJ, Proceedings of the 2002 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications, pp.161-173, 2002.

W. Havinga, L. Bergmans, and M. Aksit, Prototyping and Composing Aspect Languages, Proceedings of the 22nd European Conference in Object- Oriented Programming, pp.180-206, 2008.
DOI : 10.1007/978-3-540-70592-5_9

W. Havinga, L. Bergmans, and M. Aksit, Prototyping and composing aspect languages using an aspect interpreter framework, Proceedings of the 3rd Domain-Specific Aspect Languages Workshop (DSAL), AOSD, 2008.
DOI : 10.1007/978-3-540-70592-5_9

E. Hilsdale and J. Hugunin, Advice weaving in AspectJ, Proceedings of the 3rd international conference on Aspect-oriented software development , AOSD '04, pp.26-35, 2004.
DOI : 10.1145/976270.976276

R. Hirschfeld, P. Costanza, and M. Haupt, An Introduction to Context-Oriented Programming with ContextS, Lecture Notes in Computer Science, vol.5235, pp.396-407, 2007.
DOI : 10.1007/978-3-540-88643-3_9

G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm et al., An Overview of AspectJ, Proceedings of the 15th European Conference in Object-Oriented Programming number 2072 in Lecture Notes in Computer Science, pp.327-353, 2001.
DOI : 10.1007/3-540-45337-7_18

G. Kiczales, J. D. Rivì, and D. G. Bobrow, The Art of the Metaobject Protocol, 1991.

I. Kisely, Aspect-Oriented Programming with AspectJ, 2002.

S. Kojarski, Third-Party Composition of AOP Mechanisms, 2008.

S. Kojarski, K. Lieberherr, D. H. Lorenz, and R. Hirschfeld, Aspectual reflection, Workshop on Software-engineering Properties of Languages for Aspect Technologies, 2003.

S. Kojarski and D. H. Lorenz, Pluggable AOP: designing aspect mechanisms for third-party composition, OOPSLA, pp.247-263, 2005.

S. Kojarski and D. H. Lorenz, Modeling aspect mechanisms, Proceeding of the 28th international conference on Software engineering , ICSE '06, pp.212-221, 2006.
DOI : 10.1145/1134285.1134316

S. Kojarski and D. H. Lorenz, AWESOME: an aspect co-weaving system for composing multiple aspect-oriented extensions, Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp.515-534, 2007.

S. Kojarski and D. H. Lorenz, Identifying Feature Interactions in Multi-Language Aspect-Oriented Frameworks, 29th International Conference on Software Engineering (ICSE'07), pp.147-157, 2007.
DOI : 10.1109/ICSE.2007.43

R. Lämmel, A semantical approach to method-call interception, Proceedings of the 1st international conference on Aspect-oriented software development , AOSD '02, pp.41-55, 2002.
DOI : 10.1145/508386.508392

C. Videira and L. , D: A Language Framework For Distributed Programming, 1997.

H. David, S. Lorenz, and . Kojarski, Feature interaction in aspectj 5, Workshop on Software-engineering Properties of Languages for Aspect Technologies, 2006.

H. David, S. Lorenz, and . Kojarski, Understanding aspect interactions, co-advising and foreign advising, Proceedings of ADI 2007 -Workshop on Aspects, Dependencies, and Interactions at ECOOP, 2007.

J. Magee and J. Kramer, Concurrency: State Models & Java Programs, 1999.

A. Marot and R. Wuyts, Composability of aspects, Proceedings of the 2008 AOSD workshop on Software engineering properties of languages and aspect technologies, SPLAT '08, 2008.
DOI : 10.1145/1408647.1408652

A. Marot and R. Wuyts, A DSL to declare aspect execution order, Proceedings of the 2008 AOSD workshop on Domain-specific aspect languages, DSAL '08, 2008.
DOI : 10.1145/1404927.1404934

A. Marot and R. Wuyts, Composing aspects with aspects, Proceedings of the Eighth International Conference on Aspect-Oriented Software Development, AOSD '10, pp.157-168, 2010.
DOI : 10.1145/1739230.1739249

H. Masuhara, Y. Endoh, and A. Yonezawa, A Fine-Grained Join Point Model for More Reusable Aspects, Proceedings of 4th Asian Symposium in Programming Languages and Systems, APLAS 2006, pp.131-147, 2006.
DOI : 10.1007/11924661_8

H. Masuhara and G. Kiczales, Modeling Crosscutting in Aspect-Oriented Mechanisms, Proceedings of the 17th European Conference in Object- Oriented Programming, pp.2-28, 2003.
DOI : 10.1007/978-3-540-45070-2_2

H. Masuhara, G. Kiczales, and C. Dutchyn, Compilation semantics of aspectoriented programs, FOAL 2002 Proceedings - Foundations of Aspect-Oriented Languages -Workshop at AOSD 2002, pp.17-26, 2002.

H. Masuhara, G. Kiczales, and C. Dutchyn, A Compilation and Optimization Model for Aspect-Oriented Programs, Proceedings of the 12th International Conference in Compiler Construction, CC 2003, pp.46-60, 2003.
DOI : 10.1007/3-540-36579-6_4

M. Pessoa, M. , and J. M. Fernandes, Pitfalls of AspectJ Implementations of Some of the Gang-of-Four Design Patterns, Proceedings of the Desarrollo de Software Orientado a Aspectos (DSOA'2004) workshop, 2004.

H. Nielson and F. Nielson, Semantics with Applications, a Formal Introduction, 1999.

A. Núñez and J. Noyé, A Domain-Specific Language for Coordinating Concurrent Aspects in Java. InTroisì eme journée Francophone sur le Développement de Logiciels par Aspects, 2007.

A. Núñez, J. Noyé, and V. Gasi¯-unas, Declarative definition of contexts with polymorphic events, COP '09: International Workshop on Context-Oriented Programming, pp.1-6, 2009.

L. Rodríguez, E. Tanter, and J. Noyé, Supporting Dynamic Crosscutting with Partial Behavioral Reflection: A Case Study, XXIV International Conference of the Chilean Computer Science Society, pp.48-58, 2004.
DOI : 10.1109/QEST.2004.22

A. Shah and M. Shonle, The XAspects Guide. Northeastern University's College

M. Shonle, K. J. Lieberherr, and A. Shah, XAspects, Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications , OOPSLA '03, pp.28-37, 2003.
DOI : 10.1145/949344.949349

E. Tanter, Aspects of Composition in the Reflex AOP Kernel, Löwe and Südholt [71], pp.98-113
DOI : 10.1007/11821946_7

E. Tanter, An extensible kernel language for AOP, Proceedings of AOSD Workshop on Open and Dynamic Aspect Languages, 2006.

E. Tanter, On dynamically-scoped crosscutting mechanisms, Proceedings of the 7th International Conference on Aspect-Oriented Software Development, pp.27-33, 2007.
DOI : 10.1145/1241761.1241764

E. Tanter, K. Gybels, M. Denker, and A. Bergel, Context-Aware Aspects, Löwe and Südholt [71], pp.227-242
DOI : 10.1007/11821946_15

URL : https://hal.archives-ouvertes.fr/inria-00555956

E. Tanter and J. Noyé, A Versatile Kernel for Multi-language AOP, Proceedings of the 4th International Conference in Generative Programming and Component Engineering, GPCE 2005 Proceedings of the 2003 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications, pp.173-188, 2003.
DOI : 10.1007/11561347_13

URL : https://hal.archives-ouvertes.fr/hal-00457203

R. Toledo and . Tanter, A lightweight and extensible AspectJ implementation, Journal of Universal Computer Science, vol.14, issue.21, pp.3517-3533, 2008.

R. Toledo, E. Tanter, J. Piquer, D. Caromel, and M. Leyton, Using ReflexD for a Grid solution to the n-queens problem, Proceedings of the CoreGRID Integration Workshop, pp.37-48, 2006.

N. Ubayashi, G. Moriyama, H. Masuhara, and T. Tamai, A parameterized interpreter for modeling different AOP mechanisms, Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering , ASE '05, pp.194-203, 2005.
DOI : 10.1145/1101908.1101938

E. Visser, Syntax Definition for Language Prototyping, 1997.

E. Visser, Program Transformation with Stratego/XT, Domain-Specific Program Generation, pp.216-238, 2003.
DOI : 10.1007/978-3-540-25935-0_13

M. Wand, Understanding aspects: extended abstract, Proceedings of the Eighth ACM SIGPLAN International Conference on Functional Programming, pp.299-300, 2003.

M. Wand, G. Kiczales, and C. Dutchyn, A semantics for advice and dynamic join points in aspect-oriented programming, ACM Transactions on Programming Languages and Systems, vol.26, issue.5, pp.890-910, 2004.
DOI : 10.1145/1018203.1018208

P. Martin and . Ward, Language-oriented programming. Software -Concepts and Tools, pp.147-161, 1994.