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

Post on 05-Apr-2015

113 views 9 download

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

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

AbschlusspräsentationRoman Sauber

Überblick

Projekt-Organisation Features Technologien Versionen

Teammitglieder

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

Projekt-Organisation

PhasenAnforderungsanalyseHigh-Level DesignLow-Level Design ImplementierungTesten

1. Semester

2. Semester

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

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

Architektur und Verteilungsmodell

Aquarium

FischFisch

Fisch

P2P

Aquarium

FischFisch

Fisch

P2P

Controller

View

Model

Controller

View

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

Das Leben der Fische

public void run() {

while(alive) {

update();

sense();

act();

refresh();

}

}

Fische sind autonome, intelligente, mobile Agenten

VereinfachterEntscheidungspfadder Fischein der Methode act()

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

P2P Konzept

Ringstruktur Linker und rechter Nachbar

Organisiert in einer Gruppe Join

Gruppe finden Einfügen

Leave

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

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

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

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