Volume 24 (2016) Issue 6 Pages 878-886
An adaptive middleware system for ubiquitous computing environments, which are dynamic by nature, is proposed. The system introduces the relocation of software components to define functions between computers as a basic mechanism for adaptation on ubiquitous computing. It also defines a language for specifying adaptation policies. Since the language is defined on a theoretical foundation, it enables us to reason about and predict adaptations beforehand. It is also useful to detect conflicts or divergences that may be caused by the adaptations. It supports general-purpose software components and the relocation of the components according to policies described in the language. We describe the design and implementation of the system and present two practical applications.