The Design Principles and Practices of Interoperable Smart Spaces

The Design Principles and Practices of Interoperable Smart Spaces

Eila Ovaska (VTT Technical Research Centre of Finland, Finland), Tullio Salmon Cinotti (Università di Bologna, Italy) and Alessandra Toninelli (INRIA, France)
DOI: 10.4018/978-1-60960-735-7.ch002
OnDemand PDF Download:
No Current Special Offers


Smart spaces provide information about physical environments, shared with inherently dynamic applications. This chapter introduces a novel development approach with its focus on two key properties of smart space applications: the ability to interoperate and behave in a situation-sensitive manner. Sixteen principles are defined in order to guide the development of an interoperability platform for smart spaces and on how to create applications on top of it. The interoperability platform deals with information and is agnostic with respect to ontologies, programming languages, service frameworks, and communication technologies. The interoperability platform also supports extensibility, evolvability and context based adaptation, which allows new applications to be added and to behave in a situation based manner. Agile application development is based on scenario specifications, implemented by the means of the ontology and model driven development. The approach has been applied to the development of smart personal spaces, smart indoor spaces, and smart city applications.
Chapter Preview


Everyday life can be enriched by services that exploit pervasive computing environments, which are embedded into our surroundings. These computing environments rely heavily on sensors and sensor networks that produce a large amount of data to be analyzed and reacted to by users or/and devices (Hadim & Mohamed 2006). Since the number of these devices is increasing, the amount of information to be processed by people and devices is also rising. In order to handle the information overload, the environments are to be made to be smart.

The motivations for smart environments are quite well understood: to increase the visibility of opportunities, to support context understanding and ultimately to provide the correct information when and where it is required, even if not explicitly requested, with its content and format optimally adapted to the user situation and profile (Weiser 1993). Although smart spaces have been an interest of researchers and industrial professionals for years, there is hardly any easy working smart environment in practice. The main obstacle is the lack of the interoperability of devices and systems that provide the execution environment for ambient applications. Although the interoperability could be achieved at the device level by handling communication, connectivity and data with a set of standard protocols, selected for use in a situation based manner by using, e.g., the reflection pattern (Buschmann et al. 1996), there are still obstacles to handling the interoperability with higher system architecture levels, the service and information levels. Service interoperability concentrates on unambiguously describing service semantics, so that services can be searched and they can interact with each other (Kantarovitch & Niemelä 2008). Enhanced functionality is achieved through service discovery, matchmaking and the merged functionality of a selected set of services. Moreover, services enriched with semantic information on context and resources could provide the service that is the most suitable for the user’s preferences and the situation at hand (Soylu et al. 2009). These enrichments however have costs; they make service centric systems more complex and error prone, and increase the need of computing resources.

Recently, two promising approaches for context-awareness have been proposed; a spatial application programming model (Meier, et al 2008) and an approach that is based on Model and Ontology Driven Development (Soylu et al. 2009). The spatial application programming model uses a small set of predefined types for composing information and context. The approach has some similarity with ours, but it relies on a specific programming model, not a model driven development approach that embodies a generic ontology used for information sharing. Soylu et al. (2009) link the model driven development with ontology engineering and aim to assist context-awareness in all phases of the application development life cycle, i.e. at design time and run-time. Their special focus is on the context-awareness of the digital world, where the use of abstract models is easier and efficient. However, the approach introduced is at a conceptual level and still requires long and short term research. Our goal, on the contrary, is to adopt the semantic web technologies to physical spaces and to make the existing entities of our environments both smart and adaptive.

Complete Chapter List

Search this Book: