Optimal Refinement for Component-based Architectures

Otto Bibartiu, Frank Dürr, Kurt Rothermel · 2021

The increasing number of cloud offerings makes it more challenging to find services that realize an optimal architecture. Hence, modeling cloud applications with the help of platform-independent models as known from Model-Driven Architecture (MDA) should aid developers in designing best-practice architectures. However, refining platform-independent architecture models into an architecture with concrete services might lead to a large number of potential solutions, raising the question of which solution is the best. Therefore, we propose a framework that uses meta-heuristics to approximate the search of concrete solutions for component-based architectures, using the notion of refinement trees to encode the potential solution space of abstract components. In this paper, we show how to transform the solution space of the refinement trees into a suitable input for the meta-heuristic. Moreover, we provide a class of loss functions with the objective to minimize cost, while also considering quality of service (QoS) constraints to demonstrate possible applications of the framework. The evaluation uses the Harmony Search algorithm as a concrete implementation of a meta-heuristic to exemplify our framework. We analyzed different cloud architecture examples from Microsoft Azure, where we show the advantages of the heuristic approach by proposing cost-minimal services for a given QoS constraint.

Read the paper · More papers on PaperTik