Rainbow: Software Architecture-Based Self-Adaptation
Project Rainbow began in early 2001 as the joint effort of Professors David Garlan and Peter Steenkiste at Carnegie Mellon University to investigate architecture-based adaptation of complex systems under DARPA's DASADA Program. To date, the Rainbow Project continues to be an integral part of Professor Garlan's ABLE research group. I began doing research on Rainbow in autumn 2001, working closely with Dr. Bradley Schmerl. Over the past few years, in addition to building the software framework, I have been investigating the role of declarative language and utility theory to facilitate architecture-based adaptation of live software systems.
Thesis
PhD Thesis, defended April 18, 2008.
Original thesis proposal from June 2nd, 2004.
Key Publications
Shang-Wen Cheng, David Garlan and Bradley Schmerl. Architecture-based Self-adaptation in the Presence of Multiple Objectives. In ICSE 2006 Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), Shanghai, China, 21-20 May 2006.
Shang-Wen Cheng, David Garlan and Bradley Schmerl. Making Self-Adaptation an Engineering Reality. In Ozlap Babaoghu, Mark Jelasity, Alberto Montroser, Christof Fetzer, Stefano Leonardi and Aad Van Moorsel editors, Proceedings of the Conference on Self-Star Properties in Complex Information Systems, Vol. 3460 of LNCS, Springer-Verlag, 2005.
David Garlan, Shang-Wen Cheng, An-Cheng Huang, Bradley Schmerl and Peter Steenkiste. Rainbow: Architecture-Based Self Adaptation with Reusable Infrastructure. In IEEE Computer, Vol. 37(10), October 2004.
David Garlan, Shang-Wen Cheng and Bradley Schmerl. Increasing System Dependability through Architecture-based Self-repair. In Rogerio De Lemos, Cristina Gacek and Alexander Romanovsky editors, Architecting Dependable Systems, Springer-Verlag, 2003.
More ABLE publications on Rainbow.
Installing
Instructions on how to install are here.
Current Status
- The implementation of the Rainbow software framework is essentially complete, with a binary "SDK" version available for research purposes, by request only
- Stitch language interpreter
- Rainbow infrastructure components
- Sample set of Operators and Effectors, Gauges and Probes
- Case studies to validate the Rainbow approach completed
- "Slashdot effect"
- Company infrastructure adaptation
Email: <sw.cheng AT SPAMFREE acm DOT org>