Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

KQML – Eine Programmiersprache für Agenten Seminar Software Agenten Carsten Grosch 31.10.01.

Ähnliche Präsentationen


Präsentation zum Thema: "KQML – Eine Programmiersprache für Agenten Seminar Software Agenten Carsten Grosch 31.10.01."—  Präsentation transkript:

1

2 KQML – Eine Programmiersprache für Agenten Seminar Software Agenten Carsten Grosch 31.10.01

3 Überblick Motivation Motivation Grundlagen der Kommunikation Grundlagen der Kommunikation Das KSE - Konsortium Das KSE - Konsortium KQML KQML Aufbau und Syntax Aufbau und Syntax Kommunikationsbeispiele Kommunikationsbeispiele Dialogformen Dialogformen Ausblick Ausblick

4 Motivation Nachrichtenübermittlung zwischen Agenten Nachrichtenübermittlung zwischen Agenten KQML – Knowledge Query and Manipulation Language KQML – Knowledge Query and Manipulation Language In Anlehnung an Sprachwissenschaftliche Ergebnisse In Anlehnung an Sprachwissenschaftliche Ergebnisse

5 Sprechakttheorie Loktionärer Akt Loktionärer Akt Physikalische Äußerung Physikalische Äußerung Illuktionärer Akt Illuktionärer Akt Verwendung des Gesagten in einer bestimmten Weise (z.B. Frage, Feststellung, Behauptung) Verwendung des Gesagten in einer bestimmten Weise (z.B. Frage, Feststellung, Behauptung) Perluktionärer Akt Perluktionärer Akt Auslösen einer Wirkung des Gesagten Auslösen einer Wirkung des Gesagten Beispiel: Schließe die Tür ! Beispiel: Schließe die Tür !

6 Agenten Kommunikation Anforderungen: Anforderungen: Gemeinsame Sprache Gemeinsame Sprache Gemeinsames Verständnis (Ontologie) Gemeinsames Verständnis (Ontologie) Fähigkeit zum Austausch von Nachrichten Fähigkeit zum Austausch von Nachrichten

7 Ontologie Philosophie : Lehre vom Seienden Philosophie : Lehre vom Seienden Informatik: Vereinbarung über das benutzte Vokabular und dessen Anwendung Informatik: Vereinbarung über das benutzte Vokabular und dessen Anwendung Beispiel Jaguar Beispiel Jaguar Anmerkung: Konsistenz - nicht Vollständigkeit Anmerkung: Konsistenz - nicht Vollständigkeit

8 Das KSE-Konsortium Ziel: Technische Infrastruktur zur Unterstützung von Wissensteilung Ziel: Technische Infrastruktur zur Unterstützung von Wissensteilung Geldgeber: ARPA, ASOFR, NRI, NSF Geldgeber: ARPA, ASOFR, NRI, NSF Arbeitsgruppen Arbeitsgruppen Interlingua (Knowledge Interface Format: KIF) Interlingua (Knowledge Interface Format: KIF) Shared Resusable Knowledge Bases (SRKB) Shared Resusable Knowledge Bases (SRKB) External Interfaces (KQML) External Interfaces (KQML)

9 KQML Eigenschaften Beinhaltet Protokoll und Sprache zur Formulierung verschiedener Nachrichtentypen Beinhaltet Protokoll und Sprache zur Formulierung verschiedener Nachrichtentypen Kapselung von Nachrichteninhalten Kapselung von Nachrichteninhalten Kern: Performatives (tell, ask, etc.) Kern: Performatives (tell, ask, etc.)

10 Kommunikation Grundlegende Kommunikationsparameter Identität von Sender und Empfänger Eindeutige Kennung der Kommunikation KQML - Aufbau Nachrichten Kern von KQML Identifizierung des Protokolls Performatives Inhaltssprache, Ontologie, "Schlagwort " Inhalt Inhalt der Nachricht In beliebiger Programmiersprache Prolog: "father(John, Eve)"

11 KQML - Beispiel (tell : senderFelix : receiverFelix_Persona : in-reply-tomsg498 : ontologyGenealogy : languageProlog : contentfather(John, Eve))

12 KQML – Syntax (vereinfacht) (tell: senderFelix : receiverFelix_Persona : in-reply-tomsg498 : ontologyGenealogy : languageProlog : contentfather(John, Eve)) Syntax Performatives (performative-keyword paramter1 parameter2...) Syntax Parameter :parameter-keyword

13 KQML - Performatives KategorieName Basis-Anfrageevaluate, ask-if, ask-about, ask-one, ask-all Mehrfach-Antwort (Anfrage)stream-about, stream-all, eos Antwortreply, sorry Allgemeine Informationtell, achieve, cancel, untell, unachieve Impulsgeberstandby, ready, next, rest, discard, generator Fähigkeitenadvertise, subscribe, monitor, import, export Netzwerkeregister, unregister, forward, broadcast, route

14 Kommunikation (1) (ask-one: sender joe : content (PRICE IBM ?price) : receiver stock-server : in-reply-to ibm-stock : language LPROLOG : ontology NYSE-TICKS) (tell: sender stock-server : content (PRICE IBM 118) : receiver joe : in-reply-to ibm-stock : language LPROLOG : ontology NYSE-TICKS)

15 Kommunikation (2) (advertise: sender stock-server : receiver joe : in-reply-to ibm-stock : language LPROLOG : ontology NYSE-TICKS : content (stream-all : content (PRICE ?x ?y))) (stream-all: sender joe : receiver stock-server : language LPROLOG : ontology NYSE-TICKS : content (PRICE ?VL ?price))

16 Faciliators Agent zur Unterstützung der Kommunikation Agent zur Unterstützung der Kommunikation Unterstützungsfunktionen Unterstützungsfunktionen Zusammenführen von Informationsanbietern und Nachfragern Zusammenführen von Informationsanbietern und Nachfragern KQML entwickelt, um solche Agenten- Architekturen zu unterstützen KQML entwickelt, um solche Agenten- Architekturen zu unterstützen

17 KQML - Dialoge A A B B F F ask(X) tell(X)

18 KQML - Dialoge A A B B F F tell(X) Subscribe(ask(X))

19 KQML - Dialoge A A B B F F advertise(ask(X)) reply(B) ask(X) tell(X) recommend(ask(X))

20 Ausblick KQML bisher nur in Prototyp-Systemen (verbreitet) eingesetzt KQML bisher nur in Prototyp-Systemen (verbreitet) eingesetzt FIPA entwickelt ebenfalls ACL FIPA entwickelt ebenfalls ACL KSE-Gruppe hält KQML für geeignet, ein Standard für Agenten-Kommunikation zu werden KSE-Gruppe hält KQML für geeignet, ein Standard für Agenten-Kommunikation zu werden


Herunterladen ppt "KQML – Eine Programmiersprache für Agenten Seminar Software Agenten Carsten Grosch 31.10.01."

Ähnliche Präsentationen


Google-Anzeigen