Section: New Software and Platforms

iCONNECT: Emergent Middleware Enablers

Participant : Valérie Issarny [correspondent] .

As part of our research work on Emergent Middleware, we have implemented Enablers (or Enabler functionalities) that make part of the overall Connect architecture realizing Emergent Middleware in practice  [4] . The focus of our work is on the: Discovery enabler that builds on our extensive background in the area of interoperable pervasive service discovery; and Synthesis enabler that synthesizes mediators that allow Networked Systems (NSs) that have compatible functionalities to interact despite mismatching interfaces and/or behaviors.

The Discovery Enabler is the component of the overall Connect architecture that handles discovery of networked systems, stores their descriptions (NS models), and performs an initial phase of matchmaking to determine which pairs of systems are likely to be able to interoperate. Such pairs are then passed to the Synthesis Enabler so that mediators can be generated. The Discovery Enabler is written in Java and implements several legacy discovery protocols including DPWS and UPnP.

The Synthesis Enabler assumes semantically-annotated system descriptions à la OWL-S, which are made available by the Discovery Enabler, together with a domain ontology, and produces the mediators that enable functionally compatible networked systems to interoperate. The semantically-annotated interfaces of the NSs that need to communicate are processed to compute the semantic mapping between their respective operations using a constraint solver. The resulting mapping serves generating a mediator that coordinates the behaviors of the NSs and guarantees their successful interaction. Only when the mediator includes all the details about the communication of NSs, can interoperability be achieved, which calls for the adequate concretization of synthesized mediators.

The concretization of mediators bridges the gap between the application level, which provides the abstraction necessary to reason about interoperability and synthesize mediators, and the middleware-level, which provides the techniques necessary to implement these mediators. Concretization entails the instantiation of the data structures expected by each NS and their delivery according to the interaction pattern defined by the middleware, based on which the NS is implemented. Therefore, we have been developing a mediation engine that, besides executing the data translations specified by the mediator, generates composed parsers and composers, which can process complex messages, by relying on existing libraries associated with standard protocols and state-of-the-art middleware solutions.

The data structures defined within OWL-S system descriptions, that is, the types of the inputs and outputs of the OWL-S atomic process were previously defined manually. As part of the prototype implementation that allows the mediator engine to generate composed parsers and composers, we made an extension that enables the inference of correct data-types [17] , relieving developers from the time-consuming task of defining them. This prototype takes the form of a JAVA library that can optionally be used by the Synthesis Enabler whenever abstract data structures are unavailable. This library can be obtained from the iCONNECT GIT repository https://gforge.inria.fr/git/iconnect/iconnect.git (under the subproject mtc ). While the underlying source code closely follows the formal mechanisms (such as tree automata) and algorithms presented in [17] , we further concerned ourselves with making this library usable for non-expert developers by adhering to well-established standards. Specifically, data types, which are internally modeled as top-down tree automata, are transformed both on the input and output to RelaxNG (http://relaxng.org/ ) or XSD (www.w3.org/TR/xmlschema-1/ ).

The iCONNECT software has been released in the OW2 open source community (http://forge.ow2.org/projects/iconnect/ ), as part of FISSi, the Future Internet Software and Services initiative (http://www.ow2.org/view/Future_Internet/ ). OW2 and FISSi will give to this effort the required visibility in order to attract users and developers of the open source community.