3.1.1. Module. In CBSE, components are the building blocks that can be deployed independently and are subject to composition by third party [4]. Based on the formulation by Clemens Szyperski [15], a software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. It can be both fine-grained providing specific functionality and coarse-grained encompassing complicated logics.