An explicit definition of connectors for component-based software architecture

Architecture description languages (ADL) describe systems as a collection of components that interact with each other using connectors. They define components explicitly, however they leave the definition of interactions implicit. Interactions are defined through include files and import and export statements (the connectors are buried inside the components). This implicitly of describing interactions (connectors) makes it difficult to build heterogeneous component-based systems that provide complex functionalities and enroll in complex relations. In this article we present an approach to model and to describe the architecture of component-based systems. It defines connectors as first-class entities. Using this approach one can evolve and reuse not only components but also connectors. We also present some operational mechanisms to permit connectors to be redefined and reused effectively.