About This Item

Ask the MINDS@UW Librarian

E: A Persistent Systems Implementation Language

Show full item record

File(s):

Author(s)
Richardson, Joel E.
Publisher
University of Wisconsin-Madison Department of Computer Sciences
Date
Mar 15, 2012
Abstract
This thesis presents the design and implementation of the E-programming language. E is an extension of C++ designed for building systems that manage persistent objects, e.g. a database management system. Several aspects of this programming domain cause difficulty in conventional languages. For example, one must usually write the system code without knowing the types of entities to be manipulated. In addition, the entities themselves are persistent, outlasting the program that creates them. E addresses these and other problems through a judicious choice of language constructs that significantly ease the programmerís task. Being based on C++, E provides classes and inheritance. It then adds generator classes for defining generic container types, iterators for processing streams of values, and a persistent storage class for declaring a database as a collection of language objects. Through a series of refinements to an example program, we illustrate each of these language features. One important benefit of having persistence in a language is that I/O is transparent to the programmer; a central problem in the implementation of such a language, therefore, is in designing techniques to manage I/O automatically and efficiently. This thesis presents a new technique called Compiled Item Faulting (CIF) that addresses the I/O problem. CIF combines static analysis and a minimum of run-time support to produce E programs that can access physical storage efficiently. Finally, we present the results of an initial performance study. These results demonstrate that CIF can be very effective in producing high quality code. The study also points out certain areas where CIFís effectiveness is more limited. In the conclusions, we suggest several avenues for further performance improvements.
Permanent link
http://digital.library.wisc.edu/1793/59166 
Export
Export to RefWorks 
‚Äč

Part of

Show full item record

Search and browse




About MINDS@UW

Deposit materials

  1. Register to deposit in MINDS@UW
  2. Need deposit privileges? Contact us.
  3. Already registered? Have deposit privileges? Deposit materials.