HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des...

35
HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen autonomen mobilen Agenten Betreut durch Prof. Dr. R. Denzer HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Transcript of HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des...

Page 1: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

HTW

Verteilte Systeme: Abschlusspräsentation

GIS PI Projektarbeit

5. Semester an der HTW des Saarlandes

Persistentes asynchrones Message-Queueing

zwischen autonomen mobilen Agenten

Betreut durch Prof. Dr. R. Denzer

HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 2: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

2

Agenda

Projektziele Vorgehensweise im Projekt Fachkonzeption Überblick über die Architektur Live-Demo Schlussworte

HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 3: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

3

Agenda

Projektziele Vorgehensweise im Projekt Fachkonzeption Überblick über die Architektur Live-Demo Schlussworte

HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 4: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Projektziele

Erstellen einer Laufzeitumgebung für mobile Agenten Möglichkeit der persistenten asynchronen Kommunikation Bei Nicht-Erreichbarem Agenten funktioniert System weiter Implementierung so weit wie möglich

Schwerpunkt Konzeption (Verteilung, Skalierung etc.) Ingenieurmäßiges Vorgehen Präsentieren und Dokumentieren der Ergebnisse

4HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 5: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

5

Agenda

Projektziele Vorgehensweise im Projekt Fachkonzeption Überblick über die Architektur Live-Demo Schlussworte

HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 6: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Vorgehensweise im Projekt

Festlegen einer Arbeitssystematik Tandem als Projektleitung wöchentliches Projektmeeting mit Protokoll schriftliches Zeitmanagement schriftliche Aufgabenverteilung Teamgrundsätze definiert

IT-Unterstützung durch Software-Kollaborations-Plattform Versionskontrolle mit Subversion und Eclipse-Integration Defect-Tracking und Testfälle mit Trac

6HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 7: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Hoher Anspruch an das Produkt

Gleichberechtigtes Arbeiten

Diskussionen werden sachlich geführt

Selbständiges Denken und Handeln

Teammeeting-Entscheidungen werden von allen mitgetragen

Vorgehensweise im Projekt (Teamgrundsätze)

7HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 8: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Vorgehensweise im Projekt (Trac)

8HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Trac Customizing: Verwaltung der Testfälle im Ticketsystem

Page 9: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

4 Meilensteine 4 Iterationszyklen jeweils etwa 4 Wochen

I0 Erste Schritte (Dez)

I1 Implementierung (Jan)

I2 Ausbau Strategien (Feb)

I3 System-Agent (März)

Vorgehensweise im Projekt (iterativ-inkrementell)

9HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Test Analyse

DesignImplementierung

Page 10: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Vorgehensweise im Projekt (Zeitablauf)

10HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 11: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Vorgehensweise im Projekt (Zeitablauf)

11HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 12: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Vorgehensweise im Projekt (Zeitablauf)

12HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 13: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

13

Agenda

Projektziele Vorgehensweise im Projekt Fachkonzeption Überblick über die Architektur Live-Demo Schlussworte

HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 14: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Fachkonzeption (Überblick Agentenplattform)

14HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 15: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Fachkonzeption

Laufzeitumgebung (MARE)

Serverprozess als Dienst auf den Clientrechner des Verbundes

Peer-to-Peer-Netzwerk ohne zentrale Instanz Lifecycle-Management der Agenten Kommunikations-Management

15HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 16: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Fachkonzeption

Management Console (MC) Verwaltung des Software-Depots

Eingabe des Standorts des Software-Depots Hinzufügen und Löschen von Softwarepaketen

Verwalten des Rechnerverbundes Hinzufügen und Löschen von Client-Rechnern

Verwalten der Installationsaufträge Eingabe der Anzahl der auszusendenden Agenten Auswahl der Zielrechner für die Software-Installation

16HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 17: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Fachkonzeption

Mobiler Agent (MA)

intelligente mobile Softwareeinheit

Durchführung der Aufgaben auf den Client-Rechnersystemen

Speziell im Projekt: Installation, Deinstallation und Aktualisierung der Softwarepakete

17HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 18: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Fachkonzeption

Softwareverteilung Depot: stellt Softwarepakete zur Verfügung Softwarepaket: besitzt Installationsroutine, diese führt die

eigentliche Installation aus Skalierung Depots, Strategien:

1: ständige Paket-Duplikate 2: Paket-Duplikate bei Bedarf 3: Paket-Duplikate nach statisch konfigurierten Gruppen 4: Paket-Duplikate nach dynamisch gebildeten Gruppen

18HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 19: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Fachkonzeption (Kommunikationsmodell)

Asynchrone Kommunikation der Agentenüber die MARE

Message Queue zum Senden und Empfangen

19HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 20: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Fachkonzeption

Nachrichtenformat

Nachrichten-Header Metadaten: Sender, Empfänger, Zeit, Priorität,

Nachrichtentyp, ...

Nachrichten-Inhalt Objekt,implementiert als Serializable, ermöglich

größtmögliche Flexibilität beim Nachrichteninhalt

20HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 21: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Fachkonzeption

Steuer und Datenklasse als Nachrichten-Inhalt: Interface:

interface IverteilagentMessage {

executeCommand( VerteilAgent agent ); }

eine Implementierung:class AddJoblistMessage implements IVerteilagentMessage, Serializable {

private Joblist joblist;

public executeCommand( VerteilAgent agent ){agent.loadJoblist( joblist ); }

}

21HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 22: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Fachkonzeption (Erweiterung Message-Konzept)

Verzeichnisdienst als Systemagenten Agenten sind mit Status und Aufenthaltsort registriert Portiert bei Ressourcenengpässen auf ein anderes System Aufgabenteilung über mehrere Instanzen möglich Empfänger-MARE für Nachrichten wird über Systemagent

ermittelt

Message-Forwarding der MARE MARE besitzt Historie über Portierungsvorgänge leitet Nachrichten weiter, wenn Agent bereits portiert ist

22HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 23: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Fachkonzeption

Skalierungen und Optimierungen:

Depot: Duplikate Systemagent: Duplikate / Aufgabenverteilung Kombination Message-Forwarding und Anfrage bei

Systemagenten Cache-Speicher in der MARE für Systemagenten-Abfragen

23HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 24: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

24

Agenda

Projektziele Vorgehensweise im Projekt Fachkonzeption Überblick über die Architektur Live-Demo Schlussworte

HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 25: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Überblick über die Architektur (Verwendete Technologien)

Programmiersprache: Java 6

Verwendete Middleware: RMI Vorteile

Vollkommen integriert in Java Automatisches Generieren der Stub-Klassen zur Laufzeit

Nachteile Performanceverlust bei Initialisierung Schwerer zu debuggen

Automatischer Bauprozess mit Apache Ant

25HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 26: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Überblick über die Architektur (Paketstruktur)

26HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

depot

agents commoncore

runtime

console

rollout

system

imap

Page 27: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Überblick über die Architektur (Schnittstellen)

HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment 27

Remote«interface»

IAgentRuntime

OperationeninstallAgentremoveAgentstartAgentstopAgentgetAgentStatusaddToHistorygetJ obHistoryupdateGlobalConfiggetCurrentConfiggetMessageQueuetransportAgentcanStartAgentgetInstalledAgentsgetWYPSysAgent

«component»depot

«component»management console

Remote«interface»

ISoftwareDepot

OperationenaddSoftwarePackagegetSoftwarePackageremoveSoftwarePackagecontainsgetRepositoryContent

«component»runtime

«component»agent

«interface»

IMobileAgent

OperationenexecuteJ obgetStatusremoveFromJobListshutdowngetTypegetId

Page 28: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Agentenausführung Abarbeitung Installationsauftrag

Überblick über die Architektur (Prozessmanagement)

28HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

ProcessManager

Attribute

Operationen«create»

ProcessManager«create»

ProcessManageraddProcessListenerstartProcessdestroyProcessisRunningfinished

EigenschaftenprocessManagerId

«interface»

IProcessListener

OperationenonExit

ProcessOutputConsumer

Attribute

Operationen«create»

ProcessOutputConsumerstartConsumerstopConsumer

Klassen

OutputConsumerThread

Thread

ProcessWatcher

Attribute

Operationen«create»

ProcessWatcherrun

Page 29: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Überblick über die Architektur (Systemagent)

29HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Standort des Systemagenten für Agenten transparent

Systemagent ist ein Agent Abstraktion ermöglicht einfache Integration in bestehendes

System

Implementiert Observer Pattern Management Console ist Subscriber Für alle Status- und Standortänderungen gibt es Events

Page 30: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Überblick über die Architektur (Systemagent / Observer)

HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment 30

for each o in observers { o.agentRegistered()}...

WYPSystemAgent

AttributestatusListobservers

Operationen«create»

WYPSystemAgentregisterAgentattachObserverdetachObservergetStatusupdateAgentStatusremoveFromJ obListshutdownupdateAgentLocationderegisterAgentgetAgentStatusgetAgentStatusListgetAgentStatusListgetId

AgentObserver

AttributeagentUpdaters

Operationen«create»

AgentObserverattachObserverdetachObserveragentRegisterdagentDeregisteredagentUpdated

- Registriert RMI Service: IAgentObserver- Register sich als Observer bei SystemAgent SysAgent sys = Runtime.getSysagent(); sys.attachObserver( new ObservedRMIWrapper( "stl-c-01" ) );

«interface»

IAgentObserver

OperationenagentRegisterdagentDeregisteredagentUpdated

ObserverRMIWrapper

Attributelocation

Operationen«create»

ObserverRMIWrappergetLocationEndpointagentRegisterdagentDeregisteredagentUpdated

RMIObserverService

Operationen«create»

RMIObserverServiceregistershutdown

Page 31: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Überblick über die Architektur (Management Console)

Swing GUI auf Basis der Ergebnisse von Programmierung 3 Verwendung von JGoodies: http://www.jgoodies.com

Kann sich mit beliebiger Laufzeitumgebung verbinden

Steuerung / Monitoring des gesamten Systems Rechnerverbund Softwaredepot Initiierung und Verfolgung von Installationsaufträgen

31HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 32: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

32

Agenda

Projektziele Vorgehensweise im Projekt Fachkonzeption Überblick über die Architektur Live-Demo Schlussworte

HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 33: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

33

Agenda

Projektziele Vorgehensweise im Projekt Fachkonzeption Überblick über die Architektur Live-Demo Schlussworte

HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment

Page 34: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

Schlussworte

HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment 34

Herausfordernde, komplexe Aufgabenstellung

Weniger Erfahrungen im Projektteam mit Thematik Lernerfolg verbunden mit hohem Aufwand

Iteratives Vorgehensmodell für uns zielführend Trotz Anstrengungen viel Spaß durch Erfolgserlebnisse

Page 35: HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des Saarlandes Persistentes asynchrones Message-Queueing zwischen.

35

Ihre Fragen bitte!

Vielen Dank für Ihre Aufmerksamkeit.

HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment