42
1 Baukästen für Agentensysteme Ronald Schulte

1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

Embed Size (px)

Citation preview

Page 1: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

1

Baukästen für Agentensysteme

Ronald Schulte

Page 2: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

2

Gliederung

Einleitung: Definition Klassifizierung Beispiele für Baukästen

ZEUS MadKit BOND Aglets SIM_AGENT

Zusammenfassung

Page 3: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

3

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]

Page 4: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

4

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]

Page 5: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

5

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.

Page 6: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

6

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.

Page 7: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

7

Klassifizierung

Bestandteile

Welche Einzelteile? Kommunikation Ontologie soziale Interaktion ...

Gibt es zusätzliche Werkzeuge? Entwicklungswerkzeuge Laufzeitunterstützung

Page 8: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

8

Klassifizierung

Technische Aspekte

Welche Standards?(Kommunikationsprotokolle)

Art der Benutzeroberfläche

Welche Programmiersprache

Page 9: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

9

Klassifizierung

Konzept / Philosophie

Einsatzmöglichkeiten

Rollenmodell BDI ...

Mobile Agenten Service Agenten Verteilte Agenten ...

Page 10: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

10

Beispiele für Agentenbaukästen

ZEUS MadKit BOND Aglets SIM_AGENT

Page 11: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

11

ZEUS Agent Building Toolkit

Zeus 1.2.1Released Mai 2001

Page 12: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

12

ZEUS Agent Building Toolkit

Bestandteile

Agent Component Library

Communication

Social Interaction

Data Structures

Planning and Scheduling

User Interface

Agent Building Software

Visual Editors

Code Generator

Legacy Systems API

Utility Agents

Name Server

Facilitator

Visualiser

Society Viewer

Reports Tool

Statistics Tool

Agent Viewer

Control Tool

Page 13: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

13

ZEUS Agent Building Toolkit

Agent Component Library

Planning and Scheduling

Stellt (interene) Strategien zur Entwicklung von Handlungs-Absichten bereit.

Social InteractionStellt (externe) Strategien zur Koordination mit anderen Agenten bereit.

Page 14: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

14

ZEUS Agent Building Toolkit

Agent Component Library

Kommunikation Unterstützung von

ACL und KQML Asynchrones socked-based

message passing Editor zur Beschreibung

einer Domain-spezifischenOntologie

Knowledge representationlanguage

Page 15: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

15

ZEUS Agent Building Toolkit

Agent Component Library

Datenstrukturenzur Speicherung der Ressourcen und Kompetenzen der Agenten

Benutzerschnittstellezur Interaktion mit dem Agenten

Page 16: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

16

ZEUS Agent Building Toolkit

Architektur des

generischenZEUS-Agenten

Mailbox Message Handler

Co-ordination Engine

Acquaintance Database

Planner and Scheduler

Task/ Plan Database

Resource Database

Ontology Database

Execution Monitor

External Database

Incoming Messages

Outgoing Messages

External Systems

Page 17: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

17

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

Page 18: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

18

ZEUS Agent Building Toolkit

Page 19: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

19

ZEUS Agent Building Toolkit

Page 20: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

20

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

Page 21: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

21

Multi-Agent-Development Kit

MadKit 2.0.1 "Zimbra"Released June 2000

Universität Montpellier

Page 22: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

22

MadKit

Konzept: Aalaadin Agent/Group/Role model

Page 23: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

23

MadKit

Architektur:

Page 24: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

24

MadKit

Bestandteile / Struktur

Java Framework Hauptklasse AbstractAgent Unterklasse Agent

unterstützt eine konkurrierende thread-basierte Ausführung

Interface für Scheduler- und Watcher- Objekte

Page 25: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

25

MadKit

Nachrichten

Standard Klasse Message für Nachrichten

Spezialisierte Unterklassen für String Nachrichten XML Nachrichten ACL Nachrichten KQML Nachrichten

Page 26: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

26

Die Entwicklungsumgebung, die G-BOX

Page 27: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

27

MadKit

WeitereEinsatzgebiete:

Page 28: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

28

BOND Distributed Objekt Multi-Agent System

BOND 2.1Released December 2000

Department of Computer Sciences,Purdue University

Page 29: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

29

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

Page 30: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

30

BOND

Architektur:

Page 31: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

31

Aglets Software Development Kit

ASDK 1.1 Beta 3Released June 2000

Open Source VersionAugust 2001

Page 32: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

32

Aglets

Java Framework für mobile Agenten

Nachrichten über eigene MessageObjekte (kein stand. Protokoll)

Server-Daemon, über GUI steuerbar

Client-Daemon Tahiti

Page 33: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

33

SIM_AGENT TOOLKIT

THE SIM_AGENT TOOLKIT

Part of the Cognition and Affect Project

Page 34: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

34

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

Page 35: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

35

SIM_AGENT

Weitere Konzepte

Erweiterbarer Syntax und Semantik(Makros, ...)

Schrittweise Kompilierung mit dynamisch austauschbaren Modulen

Automatische Speicherverwaltung und garbage collection

Page 36: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

36

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.

Page 37: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

37

SIM_AGENT

Bestandteile:

Regelsystem Poprulebase Agenten Library Grafikpaket RCLIB

Page 38: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

38

SIM_AGENT

Bestandteile:

Regelsystem Poprulebase Agenten Library

Basisklassen und Scheduling-Mechanismen Objektklassen

Mehrfachvererbung Generische Funktionen

Jeder Agent besitz sein eigenes Regelsystem!

Grafikpaket RCLIB

Page 39: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

39

Zusammenfassung

Page 40: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

40

Zusammenfassung (1/2)

Entwicklungs-umgebung

Werkzeuge & Zusatzprod.

Kommunik.-Protokoll

Programmier-

Sprache

ZEUSVisual-Editor

Nameserver,Facilitator,Visualiser

ACL,KQML

JAVA

MadKitG-Box

Scheduler,Watcher

ACL,KQML,XML

JAVA

BondBond-GUI

Server,Extensions

KQML,XML

JAVA

AgletsTahiti

Server-Daemon (eigenes) JAVA

SIM_Agt(Poplog) Scheduler (eigenes) Pop-11

Page 41: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

41

Zusammenfassung (2/2)

Baukasten-Konzept Architektur

Agenten-Strategie

ZEUSSWE-Konzept Ont/Agt/Task

Vorlagen für Task, Coordination & Organisation

MadKit Framework mit Entwicklungs-

umgebungAgt/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

Page 42: 1 Baukästen für Agentensysteme Ronald Schulte. 2 Gliederung Einleitung: Definition Klassifizierung Beispiele für Baukästen ZEUS MadKit BOND Aglets SIM_AGENT

42

Literatur

Aglets Software Development Kithttp://www.trl.ibm.com/aglets/

BOND. The Distributed Object Multi-Agent Systemhttp://bond.cs.purdue.edu/

The MadKit Project (a Multi-Agent Development Kit)http://www.madkit.org/

The SIM_AGENT Toolkithttp://www.cs.bham.ac.uk/~axs/cogaff/simagent.html

ZEUS Agent Building Toolithttp://innovate.bt.com/projects/agents/zeus/index.htm