Design of Robust & Adaptable Systems