Machine learn models efficiently under budget constraints to adapt to perturbations such as environmental changes or changes in the internal resources. Modern software-intensive systems are composed of components that are likely to change their behaviour over time (e.g., adding/removing components). For software to continue to operate under such changes, the assumptions about parts of the system made at design time may not hold at runtime due to uncertainty. Mechanisms must be put in place that can dynamically learn new models of these assumptions and use them to make decisions about missions, configurations, etc.