ISBN: 3-540-65772-X
TITLE: Fully Integrated Data Environments
AUTHOR: Atkinson, Malcolm P.; Welland, Ray (Eds.)
TOC:

Introduction 1
Malcolm P. Atkinson
1 Persistent Languages: Introduction and Overview 5
Ron Morrison
1.1 Language Design: Introduction and State of the Art 9
Antonio Albano
1.1.1 Higher-Order Persistent Polymorphic Programming in Tycoon 13
Florian Matthes
1.1.2 Fibonacci: A Programming Language for Object Databases 60
Antonio Albano, Giorgio Ghelli, Remo Orsini
1.1.3 The Napier88 Persistent Programming Language and Environment 98
Ron Morrison, Richard Connor, Graham Kirby, David Munro, Malcolm P. Atkinson, Quintin Cutts, Fred Brown, Alan Dearle
1.2 Linguistic Reflection: Introduction and State of the Art 155
Ron Morrison
1.2.1 Type-Safe Linguistic Reflection: A Generator Technology 158
David Stemple, Leo Fegaras, Robin Stanton. Tim Sheard, Paul C. Philbrow, Richard Cooper, Malcolm P. Atkinson, Ron Morrison, Graham Kirby, Richard Connor, Suad Alagic
1.2.2 Type-Safe Linguistic Run-time Reflection: A Practical Perspective 189
Richard Cooper, Graham Kirby
1.3 Type Systems: Introduction and State of the Art 193
Richard Connor, Giorgio Ghelli
1.3.1 A Calculus for Overloaded Functions with Subtyping 196
Giuseppe Castagna, Giorgio Ghelli, Giuseppe Longo
1.3.2 Protection in Persistent Object Systems 234
Ron Morrison, Fred Brown, Richard Connor, Quintin Cutts, Graham Kirby, Alan Dearle, John Rosenberg, David Stemple
1.3.3 Subtyping and Assignment in Database Programming Languages 238
Richard Connor, David McNally, Ron Morrison
1.4 Bulk Types and Iterators: Introduction and State of the Art 241
Florian Matthes
1.4.1 The Joy of Sets 245
Richard Connor, Malcolm P. Atkinson, Sonia Berman, Quintin Cutts, Graham Kirby, Ron Morrison
1.4.2 Bulk Types: Built-In or Add-On? 257
Florian Matthes, Joachim W. Schmidt
1.4.3 Extensible Objects for Database Evolution: Language Features and Implementation Issues 262
Antonio Albano, Milena Diotallevi, Giorgio Ghelli
1.5 Concurrency and Transactions: Introduction and State of the Art 283
Ron Morrison
1.5.1 Specifying Flexible Concurrency Control Schemes: an Abstract Operational Approach 286
David Stemple, Ron Morrison
1.5.2 Persistent Threads 290
Florian Matthes, Joachim W. Schmidt
2 Persistent Support Systems: Introduction and Overview 297
Florian Matthes
2.1 Architecture and Abstract Machines: Introduction and State of the Art 303
Malcolm P. Atkinson
2.1.1 Persistent Foundations for Scalable Multi-Paradigmal Systems 310
Malcolm P. Atkinson
2.1.2 The DBPL Project: Advances in Modular Database Programming 341
Joachim W. Schmidt, Florian Matthes
2.1.3 The PamCase Machine 346
Quintin Cutts, Richard Connor. Ron Morrison
2.1.4 Tycoon: A Scalable and Interoperable Persistent System Environment 365
Florian Matthes, Gerald Schrder, Joachim W. Schmidt
2.2 Object Store Design: Introduction and State of the Art 383
Fausto Rabitti
2.2.1 An Open System Architecture for a Persistent Object Store 387
Fred Brown, Giovanni Mainetto, Florian Matthes, Rainer Mller, David McNally
2.2.2 Overview of PIOS: a Physically Independent Object Server 391
Giuseppe Amato, Salvatore Biscari, Giovanni Mainetto, Fausto Rabitti
2.2.3 Efficient Incremental Garbage Collection for Client-Server Object Database Systems 427
Laurent Amsaleg, Michael Franklin, Olivier Gruber
2.2.4 Towards a Unified Model of Untyped Object Stores: Experience with the Tycoon Store Protocol 431
Florian Matthes, Rainer Mller, Joachim W. Schmidt
2.2.5 Measuring Persistent Object Systems 434
Malcolm P. Atkinson, Anthony Birnie, Niall Jackson, Paul C. Philbrow
2.3 Implementation Techniques: Introduction and State of the Art 439
Ron Morrison
2.3.1 Concurrent Shadow Paging in the Flask Architecture 442
David Munro, Richard Connor, Ron Morrison, Stephan Scheuerl, David Stemple
2.3.2 Locking in OODBMS Clients Supporting Nested Transactions 446
Laurent Dayn es, Olivier Gruber, Patrick Valduriez
2.3.3 Query Processing in PIOS 462
Fausto Rabitti, Leonardo Benedetti, Federico Demi
2.3.4 Optimization of Nested Queries in Object Bases 481
Sophie Cluet, Guido Moerkotte
2.3.5 Integrating Query and Program Optimization Using Persistent CPS Representations 496
Andreas Gawecki, Florian Matthes
2.3.6 An ad hoc Approach to the Implementation of Polymorphism 502
Ron Morrison, Alan Dearle, Richard Connor, Fred Brown
3 Using Persistent Languages: Introduction and Overview 505
Ray Welland
3.1 Persistent Programming Environments: Introduction and State of the Art 507
Ray Welland
3.1.1 Exploiting Persistent Linkage in Software Engineering Environments 511
Ron Morrison, Richard Connor, Quintin Cutts, Vivienne Dunstan, Graham Kirby
3.1.2 Using Persistence Technology to Control Schema Evolution 515
Richard Connor, Quintin Cutts, Graham Kirby, Ron Morrison
3.1.3 Unifying Interaction with Persistent Data and Program 519
Richard Connor, Quintin Cutts, Graham Kirby, Vivienne Dunstan, Ron Morrison
3.1.4 The Persistent Workshop: Programming Environment for Napier88 523
Dag Sjberg, Ray Welland, Malcolm P. Atkinson, Paul C. Philbrow, Cathy Waite, Stewart Macneill
3.1.5 The Glasgow Persistent Libraries 527
Malcolm P. Atkinson, Ray Welland, Paul C. Philbrow, Cathy Waite, Richard Cooper, Darryn Lavery, Alan Froggatt, Claudia Herzig, Stewart Macneill, Miguel Mira da Silva, Greig Montgomery, Alex Pirmohamed, Tony Printezis
3.1.6 Visualising Persistent Stores 540
Gilbert Cockton, Darryn Lavery
3.2 Data Modelling: Introduction and State of the Art 549
Richard Cooper
3.2.1 Application Development using Data Modelling 553
Richard Cooper
3.2.2 The STYLE Workbench: Systematics of Typed Language Environments 570
Ingrid Wetzel, Florian Matthes, Joachim W. Schmidt
3.2.3 Using Extensible Grammars for Data Modelling 584
Florian Matthes, Joachim W. Schmidt, Jens Wahlen
3.3 Interoperability: Introduction and State of the Art 599
Florian Matthes
3.3.1 Querying the File 602
Serge Abiteboul, Sophie Cluet, Tova Milo
3.3.2 Updating the File 621
Serge Abiteboul, Sophie Cluet, Tova Milo
3.3.3 Lean Languages and Models: Towards an Interoperable Kernel for Persistent Object Systems 623
Joachim W. Schmidt, Florian Matthes
List of Contributors 629
END
