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.