An embedding of ConGolog in 3APL
Files
Publication date
2000-02-16
Authors
Hindriks, K.V.
Lesperance, Y.
Levesque, H.
Editors
Advisors
Supervisors
DOI
Document Type
Article
Metadata
Show full item recordCollections
License
Abstract
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
ow of control of agent programs.