On the Composition and Extension of Software Components

C. Canal, E. Pimentel, J.M. Troya

ESEC/FSE Workshop on the Foundations of Component-Based Systems (FoCBS'97)

Zürich (Switzerland), 1997

In Proceedings, pp. 50-59


Architectural specifications of software systems show them as a collection of interrelated components, and constitute what has been called the Software Architecture level of software design. It is at this level where the description and verification of structural properties of the system are naturally addressed. Besides, the use of explicit descriptions of the architecture of software systems enhances system comprehension and promotes software reuse. Several notations and languages for architectural specification have been recently proposed. However some important aspects of composition, extension and reuse have not been properly addressed, and deserve further research. These include language aspects, such as derivation of components and architectures using mechanisms of inheritance, polymorphism and parameterization, and also verification aspects, like analysis of compatibility among system components. Our approach tries to address some of these open problems by combining the use of formal methods, particularly process algebras, with concepts coming from the object-oriented domain. (Paper)