Improving Component-Based Software Architecture by Separating Computations from Interactions

Component-based software architecture describes systems as a collection of components that interact using connectors. It defines components explicitly, however it leaves the definition of interactions implicit. Interactions are defined through include files and import and export statements (connectors are buried inside components). This implicitly of describing interactions (connectors) makes it difficult to build heterogeneous component-based systems that provide complex functionalities thus enroll in complex interactions. In this article we justify why connectors should be separated from components and treated as first-class entities. We also present a short summery of an approach to model component-based system, in which connectors are defined explicitly and raised to the level of components.