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. This paper explores the full range of protection mechanisms in persistent systems from static to dynamic checking and contrasts 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 are all explored with reference to manipulating long-lived data.
Article Note
The original version of this paper appeared as [10].
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
Atkinson M P, Bailey P J, Chisholm K J, Cockshott W P, Morrison R. An Approach to Persistent Programming. Computer Journal 1983; 26,4:360–365.
Lorie R A. Physical Integrity in a Large Segmented Database. ACM Transactions on Database Systems 1977; 2,1:91–104.
Rosenberg J, Henskens F, Brown A L, Morrison R, Munro D. Stability in a Persistent Store Based on a Large Virtual Memory. In: Rosenberg J, Keedy J L (ed) Security and Persistence, Proc. International Workshop on Security and Persistence, Bremen, 1990. Springer-Verlag, 1990, pp 229–245.
Jones A K, Liskov B. A Language Extension for Expressing Constraints on Data Access. Communications of the ACM 1978; 21,5:358–367.
Sheard T, Stemple D. Automatic Verification of Database Transaction Safety. ACM Transactions on Database Systems 1989; 12,3:322–368.
Stemple D, Fegaras L, Sheard T, Socorro A. Exceeding the Limits of Polymorphism in Database Programming Languages. In: Bancilhon F, Thanos C, Tsichritzis D (ed) Lecture Notes in Computer Science 416 (EDBT’90). Springer-Verlag, 1990, pp 269–285.
Atkinson M P, Morrison R. Polymorphic Names, Types, Constancy and Magic in a Type Secure Persistent Object Store. In: Proc. 2nd International Workshop on Persistent Object Systems, Appin, Scotland, 1987, pp 1–12.
Rosenberg J, Abramson D A. A Capability-Based Workstation to Support Software Engineering. In: Proc. 18th International Conference on Systems Sciences, Hawaii, 1987, pp 222–230.
PS-algol. PS-algol Reference Manual, 4th edition. Universities of Glasgow and St Andrews Report PPRR–12–88, 1988.
Morrison R, Brown A L, Connor R C H etal. Protection in Persistent Object Systems. In: Rosenberg J, Keedy J L (ed) Security and Persistence, Proc. International Workshop on Security and Persistence, Bremen, 1990. Workshops in Computing, Springer-Verlag, 1990, pp 48–66.
Cardelli L. Amber. In: Lecture Notes in Computer Science 242. Springer-Verlag, 1986, pp 21–47.
Dennis J B, Van Horn E C. Programming Semantics for Multiprogrammed Computations. Communications of the ACM 1966; 9,3:143–145.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Morrison, R. et al. (2000). Protection in Persistent Object Systems. In: Atkinson, M.P., Welland, R. (eds) Fully Integrated Data Environments. Esprit Basic Research Series. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-59623-0_12
Download citation
DOI: https://doi.org/10.1007/978-3-642-59623-0_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-64055-1
Online ISBN: 978-3-642-59623-0
eBook Packages: Springer Book Archive