This Article 
 Bibliographic References 
 Add to: 
A FAD for Data Intensive Applications
February 1992 (vol. 4 no. 1)
pp. 34-51

FAD is a strongly typed database programming language designed for uniformly manipulating transient and persistent data on Bubba, a parallel database system developed at MCC. The paper provides an overall description of FAD, and discusses the design rationale behind a number of its distinguishing features. Comparisons with other database programming languages are provided.

[1] E. F. Codd, "A relational model of data for large shared data banks,"Commun. ACM, pp. 377-387, June 1970.
[2] G. Jaeschke and H. J. Schek, "Remarks on the algebra of non first normal form relations," inProc. ACM Symp. Principles Database Syst., Los Angeles, CA, Mar. 1982, pp. 124-138.
[3] C. Zaniolo, "The representation and deductive retrieval of complex objects," inProc. 11th Int. Conf. Very Large Databases, 1985.
[4] H.-J. Schek and M. H. Scholl, "The relational model with relation-valued attributes,"Inform. Syst., vol. 11, no. 2, 1986.
[5] Z. Ozsoyogly and L. Yuan, "A normal form for nested relations," inProc. 4th Symp. Principles Database Syst., 1985, pp. 251-260.
[6] S. Abiteboul and N. Bidoit, "An algebra for non normalized relations," inProc. 3rd ACM Int. Symp. Principles Database Syst., 1984.
[7] R. Hull and C. Yap, "The format model: A theory of database orgainization,"J. ACM, vol. 31, no. 3, July 1984.
[8] A. Furtado and L. Kerschberg, "An algebra of quotient relations," inProc. ACM Int. SIGMOD Conf., 1977.
[9] M. Roth, H. Korth, and A. Silberschatz, "Theory of non-first-normal-form relational databases," Dep. Comput. Sci., TR-84-36, Univ. of Texas at Austin, 1984.
[10] S. J. Thomas, "A non-first-normal-form relational database model," Ph.D. dissertation, Vanderbilt Univ., 1983.
[11] F. Bancilhon and S. Khoshafian, "A calculus for complex objects," inProc. 5th ACM SIGMOD-SIGACT Symp. on Principles of Database Syst., 1986, pp. 53-59.
[12] G. Copeland and D. Maier, "Making Smalltalk a database system," inProc. 1984 ACM-SIGMOD Int. Conf. Management of Data, Boston, MA, June 1984.
[13] J. W. Schmidt, "Some high level constructs for data of type relation,"Trans. Database Syst., vol. 2, no. 3, pp. 247-261, 1977.
[14] M. P. Atkinson and O. P. Buneman, "Types and persistence in data-base programming languages,"ACM Computing Surveys, vol. 19, pp. 105-190, June 1987.
[15] S. N. Koshafian and G. P. Copeland, "Object identity,"SIGPLAN Notices (Proc. ACM Conf. Object-Oriented Programming Systems, Languages and Applications (OOPSLA)), vol. 21, no. 11, pp. 417- 423, 1986.
[16] G. Kuper and M. Vardi, "On the expressive power of the logic data model," inProc. ACM Int. SIGMOD Conf., 1985.
[17] S. Tsur and C. Zaniolo, "An implementation of GEM-Supporting a semantic data model on a relational back end," inProc. 1984 ACM-SIGMOD Int. Conf. Management of Data, Boston, MA, June 1984.
[18] C. Lécluse, P. Richard, and F. Velez, "O2, an object-oriented data model," inProc. 1988 ACM SIGMOD Int. Conf. Management of Data, (Chicago, Illinois, May 1988), pp. 424-433, 1988.
[19] P. P. Chen, "The Entity-Relationship Model -- Towards a Unified View of Data,"ACM Trans. Database Syst., Vol. 1, No. 1, Mar. 1976, pp. 9-36.
[20] M. Hammer and D. J. McLead, "Database description with SDM: a semantic database model,"ACM Trans. Database Syst., pp. 351-386, Sept. 1981.
[21] Bubba Team, "Protyping Bubba, A highly parallel database system,"IEEE Trans. Knowledge Data Eng., vol. 2, Mar. 1990.
[22] F. Bancilhon, T. Briggs, S. Khoshafian, and P. Valduriez, "FAD: a powerful and simple database language," inProc. 13th VLDB Conf. (Brighton, UK), 1987, pp. 97-105.
[23] H. Boral, "Parallelism in Bubba," inProc. Int. Symp. Databases in Parallel Distributed Syst., Austin, TX, Dec. 1988.
[24] M. Stonebraker, "The case for shared-nothing,"Database Eng., vol. 9, no. 6, June 1986.
[25] D. Dewitt, R. H. Gerber, G. Graefe, M. L. Heytens, K. B. Kumar, and M. Muralikrishna, "GAMMA--A high performance dataflow database machine," inProc. 12th Int. Conf. VLDB, Kyoto, Japan, Aug. 1986, pp. 228-237.
[26] S. Tsur and C. Zaniolo, "LDL: a logic-based data-language," inProc. 12th VLDB Conf., 1986, pp. 33-41.
[27] 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.
[28] S. Danforth, "Typechecking FAD, A database programming language," MCC Tech. Rep. ACA-ST-194-88(Q), June 1988.
[29] P. Valduriez and S. Danforth, "Query optimization for database programming languages," inProc. 1st Int. Conf. Deductive and Object Oriented Database Syst., Kyoto, Dec. 1989.
[30] B. Hart, S. Danforth, and P. Valduriez, "Parallelizing FAD, A database programming language," inProc. Int. Symp. Databases in Parallel Distributed Syst., Austin, TX, Dec. 1988.
[31] G. Copeland, W. Alexander, E. Boughter, and T. Keller, "Data placement in bubba," inProc. ACM SIGMOD, Chicago, IL, June 1-3, 1988, pp. 99-109.
[32] P. Valduriez, S. Danforth, B. Hart, T. Briggs, and M. Cochinwala, "Compiling FAD, A database programming language," inProc. Int. Workshop Database Programming Languages, Portland, June 1989.
[33] G. Steele,The COMMON LISP Reference Manual. Bedford, MA: Digital, 1984.
[34] P. Valduriez and S. Danforth, "Functional SQL (FSQL), An SQL upward compatible database programming language," MCC Rep. ACA-ST-045- 89, 1989, to be published inInform. Sci.--An International Journal.
[35] G. Sussmann and G. Steele, "An interpreter for extended lambda calculus," MIT AI Memo 349, Dec. 1975.
[36] R. Milner, "A proposal for standard ML," Internal Rep. CSR-157-83, Dep. Comput. Sci., Univ. of Edinburgh, 1984.
[37] L. Cardelli, "Amber," AT&T Bell Labs Tech. Memo 11271-840924- 10TM, 1984.
[38] M. Abadi, L. Cardelli, B. Pierce, and G. Plotkin, "Dynamic typing in a statically typed language," DEC SRC Rep. 47, 1989.
[39] A. Albano, L. Cardelli, and R. Orsini, "Galileo: A Strongly Typed, Interactive Conceptual Language,"ACM Trans. Database Systems, Vol. 10, No. 2, June 1985, pp. 230-260.
[40] M. Atkinson, K. Chisholm, and W. Cockshott, "PS-Algol: An Algol with a persistent heap,"ACM SIGPLAN Notices, vol. 17, no. 7, July 1981.
[41] A. Ohori, P. Buneman, and V. Breazu-Tannen, "Database programming in Machiavelli," inProc. ACM Int. SIGMOD Conf., Portland, 1989.
[42] G. Steele, "Rabbit: A compiler for scheme," MIT Rep. AI-TR-474, 1978.
[43] F. Bellegarde, "Rewriting systems on FP expressions that reduce the number of sequences they yield," inProc. ACM Symp Lisp and Functional Programming, Austin, 1984.
[44] D. Kranz, R. Kelsey, J. Rees, P. Hudak, J. Philbin, and N. Adams, "ORBIT: An optimizing compiler for scheme," inProc. ACM Symp. Compiler Construction, SIGPLAN Notices, vol. 21, no. 7, July 1986.
[45] A. Ferguson and P. Wadler, "When will deforestation stop?" inProc. Glasglow Workshop Functional Programming, 1988.
[46] K. Gopinath and J. Hennessy, "Copy elimination in functional languages," inProc. ACM Symp. Principles Programming Languages, 1989.
[47] P. Buneman, R. Nikhil, and R. Frankel, "A practical functional programming system for databases," inProc. ACM Conf. Functional Programming Languages and Comput. Architecture, 1981.
[48] R. Nikhil, "Semantics of update in FDBPL," inProc. Int. Workshop Database Programming Languages, Roscoff, 1987.
[49] P. Trindler and P. Wadler, "List comprehensions and the relational calculus," inProc. 1988 Glasglow Workshop Functional Programming, 1988.
[50] A. Poulovassilis, "FDL: An integration of the functional data model and the functional computational model," inProc. 6th British Nat. Conf. Databases (BNCOD 6), 1988.
[51] M. Gordon, R. Milner, and C. Wadsworth,Edingurgh LCF (A Logic of Computable Functions), LNCS 78. New York: Springer-Verlag, 1979.
[52] M. Carey, D. DeWitt, and S. Vandenberg, "A data model and query language for EXODUS," Rep. 734, Dep. Comput. Sci., Univ. of Wisconsin, 1987.
[53] R. Milner, "A theory of type polymorphism in programming,"J. Comput. Syst. Sci., vol. 17, 1978.
[54] M. Wand, "Complete type inference for simple objects," inProc. Second Annu. Symp. Logic in Comput. Sci., 1987.
[55] Y.-C. Fuh and P. Mishra, "Type inference and subtypes," inProc. ESOP, '88, LNCS 300. New York: Springer-Verlag, 1988.
[56] L. Jategaonkar and J. Mitchell, "ML with extended pattern matching and subtypes," inProc. ACM Conf. Lisp and Functional Languages, Utah, 1988.
[57] M. Remy, "Typechecking records and variants in a natural extension of ML," inProc. ACM Symp. Principles Programming Languages, 1989.
[58] J. Gaver, Type-Checking and Type-Inference for Object-Oriented Programming Languages, Ph.D. dissertation, Rep. UIUCDCS-R-89-1539, Univ. of Illinois at Urbana-Champaign, 1989.

Index Terms:
FAD; data intensive applications; strongly typed database programming language; persistent data; Bubba; parallel database system; database management systems; query languages
S. Danforth, P. Valduriez, "A FAD for Data Intensive Applications," IEEE Transactions on Knowledge and Data Engineering, vol. 4, no. 1, pp. 34-51, Feb. 1992, doi:10.1109/69.124896
Usage of this product signifies your acceptance of the Terms of Use.