Automatic selection and composition of model transformations alternatives using evolutionary algorithms
Résumé
The design of software architectures requires to address a number of competing non-functional properties (NFPs): improving one NFP requires to degrade another one. As a consequence, software architects have to come up with several design alternatives, and select architectures answering at best the trade-off between NFPs. In this paper, we propose to (i) formalize design alternatives with model transformations in order to ease the estimation of NFPs (using models analysis techniques); (ii) structure these model transformations to compose and select them (using evolutionary algorithms); and (iii) identify which model transformation alternatives produce the best output models with respect to NFPs. Experiments on a placement problem provide evidence that the approach can successfully explore the design space and find good architectural solutions.