Using constraint satisfaction for aiding pattern-based software design

Recently, we presented our paper on using constraint satisfaction and optimization for pattern-based software design at 23rd Australasian software engineering conference (

Software designers often face situations, in which the number of solutions (i.e., patterns) to design a system is very huge. It is a challenging task to find useful patterns and apply them in an optimal way. Moreover, software designers are bound by their previous experiences and tend to reuse familiar solutions over and over again, even in inappropriate contexts, which can degrade the quality of system. To overcome these challenges, we propose a constraint satisfaction and optimization approach for automatically finding suitable patterns to create a software structure that fulfills the requirements of the system to be built.

We formulated the pattern-application process as a constraint satisfaction and optimization problem, expressing the design rules associated with patterns as constraints and the quality requirements as the objective function. The standard tools for constraint satisfaction are used for solving the constraint satisfaction and optimization problem. As a result, the pattern-based design of a software system with proper pattern allocation that optimizes the chosen quality properties is obtained. The benefits of the approach include the possibility to produce an explanation of the proposed pattern applications, and the ability to extend the available pattern set, the design rules, and the optimization criteria easily using the modeling languages of the constraint satisfaction tools. The approach is studied by generating the pattern-based software design of an embedded home automation system. The initial results suggest that constraint satisfaction and optimization is a viable technique for automating pattern-based software design.

The conference was held at Sydney. The main aim of the conference was to bring software engineering researchers, software engineering education community and practitioners from Australia together. So the participants of the conference were diverse. The overall organization of the conference was good, but as the journey was quite long, we will aim at software engineering oriented conferences closer by to present the results from our following studies and meet with the community.

Harsha and Outi
[S. Vathsavayi, O. Sievi-Korte, K. Koskimies, and K. Systä, “Using constraint satisfaction and optimization for pattern-based software design,” in Australasian software engineering conference 2014, Sydney, Australia, 7 -10 April.]

This entry was posted in research. Bookmark the permalink.