Building and Deploying Self-Adaptable Home Applications
Abstract
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.