Systems for home automation can make a vital contribution to the well-being of individuals requiring moderate amounts of support for day-to-day living. Existing systems suffer both from competing and often closed standards bases and from a message-based architecture that can complicate the development of flexible applications requiring information from disparate sources. We describe a knowledge-based pervasive computing middleware and show how it can be used to provide semantically rich unification over a range of home- and web-based automation systems.
Smart homes are sensor-rich environments that contain dynamic sets of interacting components. These components often use competing and closed standards and form a message-based architecture. This complicates the development of applications that require information from disparate sources. It becomes difficult to add new components or to allow components from different applications to interact with each another. In this paper we describe Construct, a pervasive computing middleware that is ideally suited for deployment in the smart home. Construct acts as a sensor fusion layer that takes output from each smart home component and makes it available to all applications. This makes it easy to develop applications that require access to heterogeneous sources of sensor data, and to add sensors to existing systems to improve their performance. This paper demonstrates two Construct-enabled smart home applications and shows how access to new sensors leads to improvements in their performance.
The vision of pervasive computing is that objects, buildings and environments may be endowed with software intelligence to improve human interactions both with the individual objects and with the system as a whole. Realising this dream is posing significant challenges for designers - allowing individual applications to co-exist in a common space without interfering, making the capabilities of new sensors and services available to other applications as they appear and providing the necessary decentralised control to obtain robust behaviour.
Construct differs from other pervasive systems platforms in a number of key respects. It is completely standards-based, using RDF as its data exchange model and ZeroConf for resource discovery. It supports a knowledge-centric model of interaction where clients' actions are driven by queries and triggers about the context of the system. It uses gossiping to maintain a consistent state across a distributed data structure, which maximises robustness and scalability and avoids many problems with hot-spots and hot-paths in communications. Finally, it treats all information sources uniformly as sensors acting as inputs to uncertain reasoning algorithms.
In this paper we describe ConStruct, a distributed, decentralised infrastructure for the collection, processing and distribution of context information in a ubiquitous computing environment.