This Article 
 Bibliographic References 
 Add to: 
Functional Development of Database Applications
September 1988 (vol. 14 no. 9)
pp. 1280-1292

A highly modular and uniformly functional development methodology for database applications is introduced. An event-oriented view of the database is adopted recording the observed events directly and treating the state of the environment as derived data. The relationship between the observed events and the derived state of the system is expressed using a purely functional language. The application systems in this environment are divided into their smallest possible components consisting of only functions and simple functional expressions. The multimode of small but highly independent components generated in this fashion are placed in the database along with the data, to utilize the database management system in maintaining the application system. The semantics of individual applications is captured within the data model serving those applications.

[1] M. M. Astrahanet al., "System R: Relational approach to database management,"Trans. Database Syst., vol. 1, no. 1, pp. 97-137, 1976.
[2] J. Backus, "Can programming be liberated from the von Neumann style? A functional style and its algebra of programs,"Commun. ACM, vol. 21, no. 8, pp. 613-641, Aug. 1978.
[3] P. Bernstein and N. Goodman, "Concurrency Control in Distributed Database Systems,"ACM Computing Surveys, Vol. 13, No. 2, June 1981, pp. 185-221.
[4] A. Bossi and C. Ghezzi, "Using FP as a query language for relational databases,"Comput. Languages, vol. 9, no. 1, pp. 25-37, 1984.
[5] O. P. Buneman and E. K. Clemons, "Efficiently monitoring relational databases,"Trans. Database Syst., vol. 4, no. 3, pp. 368-382, 1979.
[6] O. P. Buneman, R. E. Fraenkel, and R. Nikhil, "An implementation technique for database query languages,"Trans. Database Syst., vol. 7, no. 2, 1982.
[7] R. M. Burstall, J. S. Collins, and R. J. Popplestone,Programming in POP-2. London: Edinburgh University Press, 1971.
[8] D. D. Chamberlinet al., "SEQUEL 2: A unified approach to data definition, manipulation and control,"IBM J. Res. Develop., vol. 20, no. 6, pp. 560-575, 1976.
[9] E. F. Codd, "Extending the relational database model to capture more meaning,"ACM Trans. Database Syst., vol. 4, no. 4, pp. 397-434, Dec. 1979.
[10] E. W. Dijkstra,A Discipline of Programming. Englewood Cliffs, NJ: Prentice-Hall, 1976.
[11] C. Gane and T. Sarson,Structured Systems Analysis: Tools and Techniques. Englewood Cliffs, NJ: Prentice-Hall, 1979.
[12] M. M. Hammeret al., "A very high level language for data processing applications,"Commun. ACM, vol. 20, no. 11, pp. 832-840, 1977.
[13] P. Henderson,Functional Programming: Application and Implementation. Englewood Cliffs, NJ: Prentice-Hall, 1980.
[14] P. Henderson and J. H. Morris, "A lazy evaluator," inProc. 3rd POPL Symp., 1976, pp. 95-103.
[15] C. A. R. Hoare and P. E. Lauer, "Consistent and complementary formal theories of the semantics of programming languages,"Acta Inform., vol. 3, no. 1, 1974.
[16] M. Jackson,System Development. Englewood Cliffs, NJ: Prentice-Hall, 1983.
[17] C. Jones,Software Development: A Rigorous Approach. Englewood Cliffs, NJ: Prentice-Hall International, 1980.
[18] W. Kent,Data and Reality. Amsterdam, The Netherlands: North-Holland, 1978.
[19] P. J. Landin, "The next 700 programming languages,"Commun. ACML, vol. 9, no. 3, pp. 157-164, 1966.
[20] J. McCarthy, "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part 1,"Comm. ACM, Vol. 3, No. 4, Apr. 1960, pp. 184-195.
[21] J. Mylopoulos,et al., "A language facility for designing database intensive applications,"ACM Trans. Database Syst., vol. 5, no. 2, June 1980.
[22] L. Orman, "A familial model of data for a multilevel schema framework,"Inform. Syst., vol. 7, no. 6, 1982.
[23] L. Orman, "A familial specification language for database application systems,"Comput. Languages, vol. 8, no. 3, pp. 113-124, 1983.
[24] L. Orman, "Information-independent evaluation of information system,"Inform. Management, vol. 6, no. 6, pp. 309-316, 1983.
[25] L. Orman, "Design criteria for functional databases,"Inform. Syst., vol. 10, no. 2, 1985.
[26] L. Orman, "Functions in information systems,"Data Base, vol. 16, no. 4, 1985.
[27] A. Perlis, F. Sayward, and M. Shaw, Ed.,Software Metrics. Cambridge, MA: MIT Press, 1981.
[28] J. W. Schmidt, "Some high level constructs for data of type relation,"Trans. Database Syst., vol. 2, no. 3, pp. 247-261, 1977.
[29] D. Shipman, "The functional model and the data language daplex,"ACM Trans. Database Syst., vol. 6, no. 1, Mar. 1981.
[30] J.M. Smith and D.C.P. Smith, "Database Abstractions: Aggregation and Generalization,"ACM Trans. Database Sys., June 1977, pp. 105-133.
[31] M. R. Stonebraker and L. A. Rowe, "Observations on data manipulation languages and their embedding in general purpose programming languages," inProc. Very Large Data Bases, 1977.
[32] B. Sundgren,Theory of Data Bases. Mason-Charter, 1975.
[33] D. Tsichritzis and F. Lochovsky,Data Models, Prentice Hall, Englewood Cliffs, N.J., 1982.
[34] H. K. T. Wong and J. Mylopulos, "Two views of data semantics: A survey of data models in artificial intelligence and database management,"INFOR, vol. 15, pp. 344-383, 1977.
[35] M. M. Zloof, "Query by example: A data base language,"IBM Syst. J., vol. 16, no. 4, pp. 324-343, 1977.

Index Terms:
functional development methodology; event-oriented view; database; observed events; functional language; database management system; semantics; database management systems; functional programming
L. Orman, "Functional Development of Database Applications," IEEE Transactions on Software Engineering, vol. 14, no. 9, pp. 1280-1292, Sept. 1988, doi:10.1109/32.6172
Usage of this product signifies your acceptance of the Terms of Use.