GoPrime: a fully decentralized middleware for utility-aware service assembly