Knowledge-Based Synthesis of Distributed Systems Using Event Structures

In Proceedings of the 11th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning (LPAR 2004) , 2005 (Lecture Notes in Computer Science, vol. 3452), pp. 449-465. [PDF], [PS]

Published in Logical Methods in Computer Science Vol 7, Issue 2, Paper 14, 2011
http://www.lmcs-online.org/ojs/viewarticle.php?id=496&layout=abstract

by Mark Bickford, Robert L. Constable, Joseph Y. Halpern, and Sabina Petride



Abstract

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.

Further reading:
http://www.cs.cornell.edu/People/~petride/public_html/knowledge_programs.html