MobileScope: a Programming Language with Objective Mobility
Résumé
We present a new programming language, MobileScope, developed for the description of component-based distributed applications with extended support for mobility. The language and its underlying runtime system, Comet, support mobility in two flavors: physical mobility of components and virtual mobility of channels. Primarily, physical locations of components may be changed at runtime. We adopt an objective view that allows such moves to be triggered from outside the components. Moreover, the runtime systems support both weak and strong migration. We also introduce a virtual form of mobility for resource management. In MobileScope, resources are explicitly bound through channels on which components are connected dynamically. Resource bindings are thus changeable at runtime. We argue that the combination of these two mobility flavors, we name objective mobility, eases the development of applications with mobile users or devices, among other innovative mobile applications.