Abstract
One of the key concepts available in many object-oriented programming languages is that of type-inheritance, which permits new types to be derived from, and inherit the capabilities of, old types. This paper describes how to exploit this property in a very simple fashion to implement object-oriented concurrency control. We show how by using type-inheritance, objects may control their own level of concurrency in a type-specific manner. Simple examples demonstrate the applicability of the approach. The implementation technique described here is being used to develop Arjuna, a fault-tolerant distributed programming system supporting atomic actions.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Best, E., and B. Randell, “A Formal Model of Atomicity in Asynchronous Systems”, Acta Inforrnatica, 16, pp. 93–124, 1981.
Birman, K.P., “Replication and Fault Tolerance in the ISIS System”, Proceedings of 10th Symposium on the Principles of Operating Systems, ACM Operating Systems Review, Vol. 19, No. 4, pp. 79–86, 1985.
Dasgupta et al. 85_Dasgupta, P., R.J. LeBlanc Jr., and E. Spafford, “The Clouds Project: Designing and Implementing a Fault Tolerant, Distributed Operating System,” Technical Report GIT-ICS-85/29, Georgia Institute of Technology, 1985.
Dixon, G.N., “Managing Objects for Persistence and Recoverability,” Ph.D Thesis, Computing Laboratory, University of Newcastle upon Tyne, in preparation.
Dixon, G.N., and S.K. Shrivastava, “Exploiting Type-Inheritance Facilities to Implement Recoverability in Object Based Systems”, Proceedings of 6th Symposium on Reliability in Distributed Software and Database Systems, Williamsburg, pp. 107–114, March 1986.
Dixon, G.N., S.K. Shrivastava, and G.D. Parrington, “Managing Persistent Objects in Arjuna: A System for Reliable Distributed Computing,” Proceedings of the Workshop on Persistent Object Systems, Persistent Programming Research Report 44, Department of Computational Science, University of St. Andrews, August 1987.
Eswaran, K.P., et al., “On the Notions of Consistency and Predicate Locks in a Database System”, Communications of the ACM, Vol. 19, No. 11, pp. 624–633, 1976.
Gray, J.N., “Notes on Data Base Operating Systems”, in Operating Systems: An Advanced Course, eds. R. Bayer, R.M. Graham, and G. Seegmueller, pp. 393–481, Springer, 1978.
Herlihy, M.P., “Optimistic Concurrency Control for Abstract Data Types”, Proceedings of the Fifth Annual ACM Symposium on Principles of Distributed Computing, pp. 206–216, Calgary, Alberta, August 1986.
Herlihy, M.P., and J.M. Wing, “Avalon: Language Support for Reliable Distributed Systems,” Digest of Papers FTCS-17: Seventeenth Annual International Symposium on Fault-Tolerant Computing, pp. 89–94, Pittsburgh, July 1987.
Kung, H.T., and J.T. Robinson, “On Optimistic Methods for Concurrency Control”, ACM Transactions on Database Systems, Vol. 6, no. 2, pp. 213–226, June 1981.
Liskov, B., and R. Scheifler, “Guardians and Actions: Linguistic Support for Robust Distributed Programs”, ACM Transactions on Programming Languages and Systems, Vol. 5, No. 3, pp. 381–404, 1983.
Parrington, G.D., “Management of Concurrency in a Reliable Object-Oriented Computing System,” Ph.D Thesis, Computing Laboratory, University of Newcastle upon Tyne, in preparation.
Schwarz, P.M., and A.Z. Spector, “Synchronizing Shared Abstract Types”, ACM Transactions on Computer Systems, Vol. 2, No. 3, pp. 223–250, August 1984.
Spector, A.Z., et al., “Support for Distributed Transactions in the TABS Prototype”, IEEE Transactions on Software Engineering, Vol. SE-11, No. 6, pp. 520–530. 1985.
B. Stroustrup, The C++ Programming Language, Addison Wesley, 1986.
Weihl, W., “Specification and Implementation of Atomic Data Types,” Ph.D Thesis, MIT/LCS/TR-314, MIT Laboratory for Computer Science, Cambridge, Mass., March 1984.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1988 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Parrington, G.D., Shrivastava, S.K. (1988). Implementing Concurrency Control in Reliable Distributed Object-Oriented Systems. In: Gjessing, S., Nygaard, K. (eds) ECOOP ’88 European Conference on Object-Oriented Programming. ECOOP 1988. Lecture Notes in Computer Science, vol 322. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45910-3_14
Download citation
DOI: https://doi.org/10.1007/3-540-45910-3_14
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-50053-7
Online ISBN: 978-3-540-45910-1
eBook Packages: Springer Book Archive