Nach den oben eingeführten Theorien wurde ein Interpreter erstellt. Eine Anfrage wird normalerweise in der Form gestellt. Ausgehend von der vordefinierten Situation wird eine Aktionssequenz ermittelt, die die mit beschriebene Prozedur ausführt. Die oben aufgeführten Konstrukte sind dort folgendermaßen implementiert:
1) | , | wobei Prozedurname oder primitive Aktion |
2) | oder | Sequenz |
3) | Testaktion mit Bedingung | |
4) | nichtdeterministische Verzweigung | |
5) | nichtdeterministische Wiederholung | |
6) | nichtdeterministische Auswahl eines Objekts | |
mit ist Atom und ist GOLOG-Aktion, die benutzt | ||
7) | synchronisierte Verzweigung mit Bedingung | |
8) | synchronisierte Wiederholung mit Bedingung | |
9) | nebenläufige Ausführung | |
10) | priorisierte nebenläufige Ausführung ( höher als ) | |
11) | nebenläufige Iteration | |
12) | -Operator (Search-Operator) | |
13) | Interrupt mit der Wartebedingung ; für priorisierte Interrupts | |
steht noch zur Verfügung |
Prozeduren können bei ihrer Definition durch eine beliebige Bezeichnung für erhalten. Diese Prozedur kann dann durch ihre Bezeichnung wie eine primitive GOLOG-Aktion verwendet werden. indiGOLOG stellt übersichtliche Konstrukte zur Beschreibung der Modellierung und der Fakten zur Verfügung:
primitive Aktionen | für jede primitive Aktion | |
primitive Fluenten | für jeden Fluenten | |
exogene Aktionen | für jede exogene Aktion | |
Vorbedingungen | , also ausführbar, wenn gilt | |
Nachfolgeaxiome | , nach Ausführung von | |
hat den Wert , wenn zum Zeitpunkt | ||
der Ausführung gilt | ||
Anfangssituation | für jeden Fluenten dessen Wert | |
bekannt ist |
Der Interpreter wird in Anhang A dargestellt.