Top Banner
Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme
26

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

Oct 16, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

Mobile Agenten am Beispiel JADE(Java Agent DEvelopment Framework)

Vorstellung in der Übung zu Konzepte Verteilter Systeme

Page 2: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

2

Agenda

Mobile Agenten allgemein

JADE - Java Agent DEvelopment Framework

Anwendungsfall mobiler Agenten

Prototypische JADE-Implementierung

Page 3: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

3

Mobile Agenten

eigenständige Programmstrukturenwandern zwischen Rechnern (Knoten) im NetzwerkCode und Zustand werden migriertbenötigen Laufzeitsystem als Middleware, das sich um folgende Aspekte kümmert

KommunikationMigrationSicherheit…

Page 4: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

4

Warum Mobile Agenten?

Alternative zu Client-Server-KonzeptEinsparung von KommunikationskostenUnabhängigkeit von lokalen Ressourcenasynchrone AusführungFlexibilität der verteilten Architektur

SkalierbarkeitMigrationsfähigkeit

Page 5: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

5

Herausforderungen

SicherheitAuthentifizierungVertraulichkeit

Transportwie ermittelt/migriert man aktuellen Zustand?wie gelangt Code zu benötigten Daten?

Interoperabilitätwie kombiniert man verschiedene Computer Systeme (Unix, Windows, …)?

Page 6: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

6

Agenda

Mobile Agenten allgemein

JADE - Java Agent DEvelopment Framework

Anwendungsfall mobiler Agenten

Prototypische JADE-Implementierung

Page 7: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

7

JADE - Java Agent DEvelopment Framework

Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS)

basiert auf Javastellt Middleware-Dienste und Laufzeitumgebung für Agenten zur Verfügungbietet Standardbibliotheken, die direkt oder erweitert zur Entwicklung von MAS verwendet werden könnenstellt grafische Tools zur administrativen Verwaltung/Debugging des MAS bereit

Page 8: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

8

JADE LaufzeitumgebungStruktur

ContainerInstanz einer JADE Laufzeitumgebungläuft jeweils in eigenem Java Prozesskann 0 bis n Agenten beinhalten

PlattformMenge an aktiven, zusammengehörenden Containernbeinhaltet einen Main-Container, der notwendige plattform-spezifische Dienste zur Verfügung stellt und bei dem alle weiteren Container registriert werden

Page 9: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

9

JADE LaufzeitumgebungZentrale Dienste

Kommunikationfindet standardisiert über ACL-Messages stattper Objekt Weitergabe (container-intern)per RMI (container-übergreifend)

AMS – Agent Management Systemals Agent implementiertstellt Namensdienst zur Verfügungrepräsentiert die verwaltende Autorität der Plattform (kann Agenten erstellen und beseitigen)

DF – Directory Facilitatorals Agent implementiertstellt einen Yellow Pages Dienst zur Verfügung (ordnet Beschreibung des angebotenen Dienstes einem Agent Identifier zu)

Beide Agenten (AMS & DF) laufen im Main-Container und werden beim Start der Laufzeitumgebung mitgestartet

Page 10: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

10

JADE LaufzeitumgebungBeispiel

Page 11: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

11

JADE Agenten ArchitekturVerhalten

Agent wird als Java Programm bestehend aus einem Thread implementiertVerhalten wird durch einzelne Tasks beschriebenTasks werden als Behaviour Objekte implementiert und dem Agenten hinzugefügtAktive Behaviour Objekte werden im round-robinVerfahren ausgeführt

Page 12: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

12

JADE Agenten ArchitekturStruktur

Agent erbt von jade.core.Agent

setup()Agenten InitialisierungBehaviours werden hinzugefügt

doMove(Location loc)Agenten Migration

beforeMove()Ausführung vor Migration zu anderer Location

afterMove()Ausführung sobald die Ziel-Location erreicht wurde

Page 13: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

13

Sicherheit in Jade

Authentifizierung

JADE verfügt über einen Authentifizierungsmechanismus basierend auf der Java Authentication and Authorization Service API (JAAS)

Implementiert werden Login Module für Unix, NT, Kerberos Die Unix und NT Module beziehen die Identität des Benutzers aus dem BetriebssystemDie Funktionalität des Kerberos Moduls ist unabhängig vom System, das Modul an sich muss jedoch systemspezifisch konfiguriert werden

Page 14: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

14

Sicherheit in Jade

Autorisierung

Der Zugriff von Agenten auf Dienste einer Plattform oder Anwendungsressourcen kann mittels Regeln selektiv festgelegt werdenDefinition der Regeln erfolgt durch ein auf JAAS aufbauendes, erweitertes Policy Model:

In der Policy Datei des Main-Containers werden Berechtigungen definiert, die für die ganze Plattform geltenAlle anderen Container können eigene Policy Dateien enthalten mit

- Berechtigungen die nur für den jeweiligen Container gelten- Berechtigungen die den Zugriff auf lokale Ressourcen regeln

Page 15: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

15

Sicherheit in Jade

Integrität

Überprüfung der Integrität von Nachrichten und der Identität des Absenders mit Hilfe von Signaturen (SHA-1, MD5)

Vertraulichkeit

Schutz von Nachrichten vor unbefugtem Mitlesen durch Verschlüsselung

Asymmetrische Verschlüsselung (RSA, DSA, …)Symmetrische Verschlüsselung (AES, DES, TripleDES, Blowfish, …)

Page 16: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

16

Migration in Jade

Agent wird per ACL-Messages migriertMigration Manager unterbricht Ausführung des Agenten und verpackt Status und Code in ACL-MessageClass Loader lädt den Byte-Code der Klasse aus ACL-Message in den Arbeitsspeicher

Page 17: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

17

Interoperabilität

plattform- & herstellerunabhängig, da JADE in Java geschrieben

Nachrichtentransport über gängige Protokolle: RMI, HTTP, IIOP

Auch beliebig um weitere Protokolle erweiterbar

Kompatibilität zu anderen MAS durch Implementierung der FIPA-Spezifikationen und der verwendung ACL-konformer Nachrichten

Page 18: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

18

Agenda

Mobile Agenten allgemein

JADE - Java Agent DEvelopment Framework

Anwendungsfall mobiler Agenten

Prototypische JADE-Implementierung

Page 19: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

19

AnwendungsfallRessourcen-Überwachung

„Resource-awareness“

Mobilität von Agenten ermöglicht Reaktion auf Ressourcen-Verfügbarkeit wie

Lokale SystemressourcenNetzwerkauslastungEreignisse und Dienste

Knappe Ressourcen sind möglicher Grund zu migrieren

Page 20: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

20

AnwendungsfallAgenten Lebenszyklus

Page 21: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

21

Agenda

Mobile Agenten allgemein

JADE - Java Agent DEvelopment Framework

Anwendungsfall mobiler Agenten

Prototypische JADE-Implementierung

Page 22: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

22

PrototypBeispiel

Präsentation Beispiel Implementierung

Page 23: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

23

Prototyp Source-Codesetup()

Page 24: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

24

Page 25: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

25

Prototyp Source-CodebeforeMove() & afterMove()

Page 26: Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment Framework Middleware und Laufzeitumgebung für Multi-Agenten Systeme (MAS) Ñbasiert auf

29.12.2005 Bergmann, Bewernik, Freisinger, Mesch, Müllender, Teichmann

26