Baukästen für Agentensysteme Ronald Schulte
Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT Zusammenfassung
Einleitung Was ist ein Baukasten? Kasten mit Einzelteilen zum Bauen. [Wahrig – Deutsches Wörterbuch] Ein Baukastensystem ist ein System, bei dem Häuser, Motoren usw. aus verschiedenen standardisierten Einzelteilen zusammengebaut werden, die miteinander auf verschiedene Weise kombiniert werden. [Encarta 2001]
Einleitung Was ist ein Baukasten? Kasten mit Einzelteilen zum Bauen. [Wahrig – Deutsches Wörterbuch] Ein Baukastensystem ist ein System, bei dem Häuser, Motoren usw. aus verschiedenen standardisierten Einzelteilen zusammengebaut werden, die miteinander auf verschiedene Weise kombiniert werden. [Encarta 2001]
Einleitung Def.: Baukasten für Agentensysteme Ein Baukasten für Agentensysteme ist eine Sammlung verschiedener (standardisierter) Einzelteile, die auf unterschiedliche Weise miteinander kombiniert werden können, um ein Agentensystem zu bauen.
Einleitung Def.: Baukasten für Agentensysteme Ein Baukasten für Agentensysteme ist eine Sammlung verschiedener (standardisierter) Einzelteile, die auf unterschiedliche Weise miteinander kombiniert werden können, um ein Agentensystem zu bauen.
Klassifizierung Bestandteile Welche Einzelteile? Kommunikation Ontologie soziale Interaktion ... Gibt es zusätzliche Werkzeuge? Entwicklungswerkzeuge Laufzeitunterstützung
Klassifizierung Technische Aspekte Welche Standards? (Kommunikationsprotokolle) Art der Benutzeroberfläche Welche Programmiersprache
Klassifizierung Konzept / Philosophie Einsatzmöglichkeiten Rollenmodell BDI ... Mobile Agenten Service Agenten Verteilte Agenten
Beispiele für Agentenbaukästen ZEUS MadKit BOND Aglets SIM_AGENT
ZEUS Agent Building Toolkit Released Mai 2001
ZEUS Agent Building Toolkit Bestandteile
ZEUS Agent Building Toolkit Agent Component Library Planning and Scheduling Stellt (interene) Strategien zur Entwicklung von Handlungs-Absichten bereit. Social Interaction Stellt (externe) Strategien zur Koordination mit anderen Agenten bereit.
ZEUS Agent Building Toolkit Agent Component Library Kommunikation Unterstützung von ACL und KQML Asynchrones socked-based message passing Editor zur Beschreibung einer Domain-spezifischen Ontologie Knowledge representation language
ZEUS Agent Building Toolkit Agent Component Library Datenstrukturen zur Speicherung der Ressourcen und Kompetenzen der Agenten Benutzerschnittstelle zur Interaktion mit dem Agenten
ZEUS Agent Building Toolkit Architektur des generischen ZEUS-Agenten
ZEUS Agent Building Toolkit Die grafische Entwicklungsumgebung des ZEUS Baukastens Anpassen der generischen Struktur Entwicklung auf hoher Abstraktionsebene durch Ontology Editor Fact / Attribute Editor Agent Definition Editor Task Description Editor Organisation Editor Coordination Editor
ZEUS Agent Building Toolkit
ZEUS Agent Building Toolkit
ZEUS Agent Building Toolkit Einsatzgebiet Beratende und zeitgerichtete Multi-Agenten-Systeme für aufgabenorientierte Einsatzgebiete Beispiele Dienstleistungen (Service provisioning) Ressourcen- und Prozessmanagement Supply-Chain-Management
Multi-Agent-Development Kit MadKit 2.0.1 "Zimbra" Released June 2000 Universität Montpellier
MadKit Konzept: Aalaadin Agent/Group/Role model
MadKit Architektur:
MadKit Bestandteile / Struktur Java Framework Hauptklasse AbstractAgent Unterklasse Agent unterstützt eine konkurrierende thread-basierte Ausführung Interface für Scheduler- und Watcher- Objekte
MadKit Nachrichten Standard Klasse Message für Nachrichten Spezialisierte Unterklassen für String Nachrichten XML Nachrichten ACL Nachrichten KQML Nachrichten
Die Entwicklungsumgebung, die G-BOX
MadKit Weitere Einsatzgebiete:
BOND Distributed Objekt Multi-Agent System Released December 2000 Department of Computer Sciences, Purdue University
BOND Java basiertes verteiltes Objektsystem und Agenten-Framework Implementiert eine nachrichtenorientierte Middleware und Assoziative Dienste (directory, persistence, monitoring and security) Vorgefertigte Komponenten für Strategien und Pläne Agentenbeschreibung über Blueprint / XML Intersystemkommunikation über KQML / XML
BOND Architektur:
Aglets Software Development Kit ASDK 1.1 Beta 3 Released June 2000 Open Source Version August 2001
Aglets Java Framework für mobile Agenten Nachrichten über eigene MessageObjekte (kein stand. Protokoll) Server-Daemon, über GUI steuerbar Client-Daemon Tahiti
SIM_AGENT TOOLKIT THE SIM_AGENT TOOLKIT Part of the Cognition and Affect Project
SIM_AGENT Programmier-Paradigmen die in SIM_AGENT umgesetzt werden OOP Rule-based prg. List processing Event driven prg. Conventional procedural and functional prg. Other computational paradigms needed for particular applications, e.g. neural nets
SIM_AGENT Weitere Konzepte Erweiterbarer Syntax und Semantik (Makros, ...) Schrittweise Kompilierung mit dynamisch austauschbaren Modulen Automatische Speicherverwaltung und garbage collection
SIM_AGENT Sehr allgemeines und flexibles System Nicht unbedingt einfach zu erlernen Die Kombination dieser Paradigmen wird durch den Einsatz der Programmiersprache Pop-11 realisiert.
SIM_AGENT Bestandteile: Regelsystem Poprulebase Agenten Library Grafikpaket RCLIB
SIM_AGENT Bestandteile: Regelsystem Poprulebase Agenten Library Basisklassen und Scheduling-Mechanismen Objektklassen Mehrfachvererbung Generische Funktionen Jeder Agent besitz sein eigenes Regelsystem! Grafikpaket RCLIB
Zusammenfassung
Entwicklungs-umgebung Werkzeuge & Zusatzprod. Zusammenfassung (1/2) Entwicklungs-umgebung Werkzeuge & Zusatzprod. Kommunik.- Protokoll Programmier- Sprache ZEUS Visual-Editor Nameserver, Facilitator, Visualiser ACL, KQML JAVA MadKit G-Box Scheduler, Watcher KQML, XML Bond Bond-GUI Server, Extensions Aglets Tahiti Server-Daemon (eigenes) SIM_Agt (Poplog) Scheduler Pop-11
Zusammenfassung (2/2) ZEUS MadKit Bond Aglets SIM_Agt Baukasten- Konzept Architektur Agenten- Strategie ZEUS SWE-Konzept Ont/Agt/Task Vorlagen für Task, Coordination & Organisation MadKit Framework mit Entwicklungs-umgebung Agt/Grp/Rol Diverse vorgefertigte Strategien Bond Framework für verteilte Objekte message-based Middleware Komponenten für Strategien und Pläne Aglets Framework für mobile Agenten mobile Agenten (selbständiger) Hostwechsel SIM_Agt Library (Regelsystem) Regelbasierte KI
Literatur Aglets Software Development Kit http://www.trl.ibm.com/aglets/ BOND. The Distributed Object Multi-Agent System http://bond.cs.purdue.edu/ The MadKit Project (a Multi-Agent Development Kit) http://www.madkit.org/ The SIM_AGENT Toolkit http://www.cs.bham.ac.uk/~axs/cogaff/simagent.html ZEUS Agent Building Toolit http://innovate.bt.com/projects/agents/zeus/index.htm