Building and Deploying Self-Adaptable Home Applications

Building and Deploying Self-Adaptable Home Applications

Jianqi Yu (Grenoble University, France), Pierre Bourret (Grenoble University, France), Philippe Lalanda (Grenoble University, France) and Johann Bourcier (Grenoble University, France)
DOI: 10.4018/978-1-60960-611-4.ch003
OnDemand PDF Download:
No Current Special Offers


This chapter introduces the design of a framework to simplify the development of smart home applications featuring self-adaptable capabilities. Building such applications is a difficult task, as it deals with two main concerns a) application design and development for the business logic part, and b) application evolution management at runtime for open environments. In this chapter, the authors propose a holistic approach for building self-adaptive residential applications. They thus propose an architecture-centric model for defining home application architecture, while capturing its variability. This architecture is then sent to a runtime interpreter which dynamically builds and autonomously manages the application to maintain it within the functional bounds defined by its architecture. The whole process is supported by tools to create the architecture model and its corresponding runtime application. This approach has been validated by the implementation of several smart home applications, which have been tested on a highly evolving environment.
Chapter Preview


Pervasive computing emphasizes the use of small, intelligent and communicating daily life objects to interact with our surrounding computing infrastructure (Weiser, 1991). This new interactive computing paradigm tends to change user experience, especially since new electronic devices progressively blend into our common living environment. This is particularly true in our homes where new appliances such as digital photo frames aim to be as much decorative as they are powerful. Electronic devices become less and less perceivable by human beings. To fulfill the vision of a pervasive world, electronic devices must have the ability to communicate and integrate advanced computing features.

Research efforts have, for now, mainly focused on building hardware compatible with the vision of a pervasive world. Consequently, plenty of devices enabling part of this vision are already commercialized, whereas very few interesting applications take advantage of this new computing infrastructure.

Indeed, the complexity of building software exploiting this type of hardware infrastructure is often underestimated. Usual software engineering technologies and tools are not suitable, because several software engineering challenges remain to be solved. Specifically, the high degree of dynamism, distribution, heterogeneity and autonomy of electronic devices raises major concerns when building such applications. The very unpredictable nature of the execution environment brings issues relative to the production of applications capable of handling this uncertainty. The problem tackled in this chapter is the complexity of building smart home applications and particularly applications featuring self-management properties to meet the environment evolution requirements.

In our previous work (Escoffier, 2008), we devised a runtime infrastructure to support smart home applications. This architecture argues for the use of home gateways hosting residential applications following the service-oriented computing (SOC) paradigm (Papazoglou, 2003). The SOC paradigm is based on three major actors: service providers, service consumers and one or more service trader. A service consumer connects to a service provider by asking the trader for a suitable provider. In this work, we consider an approach called Dynamic Service-Oriented Computing, which refers to a subpart of this programming paradigm capable of handling the dynamic appearance and disappearance of service providers available to the consumer, as presented in (Escoffier, 2007). Due to several inherent characteristics, such as technology neutrality, loose coupling, location transparency and dynamics, it is commonly accepted that SOC provides a suitable paradigm to build pervasive applications (Escoffier, 2008).

Nonetheless, while this smart home platform supported the execution of residential applications, it lacked the basic functionalities for designing self-adaptive applications. We therefore propose a model capturing the architectural boundaries of a service-based application. This architecture model is interpreted at a runtime platform to create a running application, which is able to autonomously adapt to contextual changes.

Complete Chapter List

Search this Book: