Abstract
Persistent programming is concerned with the creation and manipulation of data with arbitrary lifetimes. This data is often valuable and therefore protected to ensure that it is free from misuse. The mechanisms used to protect the data vary with a tradeoff between static expression of the protection and the flexibility in modelling it. In this paper we explore the full range of protection mechanisms in persistent systems from static to dynamic checking and contrast it with the corresponding balance between safety and flexibility in the system. Protection by capabilities, dynamic universal union types, encapsulation, subtype inheritance, existential quantification and predicate defined invariants will be explored with reference to manipulating long lived data.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Albano, A., Ghelli, G. & Orsini, R. “Types for Databases: The Galileo Experience.” Proc. 2nd International Workshop on Database Programming Languages, Oregon, June 1989, pp 196–206.
Anderson, M., Pose, R.D. & Wallace, C.S. “A Password-Capability System.” The Computer Journal, 29, 1, 1986, pp. 1–8.
Atkinson, M.P., Bailey, P.J., Chisholm, K.J., Cockshott, W.P. & Morrison, R. “An Approach to Persistent Programming.” The Computer Journal, 26, 4, November 1983, pp. 360–365.
Atkinson, M.P., Buneman, O.P. & Morrison, R. “Binding and Type Checking in Database Programming Languages.” The Computer Journal, 31, 2, 1988, pp. 99–109.
Atkinson, M.P. & Morrison, R. “Polymorphic Names, Types, Constancy and Magic in a Type Secure Persistent Object Store.” 2nd International Workshop on Persistent Object Systems, Appin, August 1987, pp. 1–12.
Bernstein, P. A. & Blaustein, B. T. “A Simplification Algorithm for Integrity Assertions and Concrete Views.” Proc. of the Fifth International Computer Software and Applications Conference, 1981, pp. 90–99.
Bernstein, P. A., Blaustein, B. T, & Clarke, E. M. “Fast Maintenance of Semantic Assertions Using Redundant Aggregate Data.” Proc. of the Sixth International Conference on Very Large Databases, 1980, pp. 126–136.
Burstall, R. & Lampson, B. “A Kernel Language for Abstract Data Types and Modules.” Proc. international symposium on the semantics of data types, Sophia-Antipolis, France, 1984. In Lecture Notes in Computer Science, 173. Springer-Verlag, 1984.
Cardelli. L. “Amber.” Tech. Report AT&T. Bell Labs. Murray Hill, U.S.A., 1985.
Cardelli, L. “Typeful Programming.” DEC SRC Report, May 1989.
Cardelli, L. & Wegner, P. “On Understanding Types, Data Abstraction and Polymorphism.” ACM Computing Surveys, 17, 4, December 1985, pp. 471–523.
Connor, R.C.H., Dearle, A., Morrison, R. & Brown, A.L. “Existentially Quantified Types as a Database Viewing Mechanism.” Advances in Database Technology - EDBT90, Venice. In Lecture Notes in Computer Science, 416. Springer-Verlag, 1990, pp. 301–315.
Dennis, J.B. & Van Horn, E.C. “Programming Semantics for Multiprogrammed Computations.” Comm. ACM, 9, 3, 1966, pp 143–145.
Fabry, R.S. “Capability Based Addressing.” Comm.ACM, 17, 7, 1974, pp. 403–412.
Feustal, E.A. “On the Advantages of Tagged Architecture.” IEEE Transactions on Computers, C-22, 7, July 1973, pp. 644–656.
Hsu, T. & Imielinski, T. “Integrity Checking for Multiple Updates.” Proc. of the ACM- SIGMOD International Conference on Management of Data, 1985, pp. 152–168.
Jones, A.K. & Liskov, B. “A language extension for expressing constraints on data access.” Comm.ACM, 21, 5, 1978, pp. 358–367.
Lorie, R.A. “Physical Integrity in a Large Segmented Database.” ACM Transactions on Database Systems, 2, 1, March 1977, pp. 91–104.
McCune, W. & Henschen, L. “Maintaining State Constraints in Relational Databases.” Journal of the ACM, 36, 1, January 1989, pp. 46–68.
Mitchell J.C. & Plotkin G.D. “Abstract Types have Existential type.” ACM Transactions on Programming Languages and Systems, 10, 3, July 1988, pp. 470–502.
Morrison, R., Brown, A.L., Connor, R.C.H. & Dearle, A. “Napier88 Reference Manual.” Persistent Programming Research Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989.
Morrison, R., Brown, A.L., Dearle, A. & Atkinson, M.P. “Flexible Incremental Binding in a Persistent Object Store.” ACM Sigplan Notices, 23, 4, April 1988, pp. 27–34.
Myers, G.J. & Buckingham, B.R.S. “A Hardware Implementation of Capability-Based Addressing.” Operating Systems Review, 14, 4, 1980.
“The PS-algol Reference Manual fourth edition.” Persistent Programming Research Report PPRR-12-87, Universities of Glasgow and St. Andrews, 1987.
Rosenberg, J. & Abramson, D.A. “A Capability-Based Workstation to Support Software Engineering.” Proceedings of 18th Annual Hawaii International Conference on System Sciences, 1985, pp. 222–230.
Rosneberg, J., Henskens, F.A., Brown, A.L. & Morrison, R. “Stabilitity in a Persistent Store based on Large Virtual Memory.” Proc of the International Workshop on Security and Persistence of Information, Bremen, West Germany, May 1990.
Schmidt, J.W., Wetzel, I., Borgida, A. & Mylopoulos, J. “Database Programming by Formal Refinement of Conceptual Design.” IEEE - Data Engineering, September 1989.
Sheard, T. & Stemple, D. “Automatic Verification of Database Transaction Safety.” ACM Transactions on Database Systems, 12, 3, September, 1989, pp. 322–368.
Stemple, D., Fegaras, L., Sheard, T. & Socorro, A. “Exceeding the Limits of Polymorphism in Database Programming Languages.” Advances in Database Technology - EDBT90, Venice. In Lecture Notes in Computer Science, 416. Springer-Verlag, 1990, pp. 269–285.
Wilkes, M.V. & Needham, R.M. The Cambridge CAP Computer and its Operating System. Elsevier North Holland, Inc., 1979.
Wulf, W.A., Levin, R. & Harbison, S.P. HYDRA/C.mmp: An Experimental Computer System. McGraw-Hill, New York, 1981.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1990 British Computer Society
About this paper
Cite this paper
Morrison, R. et al. (1990). Protection in Persistent Object Systems. In: Rosenberg, J., Keedy, J.L. (eds) Security and Persistence. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3178-6_4
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3178-6_4
Publisher Name: Springer, London
Print ISBN: 978-3-540-19646-4
Online ISBN: 978-1-4471-3178-6
eBook Packages: Springer Book Archive