2011 · 24 citations · 10 references
ArchitectureComputer EngineeringDesign AutomationDesign OptimizationQuality EngineeringEvolutionary ComputationEvolutionary OptimizationGenetic AlgorithmsMulti-objective Design OptimizationMultiobjective OptimizationSoftware ArchitectureArchitecture SearchGenetic Algorithms For DesignMulti-criteria Design OptimizationMulti-objective Evolutionary ComputationMulti-objective Evolutionary OptimizationMultiobjective Evolutionary AlgorithmsMultiobjective Genetic AlgorithmsOptimality Criteria
A possible approach to partly automated software architecture design is the application of heuristic search methods like genetic algorithms. However, traditional genetic algorithms use a single fitness function with weighted terms for different quality attributes. This is inadequate for software architecture design that has to satisfy multiple incomparable quality requirements simultaneously. To overcome this problem, 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 spectrum of architecture proposals, ranging from highly modifiable (and less efficient) to highly efficient (and less modifiable). The technique 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.
10
A laboratory for teaching object oriented thinking
K. Beck, Ward Cunningham · ACM SIGPLAN Notices · 1989 · 364 citations
Pareto optimal search based refactoring at the design level
Mark Harman, Laurence Tratt · 2007 · 223 citations
A survey on search-based software design
Outi Räihä · Computer Science Review · 2010 · 175 citations