The art of the meta-aspect protocol

Alternative semantics for aspect-oriented abstractions can be defined by language designers using extensible aspect compiler frameworks. However, application developers are prevented from tailoring the language semantics in an application-specific manner. To address this problem, we propose an architecture for aspect-oriented languages with an explicit meta-interface to language semantics. We demonstrate the benefits of such an architecture by presenting several scenarios in which aspect-oriented programs use the meta-interface of the language to tailor its semantics to a particular application execution context.

[1]  Alfred V. Aho,et al.  Debugging Aspect-Enabled Programs , 2007, SC@ETAPS.

[2]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[3]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[4]  Robert Hirschfeld AspectS - AOP with Squeak , 2001 .

[5]  Guy L. Steele,et al.  Java Language Specification, Second Edition: The Java Series , 2000 .

[6]  Lynne Blair,et al.  Separating Interaction Concerns from Distributed Feature Components , 2003, SC.

[7]  John R. Gurd,et al.  Groovy AOP: a dynamic AOP system for a JVM-based language , 2008 .

[8]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[9]  Michael Haupt,et al.  Virtual machine support for dynamic join points , 2004, AOSD '04.

[10]  James Gosling,et al.  The Java Language Specification, 3rd Edition , 2005 .

[11]  Lodewijk Bergmans,et al.  Prototyping and Composing Aspect Languages , 2008, ECOOP.

[12]  Ondrej Lhoták,et al.  abc: an extensible AspectJ compiler , 2005, AOSD '05.

[13]  Gregor Kiczales,et al.  Beyond the Black Box: Open Implementation , 1996, IEEE Softw..

[14]  Éric Tanter,et al.  Aspects of Composition in the Reflex AOP Kernel , 2006, SC@ETAPS.

[15]  Wouter Joosen,et al.  Modeling Context-Dependent Aspect Interference Using Default Logics , 2008, RAM-SE.

[16]  James Gosling The Java Language Specification - Second Edition , 2000 .

[17]  Günter Kniesel,et al.  Detection and Resolution of Weaving Interactions , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[18]  David H. Lorenz,et al.  Modeling aspect mechanisms: a top-down approach , 2006, ICSE.

[19]  Akinori Yonezawa,et al.  A Fine-Grained Join Point Model for More Reusable Aspects , 2006, APLAS.

[20]  Gregory T. Sullivan Aspect-oriented programming using reflection and metaobject protocols , 2001, CACM.

[21]  Mehmet Aksit,et al.  Principles and Design Rationale of Composition Filters , 2004 .

[22]  David H. Lorenz,et al.  AOP as a first class reflective mechanism , 2004, OOPSLA '04.

[23]  Rémi Douence,et al.  A Framework for the Detection and Resolution of Aspect Interactions , 2002, GPCE.

[24]  Thaís Vasconcelos Batista,et al.  AspectLua - A Dynamic AOP Approach , 2005, J. Univers. Comput. Sci..

[25]  Kim Mens,et al.  Building Composable Aspect-Specific Languages with Logic Metaprogramming , 2002, GPCE.

[26]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[27]  David H. Lorenz,et al.  Awesome: an aspect co-weaving system for composing multiple aspect-oriented extensions , 2007, OOPSLA.

[28]  Hidehiko Masuhara,et al.  A Compilation and Optimization Model for Aspect-Oriented Programs , 2003, CC.

[29]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[30]  Lynne Blair,et al.  An adaptive run time manager for the dynamic integration and interaction resolution of features , 2002, Proceedings 22nd International Conference on Distributed Computing Systems Workshops.

[31]  Mira Mezini,et al.  Dynamically linked domain-specific extensions for advice languages , 2008 .

[32]  Robert Hirschfeld,et al.  AspectS - Aspect-Oriented Programming with Squeak , 2002, NetObjectDays.

[33]  Lodewijk Bergmans,et al.  Composing crosscutting concerns using composition filters , 2001, CACM.

[34]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[35]  Wim Vanderperren,et al.  JAsCo: an aspect-oriented approach tailored for component based software development , 2003, AOSD '03.

[36]  Paul J. Kühn,et al.  The Feature and Service Interaction Problem in Telecommunications Systems. A Survey , 1998, IEEE Trans. Software Eng..

[37]  Torbjörn Ekman,et al.  Modularity first: a case for mixing AOP and attribute grammars , 2008, AOSD.

[38]  Paul King,et al.  Groovy in Action , 2007 .

[39]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[40]  Lodewijk Bergmans,et al.  Prototyping and Composing Aspect Languages: using an Aspect Interpreter Framework , 2007 .

[41]  Awais Rashid,et al.  Aspects and Evolution: The Case for Versioned Types and Meta-Aspect Protocols , 2006, RAM-SE.