Coordination for Component Composition

Composition of systems out of autonomous subsystems pivots on coordination concerns that center on interaction. Interaction has been studied as an inseparable concern in concurrency theory. Curiously, however, interaction has not been seriously considered as a first-class concept in constructive models of computation. The coordination language Reo 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.

[1]  Manfred Broy,et al.  Specification and Development of Interactive Systems , 2001, Monographs in Computer Science.

[2]  Joost N. Kok,et al.  Towards a Uniform Topological Treatment of Streams and Functions on Streams , 1985, ICALP.

[3]  Manfred Broy,et al.  The algebra of stream processing functions , 2001, Theor. Comput. Sci..

[4]  Amir Pnueli,et al.  A really abstract concurrent model and its temporal logic , 1986, POPL '86.

[5]  David Notkin,et al.  ArchJava: connecting software architecture to implementation , 2002, ICSE '02.

[6]  Stanislav Pokraev,et al.  Construction of negotiation protocols for e-commerce applications , 2004, SECO.

[7]  Robin Milner,et al.  Elements of interaction: Turing award lecture , 1993, CACM.

[8]  Farhad Arbab,et al.  A transition system semantics for the control-driven coordination language MANIFOLD , 2000, Theor. Comput. Sci..

[9]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[10]  Farhad Arbab,et al.  Abstract Behavior Types: a foundation model for components and their composition , 2002, Sci. Comput. Program..

[11]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[12]  Stanislav Pokraev,et al.  Composition of negotiation protocols for e-commerce applications , 2005, 2005 IEEE International Conference on e-Technology, e-Commerce and e-Service.

[13]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[14]  Richard Monson-Haefel,et al.  Enterprise JavaBeans , 1999, Java series.

[15]  Jan J. M. M. Rutten Elements of Stream Calculus (An Extensive Exercise in Coinduction) , 2001, MFPS.

[16]  William B. Ackerman,et al.  Scenarios: A Model of Non-Determinate Computation , 1981, ICFPC.

[17]  Jan A. Bergstra,et al.  Process algebra: specification and verification in bisimulation semantics , 1986 .

[18]  Christel Baier,et al.  Modeling Component Connectors in Reo by Constraint Automata: (Extended Abstract) , 2004, Electron. Notes Theor. Comput. Sci..

[19]  Christel Baier,et al.  Modeling component connectors in Reo by constraint automata , 2004, Sci. Comput. Program..

[20]  Jan A. Bergstra,et al.  Process Algebra for Synchronous Communication , 1984, Inf. Control..

[21]  Farhad Arbab,et al.  The IWIM Model for Coordination of Concurrent Activities , 1996, COORDINATION.

[22]  Farhad Arbab,et al.  A Coinductive Calculus of Component Connectors , 2002, WADT.

[23]  Roberto Bruni,et al.  Recent Trends in Algebraic Development Techniques , 2002, Lecture Notes in Computer Science.

[24]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[25]  David Notkin,et al.  Architectural Reasoning in ArchJava , 2002, ECOOP.

[26]  Davide Sangiorgi,et al.  The Pi-Calculus - a theory of mobile processes , 2001 .

[27]  Wan Fokkink,et al.  Introduction to Process Algebra , 1999, Texts in Theoretical Computer Science. An EATCS Series.

[28]  Farhad Arbab,et al.  Reo: A Channel-based Coordination Model for Component Composition , 2005 .