Contract Net Protocol: a distributed problem solver framework