Abstract
Persistent programming systems are designed as an implementation technology for long lived, concurrently accessed and potentially large bodies of data and programs, known here as persistent application systems (PASs). Within a PAS the persistence concept is used to abstract over the physical properties of data such as where it is kept, how long it is kept and in what form it is kept. As such it is seen as having a number of benefits in simplifying the task of PAS programming. Here, we describe the integrated design of the Napier88 persistent programming system and how Napier88 may be used to develop PASs.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Atkinson MP, Morrison R, Pratten GD.Designing a Persistent Information Space ArchitectureIn: Proc. 10th IFIP World Congress, Dublin, 1986, pp 115–120.
Connor RCH. The Napier Type-Checking Module. Universities of Glasgow and St Andrews Report PPRR58–88, 1988.
Connor RCH, Brown AB, Cutts QI, Dearie A, Morrison R, Rosenberg J. Type Equivalence Checking in Persistent Object Systems. In: Dearie A, Shaw GM, Zdonik SB (ed) Implementing Persistent Object Bases, Principles and Practice, Proc. 4th International Workshop on Persistent Object Systems, Martha’s Vineyard, USA. Morgan Kaufmann, 1990, pp 151–164.
Connor RCH. Types and Polymorphism in Persistent Programming Systems. Ph.D. thesis, University of St Andrews, 1990
Connor RCH, McNally DJ, Morrison R. Subtyping and Assignment in Database Programming Languages. In: Kanellakis P, Schmidt JW (ed) Database Programming Languages: Bulk Types and Persistent Data, Proc. 3rd International Workshop on Database Programming Languages, Nafplion, Greece. Morgan Kaufmann, 1991, pp 363–382.
Connor RCH, Morrison R. Subtyping Without Tears. In: Proc. 15th Australian Computer Science Conference, Hobart, Tasmania, 1992, pp 209–225.
Morrison R, Brown AL, Carrick R, Connor RCH, Dearie A, Atkinson MP. The Napier Type System. In: Rosenberg J, Koch DM (ed) Persistent Object Systems, Proc. 3rd International Workshop on Persistent Object Systems, Newcastle, Australia 1989. Workshops in Computing, Springer-Verlag, 1990, pp 3–18.
Atkinson MP, Lécluse C, Philbrow P, Richard P.Design Issues in a Map Language. In: Kanellakis P, Schmidt JW (ed) Bulk Types & Persistent Data. Morgan Kaufmann, 1991, pp 20–32
Connor RCH, Atkinson MP, Berman S, Cutts QI, Kirby GNC, Morrison R. The Joy of Sets. In: Been C, Ohori A, Shasha DE (ed) Database Programming Languages, Proc. 4th International Conference on Database Programming Languages, New York City. Workshops in Computing, Springer-Verlag, 1993, pp 417–433.
Connor RCH, Dearie A, Morrison R, Brown AL. Existentially Quantified Types as a Database Viewing Mechanism. In: Bancilhon F, Thanos C, Tsichritzis D (ed) Lecture Notes in Computer Science 416, Proc. 2nd International Conference on Extending Database Technology, Venice, Italy. Springer-Verlag, 1990, pp 301–315.
Morrison R, Brown AL, Connor RCH et al Protection in Persistent Object Systems. In: Rosenberg J, Keedy JL (ed) Security and Persistence, Proc. International Workshop on Security and Persistence, Bremen, 1990. Springer-Verlag, 1990, pp 48–66.
Morrison R, Dearle A, Connor RCH, Brown AL. An Ad-Hoc Approach to the Implementation of Polymorphism. ACM Transactions on Programming Languages and Systems 1991; 13,3:342–371.
Connor RCH, Dearle A, Morrison R, Brown AL. An Object Addressing Mechanism for Statically Typed Languages with Multiple Inheritance. In: Proc. OOPSLA’89, New Orleans, Louisiana, 1989.
Atkinson MP, Buneman OP, Morrison R. Binding and Type Checking in Database Programming Languages. Computer Journal 1988; 31,2:99–109.
Atkinson MP, Morrison R. Types, Bindings and Parameters in a Persistent Environment. In: Atkinson MP, Buneman OP, Morrison R (ed) Data Types and Persistence, Proc. 1st International Workshop on Persistent Object Systems, Appin, Scotland. Topics in Information Systems, Springer-Verlag, 1988, pp 3–20.
Morrison R, Brown AL, Dearie A, Atkinson MP. On the Classification of Binding Mechanisms. Information Processing Letters 1990;34:51–55.
Morrison R, Connor RCH, Cutts QI, Dunstan VS, Kirby GNC. Exploiting Persistent Linkage in Software Engineering Environments. Computer Journal 1995; 38,1:1–16.
Morrison R, Brown AL, Carrick R, Connor RCH, Dearie A, Atkinson MP.Polymorphism, Persistence and Software Reuse in a Strongly Typed Object Oriented Environment Software Engineering Journal 1987; December: 199–204.
Morrison R, Connor RCH, Cutts QI, Kirby GNC. Persistent Possibilities for Software Environments. In: The Intersection between Databases and Software Engineering,Proc. ICSE-16 Workshop on the Intersection between Databases and Software Engineering, Sorrento, Italy. IEEE Computer Society Press, 1994, pp 78–87.
Kirby GNC, Connor RCH, Cutts QI, Dearie A, Farkas AM, Morrison R. Persistent Hyper-Programs. In: Albano A, Morrison R (ed) Persistent Object Systems, Proc. 5th International Workshop on Persistent Object Systems, San Miniato, Italy. Workshops in Computing, Springer-Verlag, 1992, pp 86–106.
Connor RCH, Cutts QI, Kirby GNC, Morrison R. Using Persistence Technology to Control Schema Evolution. In: Proc. 9th ACM Symposium on Applied Computing, Phoenix, Arizona, 1994, pp 441–446
Atkinson MP, Sj0berg DIK, Morrison R. Managing Change in Persistent Object Systems. In: Proc. JSSST International Symposium on Object Technologies for Advanced Software, Kanazawa, Japan, 1993, pp 315–338.
Morrison R, Connor RCH, Cutts QI, Kirby GNC, Stemple D. Mechanisms for Controlling Evolution in Persistent Object Systems. Journal of Microprocessors and Microprogramming 1993; 17,3:173–181.
Dearle A, Cutts QI, Connor RCH. Using Persistence to Support Incremental System Construction. Journal of Microprocessors and Microprogramming 1993; 17,3:161–171.
Morrison R,Brown AL,Carrick R,Connor RCH,Dearle A. On the Integration of Object-Oriented and Process-Oriented Computation in Persistent Environments. In: Dittrich KR (ed) Lecture Notes in Computer Science 334, Proc. 2nd International Workshop on Object-Oriented Database Systems, Bad Münster am Stein-Ebernburg, Germany. Springer-Verlag, 1988, pp 334–339.
Morrison R, Barter CJ, Brown AL et al. Language Design Issues in Supporting Process-Oriented Computation in Persistent Environments.In:Proc. 22nd International Conference on System Sciences, Hawaii, 1989, pp 736–744.
Munro DS, Connor RCH, Morrison R, Scheuerl S, Stemple D. Concurrent Shadow Paging in the Flask Architecture. In: Atkinson MP, Maier D, Benzaken V (ed) Persistent Object Systems, Tarascon 1994, Proc. 6th International Workshop on Persistent Object Systems, Tarascon, France. Workshops in Computing, Springer-Verlag, 1994, pp 16–42.
Stemple D, Morrison R. Specifying Flexible Concurrency Control Schemes: An Abstract Operational Approach. In: Proc. 15th Australian Computer Science Conference, Hobart, Tasmania, 1992, pp 873–891.
Brown AL, Rosenberg J. Persistent Object Stores: An Implementation Technique. In: Dearle A, Shaw GM, Zdonik SB (ed) Implementing Persistent Object Bases, Principles and Practice, Proc. 4th International Workshop on Persistent Object Systems, Martha′s Vineyard, USA. Morgan Kaufmann, 1990, pp 199–212.
Brown AL, Cockshott WP. The CPOMS Persistent Object Management System. Universities of Glasgow and St Andrews Report PPRR-13–85, 1985.
Brown AL, Morrison R. A Generic Persistent Object Store. Software Engineering Journal 1992; 7,2:161–168.
Brown AL, Mainetto G, Matthes F, Müller R, McNally DJ. An Open System Architecture for a Persistent Object Store. In: Proc. 25th International Conference on Systems Sciences, Hawaii, 1992, pp 766–776
Vaughan F, Schunke T, Koch B, Dearie A, Marlin C, Barter C. A Persistent Distributed Architecture Supported by the Mach Operating System. In: Proc. Proceedings of the 1st USENIX Conference on the Mach Operating System, 1990, pp 123–140
Koch B, Schunke T, Dearle A et al. Cache Coherence and Storage Management in a Persistent Object System. In: Dearie A, Shaw G, Zdonik SB (ed) Implementing Persistent Object Bases. Morgan Kaufmann, 1990, pp 103–113
Brown AL. Persistent Object Stores. Ph.D. thesis, University of St Andrews, 1989.
Munro DS. On the Integration of Concurrency, Distribution and Persistence. Ph.D. thesis, University of St Andrews, 1993
Sjøberg DIK. Thesaurus-Based Methodologies and Tools for Maintaining Persistent Application Systems. Ph.D. thesis, University of Glasgow, 1993
Sjøberg DIK, Atkinson MP, Lopes JC, Trinder PW.Building an Integrated Persistent Application. In: Beeri C, Ohori A, Shasha DE (ed) Database Programming Languages, Proc. 4th International Conference on Database Programming Languages, New York City. Workshops in Computing, Springer-Verlag, 1993, pp 359–375.
Sjøberg DIK, Cutts QI, Welland R, Atkinson MP. Analysing Persistent Language Applications. In: Atkinson MP, Maier D, Benzaken V (ed) Persistent Object Systems, Tarascon 1994, Proc. 6th International Workshop on Persistent Object Systems, Tarascon, France. Workshops in Computing, Springer-Verlag, 1994, pp 235–255.
Connor RCH, Cutts QI, Kirby GNC, Moore VS, Morrison R. Unifying Interaction with Persistent Data and Program. In: Sawyer P (ed) Interfaces to Database Systems, Proc. 2nd International Workshop on Interfaces to Databases, Lancaster, 1994. Workshops in Computing, Springer-Verlag, 1994, pp 197–212.
Morrison R, Brown AL, Connor RCH et al. The Napier88 Reference Manual (Release 2.0). University of St Andrews Report CS/94/8, 1994.
Kirby GNC, Brown AL, Connor RCH et al. The Napier88 Standard Library Reference Manual (Release 2.0). University of St Andrews Report CS/94/7, 1994.
Goldberg A, Robson D. Smalltalk-80: The Language and its Implementation. Addison Wesley, Reading, Massachusetts, 1983.
PS-algol. PS-algol Reference Manual, 4th edition. Universities of Glasgow and St Andrews Report PPRR-12–88, 1988.
Morrison R. S-algol Language Reference Manual. University of St Andrews Report CS/79/1, 1979.
Atkinson MP, Morrison R. Orthogonally Persistent Object Systems. VLDB Journal 1995; 4,3:319–401.
Morrison R, Brown AL, Dearie A, Atkinson MP. An Integrated Graphics Programming Environment. Computer Graphics Forum 1986; 5,2:147–157.
Morrison R, Brown AL, Bailey PJ, Davie AJT, Dearie A. A Persistent Graphics Facility for the ICL PERQ Computer. Software—Practice and Experience 1986; 16,4:351–367.
Brown AL, Dearle A, Morrison R, Munro D, Rosenberg J. A Layered Persistent Architecture for Napier88. In: Rosenberg J, Keedy JL (ed) Security and Persistence, Proc. International Workshop on Security and Persistence, Bremen, 1990. Workshops in Computing, Springer-Verlag, 1990, pp 155–172.
Ruffin M. Kitlog, A Generic Logging Service. In: Proc. 11th IEEE Symposium on Reliable Distributed Systems, Houston, Texas, 1992, pp 139–146.
Scheuerl SJG, Connor RCH, Morrison R, Munro DS. The DataSafe Failure Recovery Mechanism in the Flask Architecture. In: Proc. 19th Australasian Computer Science Conference, Melbourne, Australia, 1996, pp 573–581.
Albano A, Cardelli L, Orsini R. Galileo: a Strongly Typed, Interactive Conceptual Language. ACM Transactions on Database Systems 1985; 10,2:230–260.
Matthes F, Müller R, Schmidt JW. Object Stores as Servers in Persistent Programming Environments—The P-Quest Experience. ESPRIT BRA Project 3070 FIDE Report FIDE/92/48, 1992.
Rabitti F, Mainetto G, Zezula P et al. Design and Implementation of PIOS: a Physically Independent Object Server. ESPRIT BRA Project 6309 FIDE2 Report FIDE/93/70.
Davie AJT, McNally DJ. Statically Typed Applicative Persistent Language Environment (STAPLE) Reference Manual. University of St Andrews Report CS/90/14, 1990.
Garcia-Molina H. Using Semantic Knowledge for Transaction Processing in a Distributed Database. ACM Transactions on Database Systems 1983; 8,2:186–213.
Atkinson MP, Bailey PJ, Chisholm KJ, Cockshott WP, Morrison R. An Approach to Persistent Programming. Computer Journal 1983; 26,4:360–365.
Atkinson MP, Bailey PJ, Chisholm KJ, Cockshott WP, Morrison R. Progress with Persistent Programming. In: Stocker PM, Atkinson MP, Gray PM (ed) Database, Role and Structure. Cambridge University Press, 1984, pp 245–310.
Atkinson MP, Buneman OP. Types and Persistence in Database Programming Languages. ACM Computing Surveys 1987; 19,2:105–190.
Atkinson MP, Chisholm KJ, Cockshott WP. PS-algol: An Algol with a Persistent Heap. ACM SIGPLAN Notices 1982; 17,7:24–31.
Atkinson MP, Morrison R. Procedures as Persistent Data Objects. ACM Transactions on Programming Languages and Systems 1985; 7,4:539–559.
Atkinson MP, Morrison R, Pratten GD. A Persistent Information Space Architecture. In: Proc. 9th Australian Computing Science Conference, Australia, 1986.
Dearle A. Constructing Compilers in a Persistent Environment. In: Proc. 2nd International Workshop on Persistent Object Systems, Appin, Scotland, 1987.
Dearle A. On the Construction of Persistent Programming Environments. Ph.D. thesis, University of St Andrews, 1988.
Wai F. Distribution and Persistence. In: Proc. 2nd International Workshop on Persistent Object Systems, Appin, Scotland, 1987, pp 207–225.
Cooper RL. Configurable Data Modelling Systems. In: Proc. 9th International Conference on the Entity Relationship Approach, Lausanne, Switzerland, 1990, pp 35–52.
Cooper RL. On The Utilisation of Persistent Programming Environments. Ph.D. thesis, University of Glasgow, 1990.
McCarthy J, Abrahams PW, Edwards DJ, Hart TP, Levin MI. The Lisp Programmers′ Manual. M.I.T. Press, Cambridge, Massachusetts, 1962.
van Wijngaarden A, Mailloux BJ, Peck JEL, Koster CHA. Report on the Algorithmic Language ALGOL 68. Numerische Mathematik 1969; 14:79–218.
Strachey C. Fundamental Concepts in Programming Languages. Oxford University Press, Oxford, 1967.
Tennent RD. Language Design Methods Based on Semantic Principles. Acta Informatica 1977; 8:97–112.
Cardelli L, Wegner P. On Understanding Types, Data Abstraction and Polymorphism. ACM Computing Surveys 1985; 17,4:471–523.
Dearle A. Environments: A flexible binding mechanism to support system evolution. In: Proc. 22nd International Conference on System Sciences, Hawaii, 1989, pp 46-55
Atkinson MP, Morrison R.Integrated Persistent Programming Systems. In: Proc. 19th International Conference on Systems Sciences, Hawaii, 1986, pp 842–854.
Mitchell JC, Piotkin GD. Abstract Types have Existential Type. ACM Transactions on Programming Languages and Systems 1988; 10,3:470–502.
Albano A, Dearie A, Ghelli G et al. A Framework for Comparing Type Systems for Database Programming Languages. In: Hull R, Morrison R, Stemple D (ed) Database Programming Languages. Morgan Kaufmann, 1989, pp 170–178.
Atkinson MP, Bailey PJ, Philbrow PC, Welland RC. An Organisation for Napier88 Libraries, 2nd Edition. ESPRIT BRA Project 6309 FIDE2 Report FIDE/94/77, 1994.
Lorie RA. Physical Integrity in a Large Segmented Database. ACM Transactions on Database Systems 1977; 2,1:91–104.
Rosenberg J, Henskens F, Brown AL, Morrison R, Munro D. Stability in a Persistent Store Based on a Large Virtual Memory. In: Rosenberg J, Keedy JL (ed) Security and Persistence, Proc. International Workshop on Security and Persistence, Bremen, 1990. Workshops in Computing, Springer-Verlag, 1990, pp 229–245.
Stonebraker M, Wong E, Kreps P, Held G. The Design and Implementation of INGRES. ACM Transactions on Database Systems 1976; 1,3:189–222.
DaviesCT. Data Processing Spheres of Control. IBM Systems Journal 1978; 17,2:179–198.
Stemple D, Stanton RB, Sheard T et al. Type-Safe Linguistic Reflection: A Generator Technology. ESPRIT BRA Project 3070 FIDE Report FIDE/92/49, 1992.
Dearle A, Brown AL. Safe Browsing in a Strongly Typed Persistent Environment. Computer Journal 1988; 31,6:540–544.
Kirby GNC, Connor RCH, Morrison R. START: A Linguistic Reflection Tool Using Hyper-Program Technology. In: Atkinson MP, Maier D, Benzaken V (ed) Persistent Object Systems, Tarascon 1994, Proc. 6th International Workshop on Persistent Object Systems, Tarascon, France. Workshops in Computing, Springer-Verlag, 1994, pp 355–373.
Kirby GNC. Persistent Programming with Strongly Typed Linguistic Reflection. In: Proc. 25th International Conference on Systems Sciences, Hawaii, 1992, pp 820–831.
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.
Sheard T. Automatic Generation and Use of Abstract Structure Operators. ACM Transactions on Programming Languages and Systems 1991; 19,4:531–557.
Dearle A, Cutts QI, Kirby GNC. Browsing, Grazing and Nibbling Persistent Data Structures. In: Rosenberg J, Koch DM (ed) Persistent Object Systems, Proc. 3rd International Workshop on Persistent Object Systems, Newcastle, Australia 1989. Workshops in Computing, Springer-Verlag, 1990, pp 56–69.
Cooper RL, Qin Z. A Graphical Data Modelling Program With Constraint Specification and Management. In: Proc. 10th British National Conference on Databases, Aberdeen, 1992, pp 192–208.
Cooper RL, Atkinson MP, Dearie A, Abderrahmane D. Constructing Database Systems in a Persistent Environment. In: Proc. 13th International Conference on Very Large Data Bases, 1987, pp 117–125.
Fegaras L, Stemple D. Using Type Transformation in Database System Implementation. In: Kanellakis P, Schmidt JW (ed) 3rd International Conference on Database Programming Languages, Proc. 3rd International Workshop on Database Programming Languages, Nafplion, Greece. Morgan Kaufmann, 1991, pp 337–353.
Cutts QI, Connor RCH, Kirby GNC, Morrison R. An Execution Driven Approach to Code Optimisation. In: Proc. 17th Australasian Computer Science Conference, Christchurch, New Zealand, 1994, pp 83–92.
Stemple D, Sheard T, Fegaras L. Linguistic Reflection: A Bridge from Programming to Database Languages. In: Proc. 25th International Conference on Systems Sciences, Hawaii, 1992, pp 844–855.
Fegaras L, Sheard T, Stemple D. Uniform Traversal Combinators: Definition, Use and Properties. In: Proc. 11th International Conference on Automated Deduction (CADE-11), Saratoga Springs, New York, 1992. LNAI 607, pp. 148–162.
Dijkstra EW. The Structure of the T.H.E. Multiprogramming System. Communications of the ACM 1968; 11,5:341–346.
Hoare CAR. Monitors: An Operating System Structuring Concept. Communications of the ACM 1974; 17,10:549–557.
Dijkstra EW. Cooperating Sequential Processes. In: Genuys F (ed) Programming Languages. Academic Press, 1968, pp 43–112.
Campbell RH, Haberman AN. The Specification of Process Synchronisation by Path Expressions. In: Lecture Notes in Computer Science 16. Springer-Verlag, 1974.
Brookes SD, Hoare C, Roscoe A. A Theory of Communicating Sequential Processes. Carnegie-Mellon University Report CMU-CS-83–153, 1980.
Eswaran KP, Gray JN, Lorie RA, Traiger IL. The Notions of Consistency and Predicate Locks in a Database System. Communications of the ACM 1976; 19,11:624–633.
Kung HT, Robinson JT. On Optimistic Methods for Concurrency Control. ACM Transactions on Database Systems 1982; 6,2:213–226.
Nodine MH, Zdonik SB. Co-operative Transaction Hierarchies: Transaction Support for Design Applications. VLDB Journal 1992; 1,1:41–80.
Sutton S. A Flexible Consistency Model for Persistent Data in Software-Process Programming. In: Dearle A, Shaw GM, Zdonik SB (ed) Implementing Persistent Object Bases, Principles and Practice, Proc. 4th International Workshop on Persistent Object Systems, Martha’s Vineyard, USA. Morgan Kaufmann, 1990, pp 305–319.
Ellis CA, Gibbs SJ. Concurrency Control in Groupware Systems. In: Proc. ACM-SIGMOD International Conference on Management of Data, Portland, Oregon, 1989, pp 399–407.
Morrison R, Barter CJ, Connor RCH et al. Concurrency Control in Process Models. IOPENER 1993; 2,1:11–12.
Brown JC. A Library Explorer for the Napier88 Glasgow Libraries. M.Sc. thesis, University of Glasgow, 1993.
Waite CA, Welland RC, Printezis T et al. Glasgow Libraries for Orthogonally Persistent Systems—Philosophy, Organisation and Contents. ESPRIT BRA Project 6309 FIDE2.
Morrison R, Brown AL, Connor RCH, Dearie A. The Napier88 Reference Manual. Universities of Glasgow and St Andrews Report PPRR-77–89, 1989.
Farkas AM. ABERDEEN: A Browser allowing intERactive DEclarations and Expressions in Napier88. University of Adelaide, 1991.
Kirby GNC, Cutts QI, Connor RCH, Dearie A, Morrison R. Programmers’ Guide to the Napier88 Standard Library, Edition 2.1. University of St Andrews, 1992.
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). The Napier88 Persistent Programming Language and Environment. 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_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-59623-0_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-64055-1
Online ISBN: 978-3-642-59623-0
eBook Packages: Springer Book Archive