Institut für Verteilte Systeme
- 1:
Projekte. - 2:
Publikationen. - 3:
Lehre. - 4:
Personen. - 5:
Intranet.
Weitere Themen
Middleware
Praktikum im Hauptstudium / WS 2007/2008 / CS 5850
Angaben
- Dozent
- Prof. Dr. Franz J. Hauck
- Betreuer
- Jörg Domaschka, Andreas Schmied, Holger Schmidt, Jan-Patrick Elsholz
- Termine
- Mittwoch, 12.30 bis 14.00 Uhr im Raum O27/121
- Themenvergabe
- SWS
- 4
- Leistungspunkte
- 8
- Zuordnung
- Dipl. Inf.: Praktikum
Ba. Inf. (PO 2001): Praktikum
Ma. Inf. (PO 2001): Praktikum
Dipl. Medieninf.: Praktikum
Themengebiete
Eine Reservierung einzelner Themen ist per Email an die jeweiligen Betreuer möglich.
Die Folien der Praktikumsbesprechung sind in der folgenden Liste zu finden.
- Adaptive Web Service Migration - Einführungsfolien
- Instant-X: Middleware-Plattform für multimediale Kommunikationsdienste - Einführungsfolien
- Adaptivität und Fehlertoleranz in Verteilten Systemen
- MW-Entwicklung durch Code-Transformation - Einführungsfolien
- Kooperatives Literaturverwaltungsprogramm - Einführungsfolien
Adaptive Web Service Migration (Holger Schmidt)
In diesem Themengebiet geht es um die Erweiterung einer bereits entwickelten Infrastruktur aus einem vorherigen Praktikum. Diese ermöglicht das Verschieben (=Migration) eines Web Services von einem Rechner auf einen anderen zur Laufzeit. Zudem wird hierbei noch eine Anpassung des Web Services an die Laufzeitumgebung des Zielrechners ermöglicht (z.B. Änderung der Schnittstelle). Folgende Themen werden angeboten, weitere Informationen gibt es bei Holger Schmidt
- Dezentraler Zustandsspeicher: Zur Speicherung des Zustands eines adaptiven mobilen Web Services wird ein Zustandsspeicher benötigt. Hierfür ist eine zentrale Implementierung vorhanden, es soll jedoch eine auf JXTA (Generisches P2P-Framework) basierende Variante entworfen werden. Hierbei soll zudem Sicherheit berücksichtigt werden (z.B. Zugriff auf den Zustandsspeicher) und die Performanz von JXTA untersucht werden. [AWSM-1]
- Erweiterung/Portierung der Infrastruktur: Zur Auffindung möglicher Migrationsziele wird ein sogenannter FactoryFinder-Dienst genutzt. Dieser soll wahlweise (konfigurierbar) durch den Web Service Standard UDDI ersetzt werden können. Zudem soll die bisherige Implementierung des Migrationskonzepts von Axis 1.4 auf die neue Version Axis 2 portiert werden. Zuletzt soll auch noch ein Referenzkonzept zur ortsunabhängigen Adressierung adaptiver mobiler Web Services implementiert werden. [AWSM-2]
Instant-X: Middleware-Plattform für multimediale Kommunikationsdienste (Holger Schmidt, Jan-Patrick Elsholz)
In diesem Projekt geht es um die Entwicklung einer OSGi-basierten Middleware-Plattform, welche spontane Kommunikations-Anwendungen (z.B. Instant Messaging, Push-to-Talk) durch das Bereitstellen gemeinsamer Protokollimplementierungen und Verarbeitungsmechanismen unterstützt. Weitere Informationen gibt es bei Holger Schmidt
- Softphone GUI: In einem früheren Praktikum wurde ein IP-Softphone für das Komponentenframework OSGi entwickelt. Hierfür soll eine neue GUI entwickelt werden, welche (Video-)Telefonie, Instant Messaging und Präsenzfunktionalität berücksichtigt. Beim Design der GUI sollte auf Usability und Erweiterbarkeit geachtet werden. Außerdem sollen Funktionalitäten zum Instant Messaging und für das Benutzermanagement integriert werden. Eigene Ideen sind hierbei durchaus möglich. Dieses Thema kann als Paar-Thema bearbeitet werden. [InstantX-1]
- Multi-Application SIP: Im Rahmen von Instant-X soll eine Java Anwendung entwickelt werden bei der mehrere Applikationen auf eine Session Initiation Protocol (SIP) Komponente zugreifen können. Dies ist mit bisherigen Implementierungen allerdings nicht möglich. Daher soll eine Art Schnittstellenkomponente entworfen werden, welche den Zugriff auf eine SIP-Komponente durch mehrere Anwendungen koordiniert ermöglicht. Hierbei soll auch die Möglichkeit der Priorisierung von Anforderungen einer Anwendung mit Hilfe einer zusätzlichen PriorityManagement-Komponente berücksichtigt werden (z.B. Notruf). [InstantX-2]
Adaptivität und Fehlertoleranz in Verteilten Systemen (Jörg Domaschka)
FTflex ist ein hochgradig konfigurierbares Framework zur Entwicklung von hochverfügbaren Diensten. Die Dienstimplementierungen basieren dabei weitestgehend auf bekannten Middleware Systemen wie Java RMI und CORBA. Die Verfügbarkeit ist das Ergebnis von replizierten Objekten. Das heißt, statt nur einen entfernten Objekt werden mehrere erzeugt; durch verschieden Protokolle werden die Objektinstanzen zur Laufzeit konsistent gehalten. Die einzelnen Themen sind im Folgenden zusammen mit einer kurzen Beschreibung aufgelistet; weitere Informationen gibt es bei Jörg Domaschka.- Tranparenz: An der Universität Amsterdam wurde eine Technik entwickelt, die es erlaubt, dass Clients Verbindungen zu einer Gruppe von Rechnern herstellen könne, ohne dass bei diesem zusätzliche Software installiert oder bereitgehalten werden muss (Enabling service adaptability with versatile anycast, Versatile Anycasting with Mobile IPv6, A Single-Homed Ad Hoc Distributed Server). Die Verwendung dieser Technik in Ftflex würde den Aufwand auf Client-Seite reduzieren und das Framework für andere Dienste attraktiv machen, wie zum Beispiel WebServices. Zur Synthese beider Systeme wurde ein Konzept erstellt (Entwurf, nur uni-intern), das nun implementiert werden soll.
- Epidemische Algorithmen: Im Praktikum des Sommersemesters 2007 (nur uni-intern) wurde ein total odered Multicast für eine geschlossene Gruppe von Prozessen mit Hilfe eines epidemischen Protokolls implementiert. Aufbauend auf dieser Arbeit soll der Algorithmus so erweitert werden, dass er mit einer sich ändernden Gruppenzusammensetzung zurechtkommt. So soll es zum Beispiel in Zukunft möglich sein ausgefallene Rechner zu erkennen und aus der Gruppe auszuschließen bzw. neue Mitglieder in die Gruppe aufzunehmen.
MW-Entwicklung durch Code-Transformation (Andreas I. Schmied)
Am Institut für Verteilte Systeme wird das Werkzeug
ADKzur Source-to-Source Transformation entwickelt. Gesteuert durch eine Skriptsprache werden nicht-funktionale Eigenschaften in Middleware-gestützte Anwendungen integriert, wobei insbesondere die Komposition mehrerer solcher Eigenschaften oder Aspekte erforscht wird. Weiteres siehe im Aushang bzw. bei Andreas Schmied. Alle Themen sind prinzipiell auch als Paar-Themen von zwei Studierenden gemeinsam zu erarbeiten. Die Themen TR-INT und TR-SEM sind insbesondere als Paar-Thema mit allen anderen kombinierbar.
- Transformationsexperimente: Transformation einer lokalen Versionsverwaltung (o.ä.) in ein verteiltes, repliziertes System [TR-EXP]
In dieser Arbeit soll eine nicht-verteilte, monolithische Anwendung mittels Code-Transformation in ein verteiltes, repliziertes System umgewandelt werden. Hierfür bietet sich ein Programm zur Versionsverwaltung an, das auf eine sehr einfache Schnittstelle reduziert wird. Weitere Vorschläge der Studierenden können anstatt dieses Szenarios berücksichtigt werden. - Erweiterung der Sprachmodelle für Java, IDL oder UML [TR-SEM]
Das ADK ist prinzipiell nicht auf eine bestimmte Sprache festgelegt, sondern unterstützt die gleichzeitige Transformation mehrerer Sprachmodelle. Diese Sprachmodelle basieren alle auf einem gemeinsamen Datenmodell und werden entweder über einen Parser (für Java, IDL, XML) oder ein MOF-Repository (für UML) mit den notwendigen Daten versorgt. In dieser Arbeit kann die Integration der einzelnen Sprachen verbessert werden und die Interaktion von Grammatik und Sprachmodell studiert werden. Tiefe Kenntnisse von Compilerbau-Techniken ist nicht notwendig. - Vergeben:
Erweiterung des Debuggers(ein Eclipse-Plugin) [TR-DEB]
Im letzten Praktikum wurde ein Eclipse-basiertes Debugger-Plugin entwickelt, mit dem man mittels Stepping und Breakpoints die Ausführung eines Transformationsskripts beobachten kann. Gerade für komplexe Transformationen ist es unerlässlich den Überblick über den Fortschritt und temporäre Daten nicht zu verlieren. In dieser Arbeit kann das Plugin an die technische Weiterentwicklung der Eclipse-Plattform angepasst werden und neue Strategien zur Visualisierung der Transformationen ausprobiert werden. Ein leichter Einstieg in die Entwicklung mit Eclipse ist durch gut kommentierten Code des schon bestehenden Debuggers möglich. - Erweiterung des Interpreters der Transformationssprache [TR-INT]
Die Transformationssprache des ADK ist relativ einfach aufgebaut und bietet wenige möglichst orthogonal nutzbare Sprachmerkmale. Im Gegensatz zu den heute üblichen Sprachen ist die ADK-Sprache mengenbasiert, nutzt implizite Iteration und kann mit einer Reihe interessanter Features aufwarten, die sich für die Low-Level-Transformation als äußerst nützlich erweisen. Der prototypische Interpreter kann in dieser Arbeit an vielen interessanten Punkten erweitert werden, z.B. um eine interaktive Konsole. - Reimplementierung des Aspectix IDL-Generators (IDLflex) als Transformationsprozess [TR-IDL]
Am Institut wurde ein flexibel konfigurierbarer Code-Generator IDLflex entwickelt, der für verschiedene Middleware-Systeme Adaptionscode mit spezifischen Anforderungen erzeugen kann. Das ADK ist im Vergleich ein vollwertiger Code-Transformator, der nicht primär textuelle Ausgaben erzeugt, sondern den modifizierten Code zur weiteren Verarbeitung strukturiert in einem Modell vorhält. In dieser Arbeit soll gezeigt werden, dass die Features des IDLflex direkt als Untermenge des ADK umsetzbar sind. Als Nebenprodukt der Arbeit können die Programmiermodelle beider Werkzeuge verglichen werden. - Vergleich und Reimplementierung bestehender AOP-Sprachen als Transformationsprozesse [TR-AOP]
Populäre aspektorientierte Sprache, wie z.B. AspectJ, bieten eine Fülle komplexer Features, um bestehenden Code um Aspektcode zu erweitern. Allerdings ist die Semantik dieser Features oft nicht ausreichend geklärt bzw. die genutzte Codetransformation nicht präzise für weitere Analysen erfassbar. Das ADK bietet sich hier als Low-Level-Werkzeug an, um diese Lücke zu schließen: Die abstrakten Sprachmerkmale von AspectJ können in die ADK-Skriptsprache umgesetzt werden. Damit definiert man einerseits eine translationale Semantik von AspectJ und kann andererseits die Fähigkeiten des ADK zur Analyse von Kompositionen nutzen.
Kooperatives Literaturverwaltungsprogramm (Jörg Domaschka, Jan-Patrick Elsholz)
In diesem Themengebiet geht es um die Entwicklung einer globalen Bibliographie-Datenbank.
Es soll ein System entstehen, in dem Literaturnachweise sinnvoll gemeinsam verwaltet werden können.
Dazu ist zunächst eine Recherche bestehender Literaturverwaltungsprogramme angedacht, um dann ein Konzept für das institutinterne Intranet zu entwickeln.
Anschliessend soll dieses Konzept realisiert werden. Weitere Informationen gibt es bei Jörg Domaschka und Jan-Patrick Elsholz.