1 Persistent Languages: Introduction and Overview --;1.1 Language Design: Introduction and State of the Art --;1.1.1 Higher-Order Persistent Polymorphic Programming in Tycoon --;1.1.2 Fibonacci: A Programming Language for Object Databases --;1.1.3 The Napier88 Persistent Programming Language and Environment --;1.2 Linguistic Reflection: Introduction and State of the Art --;1.2.1 Type-Safe Linguistic Reflection: A Generator Technology --;1.2.2 Type-Safe Linguistic Run-time Reflection: A Practical Perspective --;1.3 Type Systems: Introduction and State of the Art --;1.3.1 A Calculus for Overloaded Functions with Subtyping --;1.3.2 Protection in Persistent Object Systems --;1.3.3 Subtyping and Assignment in Database Programming Languages --;1.4 Bulk Types and Iterators: Introduction and State of the Art --;1.4.1 The Joy of Sets --;1.4.2 Bulk Types: Built-In or Add-On? --;1.4.3 Extensible Objects for Database Evolution: Language Features and Implementation Issues --;1.5 Concurrency and Transactions: Introduction and State of the Art --;1.5.1 Specifying Flexible Concurrency Control Schemes: an Abstract Operational Approach --;1.5.2 Persistent Threads --;2 Persistent Support Systems: Introduction and Overview --;2.1 Architecture and Abstract Machines: Introduction and State of the Art --;2.1.1 Persistent Foundations for Scalable Multi-Paradigmal Systems --;2.1.2 The DBPL Project: Advances in Modular Database Programming --;2.1.3 The PamCase Machine --;2.1.4 Tycoon: A Scalable and Interoperable Persistent System Environment --;2.2 Object Store Design: Introduction and State of the Art --;2.2.1 An Open System Architecture for a Persistent Object Store --;2.2.2 Overview of PIOS: a Physically Independent Object Server --;2.2.3 Efficient Incremental Garbage Collection for Client-Server Object Database Systems --;2.2.4 Towards a Unified Model of Untyped Object Stores: Experience with the Tycoon Store Protocol --;2.2.5 Measuring Persistent Object Systems --;2.3 Implementation Techniques: Introduction and State of the Art --;2.3.1 Concurrent Shadow Paging in the Flask Architecture --;2.3.2 Locking in OODBMS Clients Supporting Nested Transactions --;2.3.3 Query Processing in PIOS --;2.3.4 Optimization of Nested Queries in Object Bases --;2.3.5 Integrating Query and Program Optimization Using Persistent CPS Representations --;2.3.6 An ad hoc Approach to the Implementation of Polymorphism --;3 Using Persistent Languages: Introduction and Overview --;3.1 Persistent Programming Environments: Introduction and State of the Art --;3.1.1 Exploiting Persistent Linkage in Software Engineering Environments --;3.1.2 Using Persistence Technology to Control Schema Evolution --;3.1.3 Unifying Interaction with Persistent Data and Program --;3.1.4 The Persistent Workshop: Programming Environment for Napier88 --;3.1.5 The Glasgow Persistent Libraries --;3.1.6 Visualising Persistent Stores --;3.2 Data Modelling: Introduction and State of the Art --;3.2.1 Application Development using Data Modelling --;3.2.2 The STYLE Workbench: Systematics of Typed Language Environments --;3.2.3 Using Extensible Grammars for Data Modelling --;3.3 Interoperability: Introduction and State of the Art --;3.3.1 Querying the File --;3.3.2 Updating the File --;3.3.3 Lean Languages and Models: Towards an Interoperable Kernel for Persistent Object Systems --;List of Contributors.
SUMMARY OR ABSTRACT
Text of Note
This book presents the work of researchers in the Esprit Fully Integrated Data Environments (FIDE) projects which had the goal of substantially improving the quality of complex application systems while massively reducing the cost of building and maintaining them.