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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Hoare, C.: Communicating Sequential Processes. Prentice Hall International Series in Computer Science. Prentice-Hall, 1985.
Milner, R.: A Calculus of Communicating Systems. Volume 92 of Lecture Notes in Computer Science. Springer, 1980.
Milner, R.: Elements of interaction. Communications of the ACM 36, 1993, pp. 78–89.
Sangiorgi, D., Walker, D.: The Pi-Calculus-A Theory of Mobile Processes. Cambridge University Press, 2001.
Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Information and Control 60, 1984, pp. 109–137.
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.
Fokkink, W.: Introduction to Process Algebra. Texts in Theoretical Computer Science, An EATCS Series. Springer-Verlag, 1999.
Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986.
Wegner, P.: Interaction as a basis for empirical computer science. ACM Computing Surveys 27, 1995, pp. 45–48.
Wegner, P.: Interactive foundations of computing. Theoretical Computer Science 192, 1998, pp. 315–351.
Goldin, D., Smolka, S., Attie, P., Sonderegger, E.: Turing machines, transition systems, and interaction. Information and Computation Journal 194, 2004, pp. 101–128.
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.
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.
Wegner, P., Goldin, D.: Interaction as a framework for modeling. Lecture Notes in Computer Science 1565, 1999, pp. 243–257.
(PVM) http://www.csm.ornl.gov/pvm.
(MPI) http://www-unix.mcs.anl.gov/mpi/.
(COM+) http://www.microsoft.com/com/tech/COMPlus.asp.
(CORBA) http://www.omg.org.
Carriero, N., Gelernter, D.: Linda in context. Communications of the ACM 32, 1989, pp. 444–458.
Leler, W.: Linda meets Unix. IEEE Computer 23, 1990, pp. 43–54.
(Jini) http://www.sun.com/jini.
Oaks, S., Wong, H.: Jini in a Nutshell. O’Reilly & Associates, 2000.
Banâtre, J.P., Le Métayer, D.: Programming by multiset transformations. Communications of the ACM 36, 1993, pp. 98–111.
Arbab, F., Herman, I., Spilling, P.: An overview of Manifold and its implementation. Concurrency: Practice and Experience 5, 1993, pp. 23–70.
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.
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.
Arbab, F.: Reo: A channel-based coordination model for component composition. Mathematical Structures in Computer Science 14, 2004, pp. 329–366.
Andreoli, J.M., Ciancarini, P., Pareschi, R.: Interaction Abstract Machines. In: Trends in Object-Based Concurrent Computing. MIT Press, 1993, pp. 257–280.
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.
Andreoli, J.M., Hankin, C., Le Métayer, D., eds.: Coordination Programming: Mechanisms, Models and Semantics. Imperial College Press, 1996.
Ciancarini, P., Hankin, C., eds.: 1st Int. Conf. on Coordination Languages and Models. Volume 1061 of Lecture Notes in Computer Science. Springer-Verlag, 1996.
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.
Omicini, A., Zambonelli, F., Klusch, M., Tolksdorf, R.: Coordination of Internet Agents: Models, Technologies, and Applications. Springer, ISBN 3-540-41613-7, 2001.
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.
Zlatev, Z., Diakov, N., Pokraev, S.: Construction of negotiation protocols for E-Commerce applications. ACM SIGecom Exchanges 5, 2004, pp. 11–22.
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.
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.
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.
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.
Arbab, F.: Abstract Behavior Types: A foundation model for components and their composition. Science of Computer Programming 55, 2005, pp. 3–52 extended version.
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.
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.
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.
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.
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.
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.
Kok, J.: Semantic Models for Parallel Computation in Data Flow, Logic-and Object-Oriented Programming. PhD thesis, Vrije Universiteit, Amsterdam, 1989.
Broy, M., Stolen, K.: Specification and development of interactive systems. Volume 62 of Monographs in Computer Science. Springer, 2001.
Arbab, F.: Computing and Interaction. In Smolka, S., Wegner, P., eds.: Interactive Computation: The New Paradigm. Springer-Verlag [61], 2006.
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.
(Petri Nets World) http://www.informatik.uni-hamburg.de/TGI/PetriNets/.
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.
Halbwachs, N.: Synchronous programming of reactive systems. Kluwer Academic Publishers, 1993.
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.
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.
Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous data flow programming language Lustre. Proceedings of the IEEE 79, 1991, pp. 1305–1320.
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.
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.
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.
Panangaden, P., van Breugel, F., eds.: Mathematical Techniques for Analyzing Concurrent and Probabilistic Systems. CRM Monograph Series. American Mathematical Society, 2004. ISSN: 1065-8599.
Goldin, D., Smolka, S., Wegner, P., eds.: Interactive Computation: The New Paradigm. Springer-Verlag, 2006 (this volume).
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)