 |
 |
Dynamic CONNECTor Synthesis |
| |
|
| Objectives |
|
Our work on dynamic CONNECTor synthesis aims at devising associated automated and compositional approaches, which can be performed at run-time. Given the respective interaction behavior of networked systems, we want to synthesize the behavior of the CONNECTors needed for them to interoperate. These CONNECTors serve as mediators of the interactions of networked systems at both application- and middleware-layers. |
| |
Our objectives subdivide into :
- Synthesis of application-layer conversation protocols: the goal here is to identify connectors patterns that allow the definition of methodologies to automatically synthesize, in a compositional way and at run-time, application-layer CONNECTors.
- Synthesis of middleware-layer protocols: our objective here is to generate adequate protocol translators (mappings) that enable heterogeneous middleware to interoperate, and realize required non-functional properties, thus successfully interCONNECTing networked systems at the middleware level.
- Model-driven synthesis tools: we exploit model-to-model and model-to-code transformation techniques to automatically derive, at run-time, a CONNECTor’s actual code from its synthesized model. This step should guarantee the correctness-by-construction of the CONNECTor’s implementation with respect to the functional and non-functional requirements of the networked applications that are made interoperable through the CONNECTor.
Background and Challenges for Automated CONNECTor Synthesis
Emergent connectors (i.e., CONNECTors) act as mediators for today’s and future systems that increasingly need to be CONNECTed. The mediator concept has been introduced to deal with different heterogeneity dimensions spanning: (i) terminology (data level mediation), (ii) representation format and transfer protocols (combination of data level and protocol mediations), (iii) functionality (behavioral type mediation) and (iv) application-layer protocols (mediation of behavioral mismatches occurring during interactions). A key challenge for today’s system architectures is to embed the necessary support for automated mediation, i.e., the CONNECTor concept needs to evolve towards the one of mediating connector. Automated mediation has deserved a great deal of attention in all the aforementioned heterogeneity dimensions. Considering today’s state of the art, ontologies appear as the core concept to deal with data heterogeneity, logic-based formalisms stand as the natural paradigm for overcoming functional heterogeneity, and process algebras are obvious candidates for reasoning about protocol mediation. Still, enabling reasoning and further solving of semantic mismatches at run-time, while not over-constraining the ability to communicate, remain open research questions. Our work aims at answering some of these questions.
Overview of the Automated CONNECTor Synthesis Approach
Starting from two protocols, P and Q, that differently implement similar functionalities, if possible, we want to automatically synthesize at run-time a mediator that makes the two protocols able to interoperate. The figure below depicts the overall idea.
|
|
Starting from a behavioral model for each of the two protocols P and Q, our approach automatically builds an abstraction for each considered model. We call this abstraction structure and, for P and Q, it is identified in the figure by SP and SQ respectively. The aim of this step is to check whether the two protocols share, at least, the same structure. In our approach this is the minimum requirement for two protocols that perform similar functionalities, although in a different way. In other words, this check allows our approach to state that it may exist a mediator letting the two protocols communicate. After this step, by exploiting an ontological description of the two protocols’ functionalities (OP and OQ) and an ontology mapping function (OPQ) dictating how to translate interactions in a protocol into interactions in the other protocol, our approach automatically derives a further abstraction, for each of the two structures, which we call induced model (IP and IQ). It is a structure abstracted with respect to the common language shared by the two protocols. Finally, we check if the induced models have a functional matching relation. In other words, we check if part of the provided/required functionalities of the two protocols are behaviorally equivalent. If this is the case, then we synthesize a mediator, otherwise we cannot provide a mediator to let them communicate.
|
| Further Information |
| More information about the work on dynamic CONNECTor synthesis can be found from the Publications page. |
|