The DBPL project: Advances in modular database programming

Joachim W. Schmidt, Florian Matthes

Research output: Contribution to journalReview articlepeer-review

22 Scopus citations


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 this paper, besides reporting on project achievements and 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 † The DBPL System is distributed through Hamburg University. for modular database application programming and a follow-up project based on polymorphic types and other higher-order concepts.

Original languageEnglish
Pages (from-to)121-140
Number of pages20
JournalInformation Systems
Issue number2
StatePublished - Mar 1994
Externally publishedYes


Dive into the research topics of 'The DBPL project: Advances in modular database programming'. Together they form a unique fingerprint.

Cite this