\documentclass[12pt,fleqn,a4paper]{report}
\usepackage[austrian]{babel}
\usepackage{german}
\usepackage{amsfonts}
\usepackage{latexsym}
\usepackage{xspace}
\usepackage{epsfig}
\usepackage{psfrag}
\usepackage{graphicx}

\textheight	680pt
\textwidth	460pt
\topmargin	-40pt
\oddsidemargin	  5pt
\evensidemargin	  5pt
\parindent	  0pt

\begin{titlepage}
\title{\textbf{Kommunikation in Multi-Agenten-Systemen} \\ PS Einf\"uhrung in die Bioinformatik (SS 99)}
\author{Markus Amersdorfer \\ \textit{markus.amersdorfer@sbg.ac.at} \\ \\ Michael Noisternig \\ \textit{michael.noisternig@sbg.ac.at} \\ \\ \\ Version: 23. M\"arz 1999 \\ Uhrzeit: 12:30 - 13:00 \\ Gruppe: 5 \\ \\ LV-Leiter: Dipl.-Ing. Mag. Roland Schwaiger \\ \textit{rschwaig@cosy.sbg.ac.at}}

\date{}
\end{titlepage}

\clearpage
\begin{document}
\maketitle
\begin{abstract}
{\sl Dieser Artikel gibt eine \"Ubersicht zum Thema Agenten, Mulit-Agenten-System (MAS) und Kommunikation in MAS.}
\end{abstract}


\tableofcontents


\chapter{Einleitung}


\section{Was ist ein Agent?}

Zu allererst mu"s gesagt werden, da"s es keine allgemein akzeptierte Definition eines Agenten gibt. Das Online-W\"orterbuch ``Merriam-Webster'' \cite{bib7} definiert einen Agenten folgenderma"sen:

\begin{quote} ``Ein Instrument, durch welches eine f\"uhrende Intelligenz Resultate erreicht.'' bzw. ``Jemand, der von einer anderen Person authorisiert ist, anstelle dieser zu handeln als: [...] c) ein (gesch\"aftlicher) Repr\"asentat [...]''\end{quote}

Im ``The Webster Dictionary'' \cite{bib8} wird der Begriff definiert als:

\begin{quote} ``Ein Agent ist eine Komponente, welche f\"ur oder anstelle einer anderen autorit\"atsbesitzenden Komponente arbeitet.''\end{quote}

Diese Definitionen sind allerdings schwer verst\"andlich.\\
In \cite{bib1} beschreiben M. Genesereth und S. Ketchpel einen
Softwareagenten als ein Programm, das \"uber eine ausdrucksvolle
Agentenkommunikationssprache (ACL) mit anderen Programmen kommunzieren kann,
um Informationen (Daten und Code) auszutauschen. N\"aheres dazu siehe
\ref{KQML-KIF}.\\
Agenten haben eine nachrichtenbasierte Schnittstelle (siehe
\ref{Komm-Mechs}), die unabh\"angig ist von internen Datenstrukturen und
Algorithmen (design autonomy). Das hei"st, die programmiertechnische
Implementierung spezieller Softwareagenten ist frei w\"ahlbar, da die
Schnittstellen zur Au"senwelt f\"ur die Kommunikation standardisiert sind.\\
Auf Nachrichten zeigen Agenten ein
bestimmtes Verhalten. Jedoch besitzen auch Objekte in der Objektorientierten
Programmierung (OOP) diese Eigenschaften.\\ \\
\textit{Bemerkung:} Bei Verwendung der Bezeichnung ``Softwareagent'' stellt
sich folgende Frage: ``Was ist ein Hardwareagent?'' Eine Antwort dazu ist
schwer zu finden, jedoch kann man diesen wohl am ehesten als Robotor, sprich
Softwareagent mit Hardware, definieren.

\section{Was ist der Unterschied zwischen einem Objekt in der OOP und einem Agenten?}
Ein Unterschied ist, da"s Agenten eine einheitliche und immer gleich verst\"andliche Sprache haben. Dies ist jedoch nicht ausreichend, da es zum einem, wie sp\"ater beschrieben wird, Nachrichten gibt, die gar nicht klar definiert sind und somit immer anders verstanden werden k\"onnen, und zum anderen, weil auch Programme in einem System, in dem ein Kommunikationsprotokoll als Sprache verwendet wird, diese Eigenschaften erf\"ullen, z.B. Mail-Server mit SMTP als Kommunikationssprache.\\
M. P. Singh \cite{bib2} liefert eine wesentlich bessere Definition eines Agenten:

\begin{quote}``Ein Agent ist ein Programm, das auf seine Umgebung reagieren und sowohl mit anderen Agenten zusammenarbeiten (interoperability) als auch ohne sie agieren kann. Agenten k\"onnen selbstst\"andig handeln und insofern Handlungen ablehnen oder annehmen (execution autonomy).''\end{quote}

Auf den Punkt bringt es \cite{bib4}: \begin{quote}``Im Gegensatz zu Objekten haben Agenten Ziele und handeln aktiv, um diese zu erreichen.''\end{quote}

\section{Was sind also die wichtigsten Eigenschaften eines Agenten?}
\begin{itemize}
 \item \textit{Autonomie:} ein Agent kann beliebig aufgebaut sein (design autonomy) und er kann selbst w\"ahlen, welche Handlungen er ausf\"uhrt (execution autonomy)
 \item \textit{Reaktivit\"at:} jeder Agent mu"s auf Ver\"anderungen in seiner Umgebung entsprechend reagieren k\"onnen; das bedeutet nicht unbedingt eine nach au"sen sofort erkennbare Reaktion, sondern m\"oglicherweise auch einfach nur eine agenteninterne Ver\"anderung von Zust\"anden oder Zielen
 \item \textit{Interoperabilit\"at:} Agenten m\"ussen Informationen mit anderen Komponenten (Agenten, Programmen, Menschen) austauschen k\"onnen
\end{itemize}

\section{Klassifizierung von Agenten}
Weitere Eigenschaften kann man auch zur Klassifizierung verwenden \cite{bib3}, \cite{bib4}, \cite{bib5}:
\begin{itemize}
 \item \textit{Intelligenz}: ein Agent kann die beste L\"osung in einer bestimmten Situation finden
 \item \textit{Adaptivit\"at, Flexibilit\"at:} ein Agent ver\"andert sein Verhalten aufgrund seiner fr\"uheren Erfahrungen
 \item \textit{Zielorientierung:} ein Agent arbeitet aktiv, um ein Ziel zu erreichen
 \item \textit{Charakter:} ein Agent besitzt eine ``Pers\"onlichkeit'' und einen emotionalen Status
 \item \textit{Mobilit\"at:} ein Softwareagent kann sich zwischen verschiedenen Rechnern bewegen
\end{itemize}

Den Charakter eines intelligenten Agenten bestimmt vor allem, ob der
individuelle mentale Status des Agenten oder die sozialen Aspekte der
Kommunikation betont werden. Nach M. P. Singh \cite{bib2} wird ein mentaler
Status am einfachsten durch ``beliefs'' und ``intentions'' beschrieben, die
die gesamte Handlungsweise des Agenten bestimmen.
\\ \\ 
Von besonderer Bedeutung ist das BDI-Modell \textit{(belief-desire-intention)}. Wie in
\cite{bib10} ersichtlich ist, wird hierbei der interne Status eines Agenten
als ein Konstrukt von Wissen und daraus resultierenden W\"unschen und
Absichten dargestellt. Ein Agent hat hierbei Ziele bzw. W\"unsche und sucht
einen Weg, diese mit Hilfe seines Wissens zu erreichen. Aufgrund neu erlernten
Wissens kann er dann entweder den Weg oder das Ziel \"andern.\\
\\
Ein Beispiel:

\begin{quote}
Ich glaube, da"s ich gut bezahlt werde, wenn ich hart arbeite.\\
Ich w\"unsche mir einen Ferrari.\\
Also arbeite ich hart, um mir einen Ferrari zu kaufen.\\
\\
Nach mehreren Jahren harter Arbeit habe ich noch immer keinen Ferrari!\\
Also k\"onnte ich
\begin{list}{-}{} 
\item mir einen Lotterieschein kaufen (meine Absicht \"andern)
\item erkennen, da"s das nur ein Traum ist, und auf einen Mazda hinarbeiten
\item erkennen, da"s harte Arbeit nicht genug Geld bringt und auf kriminelle
Weise zu Geld kommen.
\end{list}
\end{quote}

\label{1.soz}
Soziales Verhalten ist das erkl"arte Ziel von Agentenentwicklern; ein Ziel, da"s noch lange nicht erreicht ist. Solche \textit{sozialen Agenten} sollten zum Beispiel alle Gespr"achspartner gleich behandeln, den Kontext eines Gespr"aches verstehen und alle Kommunikationsarten beherrschen (siehe \ref{2.KommArten}). \cite{bib2}

\section{Anwendungsgebiete f\"ur Agenten}
Im folgenden einige Projekte der Software Agent Group \cite{bib6} am MIT, gegr\"undet von Pettie Maes.

\begin{enumerate}
 \item \textit{Butterfly} (1998-Present)\\
       by Neil W. Van Dyke\\
       Butterfly ist ein Agent, der stichprobenartig tausende laufende IRC-Channels (Internet Relay Chat) dursucht, und f\"ur den Benutzer interessante vorschl\"agt.
 \item \textit{Amalthea} (1996-Present)\\
       by Alexandros G. Moukas, Pattie Maes\\
       Anstatt einen Agenten mit der \"uberm\"achtigen Aufgabe zu betrauen, f\"ur den Benutzer relevante jedoch weitverstreute Informationen des Internets zu sammeln, basiert Amalthea auf einem Multi-Agenten-System, welches diese Aufgabe mittels mehrerer Agenten ausf\"uhrt und dem Benutzer das Ergebnis pr\"asentiert. Weiters pa"st sich das System den sich ver\"andernden Bed\"urfnissen des Benutzers an.
 \item \textit{Yenta} (1995-Present)\\
       by Lenny Foner\\
       Yenta ist ein agentenbasiertes System, welches verschiedene Benutzer mit gleichen Interessen oder Arbeitsaufgaben gruppiert und zu zwischenmenschlicher Kommunikation anregt, dabei jedoch nicht die Privatshp\"are der Einzelnen Gruppenmitglieder vernachl\"assigt.
 \item \textit{Challenger} (1996)\\
       by Alexandros G. Moukas, Anthony Chavez, Pattie Maes\\
       Challenger ist ein Multi-Agenten-System, welches f\"ur die Durchf\"uhrung von Aufgaben die Rechenzeit verschiedener Computer verwendet.
 \item \textit{Webdoggie} (1994-1995)\\
       by Yezdi Lashkari, Pattie Maes\\
       Webdoggie ist ein System, welches mittels zusammenarbeitendem Filtern f\"ur den Benutzer m\"oglicherweise interessante Internetseiten findet.
\end{enumerate}

\section{Multi-Agenten-Systeme (MAS)}
Eine wichtige Errungenschaft der heutigen Informationstechnologie ist das
Konzept der \textit{Verteilten K\"unstlichen Intelligenz} (Distributed
Artificial Intelligence = DAI). Wie K. C. Ranze und H. J. M\"uller in
\cite{bib9} beschreiben, dient dies der L\"osung von immer gr\"o"ser werdenden
und mehr Rechenzeit in Anspruch nehmenden Problemen. Ein wichtiger Vorteil der
DAI gegen\"uber ``normaler'' Mulitprozessor-Aufgabenverteilung liegt darin,
da"s die einzelnen ausf\"uhrenden Programme charakterisiert werden durch
eigenst\"andiges agieren in einer Welt, die entweder einen realen
Weltausschnitt darstellt oder die k\"unstlich mittels Objekten beschrieben
ist. Diese als Agenten bezeichneten Programme kommunizieren nicht nur, um
Services anzuforden und Ergebnisse abzuliefern, sondern vielmehr k\"onnen
selbst\"andig Aufgaben angeboten, es kann verhandelt bzw. auch die
Durchf\"uhrung von Auftr\"agen verweigert werden.\\ Ein solches System von
Agenten wird als \textit{Mulit-Agenten-System} bezeichnet.


\chapter{Kommunikation}

\section{Kommunikations-Mechanismen}
\label{Komm-Mechs}
Unter Kommunikations-Mechanismen in Zusammenhang mit Agenten und MAS wollen
wir Methoden verstehen, um Nachrichten zwischen Agenten auszutauschen. Als die
zwei wichtigsten Mechanismen sind zu nennen:

\begin{itemize}
\item \textit{Message-Passing (Bringschuld):} Der benachrichtigende Agent A ist
selbst daf\"ur verantwortlich, da"s seine Nachricht zu einem bestimmten
Agenten B gelangt. Das hei"st, er mu"s in einer Verbindung zu seinem
Kommunikationspartner die Nachricht zu diesem ``bringen''.
\item \textit{Blackboarding (Holschuld):} Dieser Mechanismus ist
vergleichbar mit der Funktionsweise von Newsgroups. Agent A postiert seine
Nachricht bei einer Zentrale, \"uber die s\"amtliche Nachrichten laufen. Sein
Kommunikationspartner Agent B ist nun selbst daf\"ur veranwortlich,
eigentst\"andig die Nachricht bei der Zentrale abzuholen.
\end{itemize}

Diese Zentrale kann entweder implementiert werden als herk\"ommliche Datenbank,
oder aber auch als ein eigener Agent C, der sich zur Verf\"ugung stellt um die
Kommunikation zwischen anderen zu erm\"oglichen. In diesem Fall allerdings
ergibt sich zwischen den Agenten A und C wiederum eine auf Message-Passing
basierende Kommunikation.


\section{Ans\"atze f\"ur Kommunikation}
\label{KQML-KIF}

Um Multi-Agenten-Systeme implementieren zu k\"onnen,
ben\"otigt man als grundlegendes Werkzeug der Kommunikation eine Sprache. In
\cite{bib1} werden zwei \"ubliche Ans\"atze f\"ur Sprachen genannt:

\begin{itemize}
\item Skriptsprachen
\item deklarative Sprachen.
\end{itemize}

Skriptsprachen (wie TCL, Apple Events, Telescript) tauschen ganze Prozeduren aus
und sind somit einfach und leistungsf\"ahig. Deren Nachteil allerdings liegt
darin, da"s sie nur unidirektional und schwierig zu koordinieren sind, wenn
mehrere Skripts von mehreren Agenten gleichzeitig ankommen.
\\
Deklarative Sprachen verstehen Kommunikation als Austausch von deklarativen
Aussagen wie zum Beispiel Definitionen oder Annahmen. Das hei"st, sie k\"onnen
ohne Interpreter ausgef\"uhrt werden. Wie T. Finin in \cite{bib12} beschreibt,
sind sie einerseits ausdrucksf\"ahig genug, um vielf\"altige Informationen
weiterzugeben und andererseits gleichzeitig kompakt.
\\
Die Entwicklung von nachfolgenden deklarativen Sprachen wird vom ARPA Knowledge Sharing Effort vorangetrieben. Sie besitzen einen erweiterungsf\"ahigen, englischsprachigen Wortschatz, um die Lesbarkeit f\"ur Menschen zu erh\"ohen.

\subsection{KIF}

KIF (Knowledge Interchange Format) ist eine Sprache mit Pr\"adikatenlogik
erster Ordnung und einigen Erweiterungen, um ihre Ausdruckskraft zu erh\"ohen.
Laut M. Genesereth und S. Ketchpel \cite{bib1} soll KIF jedoch in erster Linie
einfache Daten logisch darstellen k\"onnen und besitzt dazu logische
Operatoren wie Negationen, Disjunktionen, Regeln usw. Weiters kann KIF Wissen
von anderen Wissensbasen beziehen.

Weil KIF jedoch kontextunabh\"angig ist, m\"u"ste jede Nachricht jedoch
implizite Informationen \"uber den Empf\"anger, den Sender, die Zeit einer
Nachricht usw. enthalten. Die Effizienz einer Kommunikation kann erh\"oht
werden, indem sprachliche Mittel verwendet werden, bei denen der Kontext eine
Rolle spielt.

\subsection{KQML}

KQML (Knowledge Query and Manipulation Language) ist eine ACL \"ahnlich KIF, die in dieser Hinsicht erweitert wurde. Das erste Wort einer Nachricht bestimmt den Typ der Kommunikation.\\
Obwohl KQML im Prinzip nur Feststellungen und Anweisungen unterscheidet, so k"onnte man diese Typen grunds\"atzlich in sieben Kategorien einteilen und eine ACL dahingehend erweitern \cite{bib2} (siehe \ref{1.soz}): \label{2.KommArten}
\begin{itemize}
\item \textit{Feststellungen (assertives)}, mit der Aufgabe zu informieren:
``Die T\"ur ist geschlossen.''
\item \textit{Anweisungen (directives)}, welche um etwas ersuchen: ``Schlie"s die
T\"ur!'' - bzw. anfragen \textit{(queries)}: ``K\"onnen Pelikane fliegen?''
\item \textit{Verpflichtungen (commissives)}, die etwas versprechen: ``Ich
werde die T\"ure schlie"sen.''
\item \textit{Erlaubnisse (permissives)}, die Erlaubnis erteilen: ``Du kannst
die T\"ure schlie"sen.''
\item \textit{Verbote (prohibities)}, die eine Aktion untersagen: ``Du darfst
die T\"ure nicht schlie"sen.''
\item \textit{Deklarationen (declaratives)}, welche Ereignisse in sich
verursachen: ``Ich nenne diese T\"ur die Golden Gate''
\item \textit{\"Au"serungen (expressives)}, um Emotionen und Einsch\"atzungen
auszudr\"ucken: ``Ich w\"unschte, diese T\"ur w\"are geschlossen.''
\end{itemize}

\section{Architektur von MAS}

Sobald man eine ACL und die M"oglichkeit, Agenten zu bauen, hat, braucht man
nur noch eine funktionierende Organisation zwischen ihnen. Zwei verschieden
Ans"atze wurden daf"ur erforscht \cite{bib1}:

\begin{list}{-}{}
\item direkte Kommunikation und
\item assistierte Koordination.
\end{list}

F"ur direkte Kommunikation gibt es die M"oglichkeit einer Handlung per
Vertrag \textit{(contract net approach)} oder "uber ein Weitergeben von
Spezifikationen \textit{(specification sharing approach)}.\\
 Im ``contract
net approach'' verschicken Agenten, die keine Arbeit haben, Ansuchen um
Dienste. Die Empf"anger k"onnen diese dann auswerten und Angebote
zur"uckschicken. Die urspr"unglichen Agenten wiederum k"onnen dann
entscheiden, welchen Job sie annehmen.\\ Im ``specification sharing approach''
schicken arbeitslose Agenten einfach Informationen "uber ihre F"ahigkeiten und
Bed"urfnisse an andere Agenten, die diese dann auswerten k"onnen.\\ Direkte
Kommunikation ist in grossen Systemen, wie zum Beispiel dem Internet, jedoch
viel zu kostenintensiv. Und auch die Agenten selbst sind sehr komplex, da sie
alle in dieser Form mit anderen Agenten kommunizieren k"onnen m"ussen.
\\
 \\
Bei assistierter Koordination kommunizieren Agenten nur mit lokalen
Systemprogrammen, sogenannten \textit{facilitators}, und diese dann mit
anderen ``facilitators'', welche wiederum mit ``ihren eigenen'' Agenten
kommunizieren k"onnen. Dies zeigt auch schon, da"s Agenten in einem solchen
System (genannt \textit{federated system}) ihre Autorit"at an ihre
``facilitators'' "ubergeben, welche somit f"ur die Erf"ullung ihrer
Bed"urfnisse verantwortlich sind.


\section{OSI-Referenz-Modell}
 
 W. Bergt
definiert in seinem Online-Lexikon \cite{bib11} den Begriff
\textit{OSI-Referenz-Modell} folgenderma"sen:
 
 \begin{quote}
 Ein von der
ISO entwickeltes Kommunikationsprotokoll, das allgemeine Festlegungen/Regeln
f\"ur die Kommunikation in Netzwerken enth\"alt. Das OSI-Referenz-Modell (auch
OSI-Schichtenmodell) ist in sieben Schichten (sog. Layer) organisiert, die man
in drei sog. Anwendungsschichten und in vier sog. Transportschichten
unterteilen kann. Die Anwendungsschichten enthalten Regeln f\"ur den Aufbau
und den Abbau einer Sitzung, f\"ur die Datendarstellung und f\"ur
anwendungsnahe Grundfunktionen (z. B. Daten- und Datei\"ubertragung). Die
Transportschichten enthalten Regeln f\"ur den physikalischen Aufbau einer
Sitzung, f\"ur die Synchronisation einer Verbindung, f\"ur die Wegbestimmung
(Routing) und f\"ur den logischen Verbindungsaufbau.
 \end{quote}
 \newpage
Die sieben Schichten werden folgenderma"sen beschrieben:
 
\begin{description}
 
 \item[7. Anwendungsschicht]
 Umfa"st sowohl die
Netzwerk-Services (Datei-, Druck-, Nachrichten-, Anwendungs- und
Datenbank-Service) als auch die dazu ben\"otigten Regeln.
 
 \item[6.
Darstellungsschicht]
 Konvertierung von Daten in beiderseitig akzeptiertes
Format (z.B. ASCII $\rightarrow$ ANS.1)
 %, Komprimierung / Dekomprimierung
und Verschl\"usselung / Entschl\"usselung. 
 
 \item[5. Sitzungsschicht (auch
Kommunikationssteuerungsschicht)]
 Erleichtert eine Wiederaufnahme einer
abgebrochenen Kommunikation  an bestimmten Punkten \textit{token}
%Erleichtert die Kommunikation zwischen Service-Anbietern und -Requestor durch
Aufbau und Erhaltung der Verbindung.
 
 \item[4. Transportschicht]
 Verbindet
die Netzwerkstrukturen mit den Strukturen der h\"oheren Schichten. Sie
unterteilt die Nachrichten der h\"oheren Schichten in Segmente und liefert die
Segmente wieder zuverl\"assig an die Sitzungsschicht. Gebr\"auchliche
Transportprotokolle sind TCP, SPX, NWLink und NetBEUI. 
 
 \item[3.
Netzwerkschicht]
 Organisation des Austausches von Daten zwischen bestimmten
Orten des Netzwerks durch Vermittlung, Netzwerkschicht-Adressierung und
Leitweg-Algorithmen.
 (einen Kommunikationsport festlegen)
 
 \item[2.
Datensicherungsschicht]
 %Organisieren der Bits der Bit\"ubertragungsschicht
in logische Gruppen von Informationen, die Rahmen genannt werden, 
Fehlerfeststellung, Steuern des Datenflusses
 %, Identifizieren der Computer
im Netzwerk.
 
 \item[1. Bit\"ubertragungsschicht (auch Physikalische
Schicht)]
  Koordination der Regeln f\"ur die \"Ubertragung der Bits. Die
Schicht legt folgendes fest: 
  \begin{list}{-}{}
   \item Physische
Netzwerkstrukturen,
   \item Mechanische und elektrische Spezifikationen f"ur
die Benutzung des Übertragungsmediums
   \item Bitübertragungscodierung und
Timing-Regeln
  \end{list}
 
 \end{description}

Nun soll versucht werden, Kommunikationsmodelle bzw. hier die
\textit{nat\"urliche Kommunikation} zwischen Menschen auf das
OSI-Schichtenmodell abzubilden.
\\ \\
\textbf{Ablauf auf der Senderseite:}
 

\begin{description}
\item[7. Anwendungsschicht]
 Der Kommunikationspartner wird identifiziert.
 
\item[6. Darstellungsschicht]
Es wird ein beiderseitig akzeptiertes Format der Kommunikation gesucht. Zum Beispiel wird Englische Sprache festgelegt.

\item[5. Sitzungsschicht (auch Kommunikationssteuerungsschicht)]
Einbringen von Pausen (token), um die Reaktion des Gespr"achspartners abzuwarten
%Diese Schicht enspricht sowohl einer Begr\"u"sung und Verabschiedung zum Auf- und Abbau der Kommunikation, als auch zum Beispiel dem menschlichen Nicken als Best\"atigung, %da"s der Kommunikationspartner immer noch aufmerksam ist und ``kommuniziert''.

\item[4. Transportschicht]
Transport der Information durch m"undliche "Uberlieferung
%Die Nachricht wird in Worte unterteilt, die transportiert bzw. ausgesprochen werden. Auf diesem Level der Nachricht kann in der Kommunikation leicht \"uberpr\"uft werden, ob jedes %Paket - also jedes Wort - richtig angekommen ist.

\item[3. Netzwerkschicht]
entf"allt - es kann kein Port bestimmt werden, da der Schall sich in jede
Richtung verbreitet
%Die Nachricht wird zur korrekten Schnittstelle geleitet. Zum Beispiel werden
ausgehende Nachrichten zu Stimmb\"andern, eingehende zum Kortex geroutet.

\item[2. Datensicherungsschicht]
Fehlerfeststellung ist auf Senderseite nicht erforderlich, da der Wortschatz viele Nicht-Code-W"orter enth"alt
%Die Nachricht wird konkret formuliert bzw. verstanden. Es kann beispielsweise nochmals \"uberpr\"uft werden, ob Fehler im Satzbau vorhanden sind.

\item[1. Bit\"ubertragungsschicht (auch Physikalische Schicht)]
"Ubertragung der Informationen "uber das Medium Luft mit technischen Daten wie Schallgeschwindigkeit
%Entspricht dem Prozess im Gehirn, welche Ma"snahmen getroffen werden sollen, um die Nachricht weiterzugeben. Zum Beispiel wird festgelegt, da"s die Sprachausgabe mittels Stimmb\"ander erfolgen soll.

\end{description}

\textbf{Ablauf auf der Empf"angerseite:}

\begin{description}

\item[1. Bit\"ubertragungsschicht]
Aufnahme der akustischen Signale

\item[2. Datensicherungsschicht]
"Uberpr"ufen auf Sinnhaftigkeit (Trennung von Nicht-Code-W"ortern vom Wortschatz)

\item[3. Netzwerkschicht]
entf"allt

\item[4. Transportschicht]
entf"allt

\item[5. Sitzungsschicht]
Pausen k"onnen f"ur Reaktionen auf erkannte Fehler verwendet werden, um die Nachricht zu wiederholen

\end{description}


\appendix
\chapter{Protokolle}


\section{9. 3. 1999, 12:30 - 13:00}
Ort: Universit\"at Salzburg, Institut f\"ur Computerwissenschaften und Systemanalyse, B\"uro von R. Schwaiger\\
Teilnehmende Personen: R. Schwaiger, M. Noisternig\\
Protokollf\"uhrer: M. Noisternig\\
\\
Inhalt:\\
\\
Grunds\"atzlicher Aufbau des zu erstellenden Dokuments (in \LaTeX):\\
\begin{itemize}
 \item Titelseite
 \item Abstract
 \item Einleitung zu den Fragen ``Was ist ein Agent?'' und ``Was ist Kommunikation in diesem Zusammenhang?''
 \item Literaturverzeichnis (BIB-File)
\end{itemize}
Festlegung der Abgabe des Dokuments bis sp\"atestens Montag 13:00 per E-Mail.


\section{16. 3. 1999, 12:30 - 13:00}
Ort: Universit\"at Salzburg, Institut f\"ur Computerwissenschaften und Systemanalyse, B\"uro von R. Schwaiger\\
Teilnehmende Personen: R. Schwaiger, M. Amersdorfer, M. Noisternig\\
Protokollf\"uhrer: M. Amersdorfer, M. Noisternig\\
\\
Inhalt:\\
\\
Besprechung des ersten Dokument-Entwurfs.\\
\\
Zu erledigende Aufgaben:\\
\begin{itemize}
 \item Unterschied zwischen Objekt (im Sinne von OO-Programmierung) und Agent
 \item Anwendungen f\"ur Agenten
 \item Klassifizierung f\"ur Agenten
 \item Mu"s ein Agent kommunizieren
\end{itemize}


\section{23. 3. 1999, 12:30 - 13:00}
Ort: Universit\"at Salzburg, Institut f\"ur Computerwissenschaften und Systemanalyse, B\"uro von R. Schwaiger\\
Teilnehmende Personen: R. Schwaiger, M. Amersdorfer, M. Noisternig\\
Protokollf\"uhrer: M. Amersdorfer, M. Noisternig\\
\\
Inhalt:\\
\\
Besprechung des bisherigen Dokumententwurfs.\\
\\
Zu erledigende Aufgaben:\\
\begin{itemize}
 \item Korrigieren des Dokuments
 \item Online-Referenzen f\"ur Webster
 \item Was sind Hardware-Agenten?
 \item Was sind Multi-Agenten-Systeme?
 \item Schematische Darstellung eines Agenten, mit internem Status, Zustaende, Schnittstellen, etc. \\ Bzw: wie kann man einen Agenten graphisch darstellen?
 \item Kapitel Kommunikation
 \begin{itemize}
  \item Welche Ansaetze gibt es?
  \item Was ist KQML/KIF, kleiner \"Uberblick und Unterschiede
  \item Einsatz von ANN, GA, Fuzzy Logic in Kommunikation
  \item Was ist das ISO-OSI Schichtenmodell und wie k\"onnen Kommunikationsmodelle (natuerliche Kommunikation) darauf abgebildet werden? \\ Bzw: Beispiel f\"ur nat\"urliche Kommunikation (zwischen Menschen) in OSI-Modell zuordnen versuchen (Netzwerkperspektive)
  \item Message-Passing (Bringschuld) - Blackboarding (Holdschuld)
 \end{itemize}
\end{itemize}

\bibliographystyle{ieeetr}
\bibliography{ComInMAS}
\end{document}
