In this paper we consider the composition problem of Web services. Our framework is based on the existence of an abstract composition, i.e, the way some services of different types can be combined together in order to achieve a given task. Our approach consists in instantiating this abstract representation of a composite Web service by selecting the most appropriate concrete Web services. This instantiation is based on constraint programming techniques which allow us to match the Web services according to a given query. The composition is built in an incremental way propagating some constraints attached to Web services. Then, the instantiation can be dynamically updated during execution via a monitoring phase. Our approachis illustrated on ...