Archived: 30 January 2006
University of Adelaide Masters by coursework thesis, June 2004.
Supervisors: Paul Coddington and Andrew Wendelborn
Recent advances in wireless networking technologies, such as Wi-Fi and 3G, and the increasing popularity of mobile devices, such as mobile phones and personal digital assistants are enabling new classes of applications that present challenging problems to designers. They always have scarce resources, such as reduced CPU capacity, little memory, limited battery power. They are likely to have fluctuating bandwidth and possible disconnection. Applications run on the mobile devices are executed in an extremely unsteady computing environment. So applications have to be aware of, and adapt to, variations in the execution context in order to get better performance and higher efficiency.
However, building applications directly on top of the mobile operating system is tedious and error-prone, because application designers have to deal with performance issues explicitly. The middleware sitting between the mobile operating system and applications would provide application developers with abstractions and mechanisms to deal with the adaptation to changing computing environment.
We investigate the concept of meta-level programming paradigm and demonstrate how it can be used to create an adaptive middleware architecture to support dynamic adaptation to context changes. We introduce the Enigma model as an implementation of Meta-Object Protocol, and how Enigma can be used to construct an adaptive middleware to provide dynamic customizable service to mobile applications by using different policies when request in different contexts. Based on this abstraction, current middleware behavior, with respect to a particular application, is reified in an application profile, and made accessible to the application for run-time inspection and adaptation. Applications can modify the information encoded in their profile to alter middleware behavior accordingly.
This project focuses on the design of prototype adaptive middleware architecture for mobile computing system. The design is based on the reflection mechanism and the policy specification techniques. We develop an example application run on mobile devices for searching mobile phone numbers to demonstrate the advantages of our adaptive middleware system.