Towards database application systems: Types, kinds and other open invitations

  • Florian Matthes
  • Joachim W. Schmidt
Types For Databases
Part of the Lecture Notes in Computer Science book series (LNCS, volume 504)

Abstract

Software development is moving rapidly from the coding of programs to system's modelling utilizing the services provided by open and modular environments. This shift enables service suppliers to gain customers by generalizing the functionality of their products, and it allows service consumers to conveniently buy functionality by simply specializing their needs. It also motivates consumers to construct applications with more than just the most specialized functionality in mind thus contributing to system extensibility and reusability. Finally, the novel view of software construction blurs the formerly quite sharp distinction between the application part and the system part of software development.

In this paper we apply the consequences of the process sketched above to database systems and data-intensive applications. We argue in favor of a more open but yet controlled interaction between database systems and their applications and we discuss the implications on the major abstraction principles to be supported by future database programming languages. Finally, we follow the open invitation issued by novel computer languages to exploit their potent conceptual basis for the benefit of next generation database application systems.

Keywords

Database System Collection Type Database Application Type Constructor Abstract Data Type 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [AB88]
    S. Abiteboul and C. Beeri. On the Power of Languages for the Manipulation of Complex Objects. Rapports de Recherche 846, INRIA, Domaine de Voluceau Rocquencourt 78153 Le Chesnay Cedex-France, May 1988.Google Scholar
  2. [ABW+90]
    Malcolm Atkinson, Francois Bançilhon, David De Witt, Klaus Dittrich, David Maier, and Stanley Zdonik. The Object-Oriented Database System Manifesto. In Deductive and Object-oriented Databases. Elsevier Science Publishers, Amsterdam, Netherlands, 1990.Google Scholar
  3. [AC90]
    R.M. Amadio and L. Cardelli. Subtyping Recursive Types. Digital Systems Research Center Reports 62, DEC SRC Palo Alto, August 1990.Google Scholar
  4. [ACC81]
    M.P. Atkinson, K.J. Chisholm, and W.P. Cockshott. PS-Algol: An Algol with a Persistent Heap. ACM SIGPLAN Notices, 17(7), July 1981.Google Scholar
  5. [AFS89]
    S. Abiteboul, P.C. Fischer, and H.J. Schek. Nested Relations and Complex Objects in Databases, volume 361 of Lecture Notes in Computer Science. Springer-Verlag, 1989.Google Scholar
  6. [AKN89]
    H. Aït-Kaci and R. Nasr. Integrating logic and functional programming. Lisp and Symbolic Computation, 2:51–89, 1989.Google Scholar
  7. [AM87]
    M.P. Atkinson and R. Morrison. Polymorphic Names and Iterations. In Proc. of the Workshop on Database Programming Languages, Roscoff, France, September 1987.Google Scholar
  8. [AM88]
    M.P. Atkinson and R. Morrison. Types, Bindings and Parameters in a Persistent Environment. In M.P. Atkinson, P. Buneman, and R. Morrison, editors, Data Types and Persistence, Topics in Information Systems. Springer-Verlag, 1988.Google Scholar
  9. [ART90]
    M. Atkinson, P. Richard, and P. Trinder. Bulk Types for Large Scale Programming. Technical Report 60-90, GIP Altair, Domaine de Voluceau Rocquencourt 78153 Le Chesnay Cedex-France, November 1990.Google Scholar
  10. [ART91]
    M. Atkinson, P. Richard, and P. Trinder. Bulk Types for Large Scale Programming. In Proceedings of the Kiev East/West Workshop on Next Generation Database Technology (to appear), Lecture Notes in Computer Science, 1991.Google Scholar
  11. [BCC+88]
    A.L. Brown, R.C.H. Connor, R. Carrick, A. Dearle, and R. Morrison. The Persistent Abstract Machine. PPRR 59-88, Universities of Glasgow and St Andrews, March 1988.Google Scholar
  12. [BL84]
    R. Burstall and B. Lampson. A kernel language for abstract data types and modules. In Semantics of Data Types, volume 173 of Lecture Notes in Computer Science. Springer-Verlag, 1984.Google Scholar
  13. [BM86]
    M.L. Brodie and J. Mylopoulos. Knowledge Bases vs. Data Bases. In M.L. Brodie and J. Mylopoulos, editors, On Knowledge Base Management Systems, Topics in Information Systems. Springer-Verlag, 1986.Google Scholar
  14. [BMS84]
    M.L. Brodie, J. Mylopoulos, and J.W. Schmidt, editors. On Conceptual Modelling, Perspectives from Artificial Intelligence, Databases, and Programming Languages. Springer-Verlag, 1984.Google Scholar
  15. [BMW84]
    A. Borgida, J. Mylopoulos, and H.K.T. Wong. Generalization / Specialization as a Basis for Software Specification. In M.L. Brodie, J. Mylopoulos, and J.W. Schmidt, editors, On Conceptual Modelling, Topics in Information Systems, pages 87–117. Springer-Verlag, 1984.Google Scholar
  16. [Bor88]
    A. Borgida. Modeling class hierarchies with contradictions. In Proceedings of the ACM-SIGMOD International Conference on Management of Data, Chicago, Illinois, 1988.Google Scholar
  17. [Bro84]
    M.L. Brodie. On the Development of Data Models. In M.L. Brodie, J. Mylopoulos, and J.W. Schmidt, editors, On Conceptual Modelling, Topics in Information Systems. Springer-Verlag, 1984.Google Scholar
  18. [Bun90]
    P. Buneman. Functional Programming and Databases. In D. Turner, editor, Research Topics in Functional Programming, pages 155–169. Addison-Wesley, 1990.Google Scholar
  19. [Car88]
    L. Cardelli. Types for Data-Oriented Languages. In Advances in Database Technology, EDBT '88, volume 303 of Lecture Notes in Computer Science, pages 1–15. Springer-Verlag, 1988.Google Scholar
  20. [Car89]
    L. Cardelli. Typeful Programming. Digital Systems Research Center Reports 45, DEC SRC Palo Alto, May 1989.Google Scholar
  21. [CDG+88]
    L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 Report. Technical Report ORC-1, Olivetti Research Center, 2882 Sand Hill Road, Memlo Park, California, 1988.Google Scholar
  22. [CL90]
    L. Cardelli and G. Longo. A semantic basis for Quest. Digital Systems Research Center Reports 55, DEC SRC Palo Alto, March 1990.Google Scholar
  23. [CM84]
    G. Copeland and D. Maier. Making Smalltalk a database system. In Proceedings of the ACM-SIGMOD International Conference on Management of Data, Boston, Massachusetts, pages 316–325, June 1984.Google Scholar
  24. [Dea89]
    A. Dearle. Environments: a flexible binding mechanism to support system evolution. In Proc. HICSS-22, Hawaii, volume II, pages 46–55, January 1989.Google Scholar
  25. [GR83]
    A. Goldberg and D. Robson. Smalltalk-80: The Language and its Implementation. Addison Wesley, 1983.Google Scholar
  26. [Har84]
    D.M. Harland. Polymorphic Programming Languages, Design and Implementation. Ellis Horwood Limited, a division of John Wiley & Sons, 1984.Google Scholar
  27. [HFLP89]
    L.M. Haas, J.C. Freytag, G.M. Lohmann, and H. Pirahesh. Extensible Query Processing in Starburst. In Proceedings of the ACM-SIGMOD International Conference on Management of Data, Portland, Oregon, pages 377–388, 1989.Google Scholar
  28. [HMT88]
    R. Harper, R. Milner, and M. Tofte. The Definition of Standard ML. LFCS Report Series ECS-LFCS-88-62, Department of Computer Science, University of Edinburgh, August 1988.Google Scholar
  29. [Hud89]
    P. Hudak. Conception, Evolution, and Application of Functional Programming Languages. ACM Computing Surveys, 21(3):359–411, September 1989.Google Scholar
  30. [Ken79]
    W. Kent. Limitations of Record-Based Information Models. ACM Transactions on Database Systems, 4(1):107–131, 1979.Google Scholar
  31. [L+77]
    B. Liskov et al. Abstraction Mechanisms in CLU. Communications of the ACM, 20(8), August 1977.Google Scholar
  32. [Lar90]
    J.M. Larchevêque. Incremental compilation in the O2 database system. (technical note), October 1990.Google Scholar
  33. [LCJS87]
    B. Liskov, D. Curtis, P. Johnson, and R. Scheifler. Implementation of Argus. In Proc. of the 11th ACM Symp. on Operation System Principles, ACM SIGOPS, pages 111–122, November 1987.Google Scholar
  34. [LR89]
    C. Lécluse and P. Richard. The O2 Database Programming Language. Rapport Technique 26–89, GIP Altair, Domaine de Voluceau Rocquencourt 78153 Le Chesnay Cedex-France, January 1989.Google Scholar
  35. [MB89]
    J. Mylopoulos and M.L. Brodie, editors. Readings in artificial intelligence and databases. Morgan Kaufmann publishers, 1989.Google Scholar
  36. [MBCD89]
    R. Morrison, A.L. Brown, R. Connor, and A. Dearle. The Napier88 Reference Manual. PPRR 77–89, Universities of Glasgow and St Andrews, 1989.Google Scholar
  37. [MBW80]
    J. Mylopoulos, P. Bernstein, and H.K.T. Wong. A Language Facility for Designing Database-Intensive Applications. ACM Transactions on Database Systems, 5(2):185–207, June 1980.Google Scholar
  38. [Mey88]
    B. Meyer. Object-oriented Software Construction. International Series in Computer Science. Prentice Hall, 1988.Google Scholar
  39. [Mey90]
    B. Meyer. Lessons from the Design of the Eiffel Libraries. Communications of the ACM, 33(9):69–88, September 1990.Google Scholar
  40. [Mos89]
    J.E.B. Moss. Addressing Large Distributed Collections of Persistent Objects: The Mneme Project's Approach. In Proc. of the 2nd Workshop on Database Programming Languages, Portland, Oregon, pages 358–374, June 1989.Google Scholar
  41. [MOS91]
    F. Matthes, A. Ohori, and J.W. Schmidt. Typing Schemes for Objects with Locality. In Proceedings of the Kiev East/West Workshop on Next Generation Database Technology (to appear), Lecture Notes in Computer Science, 1991.Google Scholar
  42. [MS89]
    F. Matthes and J.W. Schmidt. The Type System of DBPL. In Proc. of the 2nd Workshop on Database Programming Languages, Salishan Lodge, Oregon, pages 255–260, June 1989.Google Scholar
  43. [OBBT89]
    A. Ohori, P. Buneman, and V. Breazu-Tannen. Database Programming in Machiavelli — a Polymorphic Language with Static Type Inference. In Proceedings of the ACM-SIGMOD International Conference on Management of Data, Portland, Oregon, pages 46–57, 1989.Google Scholar
  44. [RC87]
    J. Richardson and M. Carey. Programming Constructs for Database System Implementation in EXODUS. In Proceedings of the ACM-SIGMOD International Conference on Management of Data, San Francisco, California, May 1987.Google Scholar
  45. [RT88]
    T.W. Reps and T. Teitelbaum. The Synthesizer Generator: A System For Constructing Language-Based Editors. Texts and Monographs in Computer Science. Springer-Verlag, 1988.Google Scholar
  46. [SBK+88]
    J.W. Schmidt, M. Bittner, H. Klein, H. Eckhardt, and F. Matthes. DBPL System: The Prototype and its Architecture. DBPL Memo 111-88, Fachbereich Informatik, Johann Wolfgang Goethe-Universität, Frankfurt, West Germany, November 1988.Google Scholar
  47. [SCB+86]
    C. Schaffert, T. Cooper, B. Bullis, M. Kilian, and C. Wilpolt. An Introduction to Trellis/Owl. In Proc. of 1st Int. Conf. on OOPSLA, pages 9–16, Portland, Oregon, October 1986.Google Scholar
  48. [Sch77]
    J.W. Schmidt. Some High Level Language Constructs for Data of Type Relation. ACM Transactions on Database Systems, 2(3), September 1977.Google Scholar
  49. [SDDS86]
    J.T. Schwartz, R.B.K. Dewar, E. Dubinski, and E. Schonberg. Programming with Sets: An Introduction to SETL. Texts and Monographs in Computer Science. Springer-Verlag, 1986.Google Scholar
  50. [SEM88]
    J.W. Schmidt, H. Eckhardt, and F. Matthes. DBPL Report. DBPL-Memo 111-88, Fachbereich Informatik, Johann Wolfgang Goethe-Universität, Frankfurt, West Germany, 1988.Google Scholar
  51. [SFL81]
    J.M. Smith, S. Fox, and T. Landers. Reference Manual for Adaplex. Technical report, Computer Corporation of America, Cambridge, Mass., January 1981.Google Scholar
  52. [SM89]
    J.W. Schmidt and F. Matthes. Advances in Database Programming: On Concepts, Languages and Methodologies. In Proc. 16th SOFSEM'89, Zdiar, High Tatra, ČSSR, December 1989. Available through Hamburg University.Google Scholar
  53. [SM90a]
    J.W. Schmidt and F. Matthes. DBPL Language and System Manual. Esprit Project 892 MAP 2.3, Fachbereich Informatik, Universität Hamburg, West Germany, April 1990.Google Scholar
  54. [SM90b]
    J.W. Schmidt and F. Matthes. Language Technology for Post-Relational Data Systems. In A. Blaser, editor, Database Systems of the 90s, volume 466 of Lecture Notes in Computer Science, pages 81–114, November 1990.Google Scholar
  55. [SM91]
    J.W. Schmidt and F. Matthes. Naming Schemes and Name Space Management in the DBPL Persistent Storage System. In Proc. of the Fourth Int. Workshop on Persistent Object Systems. Morgan Kaufmann Publishers, January 1991.Google Scholar
  56. [SS77]
    J.M. Smith and D.C.P. Smith. Database Abstractions: Aggregation and Generalization. ACM Transactions on Database Systems, 2(2):105–133, June 1977.Google Scholar
  57. [SS91]
    D. Stemple and T. Sheard. A Recursive Base for Database Programming Primitives. In Proceedings of the Kiev East/West Workshop on Next Generation Database Technology (to appear), Lecture Notes in Computer Science, 1991.Google Scholar
  58. [SSS90]
    L. Stemple, D. Fegaras, T. Sheard, and A. Socorro. Exceeding the Limits of Polymorphism in Database Programming Languages. In Advances in Database Technology, EDBT '90, volume 416 of Lecture Notes in Computer Science, pages 269–285. Springer-Verlag, 1990.Google Scholar
  59. [Sto90]
    M. Stonebraker. Special Issue on Database Prototype Systems. IEEE Transactions on Knowledge and Data Engineering, 2(1), March 1990.Google Scholar
  60. [Wad90]
    P. Wadler. Comprehending Monads. In ACM Conference on Lisp and Functional Programming, Nice, June 1990.Google Scholar
  61. [WL81]
    B. Weihl and B. Liskov. Specification and Implementation of Resilient Atomic Data Types. Proc. ACM SIGPLAN Symp. on Prog. Lang. Issues in Softw. Syst. ACM SIGPLAN Not., 16(5), May 1981.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Florian Matthes
    • 1
  • Joachim W. Schmidt
    • 1
  1. 1.Department of CSUniversity of HamburgHamburg 13

Personalised recommendations