Abstract
Summary form only given. The authors consider coordination contracts, a modelling primitive based on methodological and mathematical principles, that facilitates the evolution of software systems. Coordination contracts encapsulate the coordination aspects, i.e., the way components interact, and as such may capture the business rules or the protocols that govern interactions within the application and between the application and its environment. For this approach to be usable in real applications, it requires a tool to support system development and evolution using coordination contracts. The Coordination Development Environment (CDE) helps programmers to develop Java applications using coordination contracts.