Bewertung zur Anwendbarkeit bekannter Agentenplattformen zum Entwurf und zur Implementierung von Multiagentensystemen Dipl. Ing. Dang Thien Ngon 1 Problemstellung In den letzten Jahren erlangte Agententechnologie, besonders mobile Agenten, viel Aufmerksamkeit in der Informatik. Agententechnologie wird für kommerzielle Infrastrukturen immer interessanter, daher ist es lohnenswert, ihre Stärken und die Situationen, in denen sie effektiv verwendet werden kann, näher zu untersuchen. Heute sind viele Universitäten und Unternehmen mit der Forschung an Multiagentensystemen (MAS) beschäftigt, was die große Masse an verfügbaren Agentenplattformen erklärt. Es existieren eine sehr große Anzahl von Ansätzen, Toolkits und Plattformen von unterschiedlicher Qualität und Reife (122 Software-Produkte) [1]. Folglich ist es notwendig, Kriterien aufzustellen, die die Anforderungen an die Plattformen zusammenfassen. Das Ziel dieses Papiers ist es nicht, alle verfügbaren Systeme zu evaluieren, sondern eine ausgewählte Anzahl vielversprechender Plattformen einer genaueren Untersuchung zu unterziehen und vor allem die jeweiligen Besonderheiten im Design eines MAS oder der Implementierung herauszuarbeiten. Bei der Auswahl der Systeme ist außerdem darauf geachtet worden, dass nur Plattformen untersucht werden, an denen noch aktiv Forschung bzw. Entwicklung stattfindet. 2 Zielsetzung und Aufgabenstellung Die MAS-Plattformauswahl ist entsprechend folgender Kriterien erfolgt [2]: • Die Plattform ist populär und erfährt regelmäßig Fehlerbereinigungen (bug fixes) und wird um neue Funktionen erweitert. • Basiert auf weithin bekannten akademischen Modellen. • Entwickelt sich mit Industrie und Qualitätsstandards. • Umfasst möglichst viele Aspekte von MAS, einschließlich Agentenmodelle, Interaktion, Koordination, Organisation, usw. • Anwendungen sind basierend auf der Plattform einfach zu entwickeln und zu testen. Dieses schließt gute Unterlagen ein; verfügbare Downloads, einfaches Installationsverfahren und Multiplattform Support. Entsprechend der Kriterien haben wir vier Plattformen ausgewählt, die in diesem Papier dargestellt werden: 1. AgentBuilder 1.3 (21.06.2001) http://www.agentbuilder.com/ 2. Aglets 2.0.2 (19.02.2002) http://sourceforge.net/projects/aglets/ 3. Jade 3.1 (17.12.2003) http://jade.cselt.it/ Forschungsergebnisbericht 2003 Seite 1 4. Zeus 1.2.1 (23.05.2001) http://more.btexact.com/projects/agents/zeus/ Folgende Kriterien wurden für die vergleichende Auswertung der MAS-Plattformen definiert und verwendet [3]: • allgemeine Eigenschaften der Plattformen • Agentenlebenszyklus • Agentenmobilität • Agentenkommunikation • Sicherheitseigenschaften • Standardkonformität, Interoperabilität (standard compliance, inter-working) • Produkt bezogene Kriterien (product related criteria). Komplizierte Performance und Stabilitätstests wurden während der Auswertung nicht durchgeführt. 3 Auswertungen 3.1 AgentBuilder Agentbuilder [6] von Reticular Systems Inc. ist ein Tool, mit dem sich einzelne Agenten und Multiagentensysteme entwickeln sowie auch betreiben lassen. Es werden umfangreiche Möglichkeiten zur Analyse der Umgebung, zur Definition des Verhaltens und zur Spezifizierung der Interaktion der Agenten angeboten. Die Agenten basieren auf der BDI-Architektur und der Reticular Agent Definition Language (RADL). Dieses Werkzeug ist sowohl durch die hohe Qualität seiner Software und des bekannten akademischen Hintergrundmodells bemerkenswert [4]. Vorteile: [4, 5] § § § § § § § § grafische Programmierumgebung: GUI automatische Codeerzeugung mächtiges Konzept der PACs (Project Accessory Classes): der Entwickler kann weit über die vorgefertigten Ansätze hinausgehen objektorientiert: Java und RADL sind objektorientiert Verwendung von Standards und Quasistandards (UML, Java, KQML, Agent0) umfangreiche Protokolle: sofort auswählbar sind die wichtigsten Kommunikationsprotokolle (TCP/IP, CORBA, RMI) umfangreiches Toolkit: Es stehen viele Tools zur Verfügung intelligente Wissensverarbeitung: BDI-Agenten mit mentalen Modell und regelbasierten Ansatz. Nachteile: [5] § § § schwer und umständlich zu bedienen schlechte Erweiterbarkeit des Tools: Reticular System Inc. veröffentlicht keine Systemdokumentation oder Quellkodes, schlechter Support nicht 100% Plattform kompatibel und Falschangaben des Unternehmens Forschungsergebnisbericht 2003 Seite 2 § § § § § Konzept der grafischen Programmierung und Visualisierung unvollständig: Um Java-Templates zu programmieren, braucht man eine Fremdanwendung keine Unterstützung der Kommunikationssicherheit keine öffentlich erhältlichen Angaben zu den Modulen Planen und Lernen RADL-Datei und RADL-Sprachkonzept weichen voneinander ab Lizenzgebühren reichen von $95 bis $4995 abhängig von der Version [6]. 3.2 AGLETS Aglets Software Development Kit (ASDK, IBM Tokio Research Labs) [7] ist eine Umgebung für die Programmierung mobiler Agenten in Java. Die letzte Version ist 2.0.2 (SourceForge, 19. Feb 2002). Aglets sind Java-Objekte, die sich von einem Host im Internet auf andere bewegen können. Das heißt, ein Aglet, das auf einem Host Operationen durchführt, kann die Durchführung plötzlich anhalten, sich zu einem entfernten Host (remote host) schicken, und die Operation dort wieder aufnehmen. Wenn sich das Aglet bewegt, überträgt es sowohl seinem Programmcode als auch seine Daten. Vorteile: § § § § § § § § freie Software von IBM freie und einfache Struktur, gutes GUI (Tahiti Server), sehr zugänglicher Gebrauch, gute Unterlagen und hohe Benutzerakzeptanz viele unterstützte Plattformen eingeführte Standards: MASIF, Arbeit mit CORBA Kommunikation: Sockets, Message-Passing zwischen Agenten, ATP (Agent Transfer Protocol) Sicherheitsmerkmale (security policy): eingebauter Sicherheitsmechanismus durch Tahiti, drei Rollen (Aglet, Manufacturer, Owner), Kontext und Bedienersicherheit (server security), Netzgebiet, Agenten mit Proxy-Objekt abge-schirmt, Standardsicherheit (JDK-keytool) GUI für Plattformmanagement und -konfiguration [3] Zugriffssteuerung auf hohem Niveau. Nachteile: § § § § § § § § § § Wird nicht mehr von IBM weiterentwickelt Problem mit dem Zugangsschutzsystem/Firewall schwache Mobilität, Java-Serialisierung (byte code) Kommunikation mit Sockets keine Authentisierung der Agenten, keine externe Sicherheit [3] unzulänglicher Verzeichnisservice (insufficient directory service) nicht MASIF konform geringe Unterstützung dauerhafter Speicherung (meagre persistence support) unvollständige Unterlagen Verlust der Objektreferenzen (object references) auf bewegliche Agenten. Forschungsergebnisbericht 2003 Seite 3 3.3 JADE JADE (Java Agent DEvelopment Framework) [8] ist eine Entwicklungsumgebung, das völlig in der Sprache Java implementiert ist. Die neueste Version ist Jade 3.1 (17. Dez. 2003). Sie vereinfacht die Implementierung von MAS durch eine Middleware, die den FIPA-Spezifikationen entspricht und durch einen Satz graphischer Werkzeuge, die das Debuggen unterstützen. Die Agentenplattform kann über Maschinen verteilt werden (über einigen Hosts), die mit unterschiedlichen Betriebssystemen laufen können, und die Konfiguration kann über ein Remote-GUI kontrolliert werden. Die Konfiguration kann zur Laufzeit durch das Verschieben der Agenten von einem Host zum nächsten verändert werden. Das Agentensystem enthält den Hauptcontainer (bestehend aus dem DF-Agent (Directory Facility Agent), dem AMS-Agent (Agent Management System) und dem RMI-Registrierung). Durch einen Zusammenschluß von zusätzlichen Agentencontainern des gleichen oder entfernter Hosts entsteht eine Agentenplattform. Pro Host existiert normalerweise ein Agentencontainer. Vorteile: § § § § § § § § § § § Open Source Software unter LGPL Lizenz vertrieben (Lesser General Public License Version 2), Bibliothek von Klassen zur Erzeugung von Agenten [9] hat gutes GUI, zugänglichen Gebrauch, gute Unterlagen und hohe Akzeptanz vollständig in Java implementiert eingeführte Standards: FIPA, Arbeit mit CORBA (ORBacus) Kommunikation: ACL (FIPA Agent Communication Language); Unterstützung für Inter-Plattform Datentransfer (messaging) mit Plug-in MTPs (Message Transport Protocols): RMI, IIOP (Internet Inter-ORB Protocol), HTTP, WAP (Wireless Application Protocol); ACL und XML Codec für Nachrichten Sicherheitsmerkmale: JADE Objekt-Manager stellt Verbindungs-authentisierung, Benutzerauthorisierung (user validation) und RPC Nachrichtenverschlüsselung (message encryption) zur Verfügung hohe Stabilität, Performance, Skalierbarkeit, Ontologien [10] große Verbreitung (Agentcities) Administrations-, Entwicklungswerkzeuge zum Debugging und Monitoring [9] Benutzeroberfläche zur Fernwartung der Konfiguration wird stetig weiterentwickelt. Nachteile: § schwache Mobilität [8] § verschiedene Kommunikationsprotokolle § keine BDI, keine IDE [10] § nicht-preemtives Behaviour Scheduling § Verwaltung von Internen Zuständen schwierig. Forschungsergebnisbericht 2003 Seite 4 3.4 ZEUS Zeus ist eine integrierte Umgebung für den schnellen Aufbau der gemeinschaftlichen Agentenanwendungen. Wird von den British Telecom Intelligent System Research Labors entwickelt. Das Ziel des ZEUS Projektes [11] ist es, die schnelle Entwicklung der neuen Multiagenten-Anwendungen zu erleichtern, indem es in einem Toolkit die allgemeinen zugrundeliegenden Grundregeln und Bestandteile einiger vorhandener Multi-Agenten-Systeme vereint. ZEUS liefert einen Satz von Softwarebausteinen und Werkzeuge, die benutzt werden, um Agentensysteme zu entwerfen, zu entwickeln und zu organisieren. Außerdem liefert es eine Laufzeitumgebung (runtime environment), die es ermöglicht Anwendungen zu überwachen und andere Assistent-Werkzeuge wie: Reports bearbeiten, Statistiken-Werkzeug, Agenten und Gesellschaftprojektor (society viewer) usw.. Vorteile: § § § § § § § ZEUS hat ausgezeichnetes GUI und das Debugging Es ist frei vorhandene Software liefert Bibliothek der vorbestimmten Korrdination-Strategien, universelle Planung und Terminplanung Mechanismus unterstützte Plattformen: Java 2 eingeführte Standards: FIPA Kommunikation: KQML und ACL Sicherheitsmerkmale: ASCII-encoded, Safe-Tcl script oder MIME-kompatible (Multipurpose Internet Mail Extensions) E-Mail Messages für Transport; Verwenden asymmetrische Verschlüsselung der digitalen Unterzeichnungtechnologie für Authentisierung, Bargeld und Geheimhaltung. Nachteile: § § § wird von der British Telecom nicht weiterentwickelt ZEUS-Unterlagen sind unzulänglich, das führt zu Schwierigkeiten beim Programmieren von Neuanwendungen Mobilität: nein. 4 Zusammenfassung - AgentBuilder Interessantes System, das aber aufgrund der hohen Kosten bzw. der stark eingeschränkten Evaluationsversion und der fehlenden Migration nicht in Frage kommt. Für integrierten Agent und Agenten-Entwicklungsumgebung ist AgentBuilder sehr geeignet. - Jade: Freie Software (Open Source), gute Unterlagen, sehr gutes GUI, gute Nutzerakzeptanz, verwendet in vielen Entwicklungs-Projekten. JADE ist ein sehr gutes Multiagenten Framework und zur Entwicklung von Agentensystemen geeignet. In der neuen Version wird LEAP (Lightweight Extensible Agent Platform) hinzugefügt. Dieser Zusatz, wenn er mit JADE kombiniert wird, ersetzt einige Teile des JADEForschungsergebnisbericht 2003 Seite 5 Kerns, der eine geänderte Laufzeitumgebung von JADE bildet, das auf einer breiten Vielfalt von Geräten eingesetzt werden kann [8, 10]. - Aglets: Freie Software, Klarheit in der Struktur, sehr gute Unterlagen, gutes GUI, berühmtes Produkt. Aglets sind gut geeignet für die Mobilagenten und Implementierung von verteilten MAS. - Zeus: Zeus ist sehr gut zur Entwicklung von Agentensystemen (Agent Building Environment) geeignet. Es wird sowohl ein gutes Framework als auch eine übersichtliche Entwicklungs- und Laufzeitumgebung zur Verfügung gestellt [12]. Literatur [1] [2] [3] AgentLink - Agent Software, http://www.agentlink.org/resources/agent-software.php Löthman, H.: Intelligent agent platform in distributed Software architecture, Bachelor's thesis, The Technical Research Centre of Finland, 17.10.2001 Broos, R.; Dillenseger, B.; Dini, P.; Hong, T.; Leichsenring, A.; Leith, M.; Malville, E.; Nietfeld, M.; Sadi, K.; Zel, M.: Mobile Agent Platform Assessment Report, ACTS Programme project AC338 (MIAMI), 2000 [4] [5] Introduces AgentBuilder 1.3, http://www.reticular.com/PressReleases/Jun-21-01.html Kinkat, G.; Zerebny, S.: Tools für Agentensystem, Seminararbeit, Uni. Paderborn, Dezember 2001 [6] AgentBuilder, http://www.agentbuilder.com/ [7] Aglet community, http://sourceforge.net/projects/aglets/ [8] [9] Java Agent DEvelopment Framework (JADE), http://sharon.cselt.it/projects/jade/ Dalinghaus, H.: JADE - Eine Open-Source Entwicklungsumgebung für MultiAgentensysteme, Forschungskolloquium SS03, Universität Osnabrück, 04.07.2003 [10] Leppin, R.: Vergleich von Multi-Agenten-Plattformen, Universität Hamburg, 17.07.2003 [11] British Telecom - The ZEUS Toolkit, http://more.btexact.com/projects/agents/zeus/ [12] Agent Construction Tools, http://www.cs.odu.edu/~shen/intlIDB/Assignments.html Forschungsergebnisbericht 2003 Seite 6