De-constructing and re-constructing aspect-orientation

Through its decade-and-a-half long evolution, the aspect-oriented software community has occasionally struggled with its identity -- revisiting the question "What kinds of technologies make up aspect-oriented software and who should be interested in it?" We attempt to de-construct "aspect-oriented" into several issues making up its foundation, believing that the community is inclusive and that work exploring or exploiting any of these concepts fits within the community. Although their historical setting contributes somewhat to the understanding of why different authors have emphasized one or more of these issues, we analyze them from an intrinsic point-of-view, to highlight broader or deeper issues that may lie behind the constructs currently made available, in the hope that "aspect-oriented" software technologies can be extended to provide an even stronger basis for software than they do today.

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

[2]  N.C. Mendonpa,et al.  Aspectual services: unifying service- and aspect-oriented software development , 2005, International Conference on Next Generation Web Services Practices (NWeSP'05).

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

[4]  Friedrich Steimann The paradoxical success of aspect-oriented programming , 2006, OOPSLA '06.

[5]  Andrew Clement,et al.  Large-scale AOSD for middleware , 2004, AOSD '04.

[6]  Tzilla Elrad,et al.  Aspect-oriented programming: Introduction , 2001, CACM.

[7]  Gregor Kiczales,et al.  Addressing Practical Software Development Issues in AspectJ with a Pointcut Interface , 2001 .

[8]  Harold Ossher,et al.  Subject-oriented programming: a critique of pure objects , 1993, OOPSLA '93.

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

[10]  Harold Ossher,et al.  Asymmetrically vs. Symmetrically Organized Paradigms for Software Composition , 2002 .

[11]  D. Luckham The Power of Events , 2002 .

[12]  John Lamping The Role of the Base in Aspect Oriented Programming , 1999, ECOOP Workshops.

[13]  Harold Ossher,et al.  General Composition of Software Artifacts , 2006, SC@ETAPS.

[14]  Lodewijk Bergmans,et al.  An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach , 1992, ECOOP.

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

[16]  Robert J. Walker,et al.  Implicit context: easing software evolution and reuse , 2000, SIGSOFT '00/FSE-8.

[17]  Robert E. Filman,et al.  What Is Aspect-Oriented Programming , 2001 .

[18]  David Garlan,et al.  Architectural Mismatch: Why Reuse Is So Hard , 1995, IEEE Softw..

[19]  Joel E. Richardson,et al.  Aspects: extending objects to support multiple, independent roles , 1991, SIGMOD '91.

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

[21]  Robert J. Walker,et al.  Joinpoints as Ordered Events: Towards Applying Implicit Context to Aspect-Orientation , 2001 .

[22]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[23]  Ruzanna Chitchyan,et al.  Persistence as an aspect , 2003, AOSD '03.

[24]  Harold Ossher,et al.  Operation-Level Composition: A Case in (Join) Point , 1998, ECOOP Workshops.

[25]  Jan Bosch,et al.  First class feature abstractions for product derivation , 2004, IEE Proc. Softw..