On the integration of object-oriented and process-oriented computation in persistent environments
Persistent programming is concerned with the construction of large and long lived systems of data [1,2]. Such systems have traditionally required concurrent access for two reasons. The first is that of speed, be it access speed for multiple users or execution speed for parallel activities. The second reason for concurrency is to control the complexity of large systems by decomposing them into parallel activities.
This process-oriented approach to system construction has much in common with the object-oriented approach. We will demonstrate, in this paper, the facilities of the language Napier  which allows the integration of the two methodologies along with a persistent environment to provide concurrently accessed object-oriented databases.
Unable to display preview. Download preview PDF.
- 1.Atkinson, M.P., Morrison, R. & Pratten, G.D. "Designing a persistent information space architecture". 10th IFIP World Congress, Dublin (September 1986). North-Holland, Amsterdam.Google Scholar
- 2.Atkinson, M.P., Bailey, P.J., Chisholm, K.J., Cockshott, W.P. & Morrison, R. "An approach to persistent programming". Computer Journal 26,4 (November 1983).Google Scholar
- 3.Atkinson, M.P. & Morrison, R. "Procedures as persistent data objects". ACM.TOPLAS 7,4 (October 1985).Google Scholar
- 4.Boehm, B.W. "Understanding and controlling software costs". 10th IFIP World Congress, Dublin (September 1986), North-Holland, Amsterdam.Google Scholar
- 5.Cardelli, L. "A semantics of multiple inheritance". In Lecture Notes in Computer Science. 173, 51. Springer-Verlag (1984).Google Scholar
- 6.Cardelli, L. & Wegner, P. "On understanding types, data abstraction and polymorphism". ACM. Computing Surveys 17, 4 (December 1985)Google Scholar
- 7.Dijkstra, E.W. "The structure of THE multiprogramming system". Comm.ACM 11, 5 (May 1968).Google Scholar
- 8.Fredrich, M. & Older, W. "HELIX: the architecture of a distributed file system". 4th Conf. on Distributed Computer Systems. (May 1984).Google Scholar
- 9.Gammage, N.D., Kamel, R.F. & Casey, L.M. "Remote Rendezvous". Software, Practice & Experience 17, 10 (1987).Google Scholar
- 10.Goldberg, A. & Robson, D. SMALLTALK-80 The language and its implementation. Addison-Wesley, London. (1983).Google Scholar
- 11.Hewitt, C.E. "Viewing control structures as patterns of message passing". J. Artificial Intelligence 8, 3 (June 1977),.Google Scholar
- 12.Hoare, C.A.R. "Communicating sequential processes". Comm.ACM 21, 8 (August 1978),.Google Scholar
- 13.Ichbiah et al., The Programming Language Ada Reference Manual. in Lecture Notes in Computer Science. 155. Springer-Verlag (1983).Google Scholar
- 14.Krablin, G.L. "Building flexible multilevel transactions in a distributed persistent environment". proceedings of Data Types and Persistence Workshop, Appin, August 1985.Google Scholar
- 15.Morrison, R., Brown, A.L., Dearle, A. & Atkinson, M.P. "An integrated graphics programming environment". 4th UK Eurographics Conference, Glasgow (March 1986). In Computer Graphics Forum 5, 2 (June 1986).Google Scholar
- 16.Morrison, R., Bailey, P.J., Brown, A.L., Dearle, A. & Atkinson, M.P. "A persistent store as an enabling technology for an integrated project support environment". IEEE 8th International Conference on Software Engineering, London (August 1985).Google Scholar
- 17.Morrison, R., Brown, A.L., Carrick, R., Connor, R. & Dearle, A. Rapier Reference Manual. Dept. of Computational Science. University of St Andrews.Google Scholar
- 18.Wegner, P. "Dimensions of object-based language design". OOPSLA 87 (1987).Google Scholar