A set-theoretic framework for component composition
Modem software systems become increasingly complex as they are expected to support a large variety of different functions. We need to create more software in a shorter time, and without compromising the quality of the software. In order to build such systems efficiently, a compositional approach is required. This entails some formal technique for analysis and reasoning on local component properties as well as on properties of the composite. In this paper, we present a mathematical framework for the composition of software components, at a semantic modelling level. We describe a mathematical concept of a 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 framework can be used for guiding the composition of components as it advocates formal reasoning about the composite before the actual composition takes place.
components composition associativity normality order theory vector semantics