AGENT-0
AGENT-0 ist eine Agenten-Programmiersprache, die viele Konzepte der Agenten Orientierten Programmierung umsetzt. Anwendungsgebiet von AGENT-0: Z.B. einen Reisebüroagenten zum automatischen Buchen von Flügen zu programmieren. Dabei ist AGENT-0 aber von eher theoretischer Bedeutung. Praktische Anwendungen mit AGENT-0 gibt es nicht. Eine Weiterentwicklung von AGENT-0 ist PLACA. AGENT-0 war die erste Agenten-Programmiersprache, die auf Mentalen Modalitäten (mental modalities) aufgebaut war. Auch 3APL und AgentSpeak(L) beinhalten das Konzept der Mentalen Modalitäten. In AGENT-0 wird jeder Agent durch ein eigenes Programm repräsentiert.Ein Agent, der in AGENT-0 programmiert wird beinhaltet vier Komponenten: Fakten, Actions, Initial Commitments, Commitment Rules
Fakten
In AGENT-0 werden ein Menge von Fakten definiert, die für den Agenten gelten.
Die Syntax dazu lautet zum Beispiel:
(t (toyota automarke)) ... Toyota ist eine Automarke, dieses Faktum gilt zum Zeitpunkt t.
Die Fakten werden auch beliefs genannt ? das was ein Agent glaubt zu wissen.
Actions
Es werden actions definiert, die ein Agent ausführen kann. Diese actions werden auch capabilities genannt. Die actions unterteilen sich in zwei verschiedene Arten: private actions und communicative actions.
Private actions sind Aktionen, die ein Agent ausführen muss um zum Beispiel seine Datenbank upzudaten, also Aktionen mit denen der Agent seine eigene Struktur verwaltet und updatet.
Communicative actions sind actions, mit denen der Agent mit seiner Umwelt in Verbindung tritt. In AGENT-0 sind das Messages über die der Agent mit anderen Agenten kommunizieren kann.
Die Syntax von actions lautet:
(DO t action) ... die Aktion action wird zum Zeitpunkt t ausgeführt
Zum Beispiel:
(DO 10 send_message) ... sende zum Zeitpunkt 10 eine Nachricht
Initial Commitments
Ein AGENT-0 Agent wird durch initial commitments beschrieben. Initial commitments sind Dinge, die ein Agent zu Anfang an machen kann.
Commitment Rules
Commitment rules sind Bedingungen die erfüllt sein müssen um ein commitment auszuführen. Ein commitment ist eine Fähigkeit oder ein Dienst, den der Agent anbieten und ausführen kann.

