Persistence for Arbitrary C++ Data Structures

  • Frances Newbery Paulisch
  • Stefan Manke
  • Walter F. Tichy
Conference paper
Part of the Workshops in Computing book series (WORKSHOPS COMP.)


This paper presents an external representation that may be automatically generated from arbitrary C++ data structures. This representation can be used to achieve persistence in various applications. We describe the existing facilities for persistence in the EDGE graph editor. A similar technique can be used to achieve persistence in general. In addition to generating code for an external representation, a menu-controlled data structure editor for arbitrary C++ classes may be generated using the same technique.


Unique Identifier Input Stream External Representation Output Stream Graph Editor 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Malcolm Atkinson and Ronald Morrison. Persistent programming and object oriented databases. In Proc. of the Joint University of Newcastle Upon Tyne/ International Computers Limited Seminar, Sept. 6–9 1988.Google Scholar
  2. [2]
    W.A. Wulf, R. Levin, and S.P. Harbison. Hydra/C.mmp: An Experimental Computer System. McGraw-Hill, 1981.Google Scholar
  3. [3]
    A.D. Birrell, M.B. Jones, and E.P. Wobber. A simple and efficient implementation for small databases. Technical Report 24, Digital Systems Research Center, 1988.Google Scholar
  4. [4]
    W.P. Cockshott. Addressing mechanisms and persistent programming. In Malcolm P. Atkinson, Peter Buneman, and Ronald Morrison, editors, Data Types and Persistence, chapter 15. Springer Verlag, 1988.Google Scholar
  5. [5]
    David Alex Lamb. IDL: Sharing intermediate representations. ACM Transactions on Programming Languages and Systems, 9 (3): 297–318, July 1987.CrossRefGoogle Scholar
  6. [6]
    Richard Snodgrass and contributing authors. The Interface Description Language: Definition and Use. Computer Science Press, Rockville, MD, 1989.Google Scholar
  7. [7]
    John R. Nestor, Joseph M. Newcomer, Paola Giannini, and Donald L. Stone. IDL: The Language and its Implementation. Prentice Hall, Englewood Cliffs, NJ, 1990.Google Scholar
  8. [8]
    Jack C. Wileden, Alexander L. Wolf, Charles D. Fisher, and Peri L. Tarr. PGRAPHITE: An experiment in persistent typed object management. In Peter Henderson, editor, Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments (Software Engineering Notes Vol. 13, No. 5 or Sigplan Notices Vol. 24, No. 2), pages 130–142, Boston, MA, Nov. 28-30 1988. ACM.Google Scholar
  9. [9]
    Bjarne Stroustrup. The C++ Programming Language. Addison Wesley, 1986.Google Scholar
  10. [10]
    Michael J. Carey, David J. DeWitt, Goetz Graefe, David M. Haight, Joel E. Richardson, Daniel T. Schuh, Eugene J. Shekita, and Scott L. Vandenberg. The EXODUS extensible DBMS project: An overview. Technical Report 808, University of Wisconsin- Madison, Computer Sciences Department, November 1988.Google Scholar
  11. [11]
    Joel E. Richardson and Michael J. Carey. Persistence in the E language: Issues and implementation. Software—Practice and Experience, 19(12): 1115–1150, December 1989.Google Scholar
  12. [12]
    Frances Newbery Paulisch and Walter F. Tichy. EDGE: An extendible graph editor. To appear in Software–Practice and Experience, Special Issue on Unix Tools ca. June, 1990.Google Scholar
  13. [13]
    Robert W. Scheifler and Jim Gettys. The X window system. ACM Transactions on Graphics, 5 (2), April 1986.CrossRefGoogle Scholar
  14. [14]
    Frances Newbery Paulisch. The design of an extendible graph editor. PhD Thesis (in preparation), University of Karlsruhe, Institute for Informatics, 1990.Google Scholar
  15. [15]
    Stefan Manke. Generierung von Graphbearbeitungsprogrammen aus objektorientierten Spezifikationen (Generation of graph manipulation programs from object- oriented specifications). Master’s thesis, University of Karlsruhe, Institute for Informatics, March 1990.Google Scholar
  16. [16]
    M. E. Lesk and E. Schmidt. LEX - A Lexical Analyser Generator. Bell Laboratories Computing Science Technical Report 39, October 1975.Google Scholar
  17. [17]
    S. C. Johnson. YACC: Yet Another Compiler Compiler. Bell Laboratories Computing Science Technical Report 32, July 1975Google Scholar

Copyright information

© British Computer Society 1990

Authors and Affiliations

  • Frances Newbery Paulisch
    • 1
  • Stefan Manke
    • 1
  • Walter F. Tichy
    • 1
  1. 1.University of KarlsruheGermany

Personalised recommendations