People live in an environment filled with uncountable computing devices and artifacts. In ten years, seven billion people will be surrounded by seven trillion wireless devices and sensors. Pervasive applications may play a critical role in such environments. These software systems run in a massively distributed fashion and support people on the go in their daily activities. For example, a traveler could benefit from a program that proactively provides him with adequate information—like local directions—and triggers necessary actions, such as rebooking tickets in case of a plane cancellation.
Such systems must tackle highly dynamic processes resulting from the mobility and unpredictability of users. As people travel, the computing resources around them change constantly. Moreover, people often change their minds and deviate from normal procedures, possibly invalidating the actions triggered by an application.
Therefore, the biggest obstacle in developing such a pervasive system is enabling it to unobtrusively adapt to the user. This flexibility keeps a person from having to reconfigure applications and makes the computing system disappear into the background.1
Computer scientists have developed increasingly powerful ways to let pervasive systems adjust to these changes. These approaches deal with changing resource availability 2 and mainly focus on automatically reconfiguring applications, 3,4 in response. While this allows them to react to changes in the environment, none of the existing methods adapts to people proactively.
As part of the European ALLOW project, we are addressing this problem with the concept of adaptable pervasive flows (APFs). APFs are a technology for building pervasive applications that can automatically modify their internal structure and functionality in response to changes in user behavior and environment.
APFs use classical workflow concepts to model a person's flow of activities within an overall application. This makes the structure and temporal dimension explicit and easy to manipulate. A normal program can only adapt reactively because it only knows its current state and may have limited knowledge about past states. In our approach, the APF explicitly specifies the activity flow planned for the future. Therefore, it can preemptively change course based on past, present, and future activities. This type of program is structured into a number of different tasks, which allows tasks or whole subflows to be removed, replaced, or reordered at runtime.
APFs specify tasks and transitions between them, and they are executed in parallel to people's real-world activities. In the diagram shown in Figure 1, activity sensing technology monitors the first step (walk to bus stop). As the person reaches the bus stop, the flow proceeds to the next task. The flow is thus synchronized with the user's action. Other tasks map to service invocations. For example, as part of take bus, a ticket must be purchased. In our example, the transaction is made electronically at the bus stop or in the bus. The flow automatically finds and initiates this service.
An APF is attached to a real person, and it is executed in his or her context. For example, it may note the user's current location in order to choose site-dependent services like electronic ticket purchase. In general, an APF perceives someone's current environment and may react as it moves through time and space with the user.
A traveler's flow. APFs can model a user's work flow, and can proactively adapt to changes in user behavior and environment.
APF adaptations include the substitution of a concrete step for some abstract task in the original flow, the re-mapping of services to tasks, the re-planning of existing subflows, and the evolution of flow models by learning from past ones. These adjustments may be short-term or long-term.
In addition to the core approach of APF, the ALLOW project also explores security, trust, and privacy, as well as dynamically adaptable user interfaces (UIs). APFs must allow for secure interactions between people and flows, since such concerns critically influence user acceptance of new pervasive technologies. However, the dynamics, the massive distribution, and the fact that unknown entities may be frequently encountered present significant challenges.
In order to make users less dependent on explicit interactions with a personal device like a PDA, flows must be able to exploit different methods of information exchange. This is achieved through so-called interaction spheres that move with the person. An interaction sphere is a changing ensemble of UI devices that are synthesized into a user interface adequate for the specific flow.
The ALLOW project takes a broad approach towards human-oriented pervasive systems. Researchers developing the workflow concept face diverse challenges that must be tackled in a coherent, interdisciplinary effort. To meet these challenges, the ALLOW consortium includes research institutions that focus on distributed mobile systems, workflows, automated reasoning, activity sensing and recognition, human-computer interaction, and security.
APFs are promising because they make an application's structure explicit and thus provide ample opportunity for manipulation at runtime. They may be attached to any kind of object and may therefore be relevant in domains without direct user involvement. Over the next three years, the ALLOW project will develop basic flow-based adaptation mechanisms and a software system to demonstrate the validity of this approach.