Bewertung zur Anwendbarkeit bekannter

Werbung
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
Herunterladen