There exists a growing class of distributed applications that require adaptive middleware services, i.e., services that are able to monitor changes in the execution environment and in the user's requirements, reacting to these changes by adapting their behaviour. This paper proposes modelling primitives that allow to describe the adaptation logic of distributed applications that use reconfigurable service compositions. Categories and Subject Descriptors D.2.m [Software Engineering]: Miscellaneous General Terms Adaptive systems, context-awareness, distributed systems, service composition