Date Added: Mar 2012
Generating distributed systems from independently developed and deployed components is a promising alternative for today's dynamic and interconnected world. If such components have to collaborate with each other effectively, they must indicate their contracts explicitly. Traditionally, only the syntactical interfaces are depicted for such components. Recent attempts have argued for a need for multiple levels of contracts in addition to the syntactical level. One of these additional levels is the synchronization level, which is critical in the presence of several concurrent requests a component may service. This paper provides an approach for describing the synchronization contract and also indicates rules for matching concurrency specifications of different components in order to facilitate replace-ability between them.