11 research outputs found
Aspects Of Knowledge And Belief-Based Programming
It has long been recognized that many distributed problems can be analyzed in terms of how agents act based on what they know about the system they are in. To make this intuition formal, Fagin, Halpern, Moses, and Vardi [25, 26] proposed a theory of programs for multi-agent systems in which preconditions of actions are formulas in a logic of knowledge. Knowledge-based programs have been successfully applied to a number of fundamental problems. This dissertation aims at further investigating the role of knowledge-based programs in the study of distributed systems. We focus ?rst on a general problem in distributed settings: given a function f whose value depends on the whole network N , the goal is for every agent to eventually compute the value f (N ). We call this problem global function computation. We give a necessary and suf?cient condition for the problem to be solvable and provide a knowledge-based program that solves the global function computation problem whenever possible. The program guarantees a certain level of optimality by having agents send messages only when they believe it is necessary to do so, and allows for systems in which agents are anonymous. Second, we consider the synthesis of knowledge-based programs. In general, to produce a program guaranteed to satisfy a given speci?cation, one can try to synthesize it from a formal proof that a computation satisfying that speci?cation exists. We build on a technique proposed by Bickford and Constable [11, 12] for extracting message automata from speci?cations of multi-agent systems to show how knowledge-based message automata can be synthesized using a proof development system such as Nuprl [19]. Third, we consider the problem of ensuring secrecy in a multi-agent system by disallowing unwanted ?ows of information. We discuss knowledge-based formulations of information-?ow properties, with a focus on the basic security predicates in the Modular Assembly Kit proposed by Mantel [62]
Knowledge-Based Synthesis of Distributed Systems Using Event Structures
To produce a program guaranteed to satisfy a given specification one can
synthesize it from a formal constructive proof that a computation satisfying
that specification exists. This process is particularly effective if the
specifications are written in a high-level language that makes it easy for
designers to specify their goals. We consider a high-level specification
language that results from adding knowledge to a fragment of Nuprl specifically
tailored for specifying distributed protocols, called event theory. We then
show how high-level knowledge-based programs can be synthesized from the
knowledge-based specifications using a proof development system such as Nuprl.
Methods of Halpern and Zuck then apply to convert these knowledge-based
protocols to ordinary protocols. These methods can be expressed as heuristic
transformation tactics in Nuprl.Comment: A preliminary version of this paper appeared in Proceedings of the
11th International Conference on Logic for Programming, Artificial
Intelligence, and Reasoning LPAR 2004, pp. 449-46
Knowledge-Based Sythesis of Distributed Systems Using Event Structures
To produce a program guaranteed to satisfy a given specification one
can synthesize it from a formal constructive proof that a computation satisfying that specification exists. This process is particularly effective if the specifications are written in a high-level language that makes it easy for designers to specify their goals. We consider a high-level specification language that results from adding knowledge to a fragment of Nuprl specifically tailored for specifying distributed protocols, called event theory. We then show how high-level knowledge-based programs can be synthesized from the knowledge-based specifications using a proof development system such as Nuprl. Methods of Halpern and Zuck [1992] then apply to convert these knowledge-based protocols to ordinary protocols. These methods can be expressed as heuristic transformation tactics in Nuprl
Abstract
Consider a distributed system N in which each agent has an input value and each communication link has a weight. Given a global function, that is, a function f whose value depends on the whole network, the goal is for every agent to eventually compute the value f(N). We call this problem global function computation. Various solutions for instances of this problem, such as Boolean function computation, leader election, (minimum) spanning tree construction, and network determination, have been proposed, each under particular assumptions about what processors know about the system and how this knowledge can be acquired. We give a necessary and sufficient condition for the problem to be solvable that generalizes a number of well-known results [Attyia, Snir, and Warmuth 1988; Yamashita and Kameda 1996; Yamashita and Kameda 1999]. We then provide a knowledge-based (kb) program (like those of Fagin, Halpern, Moses, and Vardi [1995, 1997]) that solves global function computation whenever possible. Finally, we improve the message overhead inherent in our initial kb program by giving a counterfactual belief-based program [Halpern and Moses 2004] that also solves the global function computation whenever possible, but where agents send messages only when they believe it is necessary to do so. The latter program is shown to be implemented by a number of well-known algorithms for solving leader election.
Knowledge-Based Synthesis of Distributed Systems Using Event Structures
To produce a program guaranteed to satisfy a given specification one can
synthesize it from a formal constructive proof that a computation satisfying
that specification exists. This process is particularly effective if the
specifications are written in a high-level language that makes it easy for
designers to specify their goals. We consider a high-level specification
language that results from adding knowledge to a fragment of Nuprl specifically
tailored for specifying distributed protocols, called event theory. We then
show how high-level knowledge-based programs can be synthesized from the
knowledge-based specifications using a proof development system such as Nuprl.
Methods of Halpern and Zuck then apply to convert these knowledge-based
protocols to ordinary protocols. These methods can be expressed as heuristic
transformation tactics in Nuprl