Enhancing decentralized service discovery in open service-oriented multi-agent systems