Abstract
The major motivation for database programming language (DBPL) research is to facilitate the construction and maintenance of large dataintensive applications. To fully benefit from DBPLs, supporting methodologies and tools are needed. This paper describes the construction of a multi-author, multi-level thesaurus application (TA). Some tools and methodologies were used in the TA construction, and requirements for other tools and methodologies are identified as the result of our experiences. Although built in a specific language (Napier88), the principles discovered apply to other DBPLs.
The TA comprises several loosely-integrated components constructed by different programmers. The components were themselves implemented using general purpose sub-components, including libraries. A principle result is that a realistic application could be constructed quickly in a DBPL. Rapid construction was facilitated by the use of libraries, code reuse and an incremental construction methodology supported by the persistent store. Language features such as a polymorphic type system and structural type equivalence were important. Nevertheless, some problems were encountered with code reuse, with integrating independently constructed components, with the lack of concurrency and with build management such as installation and recompilation. Our experiences lead us to suggest several improvements, including models, methodologies and supporting tools for persistent application construction and maintenance.
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
M.P. Atkinson, P.J. Bailey, K.J. Chisholm, W.P. Cockshott, and R. Morrison. An approach to persistent programming. The Computer Journal, 26 (4): 360–365, November 1983.
M.P. Atkinson, P.J. Bailey, N. Jackson, and P.C. Philbrow. Napier88 libraries. Technical report, in preparation, Department of Computing Science, University of Glasgow, 1993.
M.P. Atkinson, K.J. Chisholm, and W.P. Cockshott. PS-algol: An algol with a persistent heap. ACM SIGPLAN Notices, 17 (7): 24–31, July 1982.
M.P. Atkinson, C. Lécluse, P.C. Philbrow, and P. Richard. Maps as bulk types for data base programming languages. In Proceedings of the Annual Esprit Conference (1991), 1991.
M.P. Atkinson and R. Morrison. Procedures as persistent data objects. ACM Transactions on Programming Languages and Systems, 4 (7): 539–559, October 1985.
M.P. Atkinson. Lecture notes in Napier88 programming. Department of Computing Science, University of Glasgow, 1993.
M.P. Atkinson, P.W. Trinder, and D.A. Watt. Bulk type constructors. Technical Report FIDE/93/61, ESPRIT Basic Research Action, Project Number 3070—FIDE, 1993.
C. Batini, M Lenzerini, and S.B. Navathe. A comparative analysis of methodologies for database schema integration. ACM Computing Surveys, 18 (4): 323–364, April 1986.
Q.I. Cutts, A. Dearle, and G.N. Kirby. WIN programmers’ manual. Technical Report CS/90/17, Department of Computational Science, University of St Andrews, 1990.
Con91] R.C.H. Connor. Types and Polymorphism in Persistent Programming Systems. PhD thesis, Department of Computational Science, University of St Andrews, 1991.
Q.I. Cutts. Delivering the Benefits of Persistence to System Construction and Execution. PhD thesis, Department of Computational Science, University of St Andrews, 1993.
Q.I. Cutts. Private communication, 1993.
L.L. Constantine and E. Yourdon. Structured Design. Englewood Cliffs, NJ, 1979.
A. Dearle, Q.I. Cutts, and R.C.H. Connor. An application architecture using type-safe incremental linking. Technical Report FIDE/92/56, ESPRIT Basic Research Action, Project Number 6309—FIDE2, 1992.
O.J. Dahl, E.W. Dijkstra, and C.A.R. Hoare. Structured Programming. Number 8 in A.P.I.C. Studies in Data Processing. Academic Press, 1972.
A. Dearle. Constructing compilers in a persistent environment. In R. Carrick and R.L. Cooper, editors, Proceedings of the Second International Workshop on Persistent Object Systems: Their Design, Implementation and Use (Appin, Scotland, 25th-28th August 1987), pages 443–455, 1987. Technical Report PPRR-44–87, Universities of Glasgow and St Andrews.
A. Farkas, A. Dearle, G. Kirby, Q. Cutts, R. Morrison, and R. Connor. Persistent program construction trough browsing and user gesture with some typing. In A. Albano and R. Morrison, editors, Fifth International Workshop on Persistent Object Systems. Design, Implementation and Use (San Miniato, Italy, 1st-4th September 1992), Workshops in Computing. Springer-Verlag in collaboration with the British Computer Society, 1992.
S.I. Feldman. Make — a program for maintaining computer programs. Software Practice and Experience, 9 (4): 255–265, April 1979.
Peter Gray. Logic, Algebra and Databases. Ellis Horwood Limited, Chichester, 1984.
M.A. Jackson. Principles of Program Design. Number 12 in A.P.I.C. Studies in Data Processing. Academic Press, 1975.
G. Kirby, R. Connor, Q. Cutts, A. Dearle, A. Farkas, and R. Morrison. Persistent hyper-programs. In A. Albano and R. Morrison, editors, Fifth International Workshop on Persistent Object Systems. Design, Implementation and Use (San Miniato, Italy, 1st-4th September 1992), Workshops in Computing. Springer-Verlag in collaboration with the British Computer Society, 1992.
G.N.C. Kirby and A. Dearle. An adaptive graphical browser for Napier88. Technical Report CS/90/16, Department of Computational Science, University of St Andrews, 1990.
G.N.C. Kirby. Reflection and Hyper-Programming in Persistent Programming Systems. PhD thesis, Department of Computational Science, University of St Andrews, 1993.
C.W. Krueger. Software reuse. ACM Computing Surveys,24(2):131183, June 1992.
J.C. Lopes. ShTH — Show Thesaurus User Interface. Technical Report FIDE/93/76, ESPRIT Basic Research Action, Project Number 6309 FIDE2, 1993.
R. Morrison, F. Brown, R. Connor, and A. Dearle. The Napier88 reference manual. Technical Report PPRR-77–89, Universities of Glasgow and St Andrews, June 1989.
R. Morrison, A.L. Brown, A. Dearle, and M.P. Atkinson. An integrated graphics programming environment. Computer Graphics Forum, 5(2):147–157, June 1986. Also available as PPRR-14–86.
R. Morrison, A.L. Brown, A. Dearle, and M.P. Atkinson. Flexible incremental binding in a persistent object store. ACM SIGPLAN Notices, 23 (4): 27–34, April 1988.
R. Morrison, A.L. Brown, A. Dearle, and M.P. Atkinson. On the classification of binding mechanisms. Information Processing Letters, 34: 51–55, February 1990.
Members of the FIDE types club with M.P. Atkinson and P. Richard as editors. Types for large scale systems. Club report of meeting in Pisa, 5th-6th July 1990. Technical Report FIDE/90/1, ESPRIT Basic Research Action, Project Number 3070 FIDE, October 1990.
D. Munro. On the Integration of Persistence, Concurrency and Distribution. PhD thesis, submited, Department of Computational Science, University of St Andrews, 1993.
D. Sjoberg. Measuring name and identifier usage in Napier88 applications. Technical Report FIDE/92/37, ESPRIT Basic Research Action, Project Number 3070—FIDE, 1992.
D. Sjoberg. Quantifying schema evolution. Information and Software Technology, 35 (1): 35–44, January 1993.
D. Sjoberg. Thesaurus-Based Methodologies and Tools for Maintaining Persistent Application Systems. PhD thesis, Department of Computing Science, University of Glasgow, 1993.
P.W. Trinder. Comprehensions, a query notation for DBPLs. In P. Kanellakis and J.W. Schmidt, editors, Proceedings of the Third International Workshop on Database Programming Languages (Nafplion, Greece, 27th-30th August 1991). San Mateo, CA: Morgan Kaufmann Publishers, 1991.
Qin Zhenzhou. Second year report. Department of Computing Science, University of Glasgow, 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sjøberg, D., Atkinson, M., Lopes, J., Trinder, P. (1994). Building an Integrated Persistent Application. In: Beeri, C., Ohori, A., Shasha, D.E. (eds) Database Programming Languages (DBPL-4). Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3564-7_20
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3564-7_20
Publisher Name: Springer, London
Print ISBN: 978-3-540-19853-6
Online ISBN: 978-1-4471-3564-7
eBook Packages: Springer Book Archive