|Common features of current information systems have significant impact on software architectures of these systems. The systems can not be realised as monoliths, formal specification of behaviour and interfaces of the systems’ parts are necessary, as well as specification of their interaction. Moreover, the systems have to deal with many problems including the ability to clone components and to move the copies across a network (component mobility), creation, destruction and updating of components and connections during the systems’ run-time (dynamic reconfiguration), maintaining components’ compatibility, etc. In this paper, we present the component model that addresses component mobility including dynamic reconfiguration, allows to combine control and functional interfaces, and separates a component’s specification from its implementation.We focus on the formal basis of the component model in detail. We also review the related research on the current theory and practice of formal component-based development of software systems.