% PARTOF texte:da/tex/a_home.tex

%------------------------------------------------------------------------------
\chapter{Zusammenfassung}
\label{Zusammenfassung}

Die vorliegende Arbeit entwickelt eine Systemumgebung f"ur agentenbasierte,
verteilte Anwendungen und definiert einen konzeptuellen Rahmen f"ur die
anwendungsnahe Modellierung von kooperativen, verteilten Informationssystemen.

Vor dem Hintergrund des ODP-Referenzmodells betrachtet, liegen die
Hauptbeitr"age dieser Arbeit in der Modellierungsunterst"utzung auf der Ebene
der Unternehmenssicht ({\em Enterprise Viewpoint}) und auf der Ebene der
Verarbeitungssicht ({\em Computational Viewpoint}).

Die Konzepte der Unternehmenssicht {\em Gemeinschaft} und {\em F"oderation} sind
in dem beschriebenen Agentenmodell direkt repr"asentiert. Gemeinschaften von
kooperierenden Agenten werden durch das Strukturierungsmittel der {\em Orte}
gebildet, die wiederum innerhalb autonomer Dom"anen angesiedelt sind.
F"oderationen zwischen diesen Dom"anen, bzw. den Agenten unterschiedlicher
Dom"anen, sind immer dann anzutreffen, wenn Orte das Eintreten von Agenten in
ihren Sichtbarkeitsbereich erlauben und so eine Kooperation zwischen Agenten
verschiedener Dom"anen erm"oglichen. Dabei nehmen Agenten innerhalb einer
Kooperation feste Rollen ein, die ihr Verhalten f"ur den Kooperationspartner
determinierbar machen. Diese Rollen k"onnen f"ur jeden Agenten individuell
ausgestaltet werden, so da"s ein Agent sowohl Dienste anbieten kann, als auch
ggf. von anderen Agenten Dienstleistungen in Anspruch nimmt. Dabei wird jede
Interaktion zwischen Agenten auf der Grundlage von
anwendungsabh"angigen Proz"sspezifikationen gef"uhrt, die den
Kooperationspartnern einen geordneten und autonomieerhaltenden
Kommunikationsablauf zusichern.

Die Verarbeitungssicht, welche sich mit der Frage der zu verteilenden Objekte
einer Anwendung befa"st, wird durch das Agentenmodell stark vereinfacht. Agenten
sind der einzige Gegenstand der Verteilung, wobei aus der Sicht eines
Agenten die {\em logische} Verteilung auf Orte einer semantischen
Anwendungsstruktur im Vordergrund steht. Von der physischen Verteilung der Orte
auf Dom"anen, und damit auf Netzknoten bzw. Rechner, wird sowohl in der
Modellierungsphase als auch in der Realisierungsphase eines Anwendungsagenten
vollst"andig abstrahiert. Durch entsprechende Rekonfigurationen einer
Dom"ane kann die tats"achliche Orteverteilung zur Laufzeit unabh"angig von der
Agentenpopulation variieren und damit Auslastungskriterien oder ver"anderte
Systemeigenschaften ber"ucksichtigen.

Das im Rahmen der Arbeit entstandene medien- und aktorenunabh"angige
Kooperationsmodell der {\em Business Conversations} bestimmt die m"oglichen
Interaktionsformen zwischen Agenten innerhalb des Agentenmodells. Das gew"ahlte
Interaktionsmodell ist dabei anwendungsorientiert und basiert auf einer
Gespr"achsmetapher, den Sprechakten. Es erlaubt die Definition von
Konversationsspezifikationen, die allen Interaktionen zwischen Agenten
zugrundeliegen. Zusammen mit dem Verarbeitungsmodell der {\em Business
Conversations} bilden sie Interaktionsprotokolle, welche die kooperativen
F"ahigkeiten instantiierter Agenten beschreiben. Diese
Konversationsspezifikationen sind Objekte erster Klasse und als solche zur
Laufzeit eines Agenten verf"ugbar und orthogonal verwendbar.

Ein weiterer Aspekt des Kooperationsmodells ist die vollst"andige Bewahrung der
Autonomie der Gespr"achspartner. Erreicht wird dies einerseits durch eine
asynchrone Verarbeitung der einzelnen Sprechakte bei dem jeweiligen Partner,
auch wenn dieser lokal vorhanden ist. Andererseits werden durch eine strikte
Kopiersemantik der verwendeten Dialogobjekte, autonomieverletzende Referenzen
zwischen Agenten explizit ausgeschlossen.

Die f"ur die Umsetzung der Orts-, Migrations-, und Lokalit"atstransparenzen
notwendige Systeminfrastruktur, bezogen auf das ODP-Referenzmodell die Ebene
des {\em Engineering Viewpoints}, konnte ebenfalls im Rahmen der vorliegenden
Arbeit geschaffen werden und erweitert bzw. vereinheitlicht die bisher im
Tycoon-System vorhandenen Kommunikationsmechanismen. Die entsprechende
Kernkomponente der Systemarchitektur ist in Form einer allgemeinen,
agentenunabh"angigen Kommunikationsunterst"utzung "uber ein separates
Nachrichtensubsystem realisiert worden.

Die praktische Verwendbarkeit der realisierten Infrastruktur und der
Modellierungskonzepte konnte anhand einer Beispielanwendung evaluiert werden.
Dabei bot die Anwendungsdom"ane der Erhebung von Nutzungsstatistiken f"ur
Werbeangebote im Internet WWW ein durchaus realistisches Szenario f"ur
agentenbasierte verteilte Datenbanken. Realistisch nicht zuletzt daher, weil die
Informationsquellen ein hohes Ma"s an Autonomie voraussetzen, die nur durch
f"oderative Strukturen korrekt abgebildet werden.

\section{Stand der Implementation}

Die prototypische Implementation der in der Arbeit dargestellten
Systemkomponenten wurde abgeschlossen und die Beispielanwendung zu
Demonstrationszwecken realisiert. Es hat sich im Verlauf der Programmiearbeiten
gezeigt, da"s die orthogonalen Verteilungseigenschaften der
Implementationssprache TL und des Tycoon-Systems eine gute Basis f"ur die
Umsetzung der definierten Konzepte darstellen. Insbesondere die vorhandenen
Bibliotheken zur Synchronisation nebenl"aufiger Aktivit"aten, das dynamische
Linken und die TCP/IP-Anbindung waren f"ur die Arbeit unverzichtbare Grundlage.

Das Agentensystem selbst besteht aus ca. 2000 Zeilen TL-Kode. Hierin enthalten
sind jedoch schon die Skelett-Implementationen  f"ur Agenten und
Orte-W"achter und der beschriebene Portal- und Migrationsdienst. Das
Nachrichtensubsystem ben"otigt zus"atzlich ca. 1000 Zeilen TL-Kode. F"ur die
Implementation des {\em Business Conversation}-Modells, d.h. der
Spezifikations- und Objektgeneratoren, waren lediglich ca. 450 Zeilen
erforderlich.

Die tats"achliche Gr"o"se der "ubertragenen Agenten w"ahrend der Migration auf
einen anderen Rechnerknoten variiert je nach Anwendung stark. Jedoch konnte
durch die Beschr"ankung der zur Implementation verwendeten Datenstrukturen und
durch den gezielten Einsatz von ubiquit"aren TL-Bibliotheken das Volumen der
Agenten aus der Beispielanwendung auf ca. 70 KByte beschr"ankt werden.

\section{Ausblick}

Agentenbasierte verteilte Anwendungen stellen eine Alternative zu den
klassischen RPC-basierten Client/Server Architekturen dar. Sie bieten
insbesondere Vorteile im Hinblick auf die anwendungsnahe Modellierung von
Systemen und der direkteren Umsetzung in Konzepte des Programmiermodells. Das im
Rahmen dieser Arbeit entwickelte Agentenmodell und die zugeh"orige
Systemumgebung kann dabei als Ausgangspunkt f"ur weitere Arbeiten auf dem Gebiet
der agentenbasierten, kooperativen Informationssysteme dienen.

F"ur den Aufbau eines agentenbasierten, offenen Dienstemarkts sind Komponenten,
die den Handel mit Dienstleistungen wiederum als eigene Dienstleistung anbieten
(sog. Trader oder Broker \cite{Pop96}), notwendig. Das Agentensystem mu"s
hierf"ur nicht um spezielle Systemkomponenten erweitert werden, sondern kann
vielmehr auf der Anwendungsebene entsprechende Agenten und/oder Orte
anbieten. Diese k"onnen dann mit Konversationsspezifikationen anderer Agenten
handeln und diese weitervermitteln. Weitere aus der Sicht kommerziell
relevanter Anwendungen wichtige Standarddienste sollten die Visualisierung von
Konversationen bzw. Konversationszust"anden erm"oglichen und die
verbindliche Protokollierung von Konversationsverl"aufen (durch transparente
Notariatsdienste) anbieten.

Unabh"angig vom Agentenmodell dieser Arbeit kann das System der {\em Business
Conversations} ebenfalls weiter ausgebaut werden. An dieser Stelle sind
Grundlagenarbeiten m"oglich, die sich mit speziellen Aspekten der
Konformanz"uberpr"ufung von Konversationsspezifikationen oder der
Wiederverwendung fremder Spezifikationen durch eigene Spezifikationen befassen.
Desweiteren kann die Entwicklung von Konversationsspezifikationen mit Hilfe
geeigneter grafischer Editoren bzw. Generatoren noch unterst"utzt werden.

F"ur das Agentensystem selbst sind auch eine Reihe von Erweiterungen
sinnvoll. Wichtig f"ur die Modellierung von langandauernden Aktivit"aten mit
mobilen Agenten ist die transaktionale Absicherung der Agenten auf zwei
Ebenen:

\begin{itemize}
\item Die rechner"ubergreifende Migration eines Agenten darf im Fehlerfall
nicht zu Dubletten oder dem Verlust des Agenten f"uhren. Dies kann mit
entsprechenden "Ubertragungsprotokollen zwischen den beteiligten Komponenten
Ursprungssystem, Zielsystem und Agent erreicht werden. Ein in \cite{Mat96}
geschildertes Verfahren hierf"ur ist das zweiphasige Best"atigungsprotokoll.

\item Auch langandauernde Ak\-ti\-vi\-t"a\-ten eines Agenten (z.B. durch
Benutzerinteraktionen ver\-z"o\-gert) sollten transaktional ausgef"uhrt werden
k"onnen, so da"s die Konsistenz des Systemzustandes auch im Fehlerfalle gewahrt
bleibt. Die Grundlagen hierf"ur sind bereits durch die Konzeption des
Agentenmodells vorhanden, da das verwendete Verarbeitungsmodell eine Aufteilung
jeder Aktivit"at in einzelne Regeln (d.h. Bearbeitungsschritte) erfordert. Dies
ist eine Voraussetzung f"ur den Einsatz von kompensationsorientierten
Transaktionsmodellen f"ur langandauernde Aktivit"aten (z.B. Sagas \cite{MS87}
oder ConTracts \cite{WaRe91}).

\end{itemize}


%
