Intelligente Softwareagenten
by
Manager
—
last modified
2006-11-15 12:54
practice
In dieser Lehrveranstaltung werden Softwaresysteme behandelt, in denen Softwareagenten zum Einsatz kommen. Folgende Fragen ergeben sich: Was ist ein Softwareagent? Grob gesprochen ist ein Softwareagent ein Programm, das auf Anforderung und Eingabe von Daten hin eine Dienstleistung erbringt. Z.B. ist ein printer-demon oder xbiff ein einfacher Softwareagent. Diese Definition ist aber zu simpel, und man verlangt von Softwareagenten weitere Fähigkeiten wie autonomes Handeln, adaptives Verhalten, oder Interaktion mit anderen Agenten oder Benutzern.Wozu braucht man Softwareagenten?Softwareagenten sind dienlich, wenn man in einem komplexen, verteilten System Dienstleistungen in selbständigen Einheiten verfügbar machen will. Das köennen einfache Dienste wie z.B. Datenbankabfragen sein, aber auch komplexere Dienste wie z.B. Planungsaufgaben. Auf Interaktion von Agenten mit verschiedenen Aufgaben und Fähigkeiten beruhend können komplexere Softwaresysteme gebaut werden. Vorteile dabei liegen vor allem in den Punkten Modularisierung, Skalierbarkeit und Erweiterbarkeit. Im globalen Informationssystem, das sich durch den Ausbau und die Verbreitung des Webs ergibt, spielen insbesonders Informationsagenten eine große Rolle.Wie kann man Softwareagenten bauen?Es gibt viele Plattformen und Tools zur Entwicklung von Softwareagenten (s. Multi-Agent Site, AgentBuilder List), z.B. AgentBuilder, AgentFactory, Aglets, JACK, JADE, IMPACT und Zeus. Ein wichtiger Punkt dabei ist die Verwendung von legacy code (existierender code), wenn bestehende Software zu Agenten gemacht werden soll.Wie macht man Softwareagenten "intelligent"?Das ist ein interessanter Punkt, für den es verschiedene Lösungsvorschläge gibt (z.B. Integration von Problemlösungsmodulen, spezielle Architektur des Agenten). Diese verwenden großteils Methoden der AI.