Discovering and assembling individual Web services into more complex yet new and more useful Web processes has received significant attention from academia recently. In this thesis, we explore using pre and post-conditions of Web services to enable their automatic composition. Also, we present a novel technique for discovering semantic relations between pre and postconditions of different services using their ontological descriptions. This enables determining services with complementary functions and generating a semantic Web of services. Our technique takes semantic similarity of pre and post-conditions into account and builds on our earlier work on discovering semantic relationships between interfaces (input and output) of Web services. A comprehensive classification of existing composition techniques is also included. INDEX WORDS: Web Service, Discovery, Composition, Conditions and Semantics.