A service invocation in a composite service is usually defined by its interface for abstraction. Once the interface is standardized and many services which have the same interface become available, a user can bind preferable ones to the composite service only by setting endpoints. Since new services become available day by day in open environment, it is crucial to automatically construct the bindings according to user's requirements. However, runtime binding construction often degrades the performance because searching a vast amount of possible bindings is time-consuming. Moreover, bindings need to be modified even during execution of a composite service when some adaptation process is applied. In this paper, we proposed a framework for constructing bindings, which is based on ATMS (Assumption-based Truth Maintenance System). The framework effectively caches possibilities of bindings and can manage changes of bindings when a runtime adaptation process is applied. We implemented a prototype of the framework and confirmed that it works fast enough for a real scale service composition.