The Coordination Language Facility: Coordination of Distributed Objects

The development of communication infrastructures and the rapid growth of networking facilities in information technologies increase information mobility and the decentralisation of work processes in industry and services. This evolution leads to increasing demands on the coordination of information systems. However, information technologies available today are capable of supporting only interoperability of information systems from the point of view of communication infrastructures. This makes possible an easy exchange of information but provides no support for coordination. To fill this gap, we propose the Coordination Language Facility (CLF) as a coordination layer on top of distributed systems infrastructures such as CORBA-compliant Object Request Brokers. The CLF provides support for the coordination of heterogeneous, possibly distributed, active objects within larger units implementing (work) processes. On one hand, coordinator objects are declaratively implemented as rules. On the other hand, the objects participating in a coordination (participants) must instantiate a minimal interface which specifies the negotiation dialogue invoked, at run-time, by coordinators. The coordination activity is split between the implementation of the interface on the participants’side and the execution of the rules on the coordinators’ side, thus offering a clear separation of concerns between local and global activities. The interface is specified using the CORBA standard for distributed objects, removing issues of heterogeneity and allowing each component to be implemented in the most appropriate language and environment.

[1]  Umeshwar Dayal,et al.  Organizing long-running activities with triggers and transactions , 1990, SIGMOD '90.

[2]  David A. Rabenhorst,et al.  An Architecture for Virtual Worlds , 1992, Presence: Teleoperators & Virtual Environments.

[3]  Yoav Shoham,et al.  Agent-Oriented Programming , 1992, Artif. Intell..

[4]  Hervé Gallaire Logic Programming - Past or Future? , 1995, Logic Programming: Formal Methods and Practical Applications.

[5]  S.M.M. Joosten Trigger modelling for workflow analysis , 1994 .

[6]  Richard D. Schlichting,et al.  Supporting Fault-Tolerant Parallel Programming in Linda , 1995, IEEE Trans. Parallel Distributed Syst..

[7]  Akinori Yonezawa,et al.  Abstracting Object Interactions Using Composition Filters , 1993, ECOOP Workshop.

[8]  Jean-Yves Girard,et al.  Linear Logic , 1987, Theor. Comput. Sci..

[9]  Andreas Reuter,et al.  The ConTract Model , 1991, Database Transaction Models for Advanced Applications.

[10]  Jay Earley,et al.  An efficient context-free parsing algorithm , 1970, Commun. ACM.

[11]  Luca Cardelli,et al.  Obliq, a language with distributed scope , 1996 .

[12]  Matthias Nussbaum Database Transaction Models for Advanced Applications , 1992 .

[13]  Charles L. Forgy,et al.  Rete: a fast algorithm for the many pattern/many object pattern match problem , 1991 .

[14]  John K. Ousterhout,et al.  Tcl and the Tk Toolkit , 1994 .

[15]  Francesca Rossi,et al.  Graph Rewriting and Constraint Solving for Modelling Distributed Systems with Synchronization (Extended Abstract) , 1996, COORDINATION.

[16]  Daniel M. Yellin,et al.  Interfaces, protocols, and the semi-automatic construction of software adaptors , 1994, OOPSLA '94.

[17]  David Gelernter,et al.  Multiple Tuple Spaces in Linda , 1989, PARLE.

[18]  Mario Tokoro,et al.  The society of objects , 1993, OOPSLA Addendum.

[19]  R. Belfield The process of innovation. , 1977, Science.

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

[21]  François Pachet,et al.  On the Embeddability of Production Rules in Object-Oriented Languages , 1995, J. Object Oriented Program..

[22]  Carl Hewitt,et al.  Actors: A Conceptual Foundation for Concurrent Object-Oriented Programming , 1987, Research Directions in Object-Oriented Programming.

[23]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

[24]  Jean-Marc Andreoli,et al.  Communication as Fair Distribution of Knowledge , 1991, OOPSLA.

[25]  Peter Radford,et al.  Petri Net Theory and the Modeling of Systems , 1982 .

[26]  Oscar Nierstrasz,et al.  Composing active objects , 1993 .

[27]  Kenneth P. Birman,et al.  The process group approach to reliable distributed computing , 1992, CACM.

[28]  Ahmed K. Elmagarmid,et al.  Multidatabase Transaction and Query Processing in Logic , 1992, Database Transaction Models for Advanced Applications.

[29]  Elisa Bertino,et al.  Towards deductive object databases , 1995 .

[30]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[31]  J. Davenport Editor , 1960 .

[32]  Luc Steels,et al.  Beyond Objects , 1994, ECOOP.

[33]  Jean-Marc Andreoli Coordination in LO , 1996 .

[34]  Jean-Marc Andreoli,et al.  Interaction abstract machines , 1993 .