THE DBPL PROJECT - ADVANCES IN MODULAR DATABASE PROGRAMMING

Citation
Jw. Schmidt et F. Matthes, THE DBPL PROJECT - ADVANCES IN MODULAR DATABASE PROGRAMMING, Information systems, 19(2), 1994, pp. 121-140
Citations number
62
Categorie Soggetti
System Science","Information Science & Library Science","Computer Science Information Systems
Journal title
ISSN journal
03064379
Volume
19
Issue
2
Year of publication
1994
Pages
121 - 140
Database
ISI
SICI code
0306-4379(1994)19:2<121:TDP-AI>2.0.ZU;2-R
Abstract
In the DBPL project we tackled the problem of supporting data-intensiv e applications in a single framework, clean and simple in its conceptu al foundation and free of technical mismatches. Conceptually, we based the DBPL language on Modula-2 with three built-in extensions which, a t that time, were considered necessary (and sufficient) for data-inten sive applications: a parametric bulk type constructor for ''keyed sets '' or relations; a module concept which supports sharing across progra ms and implies persistence; a procedure concept with transactional sem antics, i.e., serializability and recovery. In implementing the DBPL s ystem we adopted a rather strict approach by aiming for: full orthogon ality in our relationally extended type space; type-complete persisten ce, i.e. longevity of data from Booleans to relations; functional abst raction for relational expressions including recursion. As a consequen ce, the DBPL project covers in a quite natural way approaches otherwis e considered disjoint as, for example, complex objects, multibases and data deduction. In this paper, besides reporting on project achieveme nts and spin-offs, we also present our insight in good-quality project design and its dependency on conceptual simplicity and implementation al strictness. This also includes early recognition of the essential p roject ''terminator'' which, in our project, was Modula-2's monomorphi c type system and its intrinsic restrictions on systems extensibility. The DBPL project results in a mature product for modular database app lication programming and a follow-up project based on polymorphic type s and other higher-order concepts.