How to implement software connectors ? a reusable, abstract and adaptable proposal
Résumé
In recent software developments, applications are made up of a collection of reusable software entities (components) and mechanisms that permit their interaction (connectors). These latter mechanisms have many forms. On the one hand, industrial approaches use simple connectors that are mainly point-to-point connections.On the other hand, academic approaches, like Architecture Description Languages (ADL), recognize complex connectors as first class design entities.However, these concepts are restricted to the architectural level since they have almost no implementation. The How to implement software connectors ? a reusable, abstract and adaptable proposalcurrent application developments use simple connectors, and high level specifications are under exploited. In this article, we propose a means to fill the gap between connector specification and implementation. For a better reuse of design effort, and to avoid using only simple connectors when realizing applications, we propose to define connectors as complex communication and coordination abstractions and to implement them as a family of generators. We illustrate the development and use of such generators through a full example.