WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

17
WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber

Transcript of WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

Page 1: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

WI + SE 7/8 Prof. Dr. Oliver Haase

AbschlusspräsentationRoman Sauber

Page 2: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.
Page 3: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

Überblick

Projekt-Organisation Features Technologien Versionen

Page 4: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

Teammitglieder

Marco Becherer Jens Boeckel Vetiola Elezkurtaj (Teil A) Kornelia Markovic Roman Sauber Daniel Weber Richard Woldert Fanny Ziegler (Teil B)

Page 5: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

Projekt-Organisation

PhasenAnforderungsanalyseHigh-Level DesignLow-Level Design ImplementierungTesten

1. Semester

2. Semester

Page 6: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

Aqualife Features

Natürliches Verhalten in einem Ökosystem Zustände Paaren Kinder zeugen Fressen Sterben

Fischarten Raubfische Unterschiedliche

Eigenschaften

Vernetztes Aquarium Benutzer kann

Fische angeln / aussetzen Arten selbst definieren Eigenen Aquarium-

hintergrund wählen

Page 7: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

Facts & Figures Programmiersprache Java 5 Entwicklungsumgebung Eclipse Zentraler CVS-Server für Versionsverwaltung 5621 Lines of Code 371 Methoden 56 Klassen 11 Packages

Verwendete Technologien Entwurfsmuster Model-View-Controller GUI: Java SWING Multi-Threading Fische: Autonome, intelligente, mobile Agenten P2P: JXTA XML Java WebStart

Page 8: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

Architektur und Verteilungsmodell

Aquarium

FischFisch

Fisch

P2P

Aquarium

FischFisch

Fisch

P2P

Controller

View

Model

Controller

View

Page 9: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

Eigenschaften der Fische

Fische id name age species speciesName origin sex size energy alive

Spezies name image fishEating visualRange maxSpeed losingEnergyPerTic energyMinimum consumingPlanktonPerTic maturity maximumAge pairingTimeout

Page 10: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

Das Leben der Fische

public void run() {

while(alive) {

update();

sense();

act();

refresh();

}

}

Fische sind autonome, intelligente, mobile Agenten

Page 11: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

VereinfachterEntscheidungspfadder Fischein der Methode act()

Page 12: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

Package Aquarium

Fischliste mit Positionen Singleton Timer Thread-Synchronisation XML

Einlesen und Abspeichern

Verwendung verschiedener Interfaces zum Zweck der Kapselung FishAquarium_IF P2PAquarium_IF ControllerAquarium_IF

Zentrale Einheit eines lokalen Peers

Page 13: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

P2P Konzept

Ringstruktur Linker und rechter Nachbar

Organisiert in einer Gruppe Join

Gruppe finden Einfügen

Leave

Page 14: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

P2P Technik

JXTA Pipe-Konzept

Informationen: NeighbourPipe Fische: ObjectPipe Backup-Pipe

Implementiert als Event-Listener P2PClient: Aquarium regularPipeListener: Monitoring clientListener: join Requests neighbourListener: neighbourMessages und FishTransfer

Page 15: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

JXTA(TM) Technologie

JXTA steht für Juxtapose: nebeneinander stellen Initial Forschungsprojekt bei Sun Microsystems Set offener, allgemeiner Peer-to-Peer Protokolle Verbindet beliebige Geräte (Handy und PDA, PC und

Server) im Netzwerk Steht unter Apache Software License Änderung und Verteilung des Quelltextes und der

Binaries ist erlaubt

Page 16: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

Versionen

Aqualife Solo Integrierte WebStart-Version

Aqualife DuoTrennung von Modell und ViewEntfernte Kommunikation über Java RMIModell kann ständig im Hintergrund laufenView wird dynamisch gestartet / gestoppt

Page 17: WI + SE 7/8 Prof. Dr. Oliver Haase Abschlusspräsentation Roman Sauber.

Java WebStart Technologie von Sun Microsystems Java-Applikationen über das Netz mit nur einem

Klick starten

Voraussetzungen: Beschreibung des Programms in einer jnlp-Datei jar-Paket auf dem WebServer, der den MIME-Type

application/x-java-jnlp-file kennt JRE und Java WebStart installiert auf Client-System

http://www-home.htwg-konstanz.de/~haase/lehre/ws05/aquarium/aquarium.html