next up previous contents
Nächste Seite: Exogene Ereignisse Aufwärts: Erweiterungen von GOLOG Vorherige Seite: Nebenläufigkeit   Inhalt

Eine Transitionssemantik

In GOLOG wird bisher eine Evaluationssemantik verwendet [25]. Diese Semantiken basieren auf der kompletten Auswertung des Programms. Bevor die erste Aktion ausgeführt werden kann, muß eine komplette und gültige Lösungssequenz gefunden werden. Durch die Einbeziehung von Nebenläufigkeit erscheint es sinnvoller, Transitionssemantiken (Berechnungssemantiken) einzusetzen [25]. Diese basieren auf einzelnen Berechnungsschritten anstelle der gesamten Berechnung. Daher definieren wir eine Transition \( Trans \) und ein Prädikat \( Final \) als:

\( Trans(\delta ,s,\delta ',s') \) := Dies ist der Übergang von der Situation \( s \) zu \( s' \) durch die Ausführung der ersten primitiven Aktion \( a \) oder einer Testaktion \( \phi \) aus \( \delta \). Für das Restprogramm \( \delta ' \) kann dann zum Beispiel gelten: \( \delta =a;\delta ' \) oder \( \delta =\phi ;\delta ' \). Wir haben so eine Transition zwischen den Konfigurationen \( (\delta ,s) \) und \( (\delta ',s') \) definiert. \( \delta ' \) bezeichnet also das von \( s' \) aus noch auszuführende Programm.

\( Final(\delta ,s) \) := Die Konfiguration \( (\delta ,s) \) ist final, wenn die Bearbeitung abgeschlossen ist, also keine Aktion mehr ausgeführt werden muß. Die daraus abgeleiteten Situationen einer Endkonfiguration sind die gleichen, die durch einen entsprechenden \( Do \)-Term ermittelt werden.

Komplette Berechnungen werden nun durch die Aneinanderreihung von Einzelschritten bis zur Erreichung eines Endzustandes gebildet. Trans und Final müssen für alle 13 Konstrukte der Sprache ConGOLOG definiert werden. Diese formale Definition würde den Rahmen dieser Arbeit überschreiten. Es seien daher nur Beispiele genannt und auf [31] verwiesen:

Die möglichen Konfigurationen ergeben sich aus der wiederholten Ausführung der Relation \( Trans \) von der Konfiguration \( (\delta ,s) \) aus, es sind also die Konfigurationen, die sich in der transitiven Hülle der Relation befinden. \( Trans^{\star } \) definiert dies innerhalb des Situationskalküls:

\begin{displaymath}
Trans^{\star }(\delta ,s,\delta ',s'):=\forall T[...\supset T(\delta ,s,\delta ',s')]\end{displaymath}

und ... steht für die Konjunktion der universellen Hülle der folgenden Implikationen:

\begin{displaymath}
\begin{array}{cc}
True\supset T(\delta ,s,\delta ',s') & \\ ...
...',s'',\delta ',s')\supset T(\delta ,s,\delta ',s').
\end{array}\end{displaymath}

Nun kann eine neue Definition des \( Do \)-Operators mit Hilfe von \( Trans^{\star } \) und \( Final \) vorgenommen werden:

\begin{displaymath}
Do(\delta ,s,s'):=\exists \delta '.Trans^{\star }(\delta ,s,\delta ',s')\wedge Final(\delta ',s')\end{displaymath}

Das hier definierte \( Do \) ist äquivalent zu dem oben definierten. Eine Sequenz von Aktionen \( \vec{a} \) kann also ebenfalls durch

\begin{displaymath}
Axioms\models Do(\delta ,S_{0},do(\vec{a},S_{o}))\end{displaymath}

ermittelt werden [31]. Die Axiome müssen nur um die Definitionen von \( Trans \) und \( Final \) erweitert werden.


next up previous contents
Nächste Seite: Exogene Ereignisse Aufwärts: Erweiterungen von GOLOG Vorherige Seite: Nebenläufigkeit   Inhalt

2001-01-04