Improving modularity of reflective middleware with aspect-oriented programming

Reflective middleware has been proposed as an effective way to enhance adaptability of component-oriented middleware architectures. To be effectively adaptable, the implementation of reflective middleware needs to be modular. However, some recently emerged applications such as mobile, pervasive, and embedded applications have imposed more stringent modularity requirements to the middleware design. They require support for the conception of a minimal middleware while promoting finegrained modularity of reflective middleware features. The key problem is that fundamental mechanisms for decomposing reflective middleware implementations, such as object-oriented ones, suffer from not providing the proper means to achieve the required level of localizing reflection-specific concerns. This paper presents a systematic investigation on how aspect-oriented programming scales up to improve modularity of typical reflection-specific crosscutting concerns. We have quantitatively compared Java and AspectJ implementations of an OpenORB-compliant reflective middleware using separation of concerns metrics.

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

[2]  Carlos José Pereira de Lucena,et al.  AJATO: an AspectJ Assessment Tool , 2006 .

[3]  Carlos José Pereira de Lucena,et al.  Modularizing design patterns with aspects: a quantitative study , 2005, AOSD '05.

[4]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[5]  Carlos José Pereira de Lucena,et al.  Assessing Aspect-Oriented Artifacts: Towards a Tool-Supported Quantitative Method , 2005 .

[6]  Paulo Borba,et al.  An Aspect-Oriented Implementation Method , 2004 .

[7]  Christopher Gill,et al.  Building Customizable Middleware using Aspect Oriented Programming , 2001 .

[8]  Hans-Arno Jacobsen,et al.  Generic Middleware Substrate Through Modelware , 2005, Middleware.

[9]  Philip A. Bernstein,et al.  Middleware: a model for distributed system services , 1996, CACM.

[10]  Thaís Vasconcelos Batista,et al.  Using AOP to Customize a Reflective Middleware , 2005, OTM Conferences.

[11]  Michael Eichberg,et al.  Alice: Modularization of Middleware Using Aspect-Oriented Programming , 2004, SEM.

[12]  Gordon S. Blair,et al.  Supporting adaptive multimedia applications through open bindings , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

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

[14]  Hans-Arno Jacobsen,et al.  Refactoring Middleware with Aspects , 2003, IEEE Trans. Parallel Distributed Syst..

[15]  Hans-Arno Jacobsen,et al.  Horizontal decomposition of Prevayler , 2005, CASCON.

[16]  Fabio Kon,et al.  Monitoring, Security, and Dynamic Configuration with the dynamicTAO Reflective ORB , 2000, Middleware.

[17]  Anand R. Tripathi Challenges designing next-generation middleware systems , 2002, CACM.

[18]  Carlos José Pereira de Lucena,et al.  Composing design patterns: a scalability study of aspect-oriented programming , 2006, AOSD '06.

[19]  Hans-Arno Jacobsen,et al.  Towards just-in-time middleware architectures , 2005, AOSD '05.

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

[21]  Pattie Maes,et al.  Concepts and experiments in computational reflection , 1987, OOPSLA '87.

[22]  Cyril S. Ku,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[23]  Gordon S. Blair,et al.  The case for reflective middleware , 2002, CACM.

[24]  Steven John Metsker The Design Patterns Java Workbook , 2002 .

[25]  Carlos José Pereira de Lucena,et al.  Separation of Concerns in Multi-agent Systems: An Empirical Study , 2003, SELMAS.

[26]  Cecilia Mascolo,et al.  CARISMA: Context-Aware Reflective mIddleware System for Mobile Applications , 2003, IEEE Trans. Software Eng..

[27]  Hans-Arno Jacobsen,et al.  Quantifying aspects in middleware platforms , 2003, AOSD '03.

[28]  Alessandro Garcia,et al.  A Quantitative Study on the Aspectization of Exception Handling , 2005 .