• Keine Ergebnisse gefunden

In der Informatik existieren viele etablierte Kommunikationstechniken für unter-schiedliche Einsatzzwecke. Protokolle sorgen für eine verlustfreie Übermittlung;

Datenaustausch erfolgt entweder verbindungsorientiert oder verbindungslos, syn-chron oder asynsyn-chron, als Datenstrom oder in Pakete geschnürt und eventuell noch komprimiert und verschlüsselt. In verteilten Systemen sorgt Kommunikations-Middleware wie CORBA oder DCE25 mit Brokering-Diensten für eine einheitliche Sicht auf die in einem Netzwerk verteilten Programmelemente und deren einfache Nutzung.

Agentenkommunikationssprachen bringen als Neuerung eine linguistische Ebe-ne ein. Die Relevanz eiEbe-ner derartigen, speziell auf Agenten zugeschnitteEbe-nen Spra-che wird durch ein Zitat von Genesereth verdeutlicht, der Softwareagenten als

„software components that communicate with their peers by exchang-ing messages in an expressive agent communication language“

bezeichnet26. Beim Design einer Agentenkommunikationssprache sind drei Aspek-te von besonderer Relevanz:

Inhalt und Bedeutung: Agentenkommunikationssprachen sind ausdruckskräf-tig, sie ermöglichen einen Informationsaustausch auf der Wissensebene. Auch übermitteln Agenten nicht einfach nur Daten, deren Interpretation dem Empfän-ger überlassen ist; vielmehr spielt auch die Bedeutungsebene eine Rolle: Agen-ten erbitAgen-ten die Erbringung von DiensAgen-ten, wünschen die Erreichung eines Zieles, erfragen die Pläne anderer Agenten oder schlagen Wege zur Behebung von Konflikten vor.

Universalität: Anwendungen bestehen häufig aus Agenten, die von unter-schiedlichen Entwicklern stammen. Diese Heterogenität macht eine einheitliche Kommunikationssprache wünschenswert, die unabhängig von der konkreten Impementierung der Agenten ist. Erst diese Allgemeingültigkeit führt zu offe-nen Systemen, in deoffe-nen Agenten ausgetauscht, hinzugefügt oder entfernt wer-den können.

Dialoge: Im Unterschied zu „klassischen“ Kommunikationsanwendungen funktioniert die Agentenkommunikation nicht nach dem Client-Server-Prinzip, sondern findet zwischen gleichberechtigten Partnern statt. Agenten sollten in der Lage sein zielgerichtet Dialoge zu führen, um Konfliktsituationen zu berei-nigen oder gemeinsam komplexe Aufgaben zu erbringen.

In frühen Anwendungen der DAI kamen vorwiegend Blackboards als Kommunika-tionsform zum Einsatz27. Sie stellen eine abstrakte Form des shared memory dar.

Agenten kommunizieren miteinander, indem sie Daten auf das Blackboard schrei-ben bzw. von ihm lesen. Ein weiteres Merkmal liegt in der indirekten Kommunika-tion; für das direkte Adressieren einer Nachricht an einen bestimmten Agenten bie-tet das Blackboard keine Unterstützung. Mit der zunehmenden Realisierung echt verteilter Systeme gerieten Blackboards zugunsten direkter, sprechaktbasierter Kommunikationsformen zunehmend in den Hintergrund28.

25. Common Object Request Broker Architecture [Yang, Duddy 1996], bzw. Distributed Computing Envi-ronment [Brando 1995].

26. [Genesereth, Ketchpel 1994].

27. [Carver, Lesser 1992]. Beispiele stellen die DPS-Agentensysteme HEARSAY-II [Nii 1986] und DVMT [Lesser, Corkill 1983] dar.

2.2.1 Sprechakte

Im Bereich der DAI kommen überwiegend an die menschliche Kommunikation an-gelehnte, sprechaktbasierte Sprachen zum Einsatz. Wesentliches Element eines Sprechakts ist neben der übermittelten Information der Aspekt des Handelns. Aus-tin29 identifizierte drei unterschiedliche Aspekte der Kommunikation: Der lokutio-näre Akt beschreibt den Sprechakt im Hinblick auf Artikulation, Konstruktion und Logik, die illokutionäre Ebene drückt eine beabsichtigte Wirkung und damit eine kommunikative Funktion aus, während der perlokutionäre Aspekt auf Konsequen-zen beim Empfänger fokussiert. Für Agenten spielt ausschließlich die illokutionäre Ebene eine Rolle. Lokutionäre Aspekte werden entweder durch die Übertragung mittels des Kommunikationsmediums abgedeckt und sind daher uninteressant, oder können - wie beispielsweise Betonung oder Gestik - prinzipiell nicht übermittelt werden. Auf der anderen Seite liegt es außerhalb der Kontrolle eines Agenten, die beabsichtigte Wirkung bei einem anderen Agenten sicherzustellen.

Gegenwärtig dominieren zwei Vertreter der sprechaktbasierten Sprachen den Bereich der Agentenkommunikation: KQML und FIPA-ACL30. Beide Sprachen fu-ßen auf einer Reihe illokutionärer Performatives und trennen Syntax, Nachrichten-inhalt und Bedeutung. Für die Darstellung der eigentlichen Botschaft kommen lo-gikbasierte Wissensrepräsentationssprachen31 zum Einsatz, die wiederum ein in ei-ner sogenannten Ontologie beschriebenes Vokabular nutzen.

(tell

:content price( bid( 150 )) :language Prolog

:ontology markets :in-reply-to :force

:sender buyer

:receiver auctioneer))

Die Sprachbeschreibung von KQML enthält 43 Performatives, die sämtlich den Ka-tegorien assertives und directives32 zuzurechnen sind. Demgegenüber kommt ACL

28. Eine Ausnahme stellt die „open agent architecture“ [Cohen, et al. 1994] dar, die auf hierarchisch verteil-ten Blackboards beruht.

29. [Austin 1962].

30. Knowledge Query and Manipulation Language, [Finin, et al. 1994a], [Finin, et al. 1994b], bzw. Agent Communication Language der Foundation for Intelligent Physical Agents, [FIPA 1997].

31. KIF (Knowledge Interchange Format) [Genesereth, et al. 1991] im Falle von KQML und SL

[FIPA 1997] bei FIPA. Hierbei handelt es jeweils um Vorschläge; die Sprechakte besitzen jeweils einen Slot, in dem die Content-Sprache anzugeben ist.

mit 20 Nachrichtentypen aus, die aus 5 grundlegenden Kommunikationsakten33 aufgebaut werden. Der wichtigste Unterschied zwischen beiden Sprachen liegt in der semantischen Fundierung. Während für KQML-Sprechakte nur prosaische An-notierungen existieren, werden Bedeutung und Anwendbarkeit von FIPA-Nachrich-ten für die Senderseite modallogisch mittels der mentalen Operatoren belief, uncer-tainty und intention beschrieben.

Den stärksten semantischen Unterbau besitzt die planbasierte Kommunikati-on34. Sie macht im Gegensatz zu den vorher beschriebenen Ansätzen auch Annah-men über die erzielte Wirkung beim Empfänger, berücksichtigt also zusätzlich zur illokutionären Ebene perloktionäre Aspekte.

Vorbedingung:

cando( belief( speaker, fact )),

want( belief( speaker, belief(hearer, fact))).

Aktion:

INFORM( speaker, hearer, fact ).

Nachbedingung:

belief( hearer, belief( speaker, fact )), belief( speaker, belief( hearer, belief(

speaker, fact ))).

Der Name dieser Kommunikationsform ist dem klassischen Planungsmodell der KI entlehnt35. Dort repräsentieren Planoperatoren elementare Aktionen, die mit Vor-und Nachbedingungen umschrieben werden. Analog dazu beinhalten auch planba-sierte Sprechakte eine Anwendbarkeitsbedingung sowie eine Beschreibung der Ef-fekte bei den Kommunikationspartnern. Die Vorbedingung drückt einen Zustand beim Sprecher aus, die Nachbedingungen beschreiben Konsequenzen für Sprecher und Empfänger. Dadurch können beide Parteien sich ein Bild vom mentalen Zu-stand des jeweiligen Kommunikationspartners machen.

32. Die Kategorisierung von Sprechakten geht auf [Searle 1969] zurück. Searle identifizierte 5 Basiskate-gorien illokutionärer Akte: assertives, directives, commisives, declaratives und expressives.

33. Hierbei handelt es sich um inform, request, query, confirm, disconfirm.

34. Zu den planbasierten Kommunikationsmodellen gehören die Arbeiten von [Cohen, Perrault 1979], [Co-hen, Levesque 1990] und [Allen, Perrault 1980] sowie der „Situated Conversation Theory“-Ansatz von [Numaoka, Tokoro 1990].

35. Siehe Abschnitt 2.4.4.

2.2.2 Interaktionsprotokolle

Mit den oben behandelten Sprechakten können Informationen ausgetauscht und einfache Frage-Antwort-Dialoge durchgeführt werden. Damit Agenten auch zu län-gerfristigen Interaktionen wie etwa Verhandlungen und Kooperationen in der Lage sind, benötigt man Interaktionsprotokolle. Ein solches Protokoll regelt den Ablauf einer Konversation. Es legt für alle Beteiligten fest, wann sie welche Sprechakte austauschen und welche Inhalte übermittelt werden. In diesem Sinne stellen Inter-aktionsprotokolle eine Verbindung von Kommunikation und Handeln dar, wozu die Sprechakttheorie allein nicht ausdrucksmächtig genug ist:

„...dialogue has no syntax, speech act types are not the relevant cate-gories over which to define the regularities of conversation; there ex-ists no other finite alphabet over which to define the regularities; ...“36 Zustandsgraphen stellen eine mögliche Spezifikationssprache für Interaktionspro-tokollen dar. Sie beschreiben die möglichen Interaktionspfade einer Konversation zweier Agenten. Jeder Knoten repräsentiert den Zustand eines Agenten im Proto-koll, der durch Senden einer Nachricht den Zustand des anderen, empfangenden Agenten ändert37. Derartige Graphen bieten zwar eine Sicht auf die stattfindende Kommunikation, die Handlungen, die ein Agent vornimmt werden jedoch nicht dargestellt. Um an einem Interaktionsprotokoll teilzunehmen, benötigt ein Agent ei-ne Repräsentation zumindest seiei-nes Teils des Zustandsgraphen

2.2.3 Zusammenfassung

Kommunikation ist bei Softwareagenten weitgehend gleichbedeutend mit der Fä-higkeit zum Senden und Empfangen von Sprechakten. Zwar benötigt ein Agent häufig auch „klassische“ Kommunikationsformen, um beispielsweise mit konven-tioneller Software zu interagieren, diese Sprachen und Protokolle sind jedoch nicht Gegenstand der Agentenkommunikation. Die Haupttriebkraft bei der Gestaltung von Agentenkommunikationssprachen liegt dabei in der Anforderung, Agentensy-steme offen zu gestalten.

Von verschiedener Seite wurde Kritik am Sprechaktmodell geübt. Auf eine feh-lende Semantik wurde von Werner und Singh38 hingewiesen und Lösungen diesbe-züglich angeboten. Auch bereitet Searles Kategorisierung Probleme: Viele

Nach-36. [Levinson 1981].

37. Ein Beispiel eines Interaktionsgraphen findet sich in Kapitel 4 (siehe Abbildung 4-5 auf Seite 99).

38. [Werner 1987], [Singh 1991].

richtentypen, die in der Agentenkommunikation benutzt werden, sind nicht eindeu-tig in die Klassifikation einzuordnen39. Die Hauptschwäche von KQML ist deren fehlende deklarative Semantik, die einen zu großen Interpretationsspielraum zu-läßt40. Diese Semantik wird von der FIPA-ACL vorgegeben, basiert jedoch auf An-nahmen über die Wissensrepräsentation der Agenten.

Für die Modellierung komplexerer Konversationen finden Interaktionsprotokoll-sprachen Verwendung. Sie legen das kommunikative Verhalten aller an einer Kon-versation beteiligten Agenten fest. Mithin können die Zielgerichtetheit und Effizi-enz der Interaktionen per Design sichergestellt bzw. durch die explizite Bezugnah-me auf ein Protokoll die Gefahr abweichenden Verhaltens durch „paranoide“ Agen-ten vermindert werden. Jedoch ist es schwierig Protokolle zwischen mehr als zwei Parteien zu modellieren. Auch bereitet die Verknüpfung von Kommunikation und Aktion Probleme; zumeist beschränken sich die Protokollsprachen auf die auszu-tauschenden Nachrichten.

Für einige Typen von Agenten spielt die Sprechaktkommunikation keine oder nur eine untergeordnete Rolle. Dazu gehören die kognitiven Agenten, bei denen die Informationsverarbeitung und -gewinnung im Zentrum des Interesses steht (siehe Kapitel 3.5). Bei persönlichen Assistenten und Interfaceagenten stehen Schnittstel-len zum Benutzer bzw. zu anderer Software im Vordergrund; Inter-Agentenkommu-nikation findet nicht statt.