MOSES: A Framework for QoS Driven Runtime Adaptation of Service-Oriented Systems