GOLOG: A Logic Programming Language for Dynamic Domains


This paper proposes a new logic programming language called GOLOG whose interpreter automatically maintains an explicit representation of the dynamic world being modeled, on the basis of user supplied axioms about the preconditions and eeects of actions and the initial state of the world. This allows programs to reason about the state of the world and consider the eeects of various possible courses of action before committing to a particular behavior. The net eeect is that programs may be written at a much higher level of abstraction than is usually possible. The language appears well suited for applications in high level control of robots and industrial processes, intelligent software agents, discrete event simulation, etc. It is based on a formal theory of action speciied in an extended version of the situation calculus. A prototype implementation in Prolog has been developed.

DOI: 10.1016/S0743-1066(96)00121-5

Extracted Key Phrases

Citations per Year

1,350 Citations

Semantic Scholar estimates that this publication has 1,350 citations based on the available data.

See our FAQ for additional information.

Cite this paper

@article{Levesque1997GOLOGAL, title={GOLOG: A Logic Programming Language for Dynamic Domains}, author={Hector J. Levesque and Raymond Reiter and Yves Lesp{\'e}rance and Fangzhen Lin and Richard B. Scherl}, journal={J. Log. Program.}, year={1997}, volume={31}, pages={59-83} }