CASA - a framework for dynamically adaptive applications

CASA - a framework for dynamically adaptive applications

phdthesis
Mehr und mehr kommen Software Applikationen in dynamischen Umgebungen zum Einsatz. Solche Umgebungen lassen sich durch häufige und unvorhersehbare Änderungen charakterisieren, welche die Ressourcenverfügbarkeit für Software Applikationen beeinflussen. Zusätzlich können sich kontextabhängige Informationen ändern, die für Applikationen von Bedeutung sind. Einige dieser Änderungen können einer Applikation die Möglichkeit bieten, ihre Leistung zu verbessern oder weitere, passendere Funktionalität anzubieten. Andere Änderungen hingegen können den weiteren Ablauf der Applikation gefährden. So oder so, Software sollte in der Lage sein, ihr Verhalten dynamisch anzupassen, um auf Änderungen während der Laufzeit angemessen zu reagieren. Diese Dissertation beschreibt das CASA (Contract-based Adaptive Software Architecture) Framework, welches die Entwicklung und Ausführung von dynamisch adaptiven Applikationen ermöglicht. Das CASA Framework integriert eine Reihe von verschiedenen Adaptionsmechanismen mit dem Ziel, den Anforderungen von Software Applikationen, die in dynamischen Umgebungen ablaufen, umfassend nachzukommen. Diese Adaptionsmechanismen können zusammen jeden Teil der Konfiguration einer Applikation zur Laufzeit ändern, insbesondere Komponenten, Aspekte, Attribute und systemnahe Dienste. Das Design des CASA Frameworks basiert auf dem softwaretechnischen Prinzip der
Arun Mukhija
More and more software applications are deployed in dynamic computing environments. These environments are characterized by frequent and unpredictable changes in the availability of resources to software applications, as well as changes in the contextual information of interest to the applications. Some of these changes might present an opportunity for an application to improve its performance or to provide a more relevant functionality, while others might pose a threat to the continued execution of the application. In either case, a software application should be able to adapt its behavior dynamically in response to runtime changes in its execution environment. This dissertation describes the CASA (Contract-based Adaptive Software Architecture) framework, which enables the development and operation of dynamically adaptive applications. The CASA framework integrates a number of different adaptation mechanisms with an aim to comprehensively meet the adaptation needs of software applications executing in dynamic environments. These adaptation mechanisms can collectively change any part of an application’s configuration at runtime, including changing the application components, aspects, attributes and lower-level services. The design of the CASA framework is based on the software engineering principle of separation of concerns. The separation of concerns allows implementing the adaptation concerns as a reusable and shareable runtime adaptation system, while the business concerns of an application are implemented as a part of the application code. The adaptation policy of every application is defined in a so-called application contract in the CASA framework. The application contract is defined using an XML-based specification language, and allows changing the adaptation policy at runtime. The ability to carry out runtime changes in the adaptation policy is useful for customizing the adaptation policy according to a user’s current needs and preferences, as well as for evolving the adaptation policy to include new adaptation capabilities.
CASA - a framework for dynamically adaptive applications
2007
Universität Zürich
rerg