XMatch: a language for satisfaction-based selection of Grid services