SitLog is a declarative situation-oriented logical language for programming
situated service robots’ tasks. The formalism is task
and domain independent and can be used in a wide
variety of settings. SitLog can also be seen as a behavior
engineering specification and interpretation formalism to
support action selection by autonomous agents during
the execution of complex tasks. The language combines
the Recursive Transition Network formalism, extended
with functions to express dynamic and contextualized
task structures, with a functional language to express
control and content information. SitLog interpreter is
written in Prolog and SitLog’s programs follow closely the
Prolog notation, permitting the declarative specification
and direct interpretation of complex applications in a
modular and compact form.