The overall project goal is to provide an execution environment for adaptive mobile applications, demonstrate its viability, and identify extensions that facilitate the management of province-wide wireless data services. Throughout the duration of the project, we will develop and experiment with adaptive mobile applications, based on the prototype execution environment and we will use simulation models to validate the feasibility and scalability of our ideas for a provincial cellular network.
The use of mobile wireless devices connected to the Internet is becoming more and more common. However communication over wireless links can produce dramatic changes of Quality of Service, with which the traditionally wired-oriented Internet deals badly. Therefore software for mobile devices constantly needs to adapt to its environment.
As part of its Mobile Computing Project, the Shoshin Research Group developed the Communication Manager for Mobile Applications (Comma). This tool helps Adaptive Client Applications monitor the environment and, if needed, alter computation and communication behaviour. The monitoring is handled by a component from Comma, the Execution Environment Monitor (EEM). Due to its lack of flexibility, the first version of the EEM did not enable us to create adaptive software for small, resource-poor devices such as Personal Digital Assistants (PDAs). Therefore we decided to redesign the architecture of the EEM to overcome these problems. We successfully created a new more flexible, dynamic and distributed EEM, addressing all the issues which originated from the first version of the EEM. The Comma Server is a Java application, however it is forseeable that the instrumentations for certain variables will need to be implemented in native code. The Comma Services are also written in Java.