• Login
    View Item 
    •   MINDS@UW Home
    • MINDS@UW Madison
    • College of Letters and Science, University of Wisconsin–Madison
    • Department of Computer Sciences, UW-Madison
    • CS Technical Reports
    • View Item
    •   MINDS@UW Home
    • MINDS@UW Madison
    • College of Letters and Science, University of Wisconsin–Madison
    • Department of Computer Sciences, UW-Madison
    • CS Technical Reports
    • View Item
    JavaScript is disabled for your browser. Some features of this site may not work without it.

    E: A Persistent Systems Implementation Language

    Thumbnail
    File(s)
    TR868.pdf (12.79Mb)
    Date
    1989
    Author
    Richardson, Joel E.
    Publisher
    University of Wisconsin-Madison Department of Computer Sciences
    Metadata
    Show full item record
    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
    Type
    Technical Report
    Citation
    TR868
    Part of
    • CS Technical Reports

    Contact Us | Send Feedback
     

     

    Browse

    All of MINDS@UWCommunities & CollectionsBy Issue DateAuthorsTitlesSubjectsThis CollectionBy Issue DateAuthorsTitlesSubjects

    My Account

    Login

    Contact Us | Send Feedback