Composing Distributed Systems: Overcoming the Interoperability Challenge

Software systems are increasingly composed of independently-developed components, which are often systems by their own. This composition is possible only if the components are interoperable, i.e., are able to work together in order to achieve some user tasks. However, interoperability is often hampered by the differences in the data types, communication protocols, and middleware technologies used by the components involved. In order to enable components to interoperate despite these differences, mediators that perform the necessary data translations and coordinate the components' behaviours appropriately, have been introduced. Still, interoperability remains a critical challenge for today's and even more tomorrow's distributed systems that are highly heterogeneous and dynamic. This chapter introduces the fundamental principles and solutions underlaying interoperability in software systems with a special focus on protocols. First, we take a software architecture perspective and present the fundamentals for reasoning about interoperability and bring out mediators as a key solution to achieve protocol interoperability. Then, we review the solutions proposed for the implementation, synthesis, and dynamic deployment of mediators. We show how these solutions still fall short in automatically solving the interoperability problem in the context of systems of systems. This leads us to present the solution elaborated in the context of the European Connect project, which revolves around the notion of emergent middleware, whereby mediators are synthesised on the fly. We consider the GMES Global Monitoring of Environment and Security initiative and use it to illustrate the different solutions presented.

[1]  Sean Bechhofer,et al.  Understanding and using the meaning of statements in a bio-ontology: recasting the Gene Ontology in OWL , 2007, BMC Bioinformatics.

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

[3]  Wendy Hall,et al.  The Semantic Web Revisited , 2006, IEEE Intelligent Systems.

[4]  Gordon S. Blair,et al.  Interoperability in Complex Distributed Systems , 2011, SFM.

[5]  Paola Inverardi,et al.  Dynamic connector synthesis: revised prototype implementation , 2012 .

[6]  Valérie Issarny,et al.  The role of models@run.time in supporting on-the-fly interoperability , 2013, Computing.

[7]  Mary Shaw Procedure Calls Are the Assembly Language of Software Interconnection: Connectors Deserve First-Class Status , 1993, ICSE Workshop on Studies of Software Design.

[8]  Valérie Issarny,et al.  Achieving Interoperability through Semantics-Based Technologies: The Instant Messaging Case , 2012, SEMWEB.

[9]  Paul E. Green Protocol Conversion , 1986, IEEE Trans. Commun..

[10]  Laurence T. Yang,et al.  Advances in Grid and Pervasive Computing, Third International Conference, GPC 2008, Kunming, China, May 25-28, 2008. Proceedings , 2008, GPC.

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

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

[13]  Andrew S. Tanenbaum,et al.  Distributed systems - principles and paradigms, 2nd Edition , 2007 .

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

[15]  Yérom-David Bromberg,et al.  Automatic Generation of Network Protocol Gateways , 2009, Middleware.

[16]  Jeff Heflin,et al.  The Semantic Web – ISWC 2012 , 2012, Lecture Notes in Computer Science.

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

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

[19]  Florian Michahelles,et al.  Architecting the Internet of Things , 2011 .

[20]  Gio Wiederhold,et al.  Interoperation, Mediation, and Ontologies , 1994 .

[21]  Yérom-David Bromberg,et al.  INDISS: Interoperable Discovery System for Networked Services , 2005, Middleware.

[22]  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.

[23]  Diego Calvanese,et al.  The Description Logic Handbook , 2007 .

[24]  Takahiro Kawamura,et al.  Semantic Matching of Web Services Capabilities , 2002, SEMWEB.

[25]  Mathieu d'Aquin,et al.  Where to publish and find ontologies? A survey of ontology libraries , 2012, J. Web Semant..

[26]  George Coulouris,et al.  Distributed systems - concepts and design , 1988 .

[27]  Simon S. Lam Protocol Conversion , 1988, IEEE Trans. Software Eng..

[28]  Robert Meersman,et al.  On the Move to Meaningful Internet Systems 2004: CoopIS, DOA, and ODBASE , 2004, Lecture Notes in Computer Science.

[29]  Antonia Bertolino,et al.  Deliverable D6.4: Assessment report: Experimenting with CONNECT in Systems of Systems, and Mobile Environments , 2012 .

[30]  Robert M. Keller,et al.  Formal verification of parallel programs , 1976, CACM.

[31]  Nicola Guarino Helping People (and Machines) Understanding Each Other: The Role of Formal Ontology , 2004, CoopIS/DOA/ODBASE.

[32]  Valérie Issarny,et al.  A Coordination Middleware for Orchestrating Heterogeneous Distributed Systems , 2011, GPC.

[33]  Valérie Issarny,et al.  Formal Methods for Eternal Networked Software Systems , 2011, Lecture Notes in Computer Science.

[34]  Yérom-David Bromberg Résolution de l'hétérogénéité des intergiciels d'un environnement ubiquitaire. (Solutions to middleware heterogeneity in open network environments) , 2006 .

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

[36]  Alexander Borgida From Type Systems to Knowledge Representation: Natural Semantics Specifications for Description Logics , 1992, Int. J. Cooperative Inf. Syst..

[37]  David S. Rosenblum,et al.  Exploiting ADLs to specify architectural styles induced by middleware infrastructures , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[38]  Falko Menge Enterprise Service Bus , 2007 .

[39]  Matteo Pradella,et al.  SMT-based Verification of LTL Specification with Integer Constraints and its Application to Runtime Checking of Service Substitutability , 2010, 2010 8th IEEE International Conference on Software Engineering and Formal Methods.

[40]  Mario Piattini,et al.  Ontologies for Software Engineering and Software Technology , 2010 .

[41]  Jennifer Golbeck,et al.  Linking Social Networks on the Web with FOAF: A Semantic Web Case Study , 2008, AAAI.

[42]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .

[43]  Valérie Issarny,et al.  Efficient Semantic Service Discovery in Pervasive Computing Environments , 2006, Middleware.

[44]  Valérie Issarny,et al.  The Role of Ontologies in Emergent Middleware: Supporting Interoperability in Complex Distributed Systems , 2011, Middleware.

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

[46]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

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

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

[49]  Deborah L. McGuinness,et al.  Bringing Semantics to Web Services with OWL-S , 2007, World Wide Web.

[50]  Adrian Mocan,et al.  WSMX Process Mediation Based on Choreographies , 2005, Business Process Management Workshops.

[51]  Guido Governatori,et al.  Compliance aware business process design , 2008 .

[52]  Kenneth L. Calvert,et al.  Deriving a Protocol Converter: A Top-Down Method , 1989, SIGCOMM.

[53]  Valérie Issarny,et al.  AmbiStream: A Middleware for Multimedia Streaming on Heterogeneous Mobile Devices , 2011, Middleware.

[54]  Robert G. Raskin,et al.  Knowledge representation in the semantic web for Earth and environmental terminology (SWEET) , 2005, Comput. Geosci..

[55]  Mohammad Jamshidi,et al.  Systems of Systems Engineering: Principles and Applications , 2008 .

[56]  Valérie Issarny,et al.  COCOA: COnversation-based service COmposition in pervAsive computing environments with QoS support , 2007, J. Syst. Softw..

[57]  David Alex Lamb Studies of Software Design , 1993, Lecture Notes in Computer Science.

[58]  Andrew S. Tanenbaum,et al.  Distributed systems: Principles and Paradigms , 2001 .

[59]  Richard N. Taylor,et al.  Software architecture: foundations, theory, and practice , 2009, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[60]  James A. Hendler,et al.  The Semantic Web — ISWC 2002 , 2002, Lecture Notes in Computer Science.

[61]  Jin Song Dong,et al.  From semantic web to expressive software specifications: a modeling languages spectrum , 2006, ICSE.

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