Skip to main content

Composition of Interacting Computations

  • Chapter
Interactive Computation

Summary

The field of programming has been concerned with software composition since its very inception. Our models for software composition have brought us up to a new plateau of software complexity and composition. To tackle the challenges of composition at this level requires new models for software composition centered on interaction as a first-class concept. Interaction has been studied as an inseparable concern within concurrency theory. Curiously, however, interaction has not been seriously considered as a first-class concept in constructive models of computation.

Composition of systems out of autonomous subsystems pivots on coordination concerns that center on interaction. Coordination models and languages represent a recent approach to design and development of concurrent systems. In this chapter, we present a brief overview of coordination models and languages, followed by a framework for their classification. We then focus on a specific coordination language, called Reo, and demonstrate how it provides a powerful and expressive model for flexible composition of behavior through interaction.

Reo serves as a good example of a constructive model of computation that treats interaction as a (in fact, the only) first-class concept. It uniquely focuses on the compositional construction of connectors that enable and coordinate the interactions among the constituents in a concurrent system, without their knowledge. We show how Reo allows complex behavior in a system to emerge as a composition of primitive interactions.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

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.

References

  1. Hoare, C.: Communicating Sequential Processes. Prentice Hall International Series in Computer Science. Prentice-Hall, 1985.

    Google Scholar 

  2. Milner, R.: A Calculus of Communicating Systems. Volume 92 of Lecture Notes in Computer Science. Springer, 1980.

    Google Scholar 

  3. Milner, R.: Elements of interaction. Communications of the ACM 36, 1993, pp. 78–89.

    Article  Google Scholar 

  4. Sangiorgi, D., Walker, D.: The Pi-Calculus-A Theory of Mobile Processes. Cambridge University Press, 2001.

    Google Scholar 

  5. Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Information and Control 60, 1984, pp. 109–137.

    Article  MATH  MathSciNet  Google Scholar 

  6. Bergstra, J.A., Klop, J.W.: Process algebra: specification and verification in bisimulation semantics. In Hazewinkel, M., Lenstra, J.K., Meertens, L.G.L.T., eds.: Mathematics and Computer Science II. CWI Monograph 4. North-Holland, Amsterdam, 1986, pp. 61–94.

    Google Scholar 

  7. Fokkink, W.: Introduction to Process Algebra. Texts in Theoretical Computer Science, An EATCS Series. Springer-Verlag, 1999.

    Google Scholar 

  8. Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986.

    Google Scholar 

  9. Wegner, P.: Interaction as a basis for empirical computer science. ACM Computing Surveys 27, 1995, pp. 45–48.

    Article  Google Scholar 

  10. Wegner, P.: Interactive foundations of computing. Theoretical Computer Science 192, 1998, pp. 315–351.

    Article  MATH  MathSciNet  Google Scholar 

  11. Goldin, D., Smolka, S., Attie, P., Sonderegger, E.: Turing machines, transition systems, and interaction. Information and Computation Journal 194, 2004, pp. 101–128.

    Article  MATH  MathSciNet  Google Scholar 

  12. van Leeuwen, J., Wiedermann, J.: On the power of interactive computing. In van Leeuwen, J., Watanabe, O., Hagiya, M., Mosses, P.D., Ito, T., eds.: Proceedings of the 1st International Conference on Theoretical Computer Science — Exploring New Frontiers of Theoretical Informatics, IFIP TCS’2000 (Sendai, Japan, August 17–19, 2000.. Volume 1872 of LNCS. Springer-Verlag, Berlin-Heidelberg-New York-Barcelona-Hong Kong-London-Milan-Paris-Singapore-Tokyo, 2000, pp. 619–623.

    Google Scholar 

  13. van Leeuwen, J., Wiedermann, J.: Beyond the turing limit: Evolving interactive systems. In Pacholski, L., Ruicka, P., eds.: SOFSEM 2001: Theory and Practice of Informatics: 28th Conference on Current Trends in Theory and Practice of Informatics. Volume 2234 of Lecture Notes in Computer Science. Springer-Verlag, 2001, pp. 90–109.

    Google Scholar 

  14. Wegner, P., Goldin, D.: Interaction as a framework for modeling. Lecture Notes in Computer Science 1565, 1999, pp. 243–257.

    Article  Google Scholar 

  15. (PVM) http://www.csm.ornl.gov/pvm.

    Google Scholar 

  16. (MPI) http://www-unix.mcs.anl.gov/mpi/.

    Google Scholar 

  17. (COM+) http://www.microsoft.com/com/tech/COMPlus.asp.

    Google Scholar 

  18. (CORBA) http://www.omg.org.

    Google Scholar 

  19. Carriero, N., Gelernter, D.: Linda in context. Communications of the ACM 32, 1989, pp. 444–458.

    Article  Google Scholar 

  20. Leler, W.: Linda meets Unix. IEEE Computer 23, 1990, pp. 43–54.

    Google Scholar 

  21. (Jini) http://www.sun.com/jini.

    Google Scholar 

  22. Oaks, S., Wong, H.: Jini in a Nutshell. O’Reilly & Associates, 2000.

    Google Scholar 

  23. Banâtre, J.P., Le Métayer, D.: Programming by multiset transformations. Communications of the ACM 36, 1993, pp. 98–111.

    Article  Google Scholar 

  24. Arbab, F., Herman, I., Spilling, P.: An overview of Manifold and its implementation. Concurrency: Practice and Experience 5, 1993, pp. 23–70.

    Google Scholar 

  25. Bonsangue, M., Arbab, F., de Bakker, J., Rutten, J., Scutellá, A., Zavattaro, G.: A transition system semantics for the control-driven coordination language Manifold. Theoretical Computer Science 240, 2000, pp. 3–47.

    Article  MATH  MathSciNet  Google Scholar 

  26. Bergstra, J., Klint, P.: The ToolBus Coordination Architecture. In Ciancarini, P., Hankin, C., eds.: Proc. 1st Int. Conf. on Coordination Models and Languages. Volume 1061 of Lecture Notes in Computer Science., Cesena, Italy, Springer-Verlag, Berlin, 1996, pp. 75–88.

    Google Scholar 

  27. Arbab, F.: Reo: A channel-based coordination model for component composition. Mathematical Structures in Computer Science 14, 2004, pp. 329–366.

    Article  MATH  MathSciNet  Google Scholar 

  28. Andreoli, J.M., Ciancarini, P., Pareschi, R.: Interaction Abstract Machines. In: Trends in Object-Based Concurrent Computing. MIT Press, 1993, pp. 257–280.

    Google Scholar 

  29. Papadopoulos, G., Arbab, F.: Coordination models and languages. In Zelkowitz, M., ed.: Advances in Computers — The Engineering of Large Systems. Volume 46. Academic Press, 1998, pp. 329–400.

    Google Scholar 

  30. Andreoli, J.M., Hankin, C., Le Métayer, D., eds.: Coordination Programming: Mechanisms, Models and Semantics. Imperial College Press, 1996.

    Google Scholar 

  31. Ciancarini, P., Hankin, C., eds.: 1st Int. Conf. on Coordination Languages and Models. Volume 1061 of Lecture Notes in Computer Science. Springer-Verlag, 1996.

    Google Scholar 

  32. Garlan, D., Le Métayer, D., eds.: 2nd Int. Conf. on Coordination Languages and Models. Volume 1282 of Lecture Notes in Computer Science. Springer-Verlag, 1997.

    Google Scholar 

  33. Omicini, A., Zambonelli, F., Klusch, M., Tolksdorf, R.: Coordination of Internet Agents: Models, Technologies, and Applications. Springer, ISBN 3-540-41613-7, 2001.

    Google Scholar 

  34. Baier, C., Sirjani, M., Arbab, F., Rutten, J.: Modeling component connectors in Reo by Constraint Automata. Science of Computer Programming 61, 2006, pp. 75–113 extended version.

    Article  MATH  MathSciNet  Google Scholar 

  35. Zlatev, Z., Diakov, N., Pokraev, S.: Construction of negotiation protocols for E-Commerce applications. ACM SIGecom Exchanges 5, 2004, pp. 11–22.

    Google Scholar 

  36. Clarke, D., Arbab, F., Costa, D.: Modeling coordination in biological systems. In: Proc. of the International Symposium on Leveraging Applications of Formal Methods (ISoLA 2004), 2004.

    Google Scholar 

  37. Diakov, N., Arbab, F.: Compositional construction of web services using Reo. In: Proc. of International Workshop on Web Services: Modeling, Architecture and Infrastructure (WSMAI), INSTICC Press, 2004, pp. 49–58.

    Google Scholar 

  38. Arbab, F., Baier, C., de Boer, F., Rutten, J.: Models and temporal logics for timed component connectors. In: Proc. of the IEEE International Conference on Software Engineering and Formal Methods (SEFM), IEEE Computer Society, 2004, pp. 198–207.

    Google Scholar 

  39. Arbab, F., Rutten, J.: A coinductive calculus of component connectors. In M. Wirsing, D. P., Hennicker, R., eds.: Recent Trends in Algebraic Development Techniques, Proceedings of 16th International Workshop on Algebraic Development Techniques (WADT 2002). Volume 2755 of Lecture Notes in Computer Science., Springer-Verlag, 2003, pp. 35–56.

    Google Scholar 

  40. Arbab, F.: Abstract Behavior Types: A foundation model for components and their composition. Science of Computer Programming 55, 2005, pp. 3–52 extended version.

    Article  MATH  MathSciNet  Google Scholar 

  41. Rutten, J.: Component connectors. In van Breugel, F., eds.: Mathematical Techniques for Analyzing Concurrent and Probabilistic Systems. CRM Monograph Series. American Mathematical Society, 2004. ISSN: 1065-8599 [60], 2004, pp. 73–87.

    Google Scholar 

  42. Mehta, N., Sirjani, M., Arbab, F.: Effective modeling of software architectural assemblies using Constraint Automata. Technical Report SEN-R0309, Centrum voor Wiskunde en Informatica, Kruislaan 413, 1098 SJ Amsterdam, The Netherlands, 2003.

    Google Scholar 

  43. Mehta, N.R., Medvidovic, N., Sirjani, M., Arbab, F.: Modeling behavior in compositions of software architectural primitives. In: Automated Software Engineering, IEEE Computer Society, 2004, pp. 371–374.

    Google Scholar 

  44. Rutten, J.: Elements of stream calculus (an extensive exercise in coinduction). In Brookes, S., Mislove, M., eds.: Proc. of 17th Conf. on Mathematical Foundations of Programming Semantics, Aarhus, Denmark, pp. 23–26, May 2001. Volume 45 of Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam, 2001.

    Google Scholar 

  45. Barringer, H., Kuiper, R., Pnueli, A.: A really abstract current model and its temporal logic. In: Proceedings of Thirteenth Annual ACM Symposium on principles of Programming Languages, ACM, 1986, pp. 173–183.

    Google Scholar 

  46. de Bakker, J., Kok, J.: Towards a Uniform Topological Treatment of Streams and Functions on Streams. In Brauer, W., ed.: Proceedings of the 12th International Colloquium on Automata, Languages and Programming. Volume 194 of Lecture Notes in Computer Science., Nafplion, Springer-Verlag, 1985, pp. 140–148.

    Google Scholar 

  47. Kok, J.: Semantic Models for Parallel Computation in Data Flow, Logic-and Object-Oriented Programming. PhD thesis, Vrije Universiteit, Amsterdam, 1989.

    Google Scholar 

  48. Broy, M., Stolen, K.: Specification and development of interactive systems. Volume 62 of Monographs in Computer Science. Springer, 2001.

    Google Scholar 

  49. Arbab, F.: Computing and Interaction. In Smolka, S., Wegner, P., eds.: Interactive Computation: The New Paradigm. Springer-Verlag [61], 2006.

    Google Scholar 

  50. Brock, J., Ackerman, W.: Scenarios: A model of non-determinate computation. In: Proceedings of the International Colloquium on Formalization of Programming Concepts, Springer-Verlag, 1981, pp. 252–259.

    Google Scholar 

  51. (Petri Nets World) http://www.informatik.uni-hamburg.de/TGI/PetriNets/.

    Google Scholar 

  52. Diakov, N., Zlatev, Z., Pokraev, S.: Composition of negotiation protocols for e-commerce applications. In Cheung, W., Hsu, J., eds.: The 2005 IEEE International Conference on e-Technology, e-Commerce and e-Service, 2005, pp. 418–423.

    Google Scholar 

  53. Halbwachs, N.: Synchronous programming of reactive systems. Kluwer Academic Publishers, 1993.

    Google Scholar 

  54. Berry, G.: The Esterel v5 language primer version 5.21 release 2.0. Technical report, INRIA, 1999. ftp://ftp-sop.inria.fr/meije/esterel/papers/primer.pdf.

    Google Scholar 

  55. Berry, G., Cosserat, L.: The synchronous programming languages Esterel and its mathematical semantics. In Brookes, Winskel, G., eds.: Seminar on Concurrency. Volume 197 of Lecture Notes in Computer Science. Springer Verlag, 1984, pp. 389–448.

    Google Scholar 

  56. Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous data flow programming language Lustre. Proceedings of the IEEE 79, 1991, pp. 1305–1320.

    Article  Google Scholar 

  57. le Guernic, P., Benveniste, A., Bournai, P., Gautier, T.: Signal — a data flow-oriented language for signal processing. IEEE Transactions on Acoustics, Speech, and Signal Processing [see also IEEE Transactions on Signal Processing] 34, 1986, pp. 362–3740.

    Article  Google Scholar 

  58. Arbab, F., Baier, C., de Boer, F., Rutten, J., Sirjani, M.: Synthesis of Reo circuits for implementation of component-connector automata specifications. In Jacquet, J.M., Picco, G., eds.: Proc. of the 7th International Conference on Coordination Models and Languages (Coordination 2005). Volume 3454 of Lecture Notes in Computer Science., Springer-Verlag, 2005, pp. 236–251.

    Google Scholar 

  59. Keil, D., Goldin, D.: Modeling indirect interaction in open computational systems. In: Proc. 1st Int’l workshop on Theory and Practice of Open Computational Systems (TAPOCS), IEEE Computer Society Press, 2003.

    Google Scholar 

  60. Panangaden, P., van Breugel, F., eds.: Mathematical Techniques for Analyzing Concurrent and Probabilistic Systems. CRM Monograph Series. American Mathematical Society, 2004. ISSN: 1065-8599.

    Google Scholar 

  61. Goldin, D., Smolka, S., Wegner, P., eds.: Interactive Computation: The New Paradigm. Springer-Verlag, 2006 (this volume).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Arbab, F. (2006). Composition of Interacting Computations. In: Goldin, D., Smolka, S.A., Wegner, P. (eds) Interactive Computation. Springer, Berlin, Heidelberg . https://doi.org/10.1007/3-540-34874-3_12

Download citation

  • DOI: https://doi.org/10.1007/3-540-34874-3_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-34666-1

  • Online ISBN: 978-3-540-34874-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics