Towards the Development of Ubiquitous Middleware Product Lines

Ubiquitous computing is a challenge for the design of middleware. The reasons are resource constraints, mobility, heterogeneity, etc., just to name a few. We argue that such middleware has to be tailored to the application scenario as well as to the target platform. Such tailor-made middleware has to be be built from minimal fine-grained components, and the system structure must be highly configurable, as we will explain. We propose to use the well-known mixin layer approach to build the flexible lightweight middleware envisioned. We show that the thoughtful use of mixin layers is promising in this specific domain and allows to deal with issues such as device heterogeneity and resource constraints. To do so, we present the design and implementation of a middleware and three configurations derived from it. Our evaluation criteria are the number of supported features and the memory footprint. The middleware configurations derived perform well in these respects.

[1]  Kyle A. Gallivan,et al.  The gSOAP Toolkit for Web Services and Peer-to-Peer Computing Networks , 2002, 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGRID'02).

[2]  Guoliang Xing,et al.  Middleware specialization for memory-constrained networked embedded systems , 2004, Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004..

[3]  Don S. Batory,et al.  The design and implementation of hierarchical software systems with reusable components , 1992, TSEM.

[4]  Yannis Smaragdakis,et al.  Mixin layers: an object-oriented implementation technique for refinements and collaboration-based designs , 2002, TSEM.

[5]  Thomas Ledoux,et al.  OpenCorba: A Reflektive Open Broker , 1999, Reflection.

[6]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[7]  H. Lipkin Where is the ?c? , 1978 .

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

[9]  William R. Cook,et al.  Mixin-based inheritance , 1990, OOPSLA/ECOOP '90.

[10]  Alexander Sverdlov Review of David L. Parnas' "Designing Software for Ease of Extension and Contraction" , 2004 .

[11]  D. Box,et al.  Simple object access protocol (SOAP) 1.1 , 2000 .

[12]  Jeff Parsons,et al.  ORB middleware evolution for networked embedded systems , 2003, Proceedings of the Eighth International Workshop on Object-Oriented Real-Time Dependable Systems, 2003. (WORDS 2003)..

[13]  Harold Ossher,et al.  Multi-Dimensional Separation of Concerns and the Hyperspace Approach , 2002 .

[14]  David E. Bakken,et al.  A configurable middleware framework with multiple quality of service properties for small embedded systems , 2003, Second IEEE International Symposium on Network Computing and Applications, 2003. NCA 2003..

[15]  Eric Eide,et al.  Dynamic CPU management for real-time, middleware-based systems , 2004, Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004..

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

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

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

[19]  Don Batory,et al.  Scaling step-wise refinement , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[20]  James H. Aylor,et al.  Computer for the 21st Century , 1999, Computer.

[21]  Don Batory,et al.  Java Layers: Extending Java to Support Component-Based Programming , 2000 .

[22]  Gordon S. Blair,et al.  ReMMoC: A Reflective Middleware to Support Mobile Client Interoperability , 2003, OTM.

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

[24]  M. Weiser,et al.  Hot topics-ubiquitous computing , 1993 .

[25]  Fabio Kon,et al.  Reflective Middleware: From Your Desk to Your Hand , 2001, IEEE Distributed Syst. Online.

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

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

[28]  Stephen M. Omohundro,et al.  The Sather programming language , 1993 .