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
Vorgehensweise im Projekt Fachkonzeption 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 Fachkonzeption Agenda Projektziele Vorgehensweise im Projekt Fachkonzeption Überblick über die Architektur Live-Demo Schlussworte HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Erstellen einer Laufzeitumgebung für mobile Agenten 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 HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Vorgehensweise im Projekt Fachkonzeption 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 Tandem: Kim aka Projektleiter regelt Tagesgeschäft wie z.B. Einhaltung Termine, moderiert Meetings Markus aka „Chief of Code“ lenkt Entwicklung und „coacht“ Mitglieder HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Vorgehensweise im Projekt (Teamgrundsätze) Hoher Anspruch an das Produkt Gleichberechtigtes Arbeiten Diskussionen werden sachlich geführt Selbständiges Denken und Handeln Teammeeting-Entscheidungen werden von allen mitgetragen Hoher Anspruch: Das beste Ergebnis wird angestrebt, eine Mehrarbeit über das übliche Maß hinaus wird daher von allen in Kauf genommen Gleichberechtigung: Die Arbeit jedes einzelnen, egal welcher Art, trägt zum Projekterfolg bei Selbständigkeit: Rückmeldung bei Problemen, sowie frühzeitige Rückmeldung vor allem bei Zeitkonflikten, damit Hilfe organisiert werden kann Teammeeting behält letztes Wort, jeder akzeptiert das. HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Vorgehensweise im Projekt (Trac) Trac Customizing: Verwaltung der Testfälle im Ticketsystem Natürlich: Trac wird für die üblichen Aufgaben wie Ticketverwaltung und Bugtracking eingesetzt. Darüberhinaus: Individualisierung von Trac zur Verwaltung standardisierter Testfälle und deren Fortschritt HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Vorgehensweise im Projekt (iterativ-inkrementell) Analyse 4 Meilensteine 4 Iterationszyklen jeweils etwa 4 Wochen I0 Erste Schritte (Dez) I1 Implementierung (Jan) I2 Ausbau Strategien (Feb) I3 System-Agent (März) Test Dezember: Annäherung an das Thema, Sammeln von Informationen, erste Konzeptideen Anfang Januar: Erste Implementierungen, Erfahrungsaufbau Bis Ende Januar: Erste funktionierende Implementierung, die Software verteilt, Test I1 Februar: Erweiterung der Konzeption, gleichzeitig Implementierung, Test I2 März: Erweiterung um SystemAgent, Visualisierung in der GUI, Test I3 Implementierung Design HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Vorgehensweise im Projekt (Zeitablauf) HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Vorgehensweise im Projekt (Zeitablauf) HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Vorgehensweise im Projekt (Zeitablauf) HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Vorgehensweise im Projekt Fachkonzeption 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) HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Laufzeitumgebung (MARE) Fachkonzeption Laufzeitumgebung (MARE) Serverprozess als Dienst auf den Clientrechner des Verbundes Peer-to-Peer-Netzwerk ohne zentrale Instanz Lifecycle-Management der Agenten Kommunikations-Management HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Management Console (MC) 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 HTWdS, 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 HTWdS, 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 HTWdS, 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 HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Fachkonzeption Nachrichtenformat Nachrichten-Header Nachrichten-Inhalt Metadaten: Sender, Empfänger, Zeit, Priorität, Nachrichtentyp, ... Nachrichten-Inhalt Objekt,implementiert als Serializable, ermöglich größtmögliche Flexibilität beim Nachrichteninhalt HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Steuer und Datenklasse als Nachrichten-Inhalt: 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 ); } } HTWdS, 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 HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Skalierungen und Optimierungen: 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 HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Vorgehensweise im Projekt Fachkonzeption 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 HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Überblick über die Architektur (Paketstruktur) HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Überblick über die Architektur (Schnittstellen) HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Überblick über die Architektur (Prozessmanagement) Agentenausführung Abarbeitung Installationsauftrag HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Überblick über die Architektur (Systemagent) 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 HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Überblick über die Architektur (Systemagent / Observer) HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Ü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 HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Vorgehensweise im Projekt Fachkonzeption 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 Fachkonzeption Agenda Projektziele Vorgehensweise im Projekt Fachkonzeption Überblick über die Architektur Live-Demo Schlussworte HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Herausfordernde, komplexe Aufgabenstellung Schlussworte 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 HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment
Vielen Dank für Ihre Aufmerksamkeit. Ihre Fragen bitte! Vielen Dank für Ihre Aufmerksamkeit. HTWdS, Verteilte Systeme: M.A.R.S. Mobile Agent Runtime Environment