Modelling Knowledge and Action in Distributed Systems

We present a formal model that captures the subtle interaction between knowledge and action in distributed systems. We view a distributed system as a set of runs, where a run is a function from time to global states and a global state is a tuple consisting of an environment state and a local state for each process in the system. This model is a generalization of those used in many previous papers. Actions in this model are associated with functions from global states to global states. A protocol is a function from local states to actions. We extend the standard notion of a protocol by defining knowledge-based protocols, ones in which a process’ actions may depend explicitly on its knowledge. Knowledge-based protocols provide a natural way of describing how actions should take place in a distributed system. Finally, we show how the notion of one protocol implementing another can be captured in our model.

[1]  Amir Pnueli,et al.  The Glory of the Past , 1985, Logic of Programs.

[2]  Neil Immerman,et al.  Foundations of Knowledge for Distributed Systems , 1986, TARK.

[3]  Ronald Fagin,et al.  Belief, Awareness, and Limited Reasoning. , 1987, Artif. Intell..

[4]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[5]  Yoram Moses,et al.  Resource-bounded Knowledge , 1988, TARK.

[6]  Vaughan R. Pratt,et al.  On the composition of processes , 1982, POPL '82.

[7]  Prakash Panangaden,et al.  Concurrent common knowledge: a new definition of agreement for asynchronous systems , 1988, PODC '88.

[8]  Joseph Y. Halpern,et al.  The complexity of reasoning about knowledge and time , 1986, STOC '86.

[9]  Vassos Hadzilacos,et al.  A knowledge-theoretic analysis of atomic commitment protocols , 1987, PODS '87.

[10]  Steven Fortune,et al.  Parallelism in random access machines , 1978, STOC.

[11]  Daniel Lehmann,et al.  Knowledge, common knowledge and related puzzles (Extended Summary) , 1984, PODC '84.

[12]  Raymond M. Smullyan,et al.  What is the name of this book , 1978 .

[13]  Alfred V. Aho,et al.  Bounds on the size and transmission rate of communications protocols , 1982 .

[14]  Ronald Fagin,et al.  Knowledge and Implicit Knowledge in a Distributed Environment: Preliminary Report , 1988, TARK.

[15]  Keith A. Bartlett,et al.  A note on reliable full-duplex transmission over half-duplex links , 1969, Commun. ACM.

[16]  Yoram Moses,et al.  Knowledge and Common Knowledge in a Byzantine Environment I: Crash Failures , 1986, TARK.

[17]  Gil Neiger,et al.  Substituting for real time and common knowledge in asynchronous distributed systems , 1987, PODC '87.

[18]  Ronald Fagin,et al.  A formal model of knowledge, action, and communication in distributed systems: preliminary report , 1985, PODC '85.

[19]  Ramaswamy Ramanujam,et al.  Distributed Processes and the Logic of Knowledge , 1985, Logic of Programs.

[20]  K. Mani Chandy,et al.  How processes learn , 1985, ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing.

[21]  Vaughan R. Pratt,et al.  SEMANTICAL CONSIDERATIONS ON FLOYD-HOARE LOGIC , 1976, FOCS 1976.

[22]  S. Zamir,et al.  Formulation of Bayesian analysis for games with incomplete information , 1985 .

[23]  Ronald Fagin,et al.  What Can Machines Know? On the Epistemic Properties of Machines , 1986, AAAI.

[24]  Joseph Y. Halpern,et al.  The Complexity of Reasoning about Knowledge and Time. I. Lower Bounds , 1989, J. Comput. Syst. Sci..

[25]  Joseph Y. Halpern,et al.  A Guide to the Modal Logics of Knowledge and Belief: Preliminary Draft , 1985, IJCAI.

[26]  Joseph Y. Halpern,et al.  Knowledge and common knowledge in a distributed environment , 1984, JACM.

[27]  Hector J. Levesque,et al.  A Logic of Implicit and Explicit Belief , 1984, AAAI.

[28]  Nancy A. Lynch,et al.  On Describing the Behavior and Implementation of Distributed Systems , 1979, Semantics of Concurrent Computation.

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

[30]  Joseph Y. Halpern,et al.  A little knowledge goes a long way: knowledge-based derivations and correctness proofs for a family of protocols , 1992, JACM.

[31]  Uzi Vishkin,et al.  Implementation of Simultaneous Memory Address Access in Models That Forbid It , 1983, J. Algorithms.

[32]  Leslie M. Goldschlager,et al.  A unified approach to models of synchronous parallel machines , 1978, STOC.

[33]  Robert C. Moore A Formal Theory of Knowledge and Action , 1984 .

[34]  David Harel,et al.  First-Order Dynamic Logic , 1979, Lecture Notes in Computer Science.

[35]  Alfred V. Aho,et al.  Modeling communications protocols by automata , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[36]  Joseph Y. Halpern USING REASONING ABOUT KNOWLEDGE TO ANALYZE DISTRIBUTED SYSTEMS , 1987 .

[37]  Yoram Moses,et al.  Knowledge and common knowledge in a Byzantine environment I: crash failures , 1986 .