In this paper we outline a framework for performing automated discovery, composition and execution of web services based solely on the information available in interface descriptions and service directories. In our framework we do not rely on the existence of semantic mark-up in service descriptions, thus making our approach “hard”. (From a planning perspective, we tackle the problem of planning in a semantically heterogeneous domain.) The framework consists of a domain model, a planning and execution algorithm, and learning procedures. Preliminary work on implementing a service matching system is also discussed.