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

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

Embed Size (px)

Citation preview

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