1 / 19

KQML – Eine Programmiersprache für Agenten

KQML – Eine Programmiersprache für Agenten. Seminar „Software Agenten“ Carsten Grosch 31.10.01. Überblick. Motivation Grundlagen der Kommunikation Das KSE - Konsortium KQML Aufbau und Syntax Kommunikationsbeispiele Dialogformen Ausblick. Motivation.

Télécharger la présentation

KQML – Eine Programmiersprache für Agenten

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. KQML – Eine Programmiersprachefür Agenten Seminar „Software Agenten“ Carsten Grosch 31.10.01

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

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

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

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

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

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

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

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

  10. KQML - Beispiel (tell : sender Felix : receiver Felix_Persona : in-reply-to msg498 : ontology Genealogy : language Prolog : content „father(John, Eve)“)

  11. KQML – Syntax (vereinfacht) • Syntax Performatives • (performative-keyword paramter1 parameter2 ...) • Syntax Parameter • :parameter-keyword <Wert> (tell : sender Felix : receiver Felix_Persona : in-reply-to msg498 : ontology Genealogy : language Prolog : content „father(John, Eve)“)

  12. KQML - Performatives Kategorie Name Basis-Anfrage evaluate, ask-if, ask-about, ask-one, ask-all Mehrfach-Antwort (Anfrage) stream-about, stream-all, eos Antwort reply, sorry Allgemeine Information tell, achieve, cancel, untell, unachieve Impulsgeber standby, ready, next, rest, discard, generator Fähigkeiten advertise, subscribe, monitor, import, export Netzwerke register, unregister, forward, broadcast, route

  13. 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)

  14. 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))

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

  16. KQML - Dialoge F ask(X) A B tell(X)

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

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

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

More Related