rCOS: A Relational Calculus of Components
We present a model for components, their composition and refinement to be used in component-based software development. We describe how components are specified for its syntactical view at the interface level, functional view at the requirement level, internal view at the design level and how they are composed. In a component based system development, a component consists of a set of interfaces, provided to or required from the software being developed.
In a component development, the component is an executable code that can be coupled with other components via its interfaces. The developer has to ensure that the specification of a component is satisfied by its design and the design is met by its implementation.
This work is an extended and revised version of [25].