[Back]


Diploma and Master Theses (authored and supervised):

Klemens Kraus:
"Java language bindings for extensible virtual shared memory";
Supervisor: E. Kühn; Institut für Computersprachen Programmiersprachen und Übersetzer, 2008.



English abstract:
Extensible virtual shared memory or abbreviated XVSM is a middleware specification that follows the space based
computing paradigm which solves the coordination, transportation and other problems introduced by the
collaboration of independent software processes. This thesis discusses the features of XVSM, compares them to
other standards and technologies like JavaSpaces, CORBA and CORSO and introduces a Java language binding. The
main focus is directed at the before mentioned language binding and this topic is divided into three parts: The design
decisions and goals, a detailed description of the implementation and practical examples and performance
evaluations of example code.
A language binding which serves as an application programming interface of such a new system as XVSM is a
difficult but interesting task. One of the main challenges is the specification which is changing a lot between versions
and requires the API to be very flexible so that these changes can be incorporated quickly and without breaking any
existing software that was written for an older version.
Another major point of consideration is the language integration; the language binding is designed to extend already
existing classes and interfaces wherever possible to minimize the learning time for new programmers because they
can rely that the methods behave as described in the well known base classes.
This also shows results for performance tests of two example applications. Runtime and lines of code needed for the
examples are measured and compared to results of applications solving the same problem written in JavaSpaces,
CORBA and CORSO; The results indicate that the new language binding is competitive in both performance and
lines of code.

German abstract:
Extensible virtual shared memory oder abgekürzt XVSM ist eine Middleware-Spezifikation die dem Ansatz des
"space based computing" folgt; Space based computing wurde entwickelt um Probleme von verteilten Systemen wie
zum Beispiel die Koordination, die Replikation oder den Datentransfer zwischen unabhängigen Prozessen zu lösen.
Diese Diplomarbeit beschäftigt sich mit den Funktionen von XVSM, analysiert und vergleicht diese mit anderen
bekannten Middleware Standards und Systemen wie JavaSpaces, CORBA and CORSO und stellt eine neue stark
abstrahierte Benutzerschnittstelle von XVSM für Java vor.
Der Hauptfokus der Arbeit liegt auf der zuvor genannten Benutzerschnittstelle, wobei dieses Thema in drei
Teilgebiete aufgegliedert ist: Zuerst werden die Vorraussetzungen und Designziele der Schnittstelle analysiert, es
folgt eine detaillierten Beschreibung der Implementierung und der letzte Teil beschäftigt sich mit dem Design und
der Implementierung von Beispielprogrammen und deren Eigenschaften wie Laufzeitverhalten.
Eine Benutzerschnittstelle für ein System, das sich noch in der Entwicklungsphase befindet birgt einige
Herausforderungen: Die größte ist es, die Schnittstelle so flexibel zu halten, so das es möglich ist, auch größere
Änderungen in der Spezifikation von XVSM ohne große Integrationsprobleme einzuführen. Dies wird insbesonders
durch bereits bestehende Software erschwert, die bereits von der Schnittstelle abhängig ist und durch eine Änderung
nicht direkt betroffen werden sollte. Um dieser Anforderung gerecht zu werden, wurde die Benutzerschnittstelle sehr
modular aufgebaut und der Erfolg dieser Maßnahme wurde auch während der Entwicklung der Schnittstelle
ersichtlich.
Ein weiterer wichtiger Punkt ist die Integration der Schnittstelle in die Sprache: Durch eine gute Integration ist es
leicht, sich in die Schnittstelle einzuarbeiten, da das Verhalten vieler Methoden bereits durch Benutzung von
Systemklassen bekannt ist, eine Migration zu anderen Technologien wird so ebenfalls erleichtert, da Interfaces und
Basisklassen von Java verwendet werden können.
Im letzten Abschnitt der Arbeit werden Ergebnisse von Laufzeittests

Created from the Publication Database of the Vienna University of Technology.