In jüngster Zeit trifft man in der Diskussion über verteilte Systeme das Schlagwort "Software-Agent" häufig an. Jedoch wird einem Agenten in jedem Forschungsgebiet ein etwas anderer Aufgabenbereich zugeschrieben; die Hauptströmungen lassen sich in Bereichen der Künstlichen Intelligenz (KI) und der Verteilten Systeme und Betriebssysteme (VSB) entdecken. Die von uns vertretene Vorstellung der Eigenschaft, Agent zu sein, die sich kurz als Verpflichtung zur Klientenrolle zusammenfassen läßt, impliziert eine Nähe zur BS-Taxonomie; jedoch ist es unser Bestreben, die verschiedenen Zweige unter einem generischen Agentenbegriff zusammenzuführen.
Das Agentenparadigma sorgt durchaus nicht allerorts für Begeisterung; Kritiker führen oftmals an, daß sich die meisten Anwendungsgebiete auch bequem durch die bislang existierenden Paradigmen versorgen lassen. Die heute bereits gebräuliche objektorientierte Programmierung sah sich indes zu Beginn ähnlichen Vorwürfen ausgesetzt. Unserem Ermessen nach wird die Agententechnologie in Zukunft in vielen Bereichen eine ähnlich bedeutende Rolle spielen wie die OO-Programmierung heute.
Mögliche Einsatzszenarien von Agenten umfassen etwa das "intelligente" Sammeln von Daten in einem Computernetz, Netzwerkmanagement, mobile Klienten, Kooperation sowie der elektronische Marktplatz, also der Bereich des elektronischen Kommerzes. Eines der wichtigsten Motive ist die Verminderung des Netzverkehrs in dem zur Zeit bereits stark frequentierten Internet, indem Operationen am Zielrechner lokal zur Ausführung kommen und nach Möglichkeit eine Aufgabe ohne Interaktion mit dem Benutzer zu Ende geführt werden kann.
Ähnlich wie in vielen anderen Projekten, z.B. dem AI-Trader-Projekt in unserer Professur, ist eine Diensttypbeschreibung auch für Agenten sowie deren Anlaufstellen ein vielversprechender Ansatz, um Fragen der Dienstqualität (quality of service), der Wiederverwendbarkeit (besonders im Hinblick auf Erweiterung bestehender Agenten), der Vermittlung eines für eine gegebene Aufgabe geeigneten Agenten sowie der Sicherheit für Agenten und Wirtssysteme zu erörtern.
Dem Projekt wurde der Name AMETAS verliehen, der für Asynchronous MEssage Transfer Agent System steht. Damit wird ein zentraler Punkt des Agentensystems hervorgehoben, nämlich die Art des Datenaustausches zwischen Benutzern, Agenten und Diensten. In AMETAS sind Agenten völlig autonome Objekte, die untereinander Nachrichten nur über ein Postfachsystem austauschen können. Agenten werden auf Stellen (spezielle Ausführungsumgebungen auf Rechnern) aktiv, an denen sie Dienste vorfinden, mit deren Hilfe sie ihren Auftrag erfüllen können. Mit der Eingliederung von Benutzern als Agenten wird eine Sonderbehandlung von Benutzern gegenüber Agenten vermieden. Die Programmierung eines solchen Systems muß den strengen Autonomieaspekt in Betracht ziehen.
Ziel von AMETAS ist neben der Erforschung der Einsetzbarkeit von Agenten-orientierter Programmierung die Gestaltung eines Typsystems, das zum einen den Benutzern eine Hilfe in der Suche nach Agenten bietet, die für einen gegebenen Auftrag eingesetzt werden sollen und zum anderen den Entwicklern ein Werkzeug in die Hand gibt, das die Erstellung von Agenten-Programmen ähnlich wie in der objektorientierten Programmierung durch die Möglichkeit zur Modularisierung und Wiederverwendung ergänzt.
AMETAS besteht aus einer Reihe von Java-1.1-Klassenpaketen, die für den Betrieb von Stellen, den Entwurf neuer Agenten oder neuer Dienste notwendig sind. Im Rahmen einer Diplomarbeit wurde eine Anwendung zur Verwaltung eines heterogenen Netzes angefertigt, die auf AMETAS-Agenten sowie SNMP-Agenten basiert (NetDoctor).
In einer anderen Arbeit wurde AMETAS mit einer Reihe von Sicherheitsmechanismen ausgestattet, welche die allgemeine Verwendbarkeit in der Praxis sicherstellen. Neben der Verschlüsselung sind die Integritätssicherung, aber auch Authentifizierung/Autorisierung zentrale Punkte dieser Arbeit. Die Einführung von Sicherheitskonzepten ist nicht nur für den Einsatz in einem offenen System (etwa dem Elektronischen Markt) von entscheidender Bedeutung, sondern auch für das Systemmanagement, bei dem ein Zugriff auf sensible Bereiche eines Rechners ermöglicht werden muß.
AMETAS ist dank Java 1.1 auf sehr heterogenen Netzen einsetzbar. Es konnte nicht nur die volle Funktionstüchtigkeit auf den Plattformen AIX 4.1, Solaris 2.5, HP-UX 10.20, Windows NT 4.0, Windows 95, Linux sowie OS/2 4.0 nachgewiesen werden, sondern auch der völlig problemlose Betrieb eines Verbunds von Agentenstellen auf den verschiedenen Plattformen.
Auf der CeBIT 98 wurden AMETAS und NetDoctor dem interessierten Publikum vorgestellt.
Vom Applet zum Agenten, Vortrag bei der GI-Fachtagung in Chemnitz, 1996 (PS-Datei)
Folien zum Vortrag (PS-Dateien)
mz, 05.08.1998