Back to top

DBPL - A Database Programming Language based on Modula 2

Last modified Jan 21, 2016

The DBPL project tackled the problem of supporting data-intensive applications in a single framework, clean and simple in its conceptual foundation and free of technical mismatches. DBPL is based on Modula-2 with three built-in extensions which, at that time, were considered necessary (and sufficient) for data-intensive applications:

DBPL is a type-complete modular database programming language developed at the Chair of Prof. Schmidt at TU Hamburg-Harburg between 1985 and 1992. In the DBPL project we tackled the problem of supporting data-intensive applications in a single framework, clean and simple in its conceptual foundation and free of technical mismatches. Conceptually, we based the DBPL language on Modula-2 with three built-in extensions which, at that time, were considered necessary (and sufficient) for data-intensive applications:

  • a parametric bulk type constructor for ``keyed sets'' or relations;
  • a module concept which supports sharing across programs and implies persistence;
  • a procedure concept with transactional semantics, i.e., serializability and recovery.

In implementing the DBPL system we adopted a rather strict approach by aiming for

  • full orthogonality in our relationally extended type space;
  • type-complete persistence, i.e. longevity of data from Booleans to relations;
  • functional abstraction for relational expressions including recursion.

As a consequence, the DBPL project covers in a quite natural way approaches otherwise considered disjoint as, for example, complex objects, multibases and data deduction.

In [ScMa93], besides reporting on these project achievements and on project spin-offs, we also present our insight in good-quality project design and its dependency on conceptual simplicity and implementational strictness. This also includes early recognition of the essential project ``terminator'' which, in our project, was Modula-2's monomorphic type system and its intrinsic restrictions on systems extensibility.

The DBPL project results in a mature product for modular database application programming and a follow-up project based on polymorphic types and other higher-order concepts (see Tycoon). Stable multi-user system implementations are available on request for VAX/VMS and Sun-4/SunOS4.1 platforms. These implementations also provide transparent gateways to access legacy databases on commercial SQL servers (Ingres and Oracle).

DBPL Project Publications

 

[MaSc93] F. Matthes and J.W. Schmidt. DBPL: The System and its Environment. In M. Jarke, editor, Database Application Engineering with DAIDA, volume 1 of Research Reports ESPRIT, pages 319-348. Springer-Verlag, 1993.

 

 

[ScMa93a] J.W. Schmidt and F. Matthes. Modular and Rule-Based Database Programming in DBPL. In M. Jarke, editor, Database Application Engineering with DAIDA, volume 1 of Research Reports ESPRIT, pages 85-122. Springer-Verlag, 1993. (also available as TR FIDE/91/15).

 

 

[ScMa93b] J.W. Schmidt and F. Matthes. The DBPL Project: Advances in Modular Database Programming. (to appear in Jounal 'Information Systems'), 1994.

 

 

[MRSS92] F. Matthes, A. Rudloff, J.W. Schmidt, and K. Subieta. The Database Programming Language DBPL - User and System Manual. FIDE Technical Report FIDE/92/47, Fachbereich Informatik, Universität Hamburg, Germany, July 1992. (also appeared as Informatik Fachbericht FBI-HH-B-159/92).

 

 

[MRSS92a] F. Matthes, A. Rudloff, J.W. Schmidt, and K. Subieta. A Gateway from a DBPL to Ingres: Modula-2, DBPL, SQL+C, Ingres. FIDE2 Technical Report FIDE/92/54, Fachbereich Informatik, Universität Hamburg, Germany, August 1992.

 

 

[ScMa92] J.W. Schmidt and F. Matthes. The Database Programming Language DBPL - Rationale and Report. FIDE Technical Report FIDE/92/46, Fachbereich Informatik, Universität Hamburg, Germany, July 1992. (also appeared as Informatik Fachbericht FBI-HH-B-158/92).

 

 

[ERMS91] J. Eder, A. Rudloff, F. Matthes, and J.W. Schmidt. Data Construction with Recursive Set Expressions in DBPL. In Proceedings of the Kiev East/West Workshop on Next Generation Database Technology, volume 504 of Lecture Notes in Computer Science, April 1991. (also appeared as TR FIDE/91/13).

 

 

[MaSc91a] F. Matthes and J.W. Schmidt. Bulk Types: Built-In or Add-On?. In Proceedings of the Third International Workshop on Database Programming Languages, Nafplion, Greece. Morgan Kaufmann Publishers, September 1991. (also appeared as TR FIDE/91/27).

 

 

[MSS91] F. Matthes, G. Schröder, and J.W. Schmidt. VAX Modula-2 User's Guide; VAX DBPL User's Guide. DBPL Memo 121-91, Fachbereich Informatik, Universität Hamburg, Germany, December 1991.

 

 

[ScMa91] J.W. Schmidt and F. Matthes. The Rationale behind DBPL. In 3rd Symposium on Mathematical Fundamentals of Database and Knowledge Base Systems, volume 495 of Lecture Notes in Computer Science. Springer-Verlag, May 1991.

 

 

[ScMa90] J.W. Schmidt and F. Matthes. Naming Schemes and Name Space Management in the DBPL Persistent Storage System. In Persistent Object Systems, Martha's Vineyard, Massachusetts, USA, September 1990. Morgan Kaufmann Publishers, Inc.

 

 

[ScMa90a] J.W. Schmidt and F. Matthes. Language Technology for Post-Relational Data Systems. In Database Systems of the 90s, volume 466 of Lecture Notes in Computer Science, Berlin, Germany, November 1990. Springer-Verlag.

 

 

[MaSc89] 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.

 

 

[SGLJ89] J.W Schmidt, L. Ge, V. Linnemann, and M. Jarke. Integrated Fact and Rule Management Based on Database Technology. In J.W. Schmidt and C. Thanos, editors, Foundations of Knowledge Base Management, Topics in Information Systems. Springer-Verlag, 1989.