1 Einführung und Motivation.- 1.1 Anforderungen an persistente Objektsysteme.- 1.2 Ansätze zur Verbesserung der Qualität persistenter Objektsysteme.- 2 Sprachen und Systeme zur Programmierung persistenter Objektsysteme.- 2.1 Datenbankprogrammierung: Sprachen und Konzepte.- 2.1.1 Typorientierte Datenbankprogrammiersprachen.- 2.1.2 Logikbasierte und funktionale Datenbanksprachen.- 2.1.3 Objekt-orientierte Sprachen und Systeme.- 2.2 Programmierumgebungen für persistente Objektsysteme.- 2.2.1 Lose Kopplung durch Wirtspracheneinbettung.- 2.2.2 Systemintegration in Datenbankprogrammiersprachen.- 2.2.3 Systemtechnische Vereinfachungen in persistenten Systemen.- 3 Tycoon: Ein Modell- und Systemüberblick.- 3.1 Das Tycoon System und seine Komponenten.- 3.2 Zur sprachlichen Ausgestaltung der Sprache Tl.- 3.3 Das Tycoon Programmierszenario.- 4 Ein Sprachkern zur generischen Benennung, Bindung und Typisierung.- 4.1 Lexikalische und syntaktische Regeln.- 4.2 Benennung und Typisierung vordefinierter Werte und Funktionen.- 4.3 Benennung, Bindung und Typisierung benutzerdefinierter Werte.- 4.3.1 Statische Bindungen.- 4.3.2 Dynamische Bindungen.- 4.3.3 Funktionen höherer Ordnung.- 4.4 Vordefinierte Wertkonstruktoren und Wertselektoren.- 4.4.1 Tupel und Feldselektion.- 4.4.2 Varianten und Variantenprojektion.- 4.4.3 Records, Recorderweiterung und Recordfeldselektion . ..- 4.5 Typkompatibilität und Subtypbeziehungen.- 4.5.1 Subtypisierung zwischen Tupeltypen.- 4.5.2 Subtypisierung zwischen Funktionstypen.- 4.5.3 Subtypisierung zwischen Recordtypen.- 4.6 Benennung, Bindung und Metatypisierung benutzerdefinierter Typen.- 4.6.1 Statische Bindungen und Typabstraktion.- 4.6.2 Dynamische Bindungen.- 4.6.2.1 Polymorphe Punktionen und generische Module.- 4.6.2.2 Typoperatoren.- 4.6.2.3 Dynamische Typisierung.- 4.6.3 Rekursive Typbindungen: Korrektheit und Entscheidbarkeit.- 4.6.3.1 Beispiele rekursiver Typbindungen.- 4.6.3.2 Nicht-parametrisierte rekursive Typen.- 4.6.3.3 Rekursive Typoperatoren.- 5 Generische Programmierung persistenter Objektsysteme.- 5.1 Imperative Programmierung.- 5.1.1 Mutabilität und Zuweisungen.- 5.1.2 Kontrollstrukturen und Ausnahmebehandlung.- 5.1.3 Subtypisierungsregeln für veränderliche Bindungen.- 5.1.4 Felder und Feldindizierung.- 5.2 Objekt-orientierte Programmierung.- 5.2.1 Von modularer zu objekt-orientierter Programmierung ..- 5.2.2 Inkrementelle Softwareentwicklung, Subtypisierung und Vererbung.- 5.2.3 Objektidentität.- 5.2.4 Dynamische Bindung von Selbstnachrichten.- 5.3 Logikbasierte Programmierung.- 5.4 Programmierung im Großen.- 5.4.1 Module, Schnittstellen und Importbeziehungen.- 5.4.2 Typbindungen in Signaturen.- 5.4.3 Bindung an externe Funktionen.- 5.4.4 Ein Persistenzmodell für Tl.- 6 Definition der statischen Tl Sprachsemantik.- 6.1 Zur Formalisierung der Tl Sprachdefinition.- 6.2 Konsistenzbedingungen auf Tl Programmen.- 6.3 Normalisierung von Tl Programmen.- 6.4 Die abstrakte Syntax für Tl.- 6.5 Überblick über die verwendeten Notationen.- 6.5.1 Substitutionen.- 6.5.2 Qualifizierte Typvariablen.- 6.5.3 Kontraktive Typen.- 6.6 Ausgewählte Beispiele und Diskussion der Tl Typregeln.- 6.7 Sichtbarkeitsregeln in de Bruijn Notation.- 6.8 Ein Algorithmus zur Typüberprüfung.- 7 Eine portable untypisierte Zwischensprache.- 7.1 Überblick über das Tml Maschinenmodell.- 7.2 Syntaktische Objekte in Tml.- 7.3 Semantische Objekte und Objektspeicherstrukturen.- 7.4 Strukturelle operationale Semantik von Tml.- 7.5 Transformation von Tl Termen in Tml Terme.- 7.5.1 Variablenallokation.- 7.5.2 Übersetzung von Ausdrücken.- 7.6 Eine portable Abstrakte Maschine für Tml.- 7.7 Übersetzung von Tml Termen in Maschinenkode.- 8 Eine modellunabhängige Objektspeicherschnittstelle.- 8.1 Portable Datenrepräsentation.- 8.2 Portable Programmrepräsentation.- 8.3 Interaktion zwischen Tml Evaluatoren und dem Objekt Speicher.- 9 Innovative Tycoon Bibliotheksabstraktionen.- 9.1 Iterationsabstraktion über generalisierte Massendaten.- 9.2 Transaktionale Datenbankprogrammierung.- 9.3 Direkte graphische Manipulation komplexer Objekte.- 9.4 Eine strikt typisierte generische SQL Schnittstelle.- 9.5 Benutzerdefinierte Grammatiken.- 9.6 Implementierung der Tycoon Sprachprozessoren.- A Die Programmiersprache Tl.- A.1 Syntaktische Konventionen.- A.2 Symbole.- A.3 Reservierte Schlüsselworte.- A.4 Produktionen.- A.4.1 Kompilationseinheiten.- A.4.2 Bindungen.- A.4.3 Werte.- A.4.4 Signaturen.- A.4.5 Typen.- A.4.6 Bezeichner.- A.5 Die TL Typregeln.- A.5.1 Wohlgeformte Signaturen.- A.5.2 Wohlgeformte Typen.- A.5.3 Wert- und Typsignaturen.- A.5.4 Subsignaturen.- A.5.5 Subtypen.- A.5.6 Signaturen von Bindungen.- A.5.7 Typen von Werten.- A.5.8 Restriktionen.- B Ausgewählte Schnittstellen der Tycoon Standardbibliothek.- C Die Tycoon Maschine.- C.1 Datenrepräsentation (Modul “data”).- C.2 Programmrepräsentation (Modul “code”).- C.3 Objektspeicherschnittstelle (Modul “störe”).- C.4 Evaluatoren und Evaluationszustände (Modul “thread”).