Dynamically Adaptive Systems