A unifying perspective on protocol mediation: interoperability in the future internet

Given the highly dynamic and extremely heterogeneous software systems composing the Future Internet, automatically achieving interoperability between software components —without modifying them— is more than simply desirable, it is quickly becoming a necessity. Although much work has been carried out on interoperability, existing solutions have not fully succeeded in keeping pace with the increasing complexity and heterogeneity of modern software, and meeting the demands of runtime support. On the one hand, solutions at the application layer synthesise intermediary entities, mediators, to compensate for the differences between the interfaces of components and coordinate their behaviours, while assuming the use of the same middleware solution. On the other hand, solutions at the middleware layer deal with interoperability across heterogeneous middleware technologies but do not reconcile the differences between components interfaces and behaviours at the application layer. In this paper we propose a unified approach for achieving interoperability between heterogeneous software components with compatible functionalities across the application and middleware layers. First, we provide a solution to automatically generate cross-layer parsers and composers that abstract network messages into a uniform representation independent of the middleware used. Second, these generated parsers and composers are integrated within a mediation framework to support the deployment of the mediators synthesised at the application layer. More specifically, the generated parser analyses the network messages received from one component and transforms them into a representation that can be understood by the application-level mediator. Then, the application-level mediator performs the necessary data conversion and behavioural coordination. Finally, the composer transforms the representation produced by the application-level mediator into network messages that can be sent to the other component. The resulting unified mediation framework reconciles the differences between software components from the application down to the middleware layers. We validate our approach through a case study in the area of conference management.

[1]  Yuriy Brun,et al.  Using dynamic execution traces and program invariants to enhance behavioral model inference , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[2]  Yérom-David Bromberg,et al.  Bridging the Interoperability Gap: Overcoming Combined Application and Middleware Heterogeneity , 2011, Middleware.

[3]  Roman Neruda,et al.  The process mediation framework for semantic web services , 2009, Int. J. Agent Oriented Softw. Eng..

[4]  Bas Basten,et al.  Ambiguity Detection Methods for Context-Free Grammars , 2007 .

[5]  Julia L. Lawall,et al.  Zebu: A Language-Based Approach for Network Protocol Message Processing , 2011, IEEE Transactions on Software Engineering.

[6]  Tran Cao Son,et al.  Semantic Web Services , 2001, IEEE Intell. Syst..

[7]  Valérie Issarny,et al.  Automated Synthesis of Mediators to Support Component Interoperability , 2015, IEEE Transactions on Software Engineering.

[8]  Marco Aurélio Gerosa,et al.  Service-oriented middleware for the Future Internet: state of the art and research directions , 2011, Journal of Internet Services and Applications.

[9]  Paul Klint,et al.  Incremental generation of parsers , 1989, PLDI '89.

[10]  Gwen Salaün,et al.  Adaptation of Service Protocols Using Process Algebra and On-the-Fly Reduction Techniques , 2008, IEEE Transactions on Software Engineering.

[11]  Helen J. Wang,et al.  Generic Application-Level Protocol Analyzer and its Language , 2007, NDSS.

[12]  Sebastián Uchitel,et al.  Hope for the best, prepare for the worst: multi-tier control for adaptive systems , 2014, ICSE.

[13]  Yérom-David Bromberg,et al.  Starlink: Runtime Interoperability between Heterogeneous Middleware Protocols , 2011, 2011 31st International Conference on Distributed Computing Systems.

[14]  David Garlan,et al.  A compositional formalization of connector wrappers , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[15]  Eric Van Wyk,et al.  Verifiable composition of deterministic grammars , 2009, PLDI '09.

[16]  Paola Inverardi,et al.  Automatic synthesis of modular connectors via composition of protocol mediation patterns , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[17]  Eric Van Wyk,et al.  Verifiable Parse Table Composition for Deterministic Parsing , 2009, SLE.

[18]  Amit P. Sheth,et al.  METEOR-S Web Service Annotation Framework with Machine Learning Classification , 2004, SWSWPC.

[19]  Leonardo Mariani,et al.  Automatic generation of software behavioral models , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[20]  David Garlan,et al.  Architectural Mismatch or Why it's hard to build systems out of existing parts , 1995, 1995 17th International Conference on Software Engineering.

[21]  Yérom-David Bromberg,et al.  Middleware-Layer Connector Synthesis: Beyond State of the Art in Middleware Interoperability , 2011, SFM.

[22]  Valérie Issarny,et al.  Composing Message Translators and Inferring Their Data Types Using Tree Automata , 2015, FASE.

[23]  David A Chappell,et al.  Enterprise Service Bus , 2004 .

[24]  Valérie Issarny,et al.  Composing Distributed Systems: Overcoming the Interoperability Challenge , 2012, FMCO.

[25]  Martín Abadi,et al.  Extensible Grammars for Language Specialization , 1993, DBPL.

[26]  Gio Wiederhold,et al.  Mediators in the architecture of future information systems , 1992, Computer.

[27]  S. Doaitse Swierstra Combinator Parsers - From Toys to Tools , 2000, Electron. Notes Theor. Comput. Sci..

[28]  Daniel M. Yellin,et al.  Protocol specifications and component adaptors , 1997, TOPL.

[29]  Valérie Issarny,et al.  Machine Learning for Emergent Middleware , 2012, EternalS@ECAI.

[30]  Martin Odersky,et al.  Parser combinators in Scala , 2008 .

[31]  Matteo Pradella,et al.  An Automatic Approach to Enable Replacement of Conversational Services , 2009, ICSOC/ServiceWave.

[32]  Eric Van Wyk,et al.  Context-aware scanning for parsing extensible languages , 2007, GPCE '07.