Simulated annealing for aiding genetic algorithm in software architecture synthesis

The dream of software engineers is to be able to automatically produce software systems based on their requirements. Automatic synthesis of software architecture has already been shown to be feasible with genetic algorithms. Genetic algorithms, however, easily become very slow if the size of the pro...

Teljes leírás

Elmentve itt :
Bibliográfiai részletek
Szerzők: Sievi-Kortej Outi
Mäkinen Erkki
Poranen Timo
Dokumentumtípus: Cikk
Megjelent: 2013
Sorozat:Acta cybernetica 21 No. 2
Kulcsszavak:Számítástechnika, Kibernetika
Tárgyszavak:
doi:10.14232/actacyb.21.2.2013.3

Online Access:http://acta.bibl.u-szeged.hu/32897
Leíró adatok
Tartalmi kivonat:The dream of software engineers is to be able to automatically produce software systems based on their requirements. Automatic synthesis of software architecture has already been shown to be feasible with genetic algorithms. Genetic algorithms, however, easily become very slow if the size of the problem and complexity of mutations increase as GAs handle a large population with much data. Also, for purely scientific interest it is worthwhile to investigate how other search algorithms handle the problem of software architecture synthesis. The present paper studies the possibilities of using simulated annealing for synthesizing software architecture. For this purpose we have two goals: 1) to study whether a simpler search algorithm can handle synthesis and 2) if a seeded algorithm can provide quality results faster than a simple genetic algorithm. We start from functional requirements which form a base architecture and consider three quality attributes, modifiability, efficiency and complexity. Synthesis is performed by adding design patterns and architecture styles to the base architecture. The algorithm thus produces a software architecture which fulfills the functional requirements and also corresponds to the quality requirements. It is concluded that simulated annealing as such does not produce good architectures, but it is useful for speeding up the evolution process by quickly fine-tuning a seed solution achieved with a genetic algorithm. The main contribution is thus a new seeded algorithm for software architecture design.
Terjedelem/Fizikai jellemzők:235-265
ISSN:0324-721X