Using Constraint Satisfaction and Optimization for Pattern-Based Software Design | IEEE Conference Publication | IEEE Xplore