Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng
IEEE Computer 37(7), pages 56-64
2004
Compositional adaptation exchanges algorithmic or structural system components with others that improve a program's fit to its current environment. With this approach, an application can add new behaviors after deployment. Compositional adaptation also enables dynamic recomposition of the software during execution. While dynamic software recomposition dates back to the earliest days of computing, such programs were difficult to write and debug. Several new software tools and technologies now help address these problems.The authors review the research in compositional adaptation and survey the supporting technologies, proposed solutions, and areas that require further study.