Ensemble-based modeling abstractions for modern self-optimizing systems