Model-Centric, Context-Aware Software Adaptation
Publisher DOI
Abstract
Software must be constantly adapted to changing requirements. The time scale, abstraction level and granularity of adaptations may vary from short-term, fine-grained adaptation to long-term, coarse-grained evolution. Fine-grained, dynamic and context-dependent adaptations can be particularly difficult to realize in long-lived, large-scale software systems. We argue that, in order to effectively and efficiently deploy such changes, adaptive applications must be built on an infrastructure that is not just model-driven, but is both model-centric and context-aware. Specifically, this means that high-level, causally-connected models of the application and the software infrastructure itself should be available at run-time, and that changes may need to be scoped to the run-time execution context. We first review the dimensions of software adaptation and evolution, and then we show how model-centric design can address the adaptation needs of a variety of applications that span these dimensions. We demonstrate through concrete examples how model-centric and context-aware designs work at the level of application interface, programming language and runtime. We then propose a research agenda for a model-centric development environment that supports dynamic software adaptation and evolution.
Date Issued
2009
Publication Type
Book Section
Language(s)
en
Editor(s)
Cheng, Betty H.C. | |
de Lemos, Rogerio | |
Giese, Holger | |
Inverardi, Paola | |
Magee, Jeff |
Additional Credits
Publisher
Springer Verlag
ISBN
978-3-642-02161-9
Access(Rights)
restricted