A Shared, Persistent Object Store

  • Colin Low
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 322)


Smalltalk-80 is presented as a useful testbed for prototyping applications involving shared, persistent objects, and a detailed design of a shared persistent object store is discussed. The store is a set of named containers for object state, and it provides low-cost atomic transactions using an optimistic synchronisation technique. The standard Smalltalk-80 virtual machine is modified to support a new object class, the Transaction, and an example of a Smalltalk program using nested sub-transactions is given. Immutability of object state is identified both as an important property of objects. and a basis for producing an efficient implementation within a distributed system environment.

Keywords and phrases

object-oriented programming distributed systems atomic transactions Smalltalk-80 persistence immutable objects 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

13. References

  1. [1]
    Andrews, T., & Harris, C., Combining Language and Database Advances in an Object-Oriented Development Environment, ACM OOPSLA Proceedings 1987.Google Scholar
  2. [2]
    Atkinson, M.P., Bailey, P.J., Cockshott, W.P., Chisholm, K.J., & Morrison, R., An Approach to Persistent Programming, Computer Journal 26(4) 360–365 (1983).zbMATHGoogle Scholar
  3. [3]
    Atkinson M.P., Chisholm K.. Cockshott, P., & Marshall R., Algorithms for a Persistent Heap, Software Practise and Experience, 13(3), 259–271 (1983).zbMATHCrossRefGoogle Scholar
  4. [4]
    Atkinson M.P., Momson, R., & Pratten, G.D., A Persistent Information Space Architecture, Persistent Programming Research Report 21, Persistent Programming Research Group, Dept. of Computing Science, University of Glasgow.Google Scholar
  5. [5]
    Bernstein, P.A. & Goodman, N., Concurrency Control in Distributed Database Systems, Computing Surveys, 13(2), 185–219 (1981).CrossRefMathSciNetGoogle Scholar
  6. [6]
    Black, A., Hutchinson, N., Jul, E., & Levy, H., Object Structure in the Emerald System ACM OOPSLA Proceedings (1986).Google Scholar
  7. [7]
    Bloom, T., & Zdonik, S.B., Issues in the Design of Object-Oriented Database Programming Languages, ACM OOPSLA Proceedings (1987).Google Scholar
  8. [8]
    Brown, A.J., & Cockshott, W.P., The CPOMS Persistent Object Management System, Persistent Programming Research Report 13, Persistent Programming Research Group, Dept. of Computing Science, University of Glasgow.Google Scholar
  9. [9]
    Budd, T., A Little Smalltalk, Addison-Wesley, 1987.Google Scholar
  10. [10]
    Caplinger, M., An Information System Based on Distributed Objects, ACM OOPSLA 1987 Proceedings.Google Scholar
  11. [ll]
    Ceri, S., & Pelagatti, G., Distributed Databases McGraw-Hill, 1985.Google Scholar
  12. [12]
    Coulouris, G., & Dollimore, J., Distributed Systems: Concepts and Principles, (to be published) Addison-Wesley 1988.Google Scholar
  13. [13]
    Gifford, D., Violet: an Experimental Decentralised System, Operating Systems Review, 13(5) 1979.Google Scholar
  14. [14]
    Goldberg, A., & Robson, D., Smalltalk-80, The Language and its Implementation, Addison-Wesley, 1983Google Scholar
  15. [15]
    Kohler W.H., A Survey of Techniques for Synchronisation and Recovery in Decentralised Computer Systems, Computing Surveys, 13(2), 149–183(1981).CrossRefMathSciNetGoogle Scholar
  16. [16]
    Krasner, G., Smalltalk-80, Bits of History, Words of Advice, Addison-Wesley 1983.Google Scholar
  17. [17]
    Kung, H.T. & Robinson, J.T., On Optimistic Methods for Concurrency Control, ACM-TODS, 6(2), 1981.Google Scholar
  18. [18]
    Liskov B., & Guttag, J., Abstraction and Specification in Program Development, MIT Press, 1986.Google Scholar
  19. [19]
    Maier, D., Stein, J., Otis, A,, & Purdy, A., Development of an Object-Oriented DBMS, ACM OOPSLA Proceedings 1986.Google Scholar
  20. [20]
    Merrow T., & Laursen J., A Pragmatic System for Shared Persistent Objects, ACM OOPSLA Proceedings 1987.Google Scholar
  21. [21]
    Miranda, E., Brouhaha: A Portable Smalltalk Implementation, ACM OOPSLA 1987 Proceedings.Google Scholar
  22. [22]
    Mullender, S.J., & Tanenbaum, AS., A Distributed File Server based on Optimistic Concurrency Control, Proc. of the 10th. Symp. on Operating Systems, ACM. N.Y. P51–62.Google Scholar
  23. [23]
    Penny, D.J., & Stein, J., Class Modification in the Gemstone Object-Oriented DBMS, ACM OOPSLA 1987 Proceedings.Google Scholar
  24. [24]
    SUN Microsystems Inc. The Network Services Guide Google Scholar
  25. [25]
    Thomas, R.W., A Majority Consensus Approach to Concurrency Control for Multiple Copy Databases, ACM-TODS, 4(2), 1979.Google Scholar
  26. [26]
    Wiebe D., A Distributed Repository for Immutable Persistent Objects, ACM OOPSLA Proceedings 1986.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Colin Low
    • 1
  1. 1.Department of Computer ScienceQueen Mary CollegeLondon

Personalised recommendations