Universiteit Leiden

nl en


Quality-driven multi-objective optimization of software architecture design: method, tool, and application

Promotores: Prof.dr. T.H.W. Bäck, Prof.dr. M.R.V. Chaudron, Co-Promotor: M.T.M. Emmerich

R. Etemadi Idgahi
11 december 2014
Thesis in Leiden Repository

Software architecting is a non-trivial and demanding task for software engineers to perform. The architecture is a key enabler for software systems. Besides being crucial for user functionality, the software architecture has deep impact on software qualities such as performance, safety, and cost. In this dissertation, an automated approach for software architecture design is proposed that supports analysis and optimization of multiple quality attributes: First of all, we demonstrate an optimization approach for automated software architecture design. It reports the results of applying our architecture optimization framework to an automotive sub-system that was conducted based on a large-scale real world case study. Moreover, we introduce two novel degrees of freedom which demonstrate how the number of processing nodes and their interconnecting network can be codified to fit into a genetic algorithm. Our studies show that these extra degrees of freedom lead to better overall software architecture optimization. Finally, we propose a new search-based approach for generating a set of optimal software architectural solutions for use in software product lines. Our new approach analyses the commonality of the found optimal solutions and proposes a set of solutions which are suitable for the range of products defined by various feature combinations.