A Collection-oriented Application Framework for Mobile Information Systems

Mobile devices have gone through a dramatic evolution since the introduction of mobile phones. The increase of computational and storage capacities together with the additional sensory and interaction facilities have turned a special-purpose device dedicated to making and receiving phone calls into a general-purpose computing platform. The latest generation of mobile devices are capable of hosting a wide range of applications. A new class of mobile applications was established, which integrate the notion of location, support for opportunistic information creation and sharing, and social context-awareness. The emergence of online application stores and the number of available applications reflects their popularity among end users as well as developers. Growing developer communities driven by the availability of platforms for application development have produced a vast number and variety of mobile applications. However, existing programming platforms for mobile devices do not tap the full potential of application development support. The application programming interfaces (APIs) they offer may achieve efficiency and flexibility, but their lack of abstraction unnecessarily complicates the development process. Typical requirements such as persistent data management, information sharing, location awareness and physical proximity sensing need to be implemented at a low-level and reimplemented for each application. Furthermore, the data models of these APIs often introduce impedance mismatches with the programming language data model. In contrast, research in peer-to-peer and mobile application frameworks and middleware as well as object databases and database programming languages in general, has produced various forms of support for application development. These include advanced models for data-centric applications as well as domain-specific high-level abstractions for peer-to-peer networks, context-awareness, transparent data persistence and dissemination. This thesis investigates how mobile information system development could be better supported in terms of simplifying the act of designing and implementing systems, by providing high-level abstractions meeting common requirements. In order to identify the core characteristics and key requirements of these systems, we analysed existing applications from online stores and innovative mobile information systems proposed in research. To support the common requirements such as information sharing, persistent data management, physical proximity and location-awareness, we developed a collection-oriented application framework on top of existing programming platforms. It may be used as a library through an API or as a runtime system supporting programmatic and user interaction. Moreover, the individual concepts developed in this thesis could also be adopted and applied in isolation. At the centre of the framework is the concept of shared collections. These collections support the sharing of information commonly required by mobile applications. Information may be shared among devices in a peer-to-peer manner, between clients