Generating System Architectures from a Given Feature Model: Feature-based multi-objective optimization
Abstract
Until now, software architects could create an architecture for a future system and analyze its software and hardware components to see if it meets the quality requirements. They also can use automated tools to optimize the initial design and find the best alternative architectures which meet the quality requirements. If the system is also part of a family of similar systems (software product line), then this means that it implements some features of this family. Moreover, it means that any additional similar systems could reuse some components from the initial system. However, if there is a need for other similar systems (products), then the software architect would have to design different architectures to meet the different quality requirements of those products. The architect would not be able to reuse the old architecture to create the new one and they would also need to optimize the architecture of every product. The existing optimization tools are unable to optimize one architecture to cover many products.
This work proposes a new automated method, which optimizes a software architecture based on the feature model it belongs and the selected products. In this approach, the optimization runs only for the architectures that support the defined products and then it performs commonality analysis to find the optimal architectures that can support all the selected products.
The method is tested on an industrial case study with 480 different possible products, and found many sufficiently similar common solutions, which can support all of the selected products.
Degree
Student essay
Collections
View/ Open
Date
2015-05-15Author
Karagiorgis, Vasileios
Keywords
Software Product Line (SPL)
Multi-objective Optimization
Genetic Algorithms
Feature Models
Software Architecture
Language
eng