Praktische Aufgaben von Prof. Dr. Sebastian Iwanowski an der FH Wedel für das WS 2006/2007:

Themen für Softwareprojekte

regelmäßiger Besprechungstermin: Di 17:00 Uhr - 18:15 Uhr, HS 3 (oder in meinem Büro: Ü11)

anrechenbar als Software-Projekt (v212) für B_Inf, B_Tinf, B_Minf, B_Winf sowie als Software-Praktikum für die Diplomstudiengänge


Organisatorisches (gilt für alle Projekte):

Die Regeln für die Vergabe und Durchführung von Softwareprojekten sind von Prof. Schmidt festgelegt worden.
Diesen schließe ich mich an. Näheres dazu finden Sie auf seiner Webseite.

Ich werde bei der Vergabe der Projektthemen und der Einteilung der Projektgruppen
anwesend sein und die hier genannten Projekte inhaltlich betreuen.
Die Abnahme wird ebenfalls von mir vorgenommen.

Jede der im Folgenden als Projekt (Teilprojekt, Zusatzprojekt) bezeichneten Aufgabenstellungen
darf nur in Zweiergruppen bearbeitet werden.
Jedes Projekt kann mehrfach vergeben werden.



Thema 1: Web Services für ein Touristeninformationssystem

Ziel:

Im Zusammenspiel mehrerer Teilprojekte soll ein flexibler Tourenplaner
für ein Touristeninformationssystem erstellt werden,
der den Prinzipien einer SOA (Service-orientierte Architektur) entspricht.
Zur Realisierung der SOA ist der Web-Service-Standard einzusetzen.

Benötigte Vorkenntnisse:

Benötigt werden gute Vorkenntnisse in Java und XML.
Web Service-Vorkenntnisse sind sehr hilfreich,
aber nicht unbedingt erforderlich. Es ist möglich, sich
das dafür benötigte Wissen im Laufe dieses Projekts zu erarbeiten.

Informationsquellen:

Für das Projekt direkt von Nutzen sind alle unten angegebenen Bücher,
die Web Services im Titel haben.

Die anderen Bücher zu SOA und Semantic Web liefern ergänzende
Hintergrundinformationen, aber keinen unmittelbaren Nutzen
zur Bearbeitung dieses Themas.

Außerdem gibt es noch ein Seminar in diesem Semester zum Thema,
dessen Teilnahme ich wärmstens empfehle.
Einige Vortragsthemen nehmen direkten Bezug auf dieses Projekt.

Für die Beschreibung der Aufgabenstellung selbst gibt es
zwei Dokumente auf dem Handout-Server,
welche die unmittelbare Grundlage darstellen.
Diese sollten zumindest in Teilen unbedingt
vor der Annahme eines Teilprojekts

durchgelesen werden!

Weiterverwendung des erworbenen Wissens:

Die gesamte Thematik (Verteilte Systeme, SOA) wird von mir in Vorlesungen des Masterstudiums
bzw. höheren Diplomstudiums vertieft. Sie eignet sich auch für Abschlussarbeiten
(bei Bachelor und Diplom nach Möglichkeit aber immer mit Unterstützung einer Firma).

Die Bearbeitung eines Projekts zu diesem Thema ist auch für Studierende
zu empfehlen, die nach dem Bachelor in den Beruf gehen wollen,
da es die einzige Möglichkeit in ihrem Studienplan ist,
sich Kenntnisse in Web Services und SOA anzueignen
und da dieses Thema in der vernetzten Wirtschaft
eine zunehmende Bedeutung hat.

Details zur Aufgabenstellung:

Grundlage dieses Projekts ist ein Grobkonzept für den Tourenplaner eines
Touristeninformationssystems, das in den Jahren 1999 - 2001
durch eine Implementierung auf dem damaligen Stand der Technik realisiert wurde.

Das Grobkonzept und eine dazugehörige XML-Spezifikation
sind auf dem Handout-Server erhältlich.
Die Ausdrucksweise dieser Dokumente beruht zum Teil auf
heute nicht mehr gebräuchlicher Terminologie.
Die Konzepte entsprechen aber immer noch
dem heutigen Stand der Technik.

Ziel dieses Projekts ist es, wesentliche Teile des Grobkonzepts
mit Hilfe von Web Services zu realisieren.

Im einzelnen gibt es drei voneinander unabhängige Teilprojekte,
die jeweils von Zweiergruppen bearbeitet werden sollen:

Teilprojekt 1.1:
Realisierung des TourScheduling- und TripPlanning-Agenten mit Routeninformationsanbindung

Teilprojekt 1.2:
Realisierung des TouristGUI-Agenten

Teilprojekt 1.3:
Realisierung des Recommendation-Agenten mit einigen (mindestens 2 verschiedene!)
daran angebundenen Content-Agenten, die unterschiedliche Ontologien benutzen.
Auch ein zugehöriger Ontologieagent muss erstellt werden.

Für alle Teilprojekte gilt:

1) Die Anwendungsdomäne für die tatsächlich realisierten Contents ist die Stadt Hamburg.

2) Die Schnittstellen zu den Agenten anderer Teilaufgaben müssen gemäß der
Spezifikation realisiert werden (als WebServices).
Sollte die erforderliche Software des anderen Teilprojekts nicht
zur Verfügung stehen, dann muss ein Wrapper gebaut werden,
mit Hilfe dessen man das Teilprojekt vorführen kann.
Letzteres ist zu Testzwecken ohnehin zu empfehlen!

3) Die im Grobkonzept definierte Ontologie ist syntaktisch (in der XML-Variante) und
semantisch strikt einzuhalten, ebenso natürlich die Web Service-Standards.
Anderenfalls ist eine Interaktion der Teilprojekte nicht möglich.

Zulässige Vereinfachungen der Aufgabenstellung:

1) Die Anbindung an das mobile Gerät (PDA) wird nicht berücksichtigt (auch nicht die Schnittstellen).

2) Die konkreten Content-Provider werden stark eingeschränkt:
Der Tripplaner beschränkt sich auf die Webanbindung des HVV
und für die Content-Server gibt es per Hand editierte Datenbanken oder Dateien,
die eine WebService-Schnittstelle haben.

3) Die TouristGUI hat keine direkte Verbindung zum Ontologie-Agenten.

4) Die Erstellung von einem Mehrwertdienst durch den Recommendation-Agenten ist
nicht zwingend erforderlich. Der Recommendation-Agent muss aber in der Lage sein,
Dienste beliebiger Content-Agenten zu vermitteln.

5) Die Ontologien werden nur durch eine Sprache (Deutsch) unterstützt.
Mehrsprachigkeit gemäß dem Konzept ist aber vorzusehen.

Selbstverständlich dürfen auch weitere Funktionalitäten implementiert werden,
z.B. Buchungen.



Thema 2: Rechentabellen für endliche Körper

Projekt 2.1:
Rechnen in GF (n)

Ziel:

Zu einer gegebenen natürlichen Zahl n soll
in GF (n) (falls existent) das Addieren, Subtrahieren, Multiplizieren
und Dividieren ermöglicht werden.
Dafür müssen vor allem die Rechentabellen
für Addition und Multiplikation erstellt werden.
Die Benutzung von Tabellen, die in einem
früheren Schritt bereits berechnet worden sind,
soll ebenfalls ermöglicht werden.

Benötigte Vorkenntnisse:

Voraussetzung für dieses Projekt ist ein gutes Verständnis
von Diskreter Mathematik, vor allem von Zahlentheorie.

Informationsquellen:

Der in der Vorlesung Diskrete Mathematik vermittelte
Stoff reicht dafür aus. Er muss aber auch wirklich
verstanden worden sein.

Zur Vertiefung und Wiederholung empfehle ich das
unten angegebene Buch von Biggs und den Artikel
von Benjamin Klopsch.

Details zur Aufgabenstellung:

Zur Aufgabe gehören folgende Funktionalitäten:

1) Bestimmung der charakteristischen Größen p und r zu n
(falls existent)

2) Errechnen der Additionstabelle

3) Eingabemöglichkeit für ein in GF (p) irreduzibles Polynoms vom Grad r.
Der Test auf Irreduziblität muss nicht durchgeführt werden.

4) Errechnen der Multiplikationstabelle mit Hilfe des gegebenen
irreduziblen Polynoms. Dazu muss eine Polynommultiplikation
und Polynomdivision in GF (p) implementiert werden.

5) Speichern der Rechentabellen in einer externen Datei in einem geeigneten Format

6) Laden einer bereits zuvor erstellten Rechentabelle aus der externen Datei

7) Interaktiver Taschenrechner:
Addieren, Subtrahieren, Multiplizieren und Dividieren zweier Zahlen in GF (n)

Zusatzprojekt 2.2:
Bestimmen eines irreduziblen Polynoms vom Grad r in GF (p).

Diese Aufgabe realisiert ein Zusatzpaket und erfordert theoretische Zusatzstudien:

Das Problem besteht darin, dass es für ein Polynom vom Grad > 3
nicht ausreicht, dass es nullstellenfrei ist, um irreduzibel zu sein:
Es muss noch auf die Existenz nullstellenfreier Teiler überprüft werden.

Das Thema eignet sich prinzipiell auch für einen Seminarvortrag
(allerdings frühestens im SS 2007).


Literatur: (größtenteils in meiner Lehrbuchsammlung)

für Thema 1:

    Gustavo Alonso / Fabio Casati / Harumi Kuno / Vijaj Machiraju: Web Services: Concepts, Architectures, and Applications
    Springer 2004, ISBN 3-540-44008-9

    Grigoris Antoniou / Frank von Hermelen: A Semantic Web Primer, MIT Press 2004, ISBN 0-26-201210-3

    Wolfgang Dostal / Mario Jeckle / Ingo Melzer / Barbara Zengler: Service-orientierte Architekturen mit Web-Services,
    Konzepte - Standards - Praxis, Spektrum 2005, ISBN 3-8274-1457-1

    Thomas Erl: Service-Oriented Architecture, A Field Guide to Integrating XML and Web Services, Prentice Hall 2004, ISBN 0-13-142898-5

    Thomas Erl: Service-Oriented Architecture, Concepts, Technology, and Design, Prentice Hall 2005, ISBN 0-13-185858-0

    Menfred Hein / Henner Zeller: Java Web Services, Entwicklung plattformübergreifender Dienste mit J2EE, XML und SOAP,
    Addison-Wesley 2003, ISBN 3-8273-2071-2

    Olaf Zimmermann / Mark Tomlinson / Stefan Peuser: Perspectives on Web Services, Springer 2003, ISBN 3-5400-0914-0

für Thema 2:

    Norman L. Biggs: Discrete Mathematics, Oxford University Press 2002, ISBN 0-19-850717-8

    Benjamin Klopsch: Endliche Körper - Eine kurze Wiederholung, Seminarunterlagen 2001 (Download mit freundlicher Genehmigung des Autors)