[Search | Browse Authors | Browse Reports | Home ]

Developing and Applying Design Patterns for Dynamically Adaptive Systems

MSU-CSE-09-8

Andres J. Ramirez and Betty H.C. Cheng
March, 2009

As applications grow in size and complexity, and computing infrastructure continues to evolve, it becomes increasingly difficult to build a system that satisfies all requirements and constraints that might arise during its lifetime. As a result, there is an increasing need for the software to adapt to new requirements and environmental conditions after the software has been deployed. Due to their high complexity, adaptive programs are generally difficult to specify, design, verify, and validate. In addition, the current lack of reusable design expertise that can be leveraged from one adaptive system to another further exacerbates the problem. To address this problem, we have developed adaptation-focused design patterns to support monitoring, decision-making, and reconfiguration of adaptive systems where the patterns facilitate the separate development of the functional logic and the adaptive logic. We have also extended the template used by Gamma et al. for describing design patterns with Behavioral and Constraints fields to uniformly present and capture each adaptation design pattern. In addition, the Related Pattern section is also used to indicate which adaptation design patterns are commonly used together in adaptive systems. We present these patterns in the context of a modeling-based development process, where we focus on supporting the design of adaptive systems. Furthermore, we provide support for specifying invariant properties of adaptive systems. This paper describes each design pattern and illustrates how they can be used to construct adaptive and autonomic computing systems. We demonstrate this approach by reengineering an adaptive news web server from scratch with our design patterns.


Display BibTex Entry

The following online versions of this document are available.

For more information on this report, contact chengb@cse.msu.edu.


You are granted permission for the non-commercial reproduction, distribution, display, and performance of this technical report in any format.


[Search | Browse Authors | Browse Reports | Home ]