Advertisement

Developing a class hierarchy for object-oriented transaction processing

  • Daniel L. McCue
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 615)

Abstract

This paper describes the development of a class hierarchy to support distributed transaction processing. Inheritance and polymorphism, key features of the object oriented programming model, have been used to develop a hierarchy of classes which convey to their subclasses the behaviours of persistence, concurrency-control, recoverability and identity necessary for distributed transaction processing. The development is traced from the requirements of distributed transaction processing to the definition of classes supporting these key properties. The system is interesting in both its development and its results. The development, not based on any rigourous design methodology, illustrates some of the design decisions unique to object-oriented systems. The resulting class hierarchy provides a flexible, object-oriented interface for reliable distributed programming. The paper includes a step-by-step description of the design of the classes and the class hierarchy.

Keywords

Object Identity Concurrency Control Atomic Action Class Hierarchy Transaction Processing 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    M. P. Atkinson, K. J. Chisholm, W. P. Cockshott, “PS-Algol: An Algol with a Persistent Heap”, ACM Sigplan Notices, Vol. 17, No. 7, pp. 24–31.Google Scholar
  2. [2]
    J.R. Abrial, “Data Semantics”, in Data Base Management, J. W. Klimbie and K. L. Kofferman, (eds.), North-Holland Publishing Co., New York, 1974.Google Scholar
  3. [3]
    Advanced Networked Systems Architecture (ANSA) Reference Manual, Volume A, Release 1.00, Part VI, Computational Projection, March 1989.Google Scholar
  4. [4]
    P.A. Bernstein, V. Hadzilacos and N. Goodman, Concurrency Control and Recovery in Database Systems, Addison-Wesley, 1987.Google Scholar
  5. [5]
    J. S. Chase, F. Amador, E. Lazowska, H. Levy, R. Littlefield, “The Amber System: Parallel Programming on a Network of Multiprocessors”, in Proceedings of the 12th ACM Symposium on Operating System Principles, Litchfield Park AZ, December 1989, pp. 147–158.Google Scholar
  6. [6]
    E. F. Codd, “Extending the Database Relational Model to Capture More Meaning”, ACM Transactions on Database Systems, Vol 4, No. 4, December 1979.Google Scholar
  7. [7]
    G. N. Dixon, G. D. Parrington, S. K. Shrivastava and S. M. Wheater, “The Treatment of Persistent Objects in Arjuna”, in Proceedings of ECOOP '89, University of Nottingham, pp. 169–204, July 1989.Google Scholar
  8. [8]
    P. A. V. Hall, J. Owlett and S. J. P Todd, “Relations and Entities”, in Modeling in Data Base Management Systems, G. M. Nijssen, ed., North-Holland Publishing Co., New York, 1976.Google Scholar
  9. [9]
    D. M. Harland, REKURSIV — Object Oriented Computer Architecture, Ellis Horwood, 1988.Google Scholar
  10. [10]
    Jul, E., H. Levy, N. Hutchinson, A. Black, “Fine-grained Mobility in the Emerald System”, ACM Transactions on Computer Systems, Vol 6, No 1, February 1988, pp. 109–133.CrossRefGoogle Scholar
  11. [11]
    W. Kent, Data and Reality. North-Holland Publishing Co. New York 1978.Google Scholar
  12. [12]
    S. N. Khoshafian and G. P. Copeland, “Object Identity”, in Proceedings of OOPSLA '86, September 1986, pp. 406–416.Google Scholar
  13. [13]
    P. A. Lee and T. Anderson, “Fault Tolerance: Principles and Practice”, Second, Revised Edition, Springer-Verlag, 1990.Google Scholar
  14. [14]
    J. E. B. Moss, “Nested Transactions: An Approach to Reliable Distributed Computing”, Technical Report MIT/LCS/TR-260, Massachusetts Institute of Technology, Laboratory for Computer Science, April, 1981.Google Scholar
  15. [15]
    G. D. Parrington and S. K. Shrivastava, “Implementing Concurrency Control in Reliable Distributed Object-Oriented Systems”, in Proceedings of ECOOP '88. Norway, August 1988.Google Scholar
  16. [16]
    M. Shapiro, Y. Gourhant, S. Habert, L. Mosseri, M. Ruffin, and C. Vaolt, “SOS: An Object Oriented Operating System — Assessment and Perspectives”, Computing Systems, Vol. 2, No. 7, 1989.Google Scholar
  17. [17]
    B. Stroustrup, “The C++ Programming Language”, Addison Wesley, 1986.Google Scholar
  18. [18]
    S. Thatte, “Persistent Memory: Merging AI-knowledge and Databases”, in Readings in Object-Oriented Database Systems, S. B. Zdonik and D. Maier, (eds.), Morgan Kaufmann, San Mateo CA, 1990, pp. 242–250.Google Scholar
  19. [19]
    I. L. Traiger, “Virtual Memory Management for Database Systems”, ACM Operating Systems Review, Vol. 16, October 1982, pp. 24–48.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Daniel L. McCue
    • 1
  1. 1.Computing LaboratoryUniversity of Newcastle upon TyneNewcastle upon TyneUK

Personalised recommendations