Composing Distributed Systems: Overcoming the Interoperability Challenge

  • Valérie Issarny
  • Amel Bennaceur
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7866)

Abstract

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 task(s). 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.

Keywords

Architectural mismatches Interoperability Mediator synthesis Middleware 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol. (1997)Google Scholar
  2. 2.
    Andriescu, E., Speicys Cardoso, R., Issarny, V.: AmbiStream: A middleware for multimedia streaming on heterogeneous mobile devices. In: Kon, F., Kermarrec, A.-M. (eds.) Middleware 2011. LNCS, vol. 7049, pp. 249–268. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  3. 3.
    Aranguren, M., Bechhofer, S., Lord, P., Sattler, U., Stevens, R.: Understanding and using the meaning of statements in a bio-ontology: recasting the gene ontology in OWL. BMC Bioinformatics 8(1), 57 (2007)CrossRefGoogle Scholar
  4. 4.
    Baader, F., Calvanese, D., McGuinness, D.L., Nardi, D., Patel-Schneider, P.F.: The Description Logic Handbook. Cambridge University Press (2003)Google Scholar
  5. 5.
    Bencomo, N., Bennaceur, A., Grace, P., Blair, G., Issarny, V.: The role of models@run.time in supporting on-the-fly interoperability. Springer Journal on Computing (2012)Google Scholar
  6. 6.
    Bennaceur, A., Issarny, V., Sykes, D., Howar, F., Isberner, M., Steffen, B., Johansson, R., Moschitti, A.: Machine learning for emergent middleware. In: Proc. of the Joint Workshop on Intelligent Methods for Soft. System Eng., JIMSE (2012)Google Scholar
  7. 7.
    Bennaceur, A., Issarny, V., Spalazzese, R., Tyagi, S.: Achieving interoperability through semantics-based technologies: The instant messaging case. In: Cudré-Mauroux, P., et al. (eds.) ISWC 2012, Part II. LNCS, vol. 7650, pp. 17–33. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  8. 8.
    Bersani, M., Cavallaro, L., Frigeri, A., Pradella, M., Rossi, M.: SMT-based verification of ltl specification with integer constraints and its application to runtime checking of service substitutability. In: 2010 8th IEEE International Conference on Software Engineering and Formal Methods (SEFM), pp. 244–254. IEEE (2010)Google Scholar
  9. 9.
    Blair, G.S., Paolucci, M., Grace, P., Georgantas, N.: Interoperability in complex distributed systems. In: Bernardo, M., Issarny, V. (eds.) SFM 2011. LNCS, vol. 6659, pp. 1–26. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  10. 10.
    Blair, G.S., Bennaceur, A., Georgantas, N., Grace, P., Issarny, V., Nundloll, V., Paolucci, M.: The role of ontologies in emergent middleware: Supporting interoperability in complex distributed systems. In: Kon, F., Kermarrec, A.-M. (eds.) Middleware 2011. LNCS, vol. 7049, pp. 410–430. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  11. 11.
    Borgida, A.: From type systems to knowledge representation: Natural semantics specifications for description logics. Int. J. Cooperative Inf. Syst. 1(1), 93–126 (1992)CrossRefGoogle Scholar
  12. 12.
    Bromberg, Y.-D.: Solutions to middleware heterogeneity in open networked environment. Ph.D. thesis, Université de Versailles Saint-Quentin-en-Yvelynes (2006)Google Scholar
  13. 13.
    Bromberg, Y.-D., Grace, P., Réveillère, L.: Starlink: Runtime interoperability between heterogeneous middleware protocols. In: International Conference on Distributed Computing Systems, ICDCS (2011)Google Scholar
  14. 14.
    Bromberg, Y.-D., Grace, P., Réveillère, L., Blair, G.S.: Bridging the interoperability gap: Overcoming combined application and middleware heterogeneity. In: Kon, F., Kermarrec, A.-M. (eds.) Middleware 2011. LNCS, vol. 7049, pp. 390–409. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  15. 15.
    Bromberg, Y.-D., Issarny, V.: INDISS: Interoperable discovery system for networked services. In: Alonso, G. (ed.) Middleware 2005. LNCS, vol. 3790, pp. 164–183. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  16. 16.
    Bromberg, Y.-D., Réveillère, L., Lawall, J.L., Muller, G.: Automatic generation of network protocol gateways. In: Bacon, J.M., Cooper, B.F. (eds.) Middleware 2009. LNCS, vol. 5896, pp. 21–41. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  17. 17.
    Calero, C., Ruiz, F., Piattini, M.: Ontologies for Software Engineering and Software Technology. Springer (2006)Google Scholar
  18. 18.
    Calvert, K.L., Lam, S.S.: Deriving a protocol converter: A top-down method. In: Proc. of the Symposium on Communications Architectures & Protocols, SIGCOMM, pp. 247–258 (1989)Google Scholar
  19. 19.
    Cavallaro, L., Di Nitto, E., Pradella, M.: An automatic approach to enable replacement of conversational services. In: Baresi, L., Chi, C.-H., Suzuki, J. (eds.) ICSOC-ServiceWave 2009. LNCS, vol. 5900, pp. 159–174. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  20. 20.
    Cimpian, E., Mocan, A.: WSMX process mediation based on choreographies. In: Bussler, C.J., Haller, A. (eds.) BPM 2005. LNCS, vol. 3812, pp. 130–143. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  21. 21.
    Connect Consortium: Connect Deliverable D3.3: Dynamic connector synthesis: Revised prototype implementation. FET IP Connect EU project, http://hal.inria.fr/hal-00695592/
  22. 22.
    Connect Consortium: Connect Deliverable D6.3: Experiment scenarios, prototypes and report - Iteration 2. FET IP Connect EU project, http://hal.inria.fr/hal-00695639
  23. 23.
    Connect Consortium: Connect Deliverable D6.4: Assessment report: Experimenting with CONNECT in Systems of Systems, and Mobile Environments. FET IP Connect EU project, http://hal.inria.fr/hal-00793920
  24. 24.
    Coulouris, G.F., Dollimore, J., Kindberg, T., Blair, G.: Distributed systems: concepts and design, 5th edn. Addison-Wesley, Longman (2012)Google Scholar
  25. 25.
    d’Aquin, M., Noy, N.F.: Where to publish and find ontologies? a survey of ontology libraries. J. Web Sem. 11, 96–111 (2012)CrossRefGoogle Scholar
  26. 26.
    Dong, J.S.: From semantic web to expressive software specifications: a modeling languages spectrum. In: Proc. of the International Conference on Software Engineering, ICSE (2006)Google Scholar
  27. 27.
    Garlan, D., Allen, R., Ockerbloom, J.: Architectural mismatch or why it’s hard to build systems out of existing parts. In: International Conference on Software Engineering, ICSE (1995)Google Scholar
  28. 28.
    Georgantas, N., Rahaman, M.A., Ameziani, H., Pathak, A., Issarny, V.: A coordination middleware for orchestrating heterogeneous distributed systems. In: Riekki, J., Ylianttila, M., Guo, M. (eds.) GPC 2011. LNCS, vol. 6646, pp. 221–232. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  29. 29.
    Golbeck, J., Rothstein, M.: Linking social networks on the web with foaf: A semantic web case study. In: AAAI, pp. 1138–1143 (2008)Google Scholar
  30. 30.
    Guarino, N.: Helping people (and machines) understanding each other: The role of formal ontology. In: Meersman, R., Tari, Z. (eds.) CoopIS/DOA/ODBASE 2004, Part 1. LNCS, vol. 3290, p. 599. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  31. 31.
    Issarny, V., Bennaceur, A., Bromberg, Y.-D.: Middleware-layer connector synthesis: Beyond state of the art in middleware interoperability. In: Bernardo, M., Issarny, V. (eds.) SFM 2011. LNCS, vol. 6659, pp. 217–255. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  32. 32.
    Jamshidi, M.: Systems of systems engineering: principles and applications. CRC Press (2008)Google Scholar
  33. 33.
    Keller, R.M.: Formal verification of parallel programs. Communications of the ACM 19(7), 371–384 (1976)MATHCrossRefGoogle Scholar
  34. 34.
    Lam, S.S.: Protocol conversion. IEEE Transaction Software Engineering (1988)Google Scholar
  35. 35.
    Magee, J., Kramer, J.: Concurrency: State models and Java programs. Wiley, Hoboken (2006)Google Scholar
  36. 36.
    Martin, D.L., Burstein, M.H., McDermott, D.V., McIlraith, S.A., Paolucci, M., Sycara, K.P., McGuinness, D.L., Sirin, E., Srinivasan, N.: Bringing semantics to web services with owl-s. In: Proc. of the World Wide Web Conference, WWW 2007, pp. 243–277 (2007)Google Scholar
  37. 37.
    Mateescu, R., Poizat, P., Salaün, G.: Adaptation of service protocols using process algebra and on-the-fly reduction techniques. IEEE Trans. Software Eng. 38(4), 755–777 (2012)CrossRefGoogle Scholar
  38. 38.
    McIlraith, S.A., Son, T.C., Zeng, H.: Semantic web services. IEEE Intelligent Systems 16(2), 46–53 (2001)CrossRefGoogle Scholar
  39. 39.
    Menge, F.: Enterprise Service Bus. In: Proc. of the Free and Open Source Soft. Conf. (2007)Google Scholar
  40. 40.
    Mokhtar, S.B., Georgantas, N., Issarny, V.: Cocoa: Conversation-based service composition in pervasive computing environments with qos support. Journal of Systems and Software 80(12), 1941–1955 (2007)CrossRefGoogle Scholar
  41. 41.
    Ben Mokhtar, S., Kaul, A., Georgantas, N., Issarny, V.: Efficient semantic service discovery in pervasive computing environments. In: van Steen, M., Henning, M. (eds.) Middleware 2006. LNCS, vol. 4290, pp. 240–259. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  42. 42.
    Nitto, E.D., Rosenblum, D.S.: Exploiting adls to specify architectural styles induced by middleware infrastructures. In: Proc. of International Conference on Software Engineering, ICSE (1999)Google Scholar
  43. 43.
    Paolucci, M., Kawamura, T., Payne, T.R., Sycara, K.: Semantic matching of web services capabilities. In: Horrocks, I., Hendler, J. (eds.) ISWC 2002. LNCS, vol. 2342, pp. 333–347. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  44. 44.
    Raskin, R.G., Pan, M.J.: Knowledge representation in the semantic web for earth and environmental terminology (SWEET). Computers & Geosciences 31(9), 1119–1125 (2005)CrossRefGoogle Scholar
  45. 45.
    Shadbolt, N., Berners-Lee, T., Hall, W.: The semantic web revisited. IEEE Intelligent Systems 21(3), 96–101 (2006)CrossRefGoogle Scholar
  46. 46.
    Shaw, M.: Procedure calls are the assembly language of software interconnection: Connectors deserve first-class status. In: Lamb, D.A. (ed.) ICSE-WS 1993. LNCS, vol. 1078, pp. 17–32. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  47. 47.
    Spitznagel, B., Garlan, D.: A compositional formalization of connector wrappers. In: International Conference on Software Engineering, ICSE (2003)Google Scholar
  48. 48.
    Tanenbaum, A., Van Steen, M.: Distributed systems: principles and paradigms, 2nd edn. Prentice Hall (2006)Google Scholar
  49. 49.
    Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software architecture: foundations, theory, and practice. Wiley, Hoboken (2009)Google Scholar
  50. 50.
    Uckelmann, D., Harrison, M., Michahelles, F.: Architecting the internet of things. Springer (2011)Google Scholar
  51. 51.
    Vaculín, R., Neruda, R., Sycara, K.P.: The process mediation framework for semantic web services. International Journal of Agent-Oriented Software Engineering, IJAOSE 3(1), 27–58 (2009)CrossRefGoogle Scholar
  52. 52.
    Wiederhold, G.: Interoperation, mediation, and ontologies. In: Proc. of the Fifth International Symposium on Generation Computer Systems Workshop on Heterogeneous Cooperative Knowledge-Bases, pp. 33–48. Citeseer (1994)Google Scholar
  53. 53.
    Yellin, D.M., Strom, R.E.: Protocol specifications and component adaptors. ACM Trans. Program. Lang. Syst. (1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Valérie Issarny
    • 1
  • Amel Bennaceur
    • 1
  1. 1.Inria Paris-RocquencourtFrance

Personalised recommendations