Call for Papers
In mobile and pervasive computing environments, devices increasingly must take on some "intelligence" to perform their tasks, requiring adaptive and autonomous behaviour on the part of the systems developed. Mobile personal devices such as telephones are envisioned as "intelligent assistants" that may compensate for the limitations of the user interface by asynchronously performing interactions with other devices on behalf of the device owner. Such devices may tailor their behaviour both to the current location and to the ambient context, which includes nearby devices. Smart spaces may in turn adapt their behaviour based on mobile devices in their vicinity, for example, turning off lights when people are not present or choosing not to divulge confidential information while untrusted parties are present. At the infrastructural level, autonomic network management adapts network behaviour to maintain quality of service over dynamic changes in load and environment, taking advantage of the capabilitiew of the devices actually being used for interaction. Wireless sensor networks must demonstrate stable and long-lived behaviour with little or no human intervention. Cognitive radio supposes a device that senses its radio environments and adapts to available frequencies and protocols, as part of its interaction with that environment.
All these technologies are pervasive in the sense of providing seamless, context-aware access to services - and all share common challenges for progammers in terms of reasoning about, and adapting to, the changing environment in which they compute. Service developers must be able to describe their systems' desired behaviours, the adaptations they will make, and the circumstances that will trigger these adaptations. Critically, they must also be able to reason about these adaptations over time, to guarantee that systems demonstrate the correct adaptation at the appropriate time. So programming the behaviour of such systems must take into account both the evolving physical context of their execution (where they are) and the history of their execution (how they got there).
The challenges raised by programming such components demonstrate a need to re-think existing programming approaches, APIs, languages and methods. The importance of developing new programming models is both in raising the level of abstraction, and therefore increasing the productivity of developers, and also in improving the reliability and security of mobile and pervasive systems. Given the importance of security and privacy in pervasive systems, approaches from language-based security may also be fruitfully employed. We can see some developments for example in the emergence of theoretical programming models, such as ambient calculi or mereotopologicial context models, that are intended to describe the semantics of mobile and context-aware systems. There is also a a need for suitable toolkits for application developers, such as the Context Toolkit and the Java Context Awareness Framework. Programming abstractions such as virtual walls have been proposed specifically to cope with the challenges of security and privacy in such environments. Drawing on these and other examples, we may now be able to distill useful software architectures, design patterns, APIs and domain-specific language designs that can form the foundation for the next generation of pervasive systems.
The aim of this workshop is to bring together researchers in programming languages, software architecture and design, and pervasive systems to present and discuss results and approaches to the development of mobile and pervasive systems. The goal is to begin the process of developing the software design and development tools necessary for the next generation of services in dynamic environments, including mobile and pervasive computing, wireless sensor networks, and adaptive devices.
Potential workshop participants are asked to submit a paper on topics relevant to programming models for mobile and pervasive systems. We are primarily seeking short position papers (2–4 pages), although full papers that have not been published and are not under consideration elsewhere will also be considered (a maximum of 10 pages). Position papers that lay out some of the challenges to programming mobile and pervasive systems, including past failures, are welcome. Papers longer than 10 pages may be automatically rejected by the chairs or the programme committee. From the submissions, the programme committee will strive to balance participation between academia and industry and across topics. Selected papers will appear on the workshop web site; PMMPS has no formal published proceedings. Authors of selected papers will be invited to submit extended versions for publication in an appropriate journal (under negotiation).