Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment...

Post on 16-Oct-2019

3 views 0 download

Transcript of Mobile Agenten am Beispiel JADE (Java Agent DEvelopment ... · JADE - Java Agent DEvelopment...

Mobile Agenten am Beispiel JADE(Java Agent DEvelopment Framework)

Vorstellung in der Übung zu Konzepte Verteilter Systeme

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

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…

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

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, …)?

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

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

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

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

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

10

JADE LaufzeitumgebungBeispiel

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

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

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

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

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, …)

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

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

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

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

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

20

AnwendungsfallAgenten Lebenszyklus

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

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

22

PrototypBeispiel

Präsentation Beispiel Implementierung

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

23

Prototyp Source-Codesetup()

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

24

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

25

Prototyp Source-CodebeforeMove() & afterMove()

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

26