Managing persistent data with mneme: Designing a reliable, shared object interface

  • J. Eliot B. Moss
  • Steven Sinofsky
Data Maniputation And Persistent Languages
Part of the Lecture Notes in Computer Science book series (LNCS, volume 334)


We investigate issues that arise when attempting to integrate object-oriented languages and database features. We provide criteria for database/language support in the context of design applications, and consider the advantages of integration over more traditional database systems. We then discuss the design of Mneme, a system that narrows the gap between object-oriented databases and programming languages, both traditional and object-oriented. Mneme includes facilities for sharing, reliability, and clustering of objects, as well as a high degree of flexibility. We compare Mneme with other current and recent research efforts, and describe Mneme's particular contributions.


Garbage Collection Concurrency Control Design Application Storage Manager Query Optimization 
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. [ANSI, 1983]
    ANSI. IEEE Standard Pascal Computer Programming Language. IEEE, New York, 1983. Standard ANSI/IEEE770X3.97-1983.Google Scholar
  2. [Atkinson et al., 1981]
    M. P. Atkinson, K. J. Chisolm, and W. P. Cockshott. PS-Algol: an Algol with a peristent heap. ACM SIGPLAN Notices 17, 7 (July 1981).Google Scholar
  3. [Atkinson et al., 1984]
    M. P. Atkinson, P. Bailey, W. P. Cockshott, K. J. Chisolm, and R. Morrison. Progress with persistent programming. In Databases—Role and Structure: An Advanced Course. Cambridge University Press, Cambridge, England, 1984, pp. 245–310.Google Scholar
  4. [Banerjee et al., 1987a]
    Jay Banerjee, Hong-Tai Chou, Jorge F. Garza, Won Kim, Darrell Woelk, Nat Ballou, and Houng-Joo Kim. Data model issues for object-oriented applications. ACM Trans. Office Inf. Syst. 5, 1 (Jan. 1987), 3–26.Google Scholar
  5. [Banerjee et al., 1987b]
    Jay Banerjee, Won Kim, and Kim Kyng-Chang. Queries in object-oriented databases. MCC Technical Report DB-188-87, Microelectronics and Computer Technology Corporation, Austin, TX, June 1987.Google Scholar
  6. [Batory et al., 1986]
    D. S. Batory, J. R. Barnett, J. F. Garza, K. P. Smith, K. Tsukuda, B. C. Twichell, and T. E. Wise. Genesis: A reconfigurable database management system. Tech. Rep. TR-86-07, Department of Computer Sciences, University of Texas at Austin, Austin, TX, Mar. 1986.Google Scholar
  7. [Bernstein, 1987]
    Philip Bernstein. Database system support for software engineering. In Proceedings of the Ninth International Conference on Software Engineering (Monterey, CA, Apr. 1987), IEEE.Google Scholar
  8. [Bishop, 1977]
    Peter B. Bishop. Computer Systems with a Very Large Address Space and Garbage Collection. PhD thesis, Massachusetts Institute of Technology, Cambridge, MA, May 1977.Google Scholar
  9. [Bloom and Zdonik, 1987]
    Toby Bloom and Stanley B. Zdonik. Issues in the design of object-oriented database programming languages. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (Orlando, FL, Oct. 1987), ACM, pp. 441–451.Google Scholar
  10. [Bobrow et al., 1985]
    D. G. Bobrow, K. Kahn, G. Kiczales, L. Masinter, M. Stefik, and F. Zdybel. CommonLoops: Merging Common Lisp and object-oriented programming. Intelligent Systems Laboratory Series ISL-85-8, Xerox Palo Alto Research Center, Palo Alto, CA, 1985.Google Scholar
  11. [Buneman, 1984]
    Peter Buneman. Can we reconcile programming languages and databases? In Databases—Role and Structure: An Advanced Course. Cambridge University Press, Cambridge, England, 1984, pp. 225–243.Google Scholar
  12. [Carey et al., 1986]
    M. J. Carey, D. J. DeWitt, J. E. Richardson, and E. J. Shekita. Object and file management in the EXODUS extensible database system. In Proceedings of the 12th International Conference on Very Large Databases (Kyoto, Japan, Sept. 1986), ACM, pp. 91–100.Google Scholar
  13. [Clarke et al., 1986]
    Lori A. Clarke, Jack C. Wileden, and Alexander L. Wolf. Graphite: a meta-tool for Ada environment development. In Proceedings of IEEE Society Second International Conference on Ada Applications and Environments (Miami Beach, FL, Aug. 1986), IEEE.Google Scholar
  14. [Goldberg and Robson, 1983]
    Adele Goldberg and David Robson. Smalltalk-80: The Language and its Implementation. Addison-Wesley, 1983.Google Scholar
  15. [Hudson and King, 1986]
    S. Hudson and R. King. CACTIS: A database system for specifying functionally-defined data. In Proceedings of the Workshop on Object-Oriented Databases (Pacific Grove, CA, Sept. 1986), ACM, pp. 26–37.Google Scholar
  16. [Ichbiah et al., 1979]
    J. D. Ichbiah et al., Rationale for the design of the ADA programming language. ACM SIGPLAN Notices 14, 6 (June 1979).Google Scholar
  17. [Jensen and Wirth, 1974]
    Kathleen Jensen and Niklaus Wirth. Pascal User Manual and Report, second ed. Springer-Verlag, 1974.Google Scholar
  18. [Kaehler and Krasner, 1983]
    Ted Kaehler and Glenn Krasner. LOOM-large object-oriented memory for Smalltalk-80 systems. In Smalltalk-80: Bits of History, Words of Advice, Glenn Krasner, Ed. Addison-Wesley, 1983, ch. 14, pp. 251–270.Google Scholar
  19. [Kernighan and Ritchie, 1978]
    Brian W. Kernighan and Dennis M. Ritchie. The C Programming Language. Prentice-Hall, 1978.Google Scholar
  20. [Liskov et al., 1977]
    B. Liskov, A. Snyder, R. Atkinson, and C. Schaffert. Abstraction mechanisms in CLU. Commun. ACM 20, 8 (Aug. 1977).Google Scholar
  21. [Liskov et al., 1981]
    B. Liskov, R. Atkinson, T. Bloom, E. Moss, C. Schaffert, R. Scheifler, and A. Snyder. CLU Reference Manual. Springer-Verlag, 1981.Google Scholar
  22. [Moss et al., 1988]
    J. Eliot B. Moss, Antony L. Hosking, Rajesh Nakhwa, and Steven Sinofsky. Implementing Smalltalk-80 on the VAX. Tech. rep., Department of Computer and Information Science, University of Massachusetts, Amherst, MA, 1988. Work in progress.Google Scholar
  23. [Purdy et al., 1987]
    Alan Purdy, Bruce Schuchardt, and David Maier. Integrating an object server with other worlds. ACM Trans. Office Inf. Syst. 5, 1 (Jan. 1987), 27–47.Google Scholar
  24. [Richardson and Carey, 1987]
    Joel E. Richardson and Michael J. Carey. Programming constructs for database system implementations in EXODUS. In Proceedings of the ACM SIGMOD International Conference on the Management of Data (San Francisco, CA, May 1987), ACM, pp. 208–219.Google Scholar
  25. [Rumbaugh, 1987]
    James Rumbaugh. Relations as semantic constructs in an object-oriented language. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (Orlando, FL, Oct. 1987), ACM, pp. 466–481.Google Scholar
  26. [Schaffert et al., 1986]
    Craig Schaffert, Topher Cooper, Bruce Bullis, Mike Kilian, and Carrie Wilpolt. An introduction to Trellis/Owl. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (Portland, OR, Sept. 1986), ACM, pp. 9–16.Google Scholar
  27. [Schmidt, 1977]
    J. W. Schmidt. Some high level language constructs for data of type relation. ACM Trans. Database Syst. 2, 3 (Sept. 1977), 247–281.Google Scholar
  28. [Skarra et al., 1987]
    Andrea Skarra, Stanley B. Zdonik, and Stephen P. Reiss. An object server for an object oriented database system. In Proceedings of International Workshop on Object-Oriented Database Systems (Pacific Grove, CA, Sept. 1987), ACM, pp. 196–204.Google Scholar
  29. [Spector and Schwarz, 1984]
    Alfred Z. Spector and Peter M. Schwarz. Synchronizing shared abstract data types. ACM Trans. Comput. Syst. 2, 3 (Aug. 1984), 223–250.Google Scholar
  30. [Spector et al., 1986]
    Alfred Z. Spector, Joshua J. Bloch, Dean S. Daniels, Richard P. Draves, Dan Duchamp, Jeffrey L. Eppinger, Sherri G. Menees, and Dean S. Thompson. The camelot project. Tech. Rep. CMU-CS-86-166, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, PA, 1986.Google Scholar
  31. [Stonebraker and Rowe, 1986]
    M. Stonebraker and L. A. Rowe. The design of Postgres. In Proceedings of the ACM SIGMOD International Conference on the Management of Data (Washington, D.C., May 1986), ACM, pp. 340–355.Google Scholar
  32. [Stonebraker et al., 1976]
    M. Stonebraker, E. Wong, P. Kreps, and G. Held. The design and implementation of Ingres. ACM Trans. Database Syst. 1, 3 (Sept. 1976), 189–222.Google Scholar
  33. [Stroustrup, 1986]
    B. Stroustrup. The C++ Programming Language. Addison-Wesley, 1986.Google Scholar
  34. [Teitelman and Masinter, 1981]
    W. Teitelman and L. Masinter. The Interlisp programming environment. Computer 14, 4 (Apr. 1981), 25–33.Google Scholar
  35. [Weihl and Liskov, 1985]
    William Weihl and Barbara Liskov. Implementation of resilient, atomic data types. ACM Trans. Program. Lang. Syst. 7, 2 (Apr. 1985), 244–269.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • J. Eliot B. Moss
    • 1
  • Steven Sinofsky
    • 1
  1. 1.Department of Computer and Information Science, Lederle Graduate Research CenterUniversity of MassachusettsAmherst

Personalised recommendations