Today’s software systems are increasingly networked and are further characterized by ever-changing functionalities provided to/required from the networked environment because of the wide variety of dynamically available heterogeneous applications. To manage evolution in this context, the CONNECT project pursues the automated synthesis of CONNECTors enabling continuous composition and interoperability of applications.
Software evolution is a hot topic in today’s distributed software systems, which are characterized by an increasing level of heterogeneity and dynamism. For instance, updated versions of software are continually made available, new applications are created and dynamically join the networked environment, old or broken applications are unavailable or removed, and new needs emerge.
Evolution management in this environment raises the need for novel computing paradigms able to ensure continuous run-time composition and interoperability of heterogeneous and dynamically available applications in an automated manner.
Although in principle they could interact since they have compatible (ie complementary) functionalities, heterogeneous applications populating this landscape can be characterized by discrepancies that may undermine their ability to seamlessly interoperate (ie communicate and coordinate). Discrepancies include incompatible interaction protocols and/or different interfaces meaning different actions and/or data models.
Examples of heterogeneous applications are shown in Figure 1(a) where the light blue entities show independently developed clients and servers for the organization of trips. The server exhibits separate searches for flights and hotels but the client would expect to have a single search with all the information.
Figure 1(a): Examples of heterogeneous networked applications
Figure 1(b): Example of CONNECTors enabling composition and interoperability in the heterogeneous networking environment
To enable perpetual and automated composition and interoperability, the ICT FET IP European project CONNECT pursues the automated synthesis of CONNECTors that overcome interoperability barriers. This responds to the evolution of functionalities provided to and required from the networked environment of today’s software systems. Automatically synthesized CONNECTors are concrete emergent entities that mediate the application discrepancies, ie translate and coordinate mismatching interaction protocols, actions, and/or data models, letting applications interact effectively. Examples of CONNECTors are illustrated in Figure 1(b) -green entities.
Automated Synthesis of CONNECTors
We have developed a theory for the automated synthesis of application-layer CONNECTors in order to formally ground and automatically reason on the interoperability problem among heterogeneous applications. The theory has also served as a principled basis for the development of a prototype tool that automatically generates CONNECTors.
A Theory of CONNECTors
Our theory for the automated synthesis of CONNECTors assumes the descriptions of two Networked Systems (NSs) focusing on their application-layer protocol. It then defines a reasoning process on the protocols provided that produces as output the behaviour of a CONNECTor that lets heterogeneous applications interact by mediating their discrepancies.
Specifically, the description of an NS encompasses the following models:
- interface definition, in terms of actions required and provided by the NS, together with associated input/output data
- interaction protocol specification, ie the behavioural automaton describing the process according to which actions from the interfaces can be invoked
- ontological description of actions and data which refers to concepts of a widely shared application domain ontology. This offers a means to automatically and dynamically reason on the semantic interoperability of applications for which we do not have a priori knowledge.
The CONNECTor theory reasoning decomposes into three phases or steps: Abstraction, Matching and Mapping.
- Abstraction makes the Networked System models comparable and, if possible, reduces their size thus simplifying and speeding up the reasoning on them.
- Matching checks the Networked Systems compatibility identifying possible interaction protocols incompatibility and/or action differences and/or data model differences preventing seamless interoperation.
- Mapping (or Synthesis). A successful matching check identifies possible discrepancies preventing proper coordination of networked applications. Mapping solves such mismatches, leading to the identification of the existence of a CONNECTor. Consequently, this step produces a proper CONNECTor that interposes between application protocols and, while managing heterogeneity, allows applications to effectively exchange compatible sequences of actions with data.
This article has outlined our theory of CONNECTors that supports software evolution and more specifically eternal interoperability of networked systems through on-the-fly synthesis of CONNECTors.
This work is part of the larger CONNECT project effort, that revisits the middleware paradigm to face the challenges raised by increasingly dynamic and heterogeneous distributed systems. Current distributed systems exhibit a far greater complexity than that tackled by state of the art middleware; this will be even truer in the future. Hence, the project focuses on sustaining interoperability in an ever diverse and continuously changing networking environment. As a result, CONNECT introduces the paradigm of dynamically created “emergent middleware”, based on supporting enablers for protocol synthesis and also learning. Emergent middleware is further grounded on the emerging models@runtime paradigm due to the extensive use of networked systems models at runtime to be able to learn, reason about, and also compose the protocols that are executed.
University of L’Aquila, Italy