dc.contributor.author
Spiegel, André
dc.date.accessioned
2018-06-07T23:37:58Z
dc.date.available
2003-07-03T00:00:00.649Z
dc.identifier.uri
https://refubium.fu-berlin.de/handle/fub188/10755
dc.identifier.uri
http://dx.doi.org/10.17169/refubium-14953
dc.description
Title, Acknowledgements, Contents
1
1
Introduction
7
2
Distributed Object Systems: An Evolutionary Perspective
13
3
Pangaea
55
4
Case Studies
99
5
Conclusions
113
Index
119
Bibliography
123
dc.description.abstract
This dissertation shows that it is both desirable and feasible to distribute
object-oriented programs automatically, and that static analysis of a
program's source code is an indispensable means to that end. To demonstrate
this, we have built a system named Pangaea, which analyzes the source code of
Java programs, and distributes them automatically using arbitrary middleware
platforms as a back-end. At run-time, Pangaea uses a generic migration
subsystem that can monitor the interactions between selected objects and may
migrate them automatically to reduce network communication, thus complementing
the static placement decisions.
This thesis makes three main research contributions. The first is a set of
static analysis algorithms that allow our system to estimate a program's run-
time structure and dynamic behavior. Based on this information, abstract
distribution strategies for the program can be selected and specified, which
is done partly by the programmer, and partly by automatic tools that assist
him. The second contribution is that we show how the abstract distribution
strategy can be implemented automatically on a given middleware platform.
Pangaea achieves this by re-generating the source code of the centralized
program, changing or adding whatever is necessary to express the distribution
strategy that was specified during analysis. We can thus consider Pangaea a
distributing compiler: the input language of this compiler is Java, and the
target language is the particular Java dialect or configuration language
required by the middleware platform to be used. The third contribution is that
we show how a generic run-time system can monitor interactions between
objects, and re-adjust their placement automatically. Our implementation and
case studies allow us to evaluate the cost of such a migration system,
suggesting to which extent it is useful and necessary to complement static
analysis.
de
dc.description.abstract
Diese Dissertation zeigt, daß es sowohl wünschenswert als auch möglich ist,
objekt-orientierte Programme automatisch zu verteilen, und daß statische
Analyse des Programmcodes dazu ein unabdingbares Mittel ist. Um dies zu zeigen
haben wir ein System namens Pangaea gebaut, das den Quelltext von Java
Programmen analysiert, und sie unter Verwendung beliebiger Middleware-
Plattformen automatisch verteilt. Zur Laufzeit verwendet Pangaea ein
generisches Migrationssystem, das die Interaktionen zwischen ausgewählten
Objekten überwachen kann, und diese bei Bedarf automatisch migriert, um die
Netzwerk-Kommunikation zu minimieren. Die während der Analyse getroffenen
statischen Platzierungsentscheidungen werden so dynamisch ergänzt.
Diese Dissertation enthält drei hauptsächliche Forschungsbeiträge. Der erste
ist eine Gruppe statischer Analysealgorithmen, die unserem System erlauben,
die Laufzeitstruktur eines Programms und sein dynamisches Verhalten
abzuschätzen. Auf der Grundlage dieser Information können abstrakte
Verteilungsstrategien für das Programm ausgewählt und spezifiziert werden; zum
Teil macht dies der Programmieren von Hand, zum Teil wird er dabei von
automatischen Werkzeugen unterstützt. Der zweite Beitrag besteht darin, daß
wir zeigen, wie die abstrakte Verteilungsstrategie auf einer gegebenen
Middleware-Plattform automatisch implementiert werden kann. Pangaea erreicht
dies, indem es den Quelltext des zentralisierten Programms neu generiert, und
ihn dabei so abändert und ergänzt, daß die gewünschte Verteilungsstrategie
ausgedrückt wird. Wir können Pangaea daher als einen verteilenden Übersetzer
betrachten: Die Quellsprache dieses Übersetzers ist Java, die Zielsprache ist
der spezielle Java-Dialekt oder die Konfigurationssprache der zu verwendenden
Middleware-Plattform. Der dritte Beitrag ist, daß wir zeigen, wie ein
generisches Laufzeitsystem Interaktionen zwischen Objekten überwachen und ihre
Platzierung automatisch anpassen kann. Unsere Implementierung und Fallstudien
erlauben uns, die Kosten eines solchen Migrationssystems zu bestimmen, um
abzuschätzen in welchem Umfang solche Systeme sinnvoll und notwendig sind, um
die statische Analyse zu ergänzen.
de
dc.rights.uri
http://www.fu-berlin.de/sites/refubium/rechtliches/Nutzungsbedingungen
dc.subject
Object-Orientation
dc.subject
Static Analysis
dc.subject.ddc
500 Naturwissenschaften und Mathematik::510 Mathematik::510 Mathematik
dc.title
Automatic Distribution of Object-Oriented Programs
dc.contributor.firstReferee
Prof. Klaus-Peter Löhr
dc.contributor.furtherReferee
Prof. Henri E. Bal
dc.date.accepted
2002-12-13
dc.date.embargoEnd
2003-07-04
dc.identifier.urn
urn:nbn:de:kobv:188-2003001557
dc.title.translated
Automatische Verteilung Objekt-Orientierter Programme
de
refubium.affiliation
Mathematik und Informatik
de
refubium.mycore.fudocsId
FUDISS_thesis_000000000988
refubium.mycore.transfer
http://www.diss.fu-berlin.de/2003/155/
refubium.mycore.derivateId
FUDISS_derivate_000000000988
dcterms.accessRights.dnb
free
dcterms.accessRights.openaire
open access