Modeling Crosscutting in Aspect-Oriented Mechanisms

Modeling four aspect-oriented programming mechanisms shows the way in which each supports modular crosscutting. Comparing the models produces a clear three part characterization of what is required to support crosscutting structure: a common frame of reference that two (or more) programs can use to connect with each other and each provide their semantic contribution.

[1]  Lidia Fuentes,et al.  Separation of coordination in a dynamic aspect oriented framework , 2002, AOSD '02.

[2]  David A. Moon,et al.  Flavors: Message Passing in the Lisp Machine. , 1980 .

[3]  Oege de Moor,et al.  Static analysis of aspects , 2003, AOSD '03.

[4]  R. Kent Dybvig,et al.  Revised5 Report on the Algorithmic Language Scheme , 1986, SIGP.

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

[6]  David A. Moon,et al.  Object-oriented programming with flavors , 1986, OOPLSA '86.

[7]  Satoshi Matsuoka,et al.  Metalevel Architectures and Separation of Crosscutting Concerns , 2001, Lecture Notes in Computer Science.

[8]  Karl J. Lieberherr,et al.  DJ: Dynamic Adaptive Programming in Java , 2001, Reflection.

[9]  Todd D. Millstein,et al.  Modular Statically Typed Multimethods , 1999, Inf. Comput..

[10]  Olivier Motelet,et al.  A Formal Definition of Crosscuts , 2001, Reflection.

[11]  Jørgen Lindskov Knudsen ECOOP 2001 — Object-Oriented Programming , 2001, Lecture Notes in Computer Science.

[12]  Karl Lieberherr,et al.  Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns , 1995 .

[13]  Daniel P. Friedman,et al.  Aspect-Oriented Programming is Quantification and Obliviousness , 2000 .

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

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

[16]  William G. Griswold,et al.  Getting started with ASPECTJ , 2001, CACM.

[17]  Bedir Tekinerdogan,et al.  Aspect Composition using Comparition Filters , 2002 .

[18]  Robert Hieb,et al.  Revised 5 Report on the Algorithmic Language , 1999 .

[19]  Doug Orleans,et al.  Incremental programming with extensible decisions , 2002, AOSD '02.

[20]  Harold Ossher,et al.  Using multidimensional separation of concerns to (re)shape evolving software , 2001, CACM.

[21]  Gary T. Leavens,et al.  MultiJava: modular open classes and symmetric multiple dispatch for Java , 2000, OOPSLA '00.

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

[23]  Karl J. Lieberherr,et al.  Aspect-oriented programming with adaptive methods , 2001, CACM.

[24]  Mitchell Wand A Semantics for Advice and Dynamic Join Points in Aspect-Oriented Programming , 2001, SAIG.

[25]  James H. Andrews,et al.  Process-Algebraic Foundations of Aspect-Oriented Programming , 2001, Reflection.

[26]  Karl J. Lieberherr,et al.  Preventive Program Maintenance in Demeter/Java , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[27]  Stanley M. Sutton,et al.  Hyper/J™: multi-dimensional separation of concerns for Java™ , 2001, ICSE '02.

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

[29]  Peter H. Golde,et al.  C# Language Specification , 2003 .

[30]  Rachid Guerraoui,et al.  ECOOP’ 99 — Object-Oriented Programming , 1999, Lecture Notes in Computer Science.

[31]  Mehmet Aksit Software Architectures and Component Technology: The State of the Art in Research and Practice , 2001 .

[32]  Ralf Lämmel,et al.  A semantical approach to method-call interception , 2002, AOSD '02.

[33]  Satoshi Matsuoka,et al.  ECOOP'97 — Object-Oriented Programming , 1997, Lecture Notes in Computer Science.

[34]  Mitchell Wand,et al.  Essentials of programming languages , 2008 .