ConGolog, a concurrent programming language based on the situation calculus


As an alternative to planning, an approach to high-level agent control based on concurrent program execution is considered. A formal definition in the situation calculus of such a programming language is presented and illustrated with some examples. The language includes facilities for prioritizing the execution of concurrent processes, interrupting the execution when certain conditions become true, and dealing with exogenous actions. The language differs from other procedural formalisms for concurrency in that the initial state can be incompletely specified and the primitive actions can be user-defined by axioms in the situation calculus. Some mathematical properties of the language are proven, for instance, that the proposed semantics is equivalent to that given earlier for the portion of the language without concurrency.  2000 Elsevier Science B.V. All rights reserved.

DOI: 10.1016/S0004-3702(00)00031-X

Extracted Key Phrases

Citations per Year

619 Citations

Semantic Scholar estimates that this publication has 619 citations based on the available data.

See our FAQ for additional information.

Cite this paper

@article{Giacomo2000ConGologAC, title={ConGolog, a concurrent programming language based on the situation calculus}, author={Giuseppe De Giacomo and Yves Lesp{\'e}rance and Hector J. Levesque}, journal={Artif. Intell.}, year={2000}, volume={121}, pages={109-169} }