A Development Process for Self-adapting Service Oriented Applications