Software applications executing in highly dynamic and distributed
computing environments experience frequent and usually unpredictable
changes in their execution environment. The changes in the execution
environment can be in the form of changes in resource availability (e.g.
bandwidth, battery power, connectivity etc.), or changes in contextual
information (e.g. user's location, activity etc.). In order to
effectively cope with the challenge posed by these changes, the
applications needs to be dynamically adaptable. CASA (Contract-based
Adaptive Software Architecture) provides a framework for enabling the
development and execution of dynamically adaptive applications. In this
talk, I will discuss details of the CASA framework.