Component-Based open middleware supporting aspect-oriented software composition

State-of-the-art middleware for component-based distributed applications requires openness to support a broad and varying range of services. It also requires powerful and maintainable composition between application logic and middleware services. In this paper we describe DyMAC (Dynamic Middleware with Aspect-Components), a component and aspect-based middleware framework that supports component-based development of middleware services and offers the power of aspect-oriented composition to connect the application logic to the middleware services. We discuss the issue of a lack of expressive power in the contracts of components and aspects when combining component-based and state-of-the-art aspect-oriented development. We describe how the DyMAC framework offers a component model that solves this problem with aspect integration contracts.

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

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

[3]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[4]  Wouter Joosen,et al.  Managing semantic interference with aspect integration contracts , 2004 .

[5]  Mira Mezini,et al.  Conquering aspects with Caesar , 2003, AOSD '03.

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

[7]  D. B. Davis,et al.  Sun Microsystems Inc. , 1993 .

[8]  Laurence Duchien,et al.  JAC: A Flexible Solution for Aspect-Oriented Programming in Java , 2001, Reflection.

[9]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming, 2nd Edition , 2002, Addison-Wesley component software series.

[10]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[11]  Wouter Joosen,et al.  Dynamic and selective combination of extensions in component-based applications , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[12]  Adrian Mark Colyer,et al.  Applying AOP for Middleware Platform Independence , 2003 .

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

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

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

[16]  Andreas Rausch "Design by Contract" + "Componentware" = "Design by Signed Contract" , 2002, J. Object Technol..

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

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