The CASA Approach to Autonomic Applications
Arun Mukhija, Martin Glinz · 2005
In today's world of highly dynamic computing environments, autonomic applications are the need of the hour. By an autonomic application, we mean an application that is able to adapt to changes in its execution environment dynamically and transparently. CASA (Contract-based Adaptive Software Architecture) provides a framework for enabling the development and operation of autonomic applications. CASA helps in significantly reducing the complexity involved in developing autonomic applications by separating the adaptation concerns of an application from its business concerns. CASA further provides a runtime system for dealing with the adaptation concerns. In order to meet the adaptation needs of a broad and diverse set of applications, CASA supports adaptation at various levels of an application -- from lower-level services to application code. In CASA, the adaptation policy of every application is defined in a so-called application contract, which is external to the application and is specified using an XMLbased language, thereby facilitating changes in the adaptation policy at runtime.