case sensitive

Sort by: Display: Hide controls:

  1. Oscar Nierstrasz, Marcus Denker, and Lukas Renggli. Model-Centric, Context-Aware Software Adaptation. In Betty H.C. Cheng, Rogerio Lemos, Holger Giese, Paola Inverardi, and Jeff Magee (Ed.), Software Engineering for Self-Adaptive Systems, LNCS 5525 p. 128-145, Springer-Verlag, 2009. DOI 

    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.