Code reuse for improving software productivity and quality in AOP

Aspect oriented programming languages support the principle of modularity and abstraction by allowing explicit separation between aspects and system core concerns. However, using these tools does not necessarily imply loose coupling as aspect definitions may maintain explicit visibility over application components. In this paper we look at the problem of the binding of aspect definitions to application code and propose a framework that deploys reflection in order to decrease the level of coupling between them, thereby increasing the level of reusability of aspect definitions.

[1]  Mik Kersten,et al.  Atlas: a case study in building a web-based learning environment using aspect-oriented programming , 1999, OOPSLA '99.

[2]  Robert J. Walker,et al.  An initial assessment of aspect-oriented programming , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[3]  Pavol Návrat,et al.  Software Reuse: Principles, Patterns, Prospects , 1997 .

[4]  Eric Wohlstadter,et al.  Accommodating Evolution in AspectJ , 2001 .

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

[6]  Gregor Kiczales,et al.  Design pattern implementation in Java and aspectJ , 2002, OOPSLA '02.

[7]  Mehmet Aksit,et al.  Composing Multiple Concerns Using Composition Filters , 2001 .

[8]  Connecting Aspects in AspectJ : Strategies vs . Patterns , 2002 .

[9]  Jörg Kienzle,et al.  AOP: Does It Make Sense? The Case of Concurrency and Failures , 2002, ECOOP.

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

[11]  Youssef Hassoun,et al.  The development of generic definitions of hyperslice packages in Hyper/J , 2003, Electron. Notes Theor. Comput. Sci..

[12]  Carlos José Pereira de Lucena,et al.  Some Insights on the Use of AspectJ and Hyper/J , 2001 .

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

[14]  Bart De Decker,et al.  Building frameworks in aspectJ , 2001 .

[15]  Tzilla Elrad,et al.  Extending the object model to provide explicit support for crosscutting concerns , 2002, Softw. Pract. Exp..

[16]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[17]  Stefan Hanenberg,et al.  Using and Reusing Aspects in AspectJ , 2001 .

[18]  Robert J. Walker,et al.  Mapping Composition Patterns to AspectJ and Hyper/J , 2001, ICSE 2001.

[19]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

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

[21]  Stefan Hanenberg,et al.  Grouping Objects using Aspect-Oriented Adapters , 2001 .

[22]  Youssef Hassoun,et al.  Considerations on component visibility and code reusability in AspectJ , 2003 .

[23]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .