New degrees of freedom in metaheuristic optimization of component-based systems architecture: Architecture topology and load balancing
Today's complex systems require software architects to address a large number of quality attributes. These quality attributes can be in contradiction with each other. In practice, software architects manually try to come up with a set of different architectural designs and then try to identify the most suitable one. This is a time-consuming and error-prone process. Also, this process may lead the architect to suboptimal designs. To tackle this problem, metaheuristic approaches for automating architecture design have been proposed by researchers. Metaheuristic approaches, such as genetic algorithms (GA), use degrees of freedom to automatically generate new alternative solutions. In this paper, we present two novel degrees of freedom for the optimization of system architectures. These two degrees of freedom: (i) the topology of the hardware platform, and (ii) load balancing of software components, can improve the results of the optimization algorithm. Our approach is implemented as part of the AQOSA (Automated Quality-driven Optimization of Software Architectures) framework. The AQOSA framework aids architects by automatically synthesizing optimal solutions by using multi-objective evolutionary algorithms and it reports the trade-offs between multiple quality properties as output. We analyze the effectiveness of our proposed degrees of freedom, by running a computationally-intensive optimization experiment using an industrial case study from automotive domain. The results show that two new degrees of freedom, (i) architecture topology and (ii) load balancing, help the evolutionary algorithm to find better solutions by enlarging the search space.
degree of freedom (dof) software architecture design optimization software architecture topology evolutionary multiobjective optimization (emo) component-based software engineering (cbse)