Intelligente Software-Agenten

Von Kai Simeth

 

 

Inhalt

 

Inhalt

1. Einleitung

2. Definition der Intelligenten Softwareagenten

3. Arten Intelligenter Softwareagenten

3.1 Desktop Agenten

3.2 Internet-Agenten

3.3 Intranet- / LAN-Agenten

4. Funktionsweise Intelligenter Softwareagenten

4.1 Agentenmaschinerie

4.2 Agenteninhalte

4.3 Zugangsmöglichkeiten

4.4 Agentensicherheit

Quellen:

 

1. Einleitung

In der vorliegenden Arbeit wird ein kurzer Überblick gegeben, was man unter Intelligenten Software Agenten versteht und wie sie in der Praxis zum Einsatz kommen können. Im Prinzip handelt es sich hauptsächlich um eine knappe Zusammenfassung des Werkes von [Caglayan/Harrison, 1998].

 

2. Definition der Intelligenten Softwareagenten

Laut Websters World Dictionary (Guralink, 1970) ist der Begriff Agent folgendermaßen definiert:

Agent: Eine Person oder Sache, die in der Lage oder ermächtigt ist, im Auftrag Dritter zu handeln.

Dadurch können zwei wichtige Eigenschaften festgehalten werden:

Ein Softwareagent läßt sich nun wie folgt definieren [Caglayan/Harrison, 1998]:

Softwareagent: Eine Softwareentität, die vom Anwender delegierte Aufgaben autonom erfüllt.

Weiterhin muß ein Softwareagent folgende Merkmale erfüllen:

Die folgende Abbildung zeigt, welche Qualifikationen Softwareagenten benötigen:

Für die Erstellung Intelligenter Softwareagenten sind Kenntnisse in den Bereichen Künstliche Intelligenz und Softwareengineering incl. Benutzerschnittstellen nötig.

 

3. Arten Intelligenter Softwareagenten

Nach [Caglayan/Harrison, 1998] lassen sich die Intelligenten Agenten am treffendsten nach ihren Einsatzbereichen klassifizieren.

 

3.1 Desktop Agenten

Bei Desktop Agenten handelt es sich um Softwareagenten, die lokal in einer Systemumgebung eines PCs oder Workstation tätig sind. Es findet keine Kommunikation über Netzwerke statt.

Sie lassen sich in folgende drei Kategorien einteilen:

Betriebssystemagenten dienen hauptsächlich der Automatisierung von Abläufen auf Betriebssystemebene, aber auch zur Unterstützung des Benutzers bei Konfigurationsarbeiten (Assistenten).

Aktuelle Beispiele: Scheduler von Windows95/98/NT, Open Sesame! von MacOS.

Anwendungsagenten sind i.d.R. entweder Programme, die voreingestellte Funktionen automatisch ausführen oder Assistenten, die den Anwender bei der Arbeit mit einem Programm unterstützen.

Ein Beispiel für die erstere Gruppe wäre ein E-Mail-Assistent, der automatisch eingehende E-Mails untersucht und nach voreingestellten Eigenschaften eine Sortierung oder evtl. eine automatische Beantwortung vornimmt.

Beispiele für Assistenten sind zum einen die Rechtschreib- und Grammatikprüfung in Microsoft Word und zum anderen sogenannte kontextsensitive Hilfesysteme incl. Assistenten zur Problembehebung.

Agenten für Anwendungspakete dienen dazu, Einstellungen oder Eingaben, die in einer Anwendung gemacht wurden auch den anderen Anwendungen des Paketes zur Verfügung zu stellen, in denen sie sinnvoll sind. Z.B. wenn in das Notizbuch ein Geburtstag eingetragen wird, wird dieser automatisch auch in den Kalender übernommen.

Aktuelle Beispiele: Microsoft Bob/Office.

 

3.2 Internet-Agenten

Internet-Agenten haben meist die Aufgabe gewünschte Informationen im Internet ausfindig zu machen und eventuell aufzubereiten.

Sie lassen sich in folgende Untergruppen einordnen:

Web-Suchagenten (oft auch Web-Roboter) genannt dienen den Suchmaschinen als Informationsquellen. Sie durchsuchen ständig das Internet nach neuen Seiten und Informationen. Diese Informationen werden dann von der Suchmaschine in einer indizierten Datenbank gespeichert, so daß sie bei den Suchanfragen ausgewertet werden können.

Beispiele (Suchmaschinen): Yahoo, Excite, AltaVista, Lycos, Crawler usw.

Bei Informationsfilteragenten handelt es sich sozusagen um individuelle Webseiten. D.h. die Seite stellt nur die Informationen dar, die der Betrachter zu sehen wünscht. Dazu werden Benutzerprofile für die Interessen der Anwender angelegt und der Filteragent reduziert die große Informationsflut auf die gewünschten Informationen. Diese Praxis findet zumeist bei Nachrichten Anwendung. Der Benutzer wählt aus, wie sehr er sich für Politik, Sport etc. interessiert und erhält dann seine persönlichen Nachrichten.

Beispiel: MyYahoo und viele mehr.

Offline-Agenten haben Ähnlichkeit mit Informationsfilteragenten, sie agieren aber auf dem privaten PC und aktualisieren lediglich zuvor abonnierten Webseiten nach vorgegebenen Zeitintervallen und stellen sie dann offline zur Verfügung.

Beispiel: Microsoft ActiveDesktop.

Benachrichtigungsagenten informieren den Benutzer, sobald ein bestimmtes Ereignis eintritt. Dies kann ein persönlicher Termin sein (z.B. Geburtstag) oder wenn sich eine bestimmte Webseite geändert hat.

Zudem existieren noch weitere spezialisierte Agententypen wie Einkaufsagenten (Suche nach best. Produkt und günstigstem Angebot), Anzeigeagenten (z.B. Suche in Partnersuchanzeigen) oder Chattbox-Agenten (täuscht eine menschliche Person im Chatt vor) usw.

 

3.3 Intranet- / LAN-Agenten

Intranet- bzw. LAN-Agenten unterscheiden sich oft von den Internet-Agenten nur durch die Eigenschaft, daß sie lediglich im privaten Netzwerk aktiv sind.

Es läßt sich wiederum folgende Einteilung treffen:

Wie Internet-Suchagenten, aber nur aktiv im LAN.

Wie Internet-Informationsfilteragenten, aber nur aktiv im LAN.

Workgroup-Agenten kommen i.d.R. in Nachrichtensoftware zum Einsatz, um die Kommunikation in einem Team zu verbessern. Basisfunktionalitäten sind dabei Terminplanung, Gruppendiskussion, Überwachung von Ressourcen, Dokumentenverwaltung und gemeinsame Filterprozesse. Die Agenten können von jedem Gruppenmitglied individuell gestartet, eingestellt oder angepaßt werden.

Beispiele: Lotus Notes, Microsoft Exchange, Novell Groupwise etc.

Workflow-Agenten dienen zur Prozeßautomatisierung bestimmter Arbeitsabläufe. Die Fähigkeiten dieser Agenten liegen natürlich weit über denen von sog. Batch-Systemen. Basisfunktionalitäten sind die Prozeßplanung, Verhandlung (mit anderen Agenten), Ausführung und Benachrichtigung. Dazu müssen die Agenten Kenntnisse von den Geschäftsprozessen und der Ressourcenverwaltung haben. Wichtig ist in diesem Zusammenhang, daß die Agenten ihre Aufgaben möglichst ohne Intervention des Anwenders ausführen können. Als Kommunikationssprache zwischen den Agenten kommt zumeist CORBA zum Einsatz.

Zur Zeit kommt in Datenbanken noch relativ wenig Agentenfunktionalität zum Einsatz. Mögliche Einsatzgebiete für Agenten sind jedoch Optimierungsaufgaben des Datenbestandes sowie die Datenanalyse mit entsprechenden Reaktionen.

Mobile Agenten wandern im Netz von Rechner zu Rechner und zwar das Softwareprogramm incl. der gesammelten Informationen. Dadurch kann eine verteilte Verarbeitung der Agententätigkeit erreicht werden. Nach Beendigung seiner Aufgabe kehrt der Agent zum Startrechner zurück, von dem dann auch die Auswertung erfolgen kann. Ein kritischer Aspekt beim Einsatz Mobiler Agenten ist das nötige Sicherheitskonzept.

 

4. Funktionsweise Intelligenter Softwareagenten

 

Der Aufbau der intelligenten Agenten läßt sich grob in folgende Bereiche zerlegen [Caglayan/Harrison, 1998]:

 

4.1 Agentenmaschinerie

Die Maschinerie ist der Kern des Agenten. Sie ist dafür zuständig Informationen auszuwerten, weitere Schritte auszuführen und Entscheidungen zu treffen.

Es lassen sich zwei Architekturtypen von Agenten unterscheiden:

Inferenzsysteme werden oft auch als Expertensysteme bezeichnet. Ihnen liegt ein zuvor festgelegtes externes Regelwerk zugrunde, auf dessen Basis sie Ihre Entscheidungen treffen. Eine Erweiterung dieser Methode stellt die sog. adaptive Inferenzierung dar. Dabei werden den Regeln Wahrscheinlichkeiten zugeordnet, so daß mehrere Lösungswege berücksichtigt werden können und letztlich der wahrscheinlichste gewählt wird.

Lernende Systeme haben die Eigenschaft, daß sie auf geänderte Voraussetzungen oder Umgebungen selbständig reagieren und ihr Verhalten entsprechend anpassen können. Zu diesem Zweck kommen Methoden wie Grundlegende Statistische Analyse, Diskriminantenanalyse (Bewertung durch Anwender), Data Mining (Analyse der Datenbestände/Protokolle), Nichtsymbolisches Lernen (einordnen in Gruppen mit gleichen Eigenschaften) und Neuronale Netze (nachbilden des menschlichen Denkens) zum Einsatz.

 

4.2 Agenteninhalte

Unter dem Agenteninhalt versteht man zum einen die Wissensbasis, auf die der Agent für seine Entscheidungsfindung zurückgreift bzw. mit der er arbeitet und zum anderen die Kommunikationsfähigkeit mit anderen Agenten. Zu diesem Zweck müssen Kommunikationssprachen und definierte Schnittstellen zu Verfügung stehen. Durch die Inhalte soll der Agent in die Lage versetzt werden, sich in seiner Umgebung "auszukennen".

 

4.3 Zugangsmöglichkeiten

Unter dem Zugang versteht man einerseits die Benutzerschnittstelle (Mensch–Agent-Kommunikation) und andererseits den Zugang zu Anwendungsprogrammen durch den Agenten. Für den Zugang zu Anwendungsprogrammen existieren verschiedene Konzepte.

Für Anwendungen, die bereits mit dem Ziel entwickelt werden, daß andere Programme auf sie zugreifen können, kommt zum einen das Konzept des "Schwarzen Brettes" zum Einsatz und zum anderen ein sog. "Softwarebus". Beim "Schwarzen Brett" Konzept existiert im System ein zentraler Punkt für den Austausch von Nachrichten und Ereignisse. Jede Anwendung beobachtet diesen Punkt und reagiert entsprechend auf ankommende Nachrichten bzw. setzt selbst neue Nachrichten. Das Konzept des "Softwarebuses" funktioniert nach dem Prinzip, daß sich jede Anwendung beim Bus anmeldet und seine Schnittstellen und mögliche Ereignisse bekannt gibt (Bsp.: OLE).

Für Anwendungen die diese Art von Schnittstellen nicht unterstützen gibt es beispielsweise die Möglichkeit der "Ummantelung", d.h. die Anwendung wird in eine Softwareumgebung eingebettet, die die Kommunikation übernimmt. Eine andere Möglichkeit ist, daß der Agent nur über den Datenbestand bzw. das Dateisystem mit der Anwendung kommuniziert. Die einfachste Möglichkeit – allerdings nur bei Terminalbetrieb möglich – ist, daß der Agent als eigener Terminal mit dem System in Kontakt tritt.

 

4.4 Agentensicherheit

Der Sicherheitsaspekt sollte, wie in allen Bereichen der EDV nicht vernachlässigt werden. Allerdings sind für Agenten keine besonderen Technologien oder Maßnahmen für die Sicherheit nötig. Übliche Sicherheitskonzepte beruhen in der Regel auf Rechtevergabe, Verschlüsselung und Vertrauensmanagement.

Die folgende Abbildung zeigt ein Beispiel, wie die Teile Maschinerie, Inhalt, Zugang und Sicherheit zusammenwirken:

 

Quellen:

Caglayan, A.K., Harrison, C.G.: Intelligente Software-Agenten – Grundlagen, Technik und praktische Anwendung im Unternehmen; Hanser Verlag, München u.a., 1998

Brenner, W., Zarnekow, R., Wittig, H., Schubert, C.: Intelligente Softwareagenten, Springer-Verlag, Heidelberg u.a., 1997