MUSIC Lessons or How to Develop Adaptive Applications for Ubiquitous Computing Environments?

Adaptive applications modify their behaviour at run-time in response to significant changes in their operating context. In particular, ubiquitous computing applications require run-time adaptivity due to the inherently dynamic nature of the computing environment. We discuss the specific adaptation requirements and constraints of such scenarios. The MUSIC project has developed a comprehensive solution that is based on architectural adaptation and extended context management with dynamic service discovery. An application component may be substituted by an external, dynamically discovered service at run-time, if the utility of the application is increased by the reconfiguration. The development of such adaptive applications is a complex and challenging task. We present our new model-driven development methodology. The core of the approach is an architectural variability model that specifies application variants and their dependencies on the operating context. It takes into account the specific requirements of ubiquitous computing scenarios. Experiences with case studies and open research questions will be discussed at the end of the talk.