Abstract

This paper introduces a component calculus, whereby a system can be divided into interconnected components. We model the behaviour of individual service by a design, which enables one to separate the responsibilities of a client from the commitment made by the system. We adopt the notion of refinement to formalise the replaceability of components. This allows developers to improve the system performance by reorganising its data components.