Dynamically Programmable and Reconfigurable Middleware Services

The increasing software complexity and proliferation of distributed applications for cell phones demand the introduction of middleware services to assist in the development of advanced applications. However, from the user perspective, it is essential that these new phones provide a smooth error-free experience. Despite of the complexity underlying a cell phone, placing a phone call remains a simple task that can be performed by most users regardless of their technical background. Furthermore, cell phones rarely crash (especially compared to PCs) and carriers are able to correct certain problems remotely without user intervention.We advocate for a middleware infrastructure that allows carriers and developers to correct middleware behavior, configure it, and upgrade it, without requiring user intervention and without stopping the execution of applications. We introduce a new technique we refer to as externalization. This technique explicitly externalizes the state, the logic, and the internal component structure of middleware services. As a result, carriers and developers have full control over these middleware services. They can access, inspect, and modify the state, logic, and structure of middleware services at runtime while preserving the execution of existing applications and providing an error-free experience to users. We claim that externalization is the key for the future evolution of cell phones' middleware infrastructure.

[1]  Ophir Frieder,et al.  On-the-fly program modification: systems for dynamic updating , 1993, IEEE Software.

[2]  Gordon S. Blair,et al.  Arctic beans, configurable and re-configurable enterprise component architectures , 2001 .

[3]  C. Petri Kommunikation mit Automaten , 1962 .

[4]  Gordon S. Blair,et al.  The Design and Implementation of Open ORB 2 , 2001, IEEE Distributed Syst. Online.

[5]  M. F.,et al.  Bibliography , 1985, Experimental Gerontology.

[6]  Gordon S. Blair,et al.  Exploiting reflection in mobile computing middleware , 2002, MOCO.

[7]  M. Roman,et al.  Design and implementation of runtime reflection in communication middleware: the dynamicTAO case , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems. Workshops on Electronic Commerce and Web-based Applications. Middleware.

[8]  Gordon S. Blair,et al.  AN APPROACH TO BUILDING REFLECTIVE COMPONENT-BASED MIDDLEWARE PLATFORMS , 2002 .

[9]  Pattie Maes Concepts and experiments in computational reflection , 1987, OOPSLA 1987.

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

[11]  Chee-Wei Ang,et al.  Dynamically loadable protocol stacks - a message parser-generator implementation , 2004, IEEE Internet Computing.

[12]  Scott Nettles,et al.  Dynamic software updating , 2001, PLDI '01.

[13]  Robbert van Renesse,et al.  Building adaptive systems using ensemble , 1998 .

[14]  Matti A. Hiltunen,et al.  Survivability through customization and adaptability: the Cactus approach , 2000, Proceedings DARPA Information Survivability Conference and Exposition. DISCEX'00.

[15]  Philippe Bonnet,et al.  Personal servers as digital keys , 2004, Second IEEE Annual Conference on Pervasive Computing and Communications, 2004. Proceedings of the.