Skip to main content

Abstract

The heterogeneity characterizing the systems populating the Ubiquitous Computing environment prevents their seamless interoperability. Heterogeneous protocols may be willing to cooperate in order to reach some common goal even though they meet dynamically and do not have a priori knowledge of each other. Despite numerous efforts have been done in the literature, the automated and run-time interoperability is still an open challenge for such environment. We consider interoperability as the ability for two Networked Systems (NSs) to communicate and correctly coordinate to achieve their goal(s).

In this chapter we report the main outcomes of our past and recent research on automatically achieving protocol interoperability via connector synthesis. We consider application-layer connectors by referring to two conceptually distinct notions of connector: coordinator and mediator. The former is used when the NSs to be connected are already able to communicate but they need to be specifically coordinated in order to reach their goal(s). The latter goes a step forward representing a solution for both achieving correct coordination and enabling communication between highly heterogeneous NSs. In the past, most of the works in the literature described efforts to the automatic synthesis of coordinators while, in recent years the focus moved also to the automatic synthesis of mediators. Within the Connect project, by considering our past experience on automatic coordinator synthesis as a baseline, we propose a formal theory of mediators and a related method for automatically eliciting a way for the protocols to interoperate. The solution we propose is the automated synthesis of emerging mediating connectors (i.e., mediators for short).

This work has been partially supported by the FET project Connect No 231167.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. CONNECT consortium. CONNECT Deliverable D1.1: Initial Connect Architecture. FET IP CONNECT EU project, FP7 grant agreement number 231167, http://www.connect-forever.eu/

  2. CONNECT consortium. CONNECT Deliverable D1.2: Intermediate Connect Architecture. FET IP CONNECT EU project, FP7 grant agreement number 231167, http://www.connect-forever.eu/

  3. CONNECT consortium. CONNECT Deliverable D3.2: Reasoning about and Harmonizing the Interaction Behavior of Networked Systems at Application- and Middleware- Layer. FET IP CONNECT EU project, FP7 grant agreement number 231167, http://www.connect-forever.eu/

  4. ITU Telecommunication Standardisation sector, ITU-T reccomendation Z.120. Message Sequence Charts (MSC 1996), Geneva (1996)

    Google Scholar 

  5. Arnold, A.: Finite Transition Systems. International Series in Computer Science. Prentice Hall International, UK (1989)

    MATH  Google Scholar 

  6. Autili, M., Inverardi, P., Navarra, A., Tivoli, M.: Synthesis: A tool for automatically assembling correct and distributed component-based systems. In: 29th International Conference on Software Engineering (ICSE 2007), Minneapolis, MN, USA, pp. 784–787. IEEE Computer Society, Los Alamitos (2007), DOI REF: http://doi.ieeecomputersociety.org/10.1109/ICSE.2007.84

    Chapter  Google Scholar 

  7. Autili, M., Inverardi, P., Tivoli, M., Garlan, D.: Synthesis of “correct” adaptors for protocol enhancement in component based systems. In: Proceedings of the 1st International Workshop on Specification and Verification of Component-Based Systems (SAVCBS 2004) at FSE 2004, pp. 79–86 (2004)

    Google Scholar 

  8. Autili, M., Mostarda, L., Navarra, A., Tivoli, M.: Synthesis of decentralized and concurrent adaptors for correctly assembling distributed component-based systems. Journal of Systems and Software 81(12), 2210–2236 (2008)

    Article  Google Scholar 

  9. Balek, D.: Connectors in Software Architectures. PhD thesis, Charles University (May 2002)

    Google Scholar 

  10. Barbosa, M.A., Barbosa, L.S.: Specifying software connectors. In: Liu, Z., Araki, K. (eds.) ICTAC 2004. LNCS, vol. 3407, pp. 52–67. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  11. Benatallah, B., Casati, F., Grigori, D., Nezhad, H.R.M., Toumani, F.: Developing adapters for web services integration. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 415–429. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  12. Bennaceur, A., Issarny, V., Spalazzese, R.: On-the-fly reasoning about interoperability using ontology-based model checking. Technical Report, INRIA Rocquencourt, Paris (January 2011)

    Google Scholar 

  13. Bennaceur, A., Spalazzese, R., Inverardi, P., Issarny, V., Georgantas, N., Saadi, R.: Model-based mediators for dynamic-adaptive connectors. Technical report, INRIA Paris-Rocquencourt, France (2011)

    Google Scholar 

  14. Bertolino, A., Inverardi, P., Issarny, V., Sabetta, A., Spalazzese, R.: On-the-fly interoperability through automated mediator synthesis and monitoring. In: Margaria, T., Steffen, B. (eds.) ISoLA 2010, Part II. LNCS, vol. 6416, pp. 251–262. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  15. Bracciali, A., Brogi, A., Canal, C.: A formal approach to component adaptation. J. Syst. Softw. 74 (January 2005)

    Google Scholar 

  16. Brandin, B., Wonham, W.: Supervisory control of timed discrete-event systems. IEEE Transactions on Automatic Control 39(2) (1994)

    Google Scholar 

  17. Bruni, R., Lanese, I., Montanari, U.: A basic algebra of stateless connectors. Theor. Comput. Sci. 366(1), 98–120 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  18. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture. A System of Patterns, vol. 1. Wiley, Chichester (1996)

    Google Scholar 

  19. Calvert, K.L., Lam, S.S.: Formal methods for protocol conversion. IEEE Journal on Selected Areas in Communications 8(1), 127–142 (1990)

    Article  Google Scholar 

  20. Canal, C., Poizat, P., Salaün, G.: Model-based adaptation of behavioral mismatching components. IEEE Trans. Software Eng. 34(4), 546–563 (2008)

    Article  Google Scholar 

  21. Cavallaro, L., Nitto, E.D., 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)

    Chapter  Google Scholar 

  22. Cimpian, E., Mocan, A.: WSMX process mediation based on choreographies. In: Bussler, C., Haller, A. (eds.) BPM 2005. LNCS, vol. 3812, pp. 130–143. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  23. Cohen, A., Duranton, M., Eisenbeis, C., Pagetti, C., Plateau, F., Pouzet, M.: Synchronization of periodic clocks. In: Proc. of the 5th EMSOFT (2005)

    Google Scholar 

  24. de Alfaro, L., Henzinger, T.A.: Interface automata. In: Proceedings of the 8th European Software Engineering Conference Held Jointly with 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ESEC/FSE, vol. 9, pp. 109–120 (2001)

    Google Scholar 

  25. Denaro, G., Pezzé, M., Tosi, D.: Ensuring interoperable service-oriented systems through engineered self-healing. In: Proceedings of ESEC/FSE 2009. ACM Press, New York (2009)

    Google Scholar 

  26. Dumas, M., Spork, M., Wang, K.: Adapt or perish: Algebra and visual notation for service interface adaptation. In: Dustdar, S., Fiadeiro, J.L., Sheth, A.P. (eds.) BPM 2006. LNCS, vol. 4102, pp. 65–80. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  27. Feiler, P., Gabriel, R.P., Goodenough, J., Lingerand, R., Longstaff, T., Kazman, R., Klein, M., Northrop, L., Schmidt, D., Sullivan, K., Wallnau, K.: Ultra-Large-Scale Systems: The Software Challenge of the Future (2006)

    Google Scholar 

  28. Fiadeiro, J.L., Lopes, A., Wermelinger, M.: Theory and practice of software architectures. In: Tutorial at the 16th IEEE Conference on Automated Software Engineering, San Diego, CA, USA, November 26-29 (2001)

    Google Scholar 

  29. Finkel, A.: The minimal coverability graph for Petri nets. In: Rozenberg, G. (ed.) APN 1993. LNCS, vol. 674. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  30. Blair, G., et al.: Introduction to Interoperability. In: Bernardo, M., Issarny, V. (eds.) SFM 2011. LNCS, vol. 6659, pp. 350–392. Springer, Heidelberg (2011)

    Google Scholar 

  31. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Resusable Object-Oriented Software. Addison-Wesley Professional, Reading (1995)

    Google Scholar 

  32. Garlan, D., Shaw, M.: An introduction to software architecture. Technical Report CMU-CS-94-166, Carnegie Mellon University (January 1994)

    Google Scholar 

  33. Giannakopoulou, D., Kramer, J., Cheung, S.C.: Behaviour analysis of distributed systems using the tracta approach. Automated Software Engg. 6, 7–35 (1999)

    Article  Google Scholar 

  34. Giannakopoulou, D., Păsăreanu, C.S., Barringer, H.: Component verification with automatically generated assumptions. Automated Software Engg. 12, 297–320 (2005)

    Article  Google Scholar 

  35. Intrigila, B., Inverardi, P., Zilli, M.V.: A comprehensive setting for matching and unification over iterative terms. Fundam. Inform. 39(3), 273–304 (1999)

    MathSciNet  MATH  Google Scholar 

  36. Inverardi, P., Issarny, V., Spalazzese, R.: A theory of mediators for eternal connectors. In: Margaria, T., Steffen, B. (eds.) ISoLA 2010, Part II. LNCS, vol. 6416, pp. 236–250. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  37. Inverardi, P., Nesi, M.: Deciding observational congruence of finite-state ccs expressions by rewriting. Theor. Comput. Sci. 139(1-2), 315–354 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  38. Jiang, F., Fan, Y., Zhang, X.: Rule-based automatic generation of mediator patterns for service composition mismatches. In: Proceedings of the 2008, The 3rd International Conference on Grid and Pervasive Computing - Workshops, pp. 3–8. IEEE Computer Society, Washington, DC, USA (2008)

    Chapter  Google Scholar 

  39. Kalfoglou, Y., Schorlemmer, M.: Ontology mapping: the state of the art. Knowl. Eng. Rev. 18(1), 1–31 (2003)

    Article  MATH  Google Scholar 

  40. Kalfoglou, Y., Schorlemmer, M.: Ontology mapping: The state of the art. In: Kalfoglou, Y., Schorlemmer, M., Sheth, A., Staab, S., Uschold, M. (eds.) Semantic Interoperability and Integration, Dagstuhl, Germany. Dagstuhl Seminar Proceedings, vol. 04391. IBFI, Schloss Dagstuhl, Germany (2005)

    Google Scholar 

  41. Kell, S.: Rethinking software connectors. In: SYANCO 2007: International Workshop on Synthesis and Analysis of Component Connectors, pp. 1–12. ACM, New York (2007)

    Google Scholar 

  42. Keller, R.M.: Formal verification of parallel programs. Commun. ACM 19(7), 371–384 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  43. Kumar, R., Nelvagal, S., Marcus, S.I.: A discrete event systems approach for protocol conversion. Discrete Event Dynamic Systems 7(3) (1997)

    Google Scholar 

  44. Lam, S.S.: Correction to ”protocol conversion”. IEEE Trans. Software Eng. 14(9), 1376 (1988)

    Article  Google Scholar 

  45. Li, X., Fan, Y., Wang, J., Wang, L., Jiang, F.: A pattern-based approach to development of service mediators for protocol mediation. In: Proceedings of WICSA 2008, pp. 137–146. IEEE Computer Society, Los Alamitos (2008)

    Google Scholar 

  46. Lopes, A., Wermelinger, M., Fiadeiro, J.L.: Higher-order architectural connectors. ACM Trans. Softw. Eng. Methodol. 12(1), 64–104 (2003)

    Article  MATH  Google Scholar 

  47. Magee, J., Kramer, J.: Concurrency: State models and Java programs. Wiley, Chichester (2006)

    MATH  Google Scholar 

  48. Mehta, N.R., Medvidovic, N., Phadke, S.: Towards a taxonomy of software connectors. In: ICSE 2000: Proceedings of the 22nd International Conference on Software Engineering, pp. 178–187. ACM Press, New York (2000)

    Google Scholar 

  49. Milner, R.: Communication and Concurrency. Prentice Hall, New York (1989)

    MATH  Google Scholar 

  50. Motahari Nezhad, H.R., Benatallah, B., Martens, A., Curbera, F., Casati, F.: Semi-automated adaptation of service interactions. In: WWW 2007: Proceedings of the 16th International Conference on World Wide Web, pp. 993–1002. ACM, New York (2007)

    Google Scholar 

  51. Motahari Nezhad, H.R., Xu, G.Y., Benatallah, B.: Protocol-aware matching of web service interfaces for adapter development. In: Proceedings of the 19th International Conference on World Wide Web, WWW 2010, pp. 731–740. ACM, New York (2010)

    Google Scholar 

  52. Murata, T.: Petri nets: Properties, analysis and applications. Proceedings of the IEEE 77(4) (1989)

    Google Scholar 

  53. Okumura, K.: A formal protocol conversion method. In: SIGCOMM, pp. 30–37 (1986)

    Google Scholar 

  54. Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-based runtime software evolution. In: Proceedings of the 20th International Conference on Software Engineering, ICSE 1998, pp. 177–186 (1998)

    Google Scholar 

  55. Passerone, R., de Alfaro, L., Henzinger, T.A., Sangiovanni-Vincentelli, A.L.: Convertibility verification and converter synthesis: two faces of the same coin. In: Proceedings of the 2002 IEEE/ACM International Conference on Computer-Aided Design, ICCAD 2002, pp. 132–139 (2002)

    Google Scholar 

  56. Pelliccione, P., Inverardi, P., Muccini, H.: Charmy: A framework for designing and verifying architectural specifications. IEEE Trans. Softw. Eng. 35, 325–346 (2009)

    Article  Google Scholar 

  57. Pelliccione, P., Tivoli, M., Bucchiarone, A., Polini, A.: An architectural approach to the correct and automatic assembly of evolving component-based systems. Journal of Systems and Software 81(12), 2237–2251 (2008)

    Article  Google Scholar 

  58. Plotkin, G.D.: A note on inductive generalization. Machine Intelligence 5, 153–163 (1970)

    MathSciNet  MATH  Google Scholar 

  59. Ponnekanti, S., Fox, A.: Interoperability among independently evolving web services. In: Jacobsen, H.-A. (ed.) Middleware 2004. LNCS, vol. 3231, pp. 331–351. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  60. Ramadge, P., Wonham, W.: Supervisory control of a class of discrete event processes. Siam J. Control and Optimization 25(1) (1987)

    Google Scholar 

  61. Ramadge, P., Wonham, W.: The control of discrete event systems. Proceedings of the IEEE 1(77) (1989)

    Google Scholar 

  62. Reynolds, J.: Transformational systems and the algebraic structure of atomic formulas machine intelligence, vol. 5, pp. 135–151. Edinburgh University Press, USA (1970)

    MATH  Google Scholar 

  63. Roscoe, A.W., Hoare, C.A.R., Bird, R.: The Theory and Practice of Concurrency. Prentice Hall PTR, Upper Saddle River (1997)

    Google Scholar 

  64. Spalazzese, R.: A Theory of Mediating Connectors to achieve Interoperability. PhD thesis, University of L’Aquila (April 2011)

    Google Scholar 

  65. Spalazzese, R., Inverardi, P.: Components interoperability through mediating connector pattern. In: WCSI 2010, arXiv:1010.2337. EPTCS, vol. 37, pp. 27–41 (2010)

    Google Scholar 

  66. Spalazzese, R., Inverardi, P.: Mediating connector patterns for components interoperability. In: Babar, M.A., Gorton, I. (eds.) ECSA 2010. LNCS, vol. 6285, pp. 335–343. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  67. Spalazzese, R., Inverardi, P., Issarny, V.: Towards a formalization of mediating connectors for on the fly interoperability. In: Proceedings of the Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture (WICSA/ECSA 2009), pp. 345–348 (2009)

    Google Scholar 

  68. Spitznagel, B.: Compositional Transformation of Software Connectors. PhD thesis, Carnegie Mellon University (May 2004)

    Google Scholar 

  69. Spitznagel, B., Garlan, D.: A compositional formalization of connector wrappers. In: ICSE, pp. 374–384 (2003)

    Google Scholar 

  70. Stollberg, M., Cimpian, E., Mocan, A., Fensel, D.: A semantic web mediation architecture. In: Proceedings of the 1st Canadian Semantic Web Working Symposium (CSWWS 2006). Springer, Heidelberg (2006)

    Google Scholar 

  71. Tivoli, M., Autili, M.: Synthesis, a tool for synthesizing correct and protocol-enhanced adaptors. RSTI - L’objet, Coordination and Adaptation Techniques 12(1), 77–103 (2006)

    Google Scholar 

  72. Tivoli, M., Fradet, P., Girault, A., Gößler, G.: Adaptor synthesis for real-time components. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 185–200. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  73. Tivoli, M., Inverardi, P.: Failure-free coordinators synthesis for component-based architectures. Science of Computer Programming 71(3), 181–212 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  74. Uchitel, S., Kramer, J.: A workbench for synthesising behaviour models from scenarios. In: Proceeding of the 23rd IEEE International Conference on Software Engineering (ICSE 2001) (2001)

    Google Scholar 

  75. Uchitel, S., Kramer, J., Magee, J.: Detecting implied scenarios in message sequence chart specifications. In: ACM Proceedings of the Joint 8th ESEC and 9th FSE (2001)

    Google Scholar 

  76. Issarny, V., et al.: Middleware-layer Connector Synthesis. In: Bernardo, M., Issarny, V. (eds.) SFM 2011. LNCS, vol. 6659, pp. 350–392. Springer, Heidelberg (2011)

    Google Scholar 

  77. Vaculín, R., Neruda, R., Sycara, K.P.: An agent for asymmetric process mediation in open environments. In: Kowalczyk, R., Huhns, M.N., Klusch, M., Maamar, Z., Vo, Q.B. (eds.) SOCASE. LNCS, vol. 5006, pp. 104–117. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  78. Vaculín, R., Sycara, K.: Towards automatic mediation of OWL-S process models. In: IEEE International Conference on Web Services, vol. 0, pp. 1032–1039 (2007)

    Google Scholar 

  79. Watt, S.M.: Algebraic generalization. SIGSAM Bull. 39(3), 93–94 (2005)

    Article  Google Scholar 

  80. Weiser, M.: The computer for the 21st century. Scientific American (September 1991)

    Google Scholar 

  81. Weiser, M.: Hot Topics: Ubiquitous Computing. IEEE Computer (October 1993)

    Google Scholar 

  82. Weiser, M.: Ubiquitous computing (1996), http://sandbox.xerox.com/ubicomp/

  83. Wermelinger, M., Fiadeiro, J.L.: Connectors for mobile programs. IEEE Trans. Softw. Eng. 24(5), 331–341 (1998)

    Article  Google Scholar 

  84. Wiederhold, G.: Mediators in the architecture of future information systems. IEEE Computer 25, 38–49 (1992)

    Article  Google Scholar 

  85. Wiederhold, G., Genesereth, M.: The conceptual basis for mediation services. IEEE Expert: Intelligent Systems and Their Applications 12(5), 38–47 (1997)

    Article  Google Scholar 

  86. Williams, S.K., Battle, S.A., Cuadrado, J.E.: Protocol mediation for adaptation in semantic web services. In: Sure, Y., Domingue, J. (eds.) ESWC 2006. LNCS, vol. 4011, pp. 635–649. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  87. Woollard, D., Medvidovic, N.: High performance software architectures: A connector-oriented approach. In: Proceedings of the Institute for Software Research Graduate Research Symposium, Irvine, California (June 2006)

    Google Scholar 

  88. Yellin, D.M., Strom, R.E.: Protocol specifications and component adaptors. ACM Trans. Program. Lang. Syst. 19 (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Inverardi, P., Spalazzese, R., Tivoli, M. (2011). Application-Layer Connector Synthesis. In: Bernardo, M., Issarny, V. (eds) Formal Methods for Eternal Networked Software Systems. SFM 2011. Lecture Notes in Computer Science, vol 6659. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21455-4_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21455-4_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21454-7

  • Online ISBN: 978-3-642-21455-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics