Skip to main content

PerOpteryx: Automated Improvement of Software Architectures


The design phase of software development processes is a decisive part of the quality characteristics of the later software system. If errors are not or only late discovered in early phases of the development, this often has strong effects on quality and costs of the project. Software architecture models systematically help to prevent errors in early phases, such as the design phase. On the basis of models, software architectures and their quality properties can be evaluated and optimized at design time. PerOpteryx supports the systematic process of evaluating and optimizing software architecture models early considering quality attributes, such as performance, reliability, costs. The approach automatically generates architecture candidates based on several degrees of freedom of component-based software architectures. PerOpteryx then automatically evaluates and optimizes these architecture candidates with regard to the quality requirements of the software system. PerOpteryx is the first automated tool for systematic quality optimization of component-based software architectures that combines quantitatively modeled knowledge with qualitatively modeled architecture knowledge. Including qualitatively modeled knowledge enables quality characteristics to be taken into account in the optimization process that would have been too cost-intensive to model quantitatively.


address = {Hamburg, Germany},
author = {Busch, Axel and Fuch{\ss}, Dominik and Koziolek, Anne},
booktitle = {Proceedings of the IEEE International Conference on Software Architecture (ICSA2019): Tool Demo Track},
location = {Hamburg, Germany},
publisher = {IEEE},
series = {ICSA'19},
title = {{PerOpteryx: Automated Improvement of Software Architectures}},
year = {2019},