Law-governed interaction: a coordination and control mechanism for heterogeneous distributed systems

Software technology is undergoing a transition form monolithic systems, constructed according to a single overall design, into conglomerates of semiautonomous, heterogeneous, and independently designed subsystems, constructed and managed by different organizations, with little, if any, knowledge of each other. Among the problems inherent in such conglomerates, none is more serious than the difficulty to control the activities of the disparate agents operating in it, and the difficulty for such agents to coordinate their activities with each other. We argue that the nature of coordination and control required for such systems calls for the following principles to be satisfied: (1) coordination policies need to be enforced: (2) the enforcement needs to be decentralized; and (3) coordination policies need to be formulated explicitly—rather than being implicit in the code of the agents involved—and they should be enforced by means of a generic, broad spectrum mechanism; and (4) it should be possible to deploy and enforce a policy incrementally, without exacting any cost from agents and activities not subject to it. We describe a mechansim called law-governed interaction (LGI), currently implemented by the Moses toolkit, which has been designed to satisfy these principles. We show that LGI is at least as general as a conventional centralized coordination mechanism (CCM), and that it is more scalable, and generally more efficient, then CCM.

[1]  Kevin Crowston,et al.  Tools for inventing organizations: toward a handbook of organizational processes , 1993, [1993] Proceedings Second Workshop on Enabling Technologies@m_Infrastructure for Collaborative Enterprises.

[2]  Marc Najork,et al.  Performance limitations of the Java core libraries , 1999, JAVA '99.

[3]  Pascal Fradet,et al.  Gamma and the Chemical Reaction Model: Fifteen Years After , 2000, WMP.

[4]  Gul Agha,et al.  Abstracting Interaction Patterns: A Programming Paradigm for Open Distributed Systems , 1997 .

[5]  Erik Ruf,et al.  Marmot: an optimizing compiler for Java , 2000 .

[6]  염흥렬,et al.  [서평]「Applied Cryptography」 , 1997 .

[7]  Ronald L. Rivest,et al.  The MD5 Message-Digest Algorithm , 1992, RFC.

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

[9]  Stuart Kent,et al.  Formally specifying temporal constraints and error recovery , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[10]  Paolo Ciancarini,et al.  Enhancing Coordination and Modularity Mechanisms for a Language with Objects-as-Multisets , 1996, COORDINATION.

[11]  Naftaly H. Minsky,et al.  The Imposition of Protocols Over Open Distributed Systems , 1991, IEEE Trans. Software Eng..

[12]  Ian M. Holland,et al.  Specifying Reusable Components Using Contracts , 1992, ECOOP.

[13]  Victoria Ungureanu,et al.  Regulating agent involvement in inter-enterprise electronic commerce , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems. Workshops on Electronic Commerce and Web-based Applications. Middleware.

[14]  Peter F. Linington,et al.  Options for expressing ODP enterprise communities and their policies by using UML , 1999, Proceedings Third International Enterprise Distributed Object Computing. Conference (Cat. No.99EX366).

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

[16]  Terry Winograd,et al.  A communication agreement framework for access/action control , 1996, Proceedings 1996 IEEE Symposium on Security and Privacy.

[17]  William F. Clocksin,et al.  Programming in Prolog , 1987, Springer Berlin Heidelberg.

[18]  Jean-Marc Andreoli,et al.  Multiparty Negotiation of Dynamic Distributed Object Services , 1998, Sci. Comput. Program..

[19]  Thilo Kielmann,et al.  Designing a Coordination Model for Open Systems , 1996, COORDINATION.

[20]  Martin S. Feather An implementation of bounded obligations , 1993, Proceedings of 8th Knowledge-Based Software Engineering Conference.

[21]  Michael J. Nash,et al.  The Chinese Wall security policy , 1989, Proceedings. 1989 IEEE Symposium on Security and Privacy.

[22]  Victoria Ungureanu,et al.  Building reconfiguration primitives into the law of a system , 1996, Proceedings of International Conference on Configurable Distributed Systems.

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

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

[25]  Frank Dignum,et al.  The Role of Deontic Logic in the Specification of Information Systems , 1998, Logics for Databases and Information Systems.

[26]  C. Hankin,et al.  Coordination programming: mechanisms, models and semantics , 1996 .

[27]  Daniel Le Métayer,et al.  Gamma and the chemical reaction model: ten years after , 1996 .

[28]  Victoria Ungureanu,et al.  Unified Support for Heterogeneous Security Policies in Distributed Systems , 1998, USENIX Security Symposium.

[29]  Victoria Ungureanu,et al.  A mechanism for establishing policies for electronic commerce , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

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

[31]  Roger M. Needham,et al.  Denial of service: an example , 1994, CACM.

[32]  Abe Lockman,et al.  Ensuring integrity by adding obligations to privileges , 1985, ICSE '85.

[33]  Victoria Ungureanu,et al.  Making tuple spaces safe for heterogeneous distributed systems , 2000, SAC '00.

[34]  Mario Banville SONIA: An Adaptation of LINDA for Coordination of Activities in Organisations , 1996, COORDINATION.

[35]  Reinhard Klemm,et al.  Practical guidelines for boosting Java server performance , 1999, JAVA '99.

[36]  Nicholas Carriero,et al.  Coordination languages and their significance , 1992, CACM.