dc.contributor.author
Fink, Torsten
dc.date.accessioned
2018-06-07T17:38:56Z
dc.date.available
2003-07-24T00:00:00.649Z
dc.identifier.uri
https://refubium.fu-berlin.de/handle/fub188/4102
dc.identifier.uri
http://dx.doi.org/10.17169/refubium-8302
dc.description
Titelblatt und Inhaltsverzeichnis
1\. Motivation 9
2\. Anforderungen an Koordinationssprachen für verteilte Applikationen 15
3\. Stand der Forschung 27
4\. Wissenschaftlicher Beitrag dieser Arbeit 33
5\. Ein erweiterbarer, architekturbasierter Ansatz 37
6\. Arbeitsablaufbasierte Applikationen 71
7\. Ein Überblick über Amica 81
8\. Datenverwaltung in Amica 89
9\. Berechnungen in Amica 101
10\. Amica-Fallstudien 121
11\. Architekturbasierte Konfiguration verteilter Informations- und
Kontrollsysteme 141
12\. Konfiguration CORBA-basierter Applikationen 161
13\. Beispiele verteilter CORBA-basierter Applikationen 175
14\. Diskussion und offene Punkte 185
15\. Zusammenfassung 189
A. Benutzungsanleitung 193
B. Zusammenfassung der Ergebnisse 203
C. Lebenslauf 205
D. Erklärung 207
Abbildungsverzeichnis 209
Literaturverzeichnis 213
dc.description.abstract
Aufgrund der hohen Dynamik und Heterogenität in verteilten Systemen ist die
Entwicklung von Applikationen für solche Systeme aufwendig und schwierig.
Daher ist eine Vielzahl von Werkzeugen entstanden, welche den
Anwendungsentwickler bei seiner Tätigkeit unterstützen. Anhand der Art der
Unterstützung lassen sich diese Werkzeuge in die drei Klassen Middleware-
Systeme, Komponentensysteme und Koordinationssprachen unterteilen.
Es gibt mehrere Koordinationssysteme, die verschiedene dieser Werkzeuge zu
einem Gesamtentwicklungssystem integrieren. Dieses ermöglicht es dann,
verteilte Applikation durch Komposition heterogener Komponenten zu entwickeln.
Um eine Erweiterbarkeit zu unterstützen, besitzt ein solches
Entwicklungssystem i.a. eine Schichtenarchitektur. D.h., eine Applikation wird
zuerst von einer speziellen, Applikationsklassen-abhängigen Schicht auf eine
allgemeine Schicht abgebildet und diese dann auf das Zielsystem. Bei diesem
Ansatz werden allerdings die Zielsystem-spezifischen Eigenschaften vor dem
Entwickler verborgen, da sie i.a. nicht in der Zwischenschicht repräsentiert
werden können. Dadurch können diese Fähigkeiten, die evtl. Potenzial für eine
höhere Leistung der Applikation besitzen, nicht genutzt werden.
In dieser Arbeit wird der modular erweiterbare Rahmen ECL vorgestellt, der die
Erstellung von oben beschriebenen Entwicklungssystemen mit einem zugehörigen
Laufzeitsystem ermöglicht. Der Rahmen enthält keine Beschränkungen bzgl. der
unterstützbaren Zielsysteme und Koordinationsparadigmen und eignet sich damit
als Grundlage für beliebige Applikationsklassen.
Die Freiheit von Beschränkungen ergibt sich daraus, dass ECL kein allgemeines
semantisches Modell besitzt, auf das alle Erweiterungen abgebildet werden
müssen. Die einzige Einschränkung ist syntaktisch und besteht aus dem Einsatz
einer Architekturbeschreibungssprache, so dass eine verteilte Applikation
stets als statische Software-Architektur darstellbar ist.
Der Rahmen wird durch die Kombination mit Erweiterungsmodulen zu einem
Entwicklungssystem, mit dem ein Applikationsentwickler verteilte Applikationen
unter Einsatz eines grafischen Editors implementieren kann. Ein
Erweiterungsmodul kann sowohl bestimmte Zielsysteme als auch bestimmte
Koordinationsparadigmen unterstützen.
Hierfür enthält ein Erweiterungsmodul sowohl syntaktische als auch semantische
Erweiterungen, die in den Rahmen integriert werden. Die syntaktischen
Erweiterungen bestehen aus neuen Typen für Architekturelemente. Die
semantischen Erweiterungen liegen in Form von Java-Klassen vor. Diese werden
benutzt, um eine Applikationsarchitektur zu einem Geflecht von Java-Objekten
zu übersetzen, welche dann zur Laufzeit die Koordination der einzelnen
Applikationskomponenten durchführen.
Bei der Erstellung neuer Erweiterungsmodule können unter Einsatz von
Vererbungsmechanismen vorhandene Erweiterungsmodule benutzt werden. Dies
ermöglicht die Erstellung abstrakter Module, welche ein allgemeines
Koordinationsparadigma unterstützen. Anhand verschiedener konkreter
Implementierungen wurden Erfahrungswerte gewonnen, die als Entwurfsrichtlinien
formuliert wurden.
Die allgemeine Praxistauglichkeit des System für den Anwendungsentwickler
wurde anhand mehrerer Fallstudien evaluiert. Diese stammen aus zwei
Applikationsklassen: verteilte Informations- und Kontrollsysteme und
rechenintensive numerische Applikationen.
Es konnte demonstriert werden, dass sich aufgrund der komfortablen grafischen
Entwicklungsumgebung der Entwicklungsaufwand für den Applikationsentwickler
deutlich reduziert, da er sich nur wenig mit technischen
Implementierungsdetails beschäftigen muss. Der durch den Einsatz des Systems
zusätzlich auftretende Rechen- und Kommunikationsaufwand war bei allen
Fallstudien vernachlässigbar.
de
dc.description.abstract
The dynamic and heterogeneous nature of distributed systems makes the
development of distributed applications a difficult task. Various tools, such
as middleware systems, component systems, and coordination languages, offer
support to the application developer at different levels.
There are several coordination systems that integrate such tools into a
complete environment to build applications from heterogeneous components. To
achieve extensibility they usually have a layered architecture: An application
is first mapped to a middle layer and then to a target system. But this
approach hides the specific features of a target system from the developer, as
they are not represented in the middle layer, and often induces additional
run-time overhead.
In this thesis the extensible coordination framework ECL is introduced that
allows developers to build efficient distributed applications which exploit
the specific features of the target systems. The framework can support every
coordination paradigm and, thus, is not restricted to any application domain.
The framework is free of any restrictions because it is not bound to a
specific semantic model. The only restriction is syntactical: an architecture
description language is used as middle layer. Every distributed application in
ECL is represented by a static software architecture.
In combination with extension modules the framework becomes an integrated
development environment for distributed applications. The developer can use a
graphical editor to compose an application from components and to adapt the
single components. An extension module can support specific application
domains as well as specific target systems and generic coordination paradigms.
An extension module contains syntactical and semantical extensions which are
integrated into the framework. The syntactical extensions consists of new
architecture element types. The semantical extensions are Java classes. These
classes are used to compile an application given as software architecture to a
set of interconnected Java objects. At runtime this set of objects perform the
coordination of the single application components.
A new extension module can reuse existing modules using inheritance
mechanisms. This allows the developer to create an abstract extension module
that contains a generic coordination paradigm. Experiences were gained through
the implementation of several modules. They were used to formulate a set of
guidelines for the design of extension modules.
The benefits of the system for the application developer was evaluated by
several case studies. These studies belong to two different application
domains: distributed information and control systems, and computationally
intensive applications. It was shown that, because of the comfortable
graphical environment, the effort for the implementation of distributed
applications could be significantly reduced. This is because using the system
the developer only must know the principles of the used systems. He does not
need to know all the technical details. In addition, the additional
computation and communication overhead of the ECL system was negligible in all
case studies.
en
dc.rights.uri
http://www.fu-berlin.de/sites/refubium/rechtliches/Nutzungsbedingungen
dc.subject
coordination language
dc.subject
distributed systems
dc.subject
software architecture
dc.subject.ddc
000 Informatik, Informationswissenschaft, allgemeine Werke::000 Informatik, Wissen, Systeme::004 Datenverarbeitung; Informatik
dc.title
Ein modular erweiterbarer Rahmen für Koordinationssprachen
dc.contributor.firstReferee
Prof. Peter Löhr
dc.contributor.furtherReferee
Prof. Wolfgang Schröder-Preikschat
dc.date.accepted
2003-07-04
dc.date.embargoEnd
2003-07-28
dc.identifier.urn
urn:nbn:de:kobv:188-2003001823
dc.title.translated
A modular extensible framework for coordination languages
en
refubium.affiliation
Mathematik und Informatik
de
refubium.mycore.fudocsId
FUDISS_thesis_000000001019
refubium.mycore.transfer
http://www.diss.fu-berlin.de/2003/182/
refubium.mycore.derivateId
FUDISS_derivate_000000001019
dcterms.accessRights.dnb
free
dcterms.accessRights.openaire
open access