Multi-objective genetic synthesis of software architecture

A possible approach to partly automated software architecture design is the application of heuristic search methods like genetic algorithms. In order to take into account conflicting quality requirements, the use of Pareto optimality is proposed. This technique is studied in the presence of two central quality attributes of software architectures, modifiability and efficiency. The technique produces a palette of architecture proposals, and has been implemented and evaluated using an example system. The results demonstrate that Pareto optimality has potential for producing a sensible set of architectures in the efficiency-modifiability space.