This paper extends rRCOS with the notion of component coordination. A coordination of a number of components is defined as a constraint on the behaviour of the components. Such a coordination can be realised by synchronising the components with the behaviour of an active entity which we call a proces. Like a component, a process can be specified by a contract. However, a process and a component can only be composed by the CSP-like synchronisation parallel composition. In addition to coordinating the behaviour of components, a process can be used to glue a number of components to form a new component. The main theoretical result is the integration of the event-based method and the state-based method. The integration leads to the fact that components glued together by a process form a component, and the black-box specification of new component can be calculated from the behaviour of the components and the process.
Component-based programming is about how to create application programs by prefabricated components with new software that provides both glue between the components, and new functionality. Models of components are required to support black-box compositionality and substitutability by a third party as well as interoperability. However, the glue codes and programs designed by users of the components for new applications in general do not require these features, and they can be even designed in programming paradigms different from those of the components. In this paper, we extend the rCOS calculus of components with a model for glue programs and application programs that is different from that of components. We study the composition of a glue program with components and prove that components glued by a glue program yield a new component.