Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms

  • Authors:
  • Anne Martens;Heiko Koziolek;Steffen Becker;Ralf Reussner

  • Affiliations:
  • Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany;ABB Corporate Research, Ladenburg, Germany;FZI Karlsruhe, Karlsruhe, Germany;Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany

  • Venue:
  • Proceedings of the first joint WOSP/SIPEW international conference on Performance engineering
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Quantitative prediction of quality properties (i.e. extra-functional properties such as performance, reliability, and cost) of software architectures during design supports a systematic software engineering approach. Designing architectures that exhibit a good trade-off between multiple quality criteria is hard, because even after a functional design has been created, many remaining degrees of freedom in the software architecture span a large, discontinuous design space. In current practice, software architects try to find solutions manually, which is time-consuming, can be error-prone and can lead to suboptimal designs. We propose an automated approach to search the design space for good solutions. Starting with a given initial architectural model, the approach iteratively modifies and evaluates architectural models. Our approach applies a multi-criteria genetic algorithm to software architectures modelled with the Palladio Component Model. It supports quantitative performance, reliability, and cost prediction and can be extended to other quantitative quality criteria of software architectures. We validate the applicability of our approach by applying it to an architecture model of a component-based business information system and analyse its quality criteria trade-offs by automatically investigating more than 1200 alternative design candidates.