Koen V. Hindriks, Yves Lespérance, Hector Levesque
Several high-level programming languages for programming agents and robots have been proposed in recent years. Each of these languages has its own features and merits. It is still difficult, however, to compare different programming frameworks and evaluate the relative benefits and disadvantages of these frameworks. In this paper, we present a general method for comparing agent programming frameworks based on a notion of bisimulation, and use it to formally compare the languages ConGolog and 3APL. ConGolog is a concurrent language for high-level robot programming based on the situation calculus. ConGolog provides a logical perspective on robot programming, but also incorporates a number of imperative programming constructs like sequential composition. 3APl is an agent programming language and its semantics offers a more operational perspective on agents. The language is a combination of logic and imperative programming and provides operators for beliefs, goals and plans of an agent. We show that ConGolog and 3APL are closely related languages by constructing an embedding of ConGolog in 3APL. This embedding shows how ConGolog programs can be translated into equivalent 3APL programs. A number of interesting issues need to be resolved to construct the embedding. These include a comparison of states in 3APL with situations in ConGolog, the form of basic action theories, complete vs. incomplete knowledge, and execution models concerning the flow of control of agent programs.
Keywords: autonomous agents, logic programming, foundations
Citation: Koen V. Hindriks, Yves Lespérance, Hector Levesque: An Embedding of ConGolog in 3APL. In W.Horn (ed.): ECAI2000, Proceedings of the 14th European Conference on Artificial Intelligence, IOS Press, Amsterdam, 2000, pp.558-562.