The proliferation of web services has led to an increased number of approaches aiming to support service composition, reusing services within larger assemblies. Looking at composition fragments is one way to facilitate composition and reuse, known as macro-level composition. In this work, we focus on the discovery and selection of such fragments to achieve a given composition goal. Our approach aims at discovering fragments using their semantic descriptions based on Description Logic. The discovery is performed by applying different levels of semantic matchmaking between fragments and goals descriptions. A Multi-Agent-System is introduced on top of the discovery process to select the most relevant fragments using three types of criteria: (i) non functional criteria such as execution price (described by service providers), (ii) cohesion criteria related to the overlap between fragments, which is inferred from the fragmentation technique, and also (iii) the goodness of semantic fit between fragments and goals. The selection process is based on an agent negotiation where each agent is responsible for a semantically coherent list of fragments. Finally, we present an approach which minimizes the number of fragments relevant for the composition goal by both (i) minimizing their overlap and (ii) maximizing the number of goals they could achieve.