Adaptive Service Composition Based on Runtime Requirements Monitoring