Coordination of active objects by means of explicit connectors

Although coordination of multiple activities is a fundamental goal of object-oriented concurrent programming languages, there is only limited support for its specification and abstraction at the language level. This leads to a mismatch between conceptional designs, using high-level abstractions, and the implementation, using the low-level coordination constructs. Often coordination is hard-wired into the components they coordinate, which leads to evolution, maintenance and composibility problems. We propose a model called FLO/c that relies on the notion of connectors. A connector is an entity that enforces the coordination of the entities it coordinates. This model supports a clear separation between the coordinated active objects and their coordination. An active object only defines specific domain information and a connector only defines coordination between a group of active objects (its participants). The coordination is abstractly defined refering to components in terms of the object interface. Coordination and coordinated entities are independent and can evolve separately. Coordination can be composed and replaced easily.

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

[2]  Gul A. Agha,et al.  A Language Framework for Multi-Object Coordination , 1993, ECOOP.

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

[4]  Jean-Marc Andreoli,et al.  The Coordination Language Facility: Coordination of Distributed Objects , 1996, Theory Pract. Object Syst..

[5]  Doug Lea,et al.  Concurrent Programming In Java , 1996 .

[6]  Wilhelm Hasselbring,et al.  Buchbesprechung zu 'N. Carriero, D. Gelernter: How to write parallel programs —- A First Course' , 1993 .

[7]  Jean-Pierre Briot,et al.  Actalk: A Testbed for Classifying and Designing Actor Languages in the Smalltalk-80 Environment , 1989, ECOOP.

[8]  Victoria Ungureanu,et al.  Regulated Coordination in Open Distributed Systems , 1997, COORDINATION.

[9]  David Garlan,et al.  Formalizing Architectural Connection , 1994, ICSE.

[10]  Oscar Nierstrasz,et al.  Object-Based Models and Languages for Concurrent Systems , 1994, Lecture Notes in Computer Science.

[11]  Kevin Crowston,et al.  The interdisciplinary study of coordination , 1994, CSUR.

[12]  George S. Avrunin,et al.  Applying static analysis to software architectures , 1997, ESEC '97/FSE-5.

[13]  G. S. Blair,et al.  A Model for Active Object Coordination and i ts Use for Distributed Mult imedia Applications , 1994 .

[14]  Gordon S. Blair,et al.  A Model for Active Object Coordination and for Distributed Multimedia Applications , 1994, ECOOP Workshop.

[15]  Nicholas Carriero,et al.  How to write parallel programs - a first course , 1990 .

[16]  Gregor Kiczales,et al.  D: A Language Framework for Distributed Programming , 1997 .

[17]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[18]  Kyung Ho Row,et al.  Explicit connectors for coordination of active objects , 1998 .