-
Notifications
You must be signed in to change notification settings - Fork 2
Home
golog++
is a safe and accessible agent programming framework and language.
A golog++
program combines an action model with the ability to interleave planning and scripting.
It is comprised of a Basic Action Theory (BAT) and a (potentially nondeterministic) imperative program.
The BAT describes the world in terms of fluent, and how the agent can affect it in terms of action and their effects.
The program as a whole is declarative because the only side effects are the effects of actions on the world as described by the BAT.
In addition, golog++
is strictly typesafe, so any definitions of domains, compound types or list types apply to both the BAT and the imperative code.
The main program is conventionally a procedure called main()
.
procedure main() {
while (incoming_order())
serve_coffee();
}
serve_coffee()
could be another procedure or an action call.
- Install ECLiPSe Prolog
- Install ReadyLog
- Install golog++:
- In the golog++ root folder:
mkdir build && cd build && cmake ..
- Check the cmake output for errors, check in particular that eclipse-clp and ReadyLog have been found
- Compile:
cmake --build .
or in parallelmake -j$(nproc) -l$(nproc)
. CAUTION: The parser build uses up to 2GB of RAM per object file, so on a 16-threaded system the parallel build may use up to 32 GB of RAM. - Run tests:
ctest
- In the golog++ root folder:
- Install taptenc dependencies