HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des...
-
Upload
hiltrud-bohlken -
Category
Documents
-
view
104 -
download
0
Transcript of HTW Verteilte Systeme: Abschlusspräsentation GIS PI Projektarbeit 5. Semester an der HTW des...
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
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
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
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
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
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
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
Vorgehensweise im Projekt (Trac)
8HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Trac Customizing: Verwaltung der Testfälle im Ticketsystem
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
Vorgehensweise im Projekt (Zeitablauf)
10HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Vorgehensweise im Projekt (Zeitablauf)
11HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Vorgehensweise im Projekt (Zeitablauf)
12HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
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
Fachkonzeption (Überblick Agentenplattform)
14HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
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
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
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
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
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
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
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
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
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
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
Ü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
Überblick über die Architektur (Paketstruktur)
26HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
depot
agents commoncore
runtime
console
rollout
system
imap
Ü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
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
Ü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
Ü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
Ü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
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
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
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
35
Ihre Fragen bitte!
Vielen Dank für Ihre Aufmerksamkeit.
HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment