The DBPL project: Advances in modular database programming

作者:

Highlights:

摘要

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† for modular database application programming and a follow-up project based on polymorphic types and other higher-order concepts‡.

论文关键词:

论文评审过程:Author links open overlay panelJoachim WSchmidtFlorianMatthes

论文官网地址:https://doi.org/10.1016/0306-4379(94)90007-8