On adaptable middleware product lines

Middleware helps to manage the complexity and heterogeneity inherent in distributed systems. Traditional middleware has a monolithic architecture, which makes it difficult to adapt to special requirements such as those present in embedded applications. Middleware for small devices has to cope with a broad range of requirements as well as with the stringent resource constraints. In this paper we propose a family-based approach based on aspect-oriented programming (AOP) for the implementation of middleware product lines which are highly configurable and adaptable. Such an adaptable middleware is statically configured according to the requirements of the specific distributed application. Furthermore, the middleware is also capable of adapting to the dynamics of the distributed embedded system by dynamically reconfiguring itself during runtime. An efficient dynamic aspect weaver is needed for this kind of adaptability. We also discuss a family of dynamic weavers that complements our study of the family based middleware.

[1]  Douglas C. Schmidt,et al.  Towards highly configurable real-time object request brokers , 2002, Proceedings Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISIRC 2002.

[2]  Gustavo Alonso,et al.  Dynamic weaving for aspect-oriented programming , 2002, AOSD '02.

[3]  Cecilia Mascolo,et al.  Middleware for mobile computing: awareness vs. transparency , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[4]  Tzilla Elrad,et al.  Supporting the Design of Adaptable Operating Systems Using Aspect-Oriented Frameworks , 2000, PDPTA.

[5]  Shigeru Chiba,et al.  A Selective, Just-in-Time Aspect Weaver , 2003, GPCE.

[6]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[7]  Michael Haupt,et al.  Axon | Dynamic AOP through Runtime Inspection and Monitoring , 2003 .

[8]  James Gosling,et al.  The Real-Time Specification for Java , 2000, Computer.

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

[10]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

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

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

[13]  David Lorge Parnas,et al.  Review of David L. Parnas' "Designing Software for Ease of Extension and Contraction" , 2004 .

[14]  Wolfgang Schröder-Preikschat,et al.  AspectC++: an aspect-oriented extension to the C++ programming language , 2002 .

[15]  Danilo Beuche,et al.  The PURE family of object-oriented operating systems for deeply embedded systems , 1999, Proceedings 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'99) (Cat. No.99-61702).

[16]  Y.-J. Chen,et al.  ECOLE DES MINES DE NANTES , 2003 .

[17]  Gordon S. Blair,et al.  Reflection, self-awareness and self-healing in OpenORB , 2002, WOSS '02.