In this paper, we present a mathematical model for the composition of software components, at a semantic modelling level. We describe a mathematical concept of a single software component and identify properties that ensure its potential behaviour can be captured. Based on that, we give a formal definition of composition and examine its effect on the individual components. We argue that properties of the individual components can, under certain conditions, be preserved in the composite. The proposed model can be used for guiding the composition of components as it advocates formal reasoning about the composite before the actual composition takes place.
Sotiris Moschoyiannis, Michael W. Shields