An Optimization Process for Adaptation Space Exploration of Service-oriented Applications