Reusing of software entities, such as components or services, to develop software systems has matured in recent years. However, it has not become standard practice yet, since using pre-existing software requires the selection, composition, adaptation, and evolution of prefabricated software parts. Recent research approaches have independently tackled the discovery, composition, or adaptation processes. On the one hand, the discovery process aims at discovering the most suitable services for a request. On the other hand, the adaptation process solves, as automatically as possible, mismatch cases which may be given at the different interoperability levels among interfaces by generating a mediating adaptor based on an adaptation contract. In this chapter, the authors present the DAMASCo framework, which focuses on composing services in mobile and pervasive systems accessed through their public interfaces, by means of context-aware discovery and adaptation. DAMASCo has been implemented and evaluated on several examples.