Objects in Oz [Elektronische Ressource] / Martin Henz
225 pages
Deutsch

Objects in Oz [Elektronische Ressource] / Martin Henz

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
225 pages
Deutsch
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Sujets

Informations

Publié par
Publié le 01 janvier 2004
Nombre de lectures 11
Langue Deutsch

Extrait

Objects in Oz
Martin Henz
Dissertation
zur Erlangung des Grades
des Doktors der Naturwissenschaften
der Technischen Fakultat¨
der Universitat¨ des Saarlandes
Saarbruck¨ en
Mai 1997
Objects in Oz
Objects
in
Ozii
Zur Beurteilung der vorliegenden Dissertation wurden vom Promotionsausschuss
der Technischen Fakultat¨ unter der Leitung ihres Dekans Professor Dr. Alexander
Koch als Berichterstatter die Professoren Dr. Gert Smolka und Dr. Seif Haridi
bestellt.
Das Kolloquium zur Promotion fand am 23. Juni 1997 in Saarbruck¨ en statt.Zusammenfassung
Die Programmiersprache Oz verbindet die Paradigmen der imperativen, funk-
tionalen und nebenlaufigen¨ Constraint-Programmierung in einem koharenten¨
Berechnungsmodell. Oz unterstutzt¨ zustandsbehaftete Programmierung, Pro-
grammierung hoherer¨ Ordnung mit lexikalischer Bindung und explizite Nebenlau-¨
figkeit, die mithilfe logischer Variablen synchroniziert werden kann.
In der Softwarepraxis hat sich mit der objekt-orientierten Programmierung ein
weiteres Programmierparadigma etabliert. In der vorliegenden Arbeit beschaftige¨
ich mich mit der Frage, wie objekt-orientierte Programmierung in geeigneter
Weise in Oz unterstutzt¨ werden kann. Ich stelle ein einfaches und doch aus-
drucksstarkes Objektsystem vor, belege seine Benutzbarkeit und umreiße seine
effiziente Implementierung.
Ein zentraler Aspekt der Programmiersprache Oz ist ihre Unterstutzung¨
nebenlaufiger¨ Berechnung. Infolgedessen nimmt die Untersuchung des Ein-
flusses der Nebenlaufigk¨ eit auf das Design des Objektsystems einen besonderen
Rang ein. Ich untersuche die Moglichk¨ eiten, die das Objektsystem bietet, um
nebenlaufige¨ objekt-orientierte Programmiertechniken auszudruck¨ en.Ausfuhrliche¨ Zusammenfassung
Die Programmiersprache Oz verbindet die Paradigmen der imperativen, funk-
tionalen und nebenlaufigen¨ Constraint-Programmierung in einem koharenten¨
Berechnungsmodell. Oz unterstutzt¨ zustandsbehaftete Programmierung, Pro-
grammierung hoherer¨ Ordnung mit lexikalischer Bindung und explizite Nebenlau-¨
figkeit, die mithilfe logischer Variablen synchroniziert werden kann.
In der Softwarepraxis hat sich mit der objekt-orientierten Programmierung ein
weiteres Programmierparadigma etabliert. In der vorliegenden Arbeit beschaftige¨
ich mich mit der Frage, wie objekt-orientierte Programmierung in geeigneter
Weise in Oz unterstutzt¨ werden kann. Ich stelle ein einfaches und doch aus-
drucksstarkes Objektsystem vor, belege seine Benutzbarkeit und umreiße seine
effiziente Implementierung.
Ein zentraler Aspekt der Programmiersprache Oz ist ihre Unterstutzung¨
nebenlaufiger¨ Berechnung. Infolgedessen nimmt die Untersuchung des Ein-
flusses der Nebenlaufigk¨ eit auf das Design des Objektsystems einen besonderen
Rang ein. Ich untersuche die Moglichk¨ eiten, die das Objektsystem bietet, um
nebenlaufige¨ objekt-orientierte Programmiertechniken auszudruck¨ en.
Die Dissertation bietet die erste ausfuhrliche¨ Behandlung objekt-orientierter
Programmierung in einem Berechnungsmodell, das Zustand mit explizit neben-
laufiger¨ Constraint-Programmierung verbindet. Programmiersprache Oz erof¨ fnet
durch zustandsbehaftete Programmierung und Programmierung hoherer¨ Ordnung
Moglichk¨ eiten, die weit uber¨ die bisherigen Ansatze¨ fur¨ Objekte in nebenlaufigen¨
Constraint-Sprachen hinausgehen. Programmiertechniken aus imperativer und
funktionaler Programmierung konnen¨ zur Integration objekt-orientierter Program-
mierung genutzt werden. Daher bestehen wesentliche Beitrage¨ der Dissertation
¨aus der Ubertragung und Anpassung solcher Techniken in das Berechnungsmodell
von Oz. Die Beitrage¨ der Dissertation liegen in den Bereichen des Sprachdesigns,
der nebenlaufigen¨ Programmierung und der Implementierung von Programmier-
sprachen.
Sprachdesign. Der zentrale Beitrag der Dissertation besteht in der Entwick-
lung eines einfachen und doch ausdrucksmachtigen¨ Modells zur objekt-
orientierten Programmierung in einer Constraint-Sprache hoherer¨ Ord-
nung mit expliziter Nebenlaufigk¨ eit. Durch zustandsbehaftete Program-
mierung erof¨ fnet sich die Moglichk¨ eit, konventionelle objekt-orientierte
Programmierung in ein solches Programmiermodell zu integrieren. Objekt-
orientierte Programmiertechniken aus zustandsbehafteter funktionaler Pro-grammierung werden an die Kontroll- und Datenstrukturen von Oz ange-
paßt.
Die direkte Unterstutzung¨ von Namen in Oz bietet - zusammen mit
der lexikalischen Bindung von Programmbezeichnern - die Moglichk¨ eit,
wichtige objekt-orientierte Konzepte wie private Attribute und Methoden
direkt auszudruck¨ en. Bisher wurden diese Konzepte in objekt-orientierten
Sprachen durch ad-hoc Konstruktionen realiziert.
Nebenlaufige¨ Programmierung. Ich zeige, daß die Kombination von logischen
Variablen mit Zustand machtige¨ Ausdrucksmittel zur nebenlaufigen¨ Pro-
grammierung bietet. Diese Mittel benutze ich, um hohe Programmierab-
straktionen wie etwa “thread-reentrant locking” auszudruck¨ en.
Allen bisher benutzten Modellen zur objekt-orientierten Programmierung in
nebenlaufigen¨ Constraint-Sprachen liegt das Konzept des aktiven Objektes
zugrunde. Ich stelle diesem das Konzept des passiven Objektes gegenuber¨
¨und biete starke Evidenz fur¨ die Uberlegenheit des letzteren als Basis fur¨
nebenlaufige¨ Objekte.
Praktisch keine konventionelle objekt-orientierte Sprache bietet Botschaften
als emanzipierte Datenstrukturen. Ich zeige, daß emanzipierte
eine einfache Integration aktiver Objekte auf der Basis passiver Objekte
erlaubt und daher eine wichtige Komponente fur¨ nebenlaufige¨ objekt-
orientierte Programmierung darstellt.
Ich stelle ein Meta-Objekt-Protokoll fur¨ Oz vor, das eine flexible Expe-
rimentierplattform zur nebenlaufigen¨ objekt-orientierten Programmierung
bietet.
Implementierung von Programmiersprachen. Ich gebe die erste detaillierte
Beschreibung an, wie objekt-orientierte Programmierung in eine existieren-
de Abstrakte Maschine einer nicht-objekt-orientierten Sprache effizient in-
tegriert werden kann. Ich zeige, daß die Performanz moderner objekt-
orientierter Programmiersysteme durch einige chirurgische Eingriffe in eine
solche Abstrakte Maschine erreicht werden kann.
Eine neue Technik wird vorgestellt, mit deren Hilfe emanzipierte Botschaf-
ten implementiert werden konnen,¨ ohne daß ein Performanzverlust entsteht,
wenn diese nicht benutzt werden. Diese Technik ist wesentlich fur¨ die Prak-
tikalitat¨ der Darstellung aktiver Objekte auf der Basis passiver Objekte.Abstract
The programming language Oz integrates the paradigms of imperative, functional
and concurrent constraint programming in a computational framework of unprece-
dented breadth, featuring stateful programming through cells, lexically scoped
higher-order programming, and explicit concurrency synchronized by logic vari-
ables.
Object-oriented programming is another paradigm that provides a set of con-
cepts useful in software practice. In this thesis we address the question how
object-oriented programming can be suitably supported in Oz. As a lexically
scoped higher-order language, Oz can express a wide range of object-oriented
concepts. We present a simple yet expressive object system, demonstrate its us-
ability and outline an efficient implementation. A central aspect of Oz is its sup-
port for concurrent computation. We examine the impact of concurrency on the
design of an object system and explore the use of objects in concurrent program-
ming.To Kelly

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents