E is an extension of C++ designed for writing software systems to support persistent applications. Originally designed as a language for implementing database systems, E has evolved into a general persistent programming language. E was the first C++ extension to support transparent persistence, the first C++ implementation to support generic classes, and remains the only C++ extension to provide general-purpose iterators. In addition to its contributions to the C++ programming domain, work on E has made several contributions to the field of persistent languages in general, including several distinct implementations of persistence. This paper describes the main features of E and shows through examples how E addresses many of the problems that arise in building persistent systems. ################################ This research was partially supported by the Defense Advanced Research Projects Agency under contract N00014-88-K0303, by the National Science Foundation under grant IRI-865732...
|
1415
|
The Definition of Standard ML
– Milner, Tofte, et al.
- 1990
|
|
1295
|
The C++ Programming Language
– Stroustrup
- 1991
|
|
1208
|
Object-Oriented Software Construction
– Meyer
- 1988
|
|
1052
|
The C Programming Language
– Kerighan, Ritchie
- 1978
|
|
719
|
On understanding types, data abstraction, and polymorphism
– Cardelli, Wegner
- 1985
|
|
350
|
The ObjectStore database system
– Lamb, Landis, et al.
- 1991
|
|
279
|
The Annotated C ++ Reference Manual
– Ellis, Stroustrop
- 1990
|
|
149
|
Indexing in an object-oriented DBMS
– Maier, Stein
- 1986
|
|
147
|
The EXODUS Optimizer Generator
– Graefe, Dewitt
- 1987
|
|
146
|
Buneman “Types and Persistence in Database Programming Languages
– Atkinson, P
- 1987
|
|
115
|
A Data Model and Query Language for EXODUS
– Carey, Dewitt, et al.
- 1979
|
|
104
|
An Introduction to Trellis/Owl
– Schaffert, Cooper, et al.
- 1986
|
|
96
|
The POSTGRES Data Model
– Rowe, Stonebraker
- 1987
|
|
80
|
Some high level language constructs for data of type relation
– Schmidt
- 1977
|
|
78
|
Object Database and Environment): The Language and the Data Model
– Agrawal, Gehani, et al.
- 1989
|
|
69
|
Inclusion of New Types in Relational Data Base Systems
– Stonebraker
- 1986
|
|
64
|
Type evolution in an object-oriented database
– Skarra, Zdonik
- 1987
|
|
55
|
Genericity versus Inheritance
– Meyer
- 1986
|
|
55
|
Programming constructs for database system implementation in EXODUS
– Richardson, Carey
- 1987
|
|
51
|
The architecture of the EXODUS extensible DBMS
– Carey, DeWitt, et al.
- 1986
|
|
50
|
Galileo: a strongly-typed, interactive conceptual language
– Albano, Cardelli, et al.
- 1985
|
|
44
|
Cricket: A mapped, persistent object store
– Shekita, Zwilling
- 1990
|
|
35
|
Storage management for objects in EXODUS
– Carey, DeWitt, et al.
- 1989
|
|
34
|
Rationale for the design of the Ada programming language
– ICHBIAH
- 1979
|
|
32
|
Trellis object-based environment language reference manual
– Schaffert, Cooper, et al.
- 1985
|
|
32
|
Inclusion of New Types in Relational Database Systems
– Stonebraker
- 1986
|
|
27
|
Parameterized types for C
– Stroustrup
- 1988
|
|
26
|
Implementation concepts for an extensible data model and data language
– Batory, Leung, et al.
- 1988
|
|
20
|
Extensibility in the Starburst database system
– Schwarz, Chang, et al.
- 1986
|
|
20
|
Abstraction and verification in alphard: defining and specifying iteration and generators
– Shaw, Wulf, et al.
- 1977
|
|
20
|
Persistence in the e language: Issues and implementation
– Richardson, Carey
- 1989
|
|
19
|
PROBE: A Knowledge-Oriented Database Management System
– Dayal, Smith
- 1985
|
|
16
|
Compiled Item Faulting: A New Technique for Managing I/O in a Persistent Language
– Richardson
- 1990
|
|
14
|
Aspects of implementing CLU
– Atkinson, Liskov, et al.
- 1978
|
|
13
|
Extending and Limiting PGRAPHITE-style Persistence
– Tarr, Wileden, et al.
- 1990
|
|
10
|
Persistence in E Revisited - Implementation Experiences
– Schuh, Carey, et al.
- 1990
|
|
9
|
Zeitgeist: Database Support for ObjectOriented Programming
– Ford, Joseph, et al.
- 1988
|
|
9
|
E: A Persistent Systems Implementation Language
– Richardson
- 1989
|
|
7
|
The data management facilities of PLAIN
– Wasserman
- 1979
|
|
4
|
Towards compile-time optimizations for persistence
– Hosking, Moss
- 1990
|
|
3
|
The C++ Programming Language, 2nd edition
– Stroustrop
- 1991
|
|
3
|
The design of the Triton nested relational database system
– Harvey, Schnepf, et al.
- 1991
|
|
3
|
Abstraction mechanisms in CLU
– Schaffert
- 1977
|
|
3
|
Class modification in the Gemstone Object-Oriented DBMS
– PENNY, STEIN
- 1987
|
|
2
|
Private communication
– Solomon
- 2000
|
|
2
|
Semantm and Implementation of schema evolutlon m object-oriented databases
– KIM, KORTH
- 1987
|
|
1
|
An approach to persistent proflamming
– ATKINSON, BAILEY, et al.
- 1983
|
|
1
|
Two approaches to adding persistence to C
– HANNA
- 1990
|
|
1
|
The design and implementation of 02, an objectACM
– BANCILHON, BARBEDETTE, et al.
- 1993
|
|
1
|
Inheritance of synchromzatlon and recovery properties in avalon/C
– DETLFS, HERLIHY, et al.
- 1988
|