POBICOS is a small and medium-scale focused research project (STREP) in the ICT area co-funded by the European Commission under EU Framework Programme 7 (FP7). It is running for three years from May 2008 to May 2011.
Problem statement and goal of the project
The recent advances in lowpower electronics, miniaturisation and wireless communications have created the opportunity to embed sensing, actuating and computing functionality into everyday objects. Although this has already happened to some degree, the full potential of the current lowlevel technology remains unexploited due to the inability to programme such object collections in a straightforward way.
Developing applications for such a community of digitally enhanced objects and appliances is hard for at least two reasons. Firstly, these objects can be very heterogeneous in terms of sensing, actuating and computing resources. Secondly, the actual mix of objects that are available at runtime in a given setting is typically unknown at development time. As a consequence, the programmer does not know and cannot assume exactly which objects (hence which resources) will be available in the environment where the application will be eventually deployed. This combination of (a) the heterogeneity of the object community and (b) the lack of knowledge about object availability at runtime poses a great challenge in terms of application development.
To build ubiquitously deployable applications, the programmer must write applications which are able to automatically exploit whatever "opportunities", i.e. sensor, actuator and computing resources, happen to be available at any given setting. Moreover, these opportunities should be sought as to meet both functional and nonfunctional requirements of the application in the best possible way, scaling gracefully as a function of which and how many of the required resources are available. For example, it could be possible to accomplish a given task not just with a prespecified sensor or actuator, but with any one or more instances belonging to the same of a compatible resource class. Similarly, to minimise energy consumption of batterypowered nodes, processingintensive tasks could be transferred to nodes with ample energy supply and appropriate computing resources.
We refer to the abovedescribed functionality as opportunistic behaviour, and its applications in pervasive computing environments as opportunistic pervasive computing. The goal of the POBICOS project is to actively research and offer support for opportunistic pervasive computing applications by building a platform that enables the easy programming of partially unknown, heterogeneous object communities, and which addresses the key phases of the application lifecycle: development, deployment, and runtime.