Skip to main content
Log in

Modelling knowledge and action in distributed systems

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

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 ofruns, where a run is a function from time toglobal states and a global state is a tuple consisting of anenvironment state and alocal state for earch 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. Aprotocol is a function from local states to actions. We extend the standard notion of a protocol by definingknowledge-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 protocolimplementing another can be captured in our model.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Aho AV, Ullman JD, Yannakakis M (1979) Modeling communication protocols by automata. Proc. 20th IEEE Symp on Foundations of Computer Science, pp 267–273

  • Aho AV, Ullman JD, Wyner AD, Yannakakis M (1982) Bounds on the size and transmission rate of communication protocols. Comp Math Appl 8:205–214 (this is a later version of Aho et al. (1979)

    Google Scholar 

  • Aumann RJ (1976) Agreeing to disagree. Ann Stat 4:1236–1239

    Google Scholar 

  • Bartlett KA, Scantlebury RA, Wilkinson PT (1969) A note on reliable full-duplex transmission over half-duplex links. Commun ACM 12:260–261

    Google Scholar 

  • Chandy KM, Misra J (1986) How processes learn. Distrib Comput 1:40–52

    Google Scholar 

  • Dwork C, Moses Y (1986) Knowledge and common knowledge in a Byzantine environment I: crash failures (extended abstract). In: Halpern JY (ed) Theoretical aspects of reasoning about knowledge: Proceedings of the 1986 Conference. Morgan Kaufmann, San Mateo, CA, pp 149–170 (to appear in Information and Computation)

    Google Scholar 

  • Fagin R, Vardi MY (1986) Knowledge and implicit knowledge in a distributed environment: preliminary report. In: Halpern JY (ed) Theoretical aspects of reasoning about knowledge: Proceedings of the 1986 Conference. Morgan Kaufmann, San Mateo, CA, pp 187–206

    Google Scholar 

  • Fagin R, Halpern JY, Vardi MY (1986) What can machines know? On the epistemic properties of machines Proc Nat Conf on Artificial Intelligence (AAAI-86), pp 428–434 (A revised and expanded version appears as IBM Research Report RJ 6250, 1988, under the name What can machines know? On the properties of knowledge in distributed systems)

  • Fagin R, Halpern JY (1988a) Belief, awareness, and limited reasoning. Artif Intell 34: 39–76

    Google Scholar 

  • Fagin R, Halpern JY (1988b) Reasoning about knowledge and probability: preliminary report. In: Vardi MY (ed) Proceedings of the 2nd Conference on Theoretical Aspects of reasoning about knowledge (1986). Morgan Kaufmann, San Mateo, CA, pp. 277–293

    Google Scholar 

  • Fischer MJ, Immerman N (1986) Foundations of knowledge for distributed systems. In: Halpern JY (ed) Theoretical aspects of reasoning about knowledge: Proceedings of the 1986 Conference. Morgan Kaufmann, San Mateo, CA, pp 171–186

    Google Scholar 

  • Fortune S, Wyllie J (1978) Parallelism in random access machines. Proc. 10th ACM Symp on Theory of Computing, pp 114–118

  • Goldschlager L (1982) A unified approach to models of synchronous parallel machines. J ACM 29:1073–1086

    Google Scholar 

  • Hadzilacos V (1987) A knowledge-theoretic analysis of atomic commitment protocols. Proc 6th ACM Symp on Principles of Database Systems, pp 129–134

  • Harel D (1979) First-Order Dynamic Logic (Lect Not Computer Sci, vol. 68) Springer, Berlin Heidelberg New York

    Google Scholar 

  • Halpern JY (1987) Using reasoning about knowledge to analyze distributed systems. In: Traub J (ed) Annual Review of Computer Science, vol 2. Annual Reviews, pp 37–68

  • Halpern JY, Fagin R (1985) A formal model of knowledge, action, and communication in distributed systems: preliminary report. Proc 4th ACM Symp on Principles of Distributed Computing, pp 224–236

  • Halpern JY, Moses Y (1984) Knowledge and common knowledge in a distributed environment. Proc. 3rd ACM Symp on Principles of Distributed Computing, pp 50–61 (a revised and expanded version appears as IBM Research Report RJ 4421, 1988)

  • Halpern JY, Moses Y (1985) A guide to the modal logics of knowledge and belief. 9th Int Joint Conf on Artificial Intelligence (IJCAI-85), pp 480–490

  • Halpern JY, Vardi MY (1986) The complexity of reasoning about knowledge and time. Proc. 18th ACM Symp on Theory of Computing, pp 304–315

  • Halpern JY, Vardi MY (1989) The complexity of reasoning about knowledge and time, I: Lower bounds. J Comput Syst Sci 38:195–237

    Google Scholar 

  • Halpern JY, Zuck LD (1987) A little knowledge goes a long way: simple knowledge-based derivations and correctness proofs for a family of protocols. Proc. 6th ACM Symp on Principles of Distributed Computing, pp 269–280 (a revised and expanded version appears as IBM Research Report RJ 5857, 1987)

  • Lamport L (1985) Paradigms for distributed computing. In: Methods and tools for specification, an advanced course. Paul M, Siegert HJ (eds) (Lect Notes Comput Sci, vol 190) Springer, Berlin Heidelberg New York Tokyo, pp 19–30, 454–468

    Google Scholar 

  • Lamport L (1986) On interprocess communication, Part I: Basic formalism. Distrib Comput 77–85

  • Lehmann DJ (1984) Knowledge, common knowledge, and related puzzles. Proc. 3rd ACM Symp on Principles of Distributed Computing, pp 62–67

  • Levesque H (1984) A logic of implicit and explicit belief. Proc Nat Conf on Artificial Intelligence (AAAI-84), pp 198–202

  • Lynch NA, Fischer M (1981) On describing the behavior and implementation of distributed systems. Theor Comput Sci 13:17–43

    Google Scholar 

  • Lichtenstein O, Pnueli A, Zuck L (1985) The glory of the past. In: Rohit Parikh (ed) Proc of the Workshop on Logics of Programs. (Lect Notes Comput Sci, Vol. 193) Springer, Berlin Heidelberg New York Tokyo, pp 196–218

    Google Scholar 

  • Mertens JF, Zamir S (1985) Formulation of Bayesian analysis for games of incomplete information. Int J Game Theory 14:1–29

    Google Scholar 

  • Milner R (1980) A calculus of communicating systems (Lect Not Comput Sci, vol 92) Springer, Berlin Heidelberg New York

    Google Scholar 

  • Moore RC (1985) A formal theory of knowledge and action. In Hobbs J, Moore RC (eds) Formal Theories of the Commonsense World. Ablex, Norwood, NJ

    Google Scholar 

  • Moses Y (1988) Resource-bounded knowledge. In: Vardi MY (ed) 2nd Conf on Theoretical Aspects of Reasoning about Knowledge. Morgan Kaufmann, San Mateo, CA, pp 261–276

    Google Scholar 

  • Moses Y, Tuttle MR (1988) Programming simultaneous actions using common knowledge. Algorithmica 3:121–169

    Google Scholar 

  • Moses Y, Dolev D, Halpern JY (1986) Cheating husbands and other stories: a case study of knowledge, action, and communication. Distrib Comput 1:167–176

    Google Scholar 

  • Neiger G, Toueg S (1987) Substituting for real time and common knowledge in asynchronous distributed systems. Proc 6th ACM Symp on Principles of Distributed Computing, pp 281–293

  • Panangaden P, Taylor S (1988) Concurrent common knowledge: a new definition of agreement for asynchronous systems. Proc 7th ACM Symp on Principles of Distributed Computing, pp 197–209

  • Parikh R, Ramanujam R (1985) Distributed processes and the logic of knowledge. In: Parikh R (ed) Proc of the Workshop on Logic of Programs. (Lect Notes Comput Sci, vol 193) Springer, Berlin Heidelberg New York Tokyo, pp 256–268

    Google Scholar 

  • Pnueli A (1977) The temporal logic of programs. Proc 18th IEEE Symp on Foundations of Computer Science, pp 46–57

  • Pratt VR (1976) Semantical considerations on Floyd-Hoare logic. Proc 17th IEEE Symp on Foundations of Computer Science, pp 109–121

  • Pratt VR (1982) On the composition of processes. Proc 9th ACM Symp on Principles of Programming Languages, pp 213–223

  • Pratt VR (1985) Modelling concurrency with partial orders. Int J Parallel Program 15:33–71

    Google Scholar 

  • Smullyan R (1978) What is the Name of this Book? Prentice-Hall, Englewood Clifts, NJ

    Google Scholar 

  • Vishkin U (1983) Implementation of simultaneous memory access in models that forbit it. J Algorithms 4:45–50

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Joseph Y. Halpern received a B.Sc. in mathematics from the University of Toronto in 1975, and a Ph.D. in mathematics from Harvard University in 1981. In between, he spent two years as the head of the Mathematics Department at Bawku Secondary School, in Ghana. After a year as a visiting scientist at MIT, he joined IBM in 1982. He is currently the manager of the Mathematics and Related Computer Science Department at the IBM Almaden Research Center, and a consulting professor in the Computer Science Department at Stanford. His major research interests are reasoning about knowledge, distributed computation, and logics of programs. He was program chairman and organizer of the first conference of Theoretical Aspects of Reasoning About Knowledge, program chairman of the Fifth ACM Symposium on Principles of Distributed Computing, and was the co-recipient (with Ronald Fagin) of the MIT Publisher's Prize for the Best Paper Paper at the 1985 International Joint Conference on Artificial Intelligence.

Ronald Fagin is manager of the Foundations of Computer Science group at the IBM Almaden Research Center. He received his B.A. degree in mathematics from Dartmouth College in 1967 and his Ph.D. in mathematics, specializing in mathematical logic, from the University of California at Berkeley in 1973. He joined IBM in 1973 at the Thomas J. Watson Research Center. In 1975, he transferred to the San Jose Research Laboratory (now the IBM Almaden Research Center) where most of his research has centered on applications of logic to computer science. In particular, he has done research on the theory of relational databases and, more recently, on theories of knowledge and belief. He has received three IBM Outstanding Innovation Awards for his contributions to relational database theory, extendible hashing, and reasoning about knowledge. He was co-recipient (with Joe Halpern) of the MIT Press Publisher's Prize for the Best Paper at the 1985 International Joint Conference on Artificial Interlligence.

Some material in this paper appeared in preliminary form in Halpern and Fagin (1985). An abridged version of the paper appeared in Vogt F (ed) Proceeding of Concurrency 88 (Lecture Notes in Computer Science Vol. 335) Springer-Verlag, 1988, pp 18–32

Rights and permissions

Reprints and permissions

About this article

Cite this article

Halpern, J.Y., Fagin, R. Modelling knowledge and action in distributed systems. Distrib Comput 3, 159–177 (1989). https://doi.org/10.1007/BF01784885

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01784885

Key words

Navigation