Advertisement

Elements of Interaction

  • Farhad Arbab

Abstract

The most challenging aspect of concurrency involves the study of interaction and its properties. Interaction refers to what transpires among two or more active entities whose (communication) actions mutually affect each other. In spite of the long-standing recognition of the significance of interaction, classical models of concurrency resort to peculiarly indirect means to express interaction and study its properties. Formalisms such as process algebras/calculi, concurrent objects, actors, agents, shared memory, message passing, etc., all are primarily action-based models that provide constructs for the direct specification of things that interact, rather than a direct specification of interaction (protocols). Consequently, these formalisms turn interaction into a derived or secondary concept whose properties can be studied only indirectly, as the side-effects of the (intended or coincidental) couplings or clashes of the actions whose compositions comprise a model.

Alternatively, we can view interaction as an explicit first-class concept, complete with its own composition operators that allow the specification of more complex interaction protocols by combining simpler, and eventually primitive, protocols. Reo [10, 11, 5] serves as a premier example of such an interaction-based model of concurrency. In this paper, we describe Reo and its support tools. We show how exogenous coordination in Reo reflects an interaction-centric model of concurrency where an interaction (protocol) consists of nothing but a relational constraint on communication actions. In this setting, interaction protocols become explicit, concrete, tangible (software) constructs that can be specified, verified, composed, and reused, independently of the actors that they may engage in disparate applications.

Keywords

Data Item Composition Operator Sink Node Process Algebra Interaction Protocol 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
  2. 2.
    Eclipse coordination tools home page, http://reo.project.cwi.nl/cgi-bin/trac.cgi/reo/wiki/Tools
  3. 3.
    mcrl2 home page, http://www.mcrl2.org
  4. 4.
  5. 5.
  6. 6.
    Vereofy home page, http://www.vereofy.de/
  7. 7.
    Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)Google Scholar
  8. 8.
    Aichernig, B.K., Arbab, F., Astefanoaei, L., de Boer, F.S., Meng, S., Rutten, J.J.M.M.: Fault-based test case generation for component connectors. In: Chin, W.-N., Qin, S. (eds.) TASE, pp. 147–154. IEEE Computer Society, Los Alamitos (2009)Google Scholar
  9. 9.
    Apt, K.: Principles of Constraint Programming. Cambridge University Press, Cambridge (2003)zbMATHCrossRefGoogle Scholar
  10. 10.
    Arbab, F.: Reo: a channel-based coordination model for component composition. Mathematical. Structures in Comp. Sci. 14(3), 329–366 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Arbab, F.: Abstract Behavior Types: a foundation model for components and their composition. Sci. Comput. Program. 55(1-3), 3–52 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Arbab, F., Astefanoaei, L., de Boer, F.S., Dastani, M., Meyer, J.-J.C., Tinnemeier, N.A.M.: Reo connectors as coordination artifacts in 2APL systems. In: Bui, T.D., Ho, T.V., Ha, Q.T. (eds.) PRIMA 2008. LNCS (LNAI), vol. 5357, pp. 42–53. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  13. 13.
    Arbab, F., Baier, C., de Boer, F.S., Rutten, J.J.M.M.: Models and temporal logical specifications for timed component connectors. Software and System Modeling 6(1), 59–82 (2007)CrossRefGoogle Scholar
  14. 14.
    Arbab, F., Bruni, R., Clarke, D., Lanese, I., Montanari, U.: Tiles for Reo. In: Corradini, A., Montanari, U. (eds.) WADT 2008. LNCS, vol. 5486, pp. 37–55. Springer, Heidelberg (2009)Google Scholar
  15. 15.
    Arbab, F., Chothia, T., Meng, S., Moon, Y.-J.: Component connectors with QoS guarantees. In: Murphy, A.L., Vitek, J. (eds.) COORDINATION 2007. LNCS, vol. 4467, pp. 286–304. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  16. 16.
    Arbab, F., Chothia, T., van der Mei, R., Meng, S., Moon, Y.-J., Verhoef, C.: From coordination to stochastic models of QoS. In: Field, Vasconcelos [39], pp. 268–287Google Scholar
  17. 17.
    Arbab, F., Koehler, C., Maraikar, Z., Moon, Y.-J., Proença, J.: Modeling, testing and executing Reo connectors with the Eclipse Coordination Tools. In: Tool demo session at FACS 2008 (2008)Google Scholar
  18. 18.
    Arbab, F., Kokash, N., Meng, S.: Towards using Reo for compliance-aware business process modeling. In: Margaria, T., Steffen, B. (eds.) ISoLA. Communications in Computer and Information Science, vol. 17, pp. 108–123. Springer, Heidelberg (2008)Google Scholar
  19. 19.
    Arbab, F., Meng, S.: Synthesis of connectors from scenario-based interaction specifications. In: Chaudron, M.R.V., Szyperski, C., Reussner, R. (eds.) CBSE 2008. LNCS, vol. 5282, pp. 114–129. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  20. 20.
    Arbab, F., Meng, S., Baier, C.: Synthesis of Reo circuits from scenario-based specifications. Electr. Notes Theor. Comput. Sci. 229(2), 21–41 (2009)CrossRefGoogle Scholar
  21. 21.
    Arbab, F., Meng, S., Moon, Y.-J., Kwiatkowska, M.Z., Qu, H.: Reo2mc: a tool chain for performance analysis of coordination models. In: van Vliet, H., Issarny, V. (eds.) ESEC/SIGSOFT FSE, pp. 287–288. ACM, New York (2009)Google Scholar
  22. 22.
    Arbab, F., Rutten, J.J.M.M.: A coinductive calculus of component connectors. In: Wirsing, M., Pattinson, D., Hennicker, R. (eds.) WADT 2003. LNCS, vol. 2755, pp. 34–55. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  23. 23.
    Baeten, J.C.M., Weijland, W.P.: Process Algebra. Cambridge University Press, Cambridge (1990)Google Scholar
  24. 24.
    Baier, C.: Probabilistic models for Reo connector circuits. Journal of Universal Computer Science 11(10), 1718–1748 (2005)Google Scholar
  25. 25.
    Baier, C., Blechmann, T., Klein, J., Klüppelholz, S.: Formal verification for components and connectors. In: de Boer, F.S., Bonsangue, M.M., Madelaine, E. (eds.) FMCO 2008. LNCS, vol. 5751, pp. 82–101. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  26. 26.
    Baier, C., Blechmann, T., Klein, J., Klüppelholz, S.: A uniform framework for modeling and verifying components and connectors. In: Field, Vasconcelos [39], pp. 247–267Google Scholar
  27. 27.
    Baier, C., Sirjani, M., Arbab, F., Rutten, J.J.M.M.: Modeling component connectors in Reo by constraint automata. Sci. Comput. Program. 61(2), 75–113 (2006)zbMATHCrossRefMathSciNetGoogle Scholar
  28. 28.
    Baier, C., Wolf, V.: Stochastic reasoning about channel-based component connectors. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 1–15. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  29. 29.
    Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Information and Control 60, 109–137 (1984)zbMATHCrossRefMathSciNetGoogle Scholar
  30. 30.
    Blechmann, T., Baier, C.: Checking equivalence for Reo networks. Electr. Notes Theor. Comput. Sci. 215, 209–226 (2008)CrossRefGoogle Scholar
  31. 31.
    Bonsangue, M.M., Clarke, D., Silva, A.: Automata for context-dependent connectors. In: Field, Vasconcelos [39], pp. 184–203Google Scholar
  32. 32.
    Changizi, B., Kokash, N., Arbab, F.: A unified toolset for business process model formalization. In: Proc. of the 7th International Workshop on Formal Engineering approaches to Software Components and Architectures, FESCA 2010 (2010); satellite event of ETAPSGoogle Scholar
  33. 33.
    Clarke, D.: Coordination: Reo, nets, and logic. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2007. LNCS, vol. 5382, pp. 226–256. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  34. 34.
    Clarke, D.: A basic logic for reasoning about connector reconfiguration. Fundam. Inform. 82(4), 361–390 (2008)zbMATHGoogle Scholar
  35. 35.
    Clarke, D., Costa, D., Arbab, F.: Modelling coordination in biological systems. In: Margaria, T., Steffen, B. (eds.) ISoLA 2004. LNCS, vol. 4313, pp. 9–25. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  36. 36.
    Clarke, D., Costa, D., Arbab, F.: Connector colouring I: Synchronisation and context dependency. Sci. Comput. Program. 66(3), 205–225 (2007)zbMATHCrossRefMathSciNetGoogle Scholar
  37. 37.
    Clarke, D., Proença, J., Lazovik, A., Arbab, F.: Deconstructing Reo. Electr. Notes Theor. Comput. Sci. 229(2), 43–58 (2009)CrossRefGoogle Scholar
  38. 38.
    Costa, D.: Formal Models for Context Dependent Connectors for Distributed Software Components and Services. Leiden University (2010)Google Scholar
  39. 39.
    Field, J., Vasconcelos, V.T. (eds.): COORDINATION 2009. LNCS, vol. 5521. Springer, Heidelberg (2009)zbMATHGoogle Scholar
  40. 40.
    Fokkink, W.: Introduction to Process Algebra. Texts in Theoretical Computer Science, An EATCS Series. Springer, Heidelberg (1999)Google Scholar
  41. 41.
    Gadducci, F., Montanari, U.: The tile model. In: Plotkin, G.D., Stirling, C., Tofte, M. (eds.) Proof, Language and Interaction: Essays in Honour of Robin Milner, pp. 133–166. MIT Press, Boston (2000)Google Scholar
  42. 42.
    Groote, J.F., Mathijssen, A., Reniers, M.A., Usenko, Y.S., van Weerdenburg, M.: The formal specification language mcrl2. In: Brinksma, E., Harel, D., Mader, A., Stevens, P., Wieringa, R. (eds.) MMOSS. Dagstuhl Seminar Proceedings, vol. 06351, Internationales Begegnungs- und Forschungszentrum fuer Informatik (IBFI), Schloss Dagstuhl, Germany (2006)Google Scholar
  43. 43.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)zbMATHGoogle Scholar
  44. 44.
    Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice Hall, London (1998)Google Scholar
  45. 45.
    Izadi, M., Bonsangue, M.M., Clarke, D.: Modeling component connectors: Synchronisation and context-dependency. In: Cerone, A., Gruner, S. (eds.) SEFM, pp. 303–312. IEEE Computer Society, Los Alamitos (2008)Google Scholar
  46. 46.
    Kanters, O.: QoS analysis by simulation in Reo. Vrije Universiteit Amsterdam (2010)Google Scholar
  47. 47.
    Kemper, S.: SAT-based Verification for Timed Component Connectors. Electr. Notes Theor. Comput. Sci. 255, 103–118 (2009)CrossRefGoogle Scholar
  48. 48.
    Kemper, S.: Compositional construction of real-time dataflow networks. In: Clarke, D., Agha, G. (eds.) COORDINATION 2010. LNCS, vol. 6116, pp. 92–106. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  49. 49.
    Kitchin, D., Quark, A., Cook, W.R., Misra, J.: The Orc programming language. In: Lee, D., Lopes, A., Poetzsch-Heffter, A. (eds.) FMOODS 2009. LNCS, vol. 5522, pp. 1–25. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  50. 50.
    Klüppelholz, S., Baier, C.: Symbolic model checking for channel-based component connectors. Electr. Notes Theor. Comput. Sci 175(2), 19–37 (2007)CrossRefGoogle Scholar
  51. 51.
    Koehler, C., Arbab, F., de Vink, E.P.: Reconfiguring distributed Reo connectors. In: Corradini, A., Montanari, U. (eds.) WADT 2008. LNCS, vol. 5486, pp. 221–235. Springer, Heidelberg (2009)Google Scholar
  52. 52.
    Koehler, C., Costa, D., Proença, J., Arbab, F.: Reconfiguration of Reo connectors triggered by dataflow. In: Ermel, C., Heckel, R., de Lara, J. (eds.) Proceedings of the 7th International Workshop on Graph Transformation and Visual Modeling Techniques (GT-VMT 2008), vol. 10, pp. 1–13 (2008); ECEASST, ISSN 1863-2122, http://www.easst.org/eceasst/
  53. 53.
    Koehler, C., Lazovik, A., Arbab, F.: Reoservice: Coordination modeling tool. In: Krämer et al [60], pp. 625–626Google Scholar
  54. 54.
    Koehler, C., Lazovik, A., Arbab, F.: Reoservice: Coordination modeling tool. In: Krämer, B.J., Lin, K.-J., Narasimhan, P. (eds.) ICSOC 2007. LNCS, vol. 4749, pp. 625–626. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  55. 55.
    Kokash, N., Krause, C., de Vink, E.P.: Data-aware design and verification of service compositions with Reo and mCRL2. In: SAC 2010: Proc. of the 2010 ACM Symposium on Applied Computing, pp. 2406–2413. ACM, New York (2010)CrossRefGoogle Scholar
  56. 56.
    Kokash, N., Krause, C., de Vink, E.P.: Time and data-aware analysis of graphical service models in Reo. In: SEFM 2010: Proc. 8th IEEE International Conference on Software Engineering and Formal Methods. IEEE, Los Alamitos (to appear, 2010)Google Scholar
  57. 57.
    Kokash, N., Krause, C., de Vink, E.P.: Verification of context-dependent channel-based service models. In: FMCO 2009: Formal Methods for Components and Objects: 8th International Symposium. LNCS. Springer, Heidelberg (to appear, 2010)Google Scholar
  58. 58.
    Kokash, N., Arbab, F.: Formal behavioral modeling and compliance analysis for service-oriented systems. In: de Boer, F.S., Bonsangue, M.M., Madelaine, E. (eds.) FMCO 2008. LNCS, vol. 5751, pp. 21–41. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  59. 59.
    Kokash, N., Arbab, F.: Applying Reo to service coordination in long-running business transactions. In: Shin, S.Y., Ossowski, S. (eds.) SAC, pp. 1381–1382. ACM, New York (2009)CrossRefGoogle Scholar
  60. 60.
    Krämer, B.J., Lin, K.-J., Narasimhan, P. (eds.): ICSOC 2007. LNCS, vol. 4749. Springer, Heidelberg (2007)Google Scholar
  61. 61.
    Krause, C.: Integrated structure and semantics for Reo connectors and Petri nets. In: ICE 2009: Proc. 2nd Interaction and Concurrency Experience Workshop. Electronic Proceedings in Theoretical Computer Science, vol. 12, p. 57 (2009)Google Scholar
  62. 62.
    Lazovik, A., Arbab, F.: Using Reo for service coordination. In: Krämer et al. [60], pp. 398–403Google Scholar
  63. 63.
    Maraikar, Z., Lazovik, A.: Reforming mashups. In: Proceedings of the 3rd European Young Researchers Workshop on Service Oriented Computing (YR-SOC 2008), June 2008. Imperial College, London (2008)Google Scholar
  64. 64.
    Meng, S., Arbab, F.: On resource-sensitive timed component connectors. In: Bonsangue, M.M., Johnsen, E.B. (eds.) FMOODS 2007. LNCS, vol. 4468, pp. 301–316. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  65. 65.
    Meng, S., Arbab, F.: QoS-driven service selection and composition. In: Billington, J., Duan, Z., Koutny, M. (eds.) ACSD, pp. 160–169. IEEE, Los Alamitos (2008)Google Scholar
  66. 66.
    Meng, S., Arbab, F.: Connectors as designs. Electr. Notes Theor. Comput. Sci. 255, 119–135 (2009)CrossRefGoogle Scholar
  67. 67.
    Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)zbMATHGoogle Scholar
  68. 68.
    Milner, R.: Elements of interaction - turing award lecture. Commun. ACM 36(1), 78–89 (1993)CrossRefGoogle Scholar
  69. 69.
    Misra, J., Cook, W.R.: Computation orchestration. Software and System Modeling 6(1), 83–110 (2007)CrossRefGoogle Scholar
  70. 70.
    Moon, Y.-J., Silva, A., Krause, C., Arbab, F.: A compositional semantics for stochastic Reo connectors. In: Proceedings of the 9th International Workshop on the Foundations of Coordination Languages and Software Architectures, FOCLASA (2010)Google Scholar
  71. 71.
    Mousavi, M.R., Sirjani, M., Arbab, F.: Formal semantics and analysis of component connectors in Reo. Electr. Notes Theor. Comput. Sci 154(1), 83–99 (2006)CrossRefGoogle Scholar
  72. 72.
    Odersky, M.: Report on the programming language Scala (2002), http://lamp.epfl.ch/~odersky/scala/reference.ps
  73. 73.
    Proença, J.: Dreams: A Distributed Framework for Synchronous Coordination. Leiden University (2011)Google Scholar
  74. 74.
    Proença, J., Clarke, D.: Coordination models orc and reo compared. Electr. Notes Theor. Comput. Sci. 194(4), 57–76 (2008)CrossRefGoogle Scholar
  75. 75.
    Rutten: Behavioural differential equations: A coinductive calculus of streams, automata, and power series. TCS: Theoretical Computer Science 308 (2003)Google Scholar
  76. 76.
    Rutten, J.J.M.M.: Elements of stream calculus (an extensive exercise in coinduction). Electr. Notes Theor. Comput. Sci. 45 (2001)Google Scholar
  77. 77.
    Rutten, J.J.M.M.: A coinductive calculus of streams. Mathematical Structures in Computer Science 15(1), 93–147 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  78. 78.
    Sangiorgi, D., Walker, D.: PI-Calculus: A Theory of Mobile Processes. Cambridge University Press, New York (2001)zbMATHGoogle Scholar
  79. 79.
    Wegner, P.: Coordination as comstrainted interaction (extended abstract). In: Ciancarini, P., Hankin, C. (eds.) COORDINATION 1996. LNCS, vol. 1061, pp. 28–33. Springer, Heidelberg (1996)Google Scholar
  80. 80.
    Yokoo, M.: Distributed Constraint Satisfaction: Foundations of Cooperaton in Multi-Agent Systems. Springer Series on Agent Technology. Springer, New York (2000); NTTGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Farhad Arbab
    • 1
  1. 1.CWIFoundations of Software EngineeringAmsterdamThe Netherlands

Personalised recommendations