1 Department of Computer Science, Faculty of Science, Aarhus University, Aarhus University2 Department of Computer Science, Science and Technology, Aarhus University3 Department of Computer Science, Science and Technology, Aarhus University
The focus on mobile devices is continuously increasing, and improved device connectivity enables the construction of pervasive computing systems composed of heterogeneous collections of devices. Users who employ different devices throughout their daily activities naturally expect their applications to be avail- able in some form on whatever device they are currently using. Virtual machines for mainstream languages such as Java provide some degree of platform indepen- dence (platforms such as J2ME only provide a limited subset of the complete functionality), but do not intrinsically support application mobility. Mobile agent platforms are often based on such virtual machines, but typically do not provide strong mobility (the ability to migrate at any program point), and have limited support for multi-threaded applications, although there are exceptions. For a virtual machine to support mobile applications, we consider it essential that a standard object-oriented style of programming can be used for those parts of the application that do not concern its mobility. This position paper describes an ongoing effort to implement a language and a virtual machine for applications that execute in a pervasive computing environment. This system, named POM (Pervasive Object Model), supports applications split into coarse-grained, strongly mobile units that communicate using method invocations through proxies. We are currently investigating efficient execution of mobile applications, scalability to suit the availability of local resources (primarily for interaction with the user), and language design issues.