Date Added: Sep 2011
How to build robust-and-evolvable resilient software systems? On the one hand, evolvability implies a system's ability to reach autonomously new, possibly unprecedented conditions and states; on the other hand, resilience and robustness refer to feature persistence in the face of perturbations and changes such as the ones brought about by system evolution. How to address such problem? How to make sure that a software system shall exhibit emerging properties such as reliability or safety irrespective of its environmental conditions and whatever its new configuration may be? In this paper, the authors discuss these problems leveraging from three cases of adaptive software and systems designs.