To be able to prove the promises of semantic modeling in practice, Xplain DBMS has been developed. It started as a simple research product in 1984, but has been extended and improved constantly over the years. Xplain can be considered as a compact (less than 2MB code), super fast, robust (i.e. "student proof") interactive and user-friendly system for databases. In version 5.7 (1999) support for recursive queries (cascade statement) was added by Johan ter Bekke.
The main characteristics of the Xplain database system are:
- Efficient interactive system based on semantic data modeling concepts.
- System can be used without specialized knowledge of databases.
- Model driven: all interactive database operations are guarded by the system. Active data dictionary in all modules. No compilation of queries.
- Simple, powerful manipulation language. Even the most complex queries can be formulated in few steps.
- Query execution is extremely fast due to characteristics of the query language and application of modern file management techniques (transposed files).
- Includes a model driven, interactive panel generator that allows building complex database applications without using any programming/query language.
- Modifications caused by a changing reality are easy to perform. System guards database integrity and consistency.
Complex applications can now run up an order (i.e. hundred times or much more) faster than SQL-based systems using standard hardware (e.g. Unix workstation or Linux PC), without extra efforts (e.g. by creating additional index structures, specifying optimizer hints).
End users see a system consisting of 50 menus with 400 options altogether. These amounts have resulted in semi-automatic, context-dependent, intra/inter menu transitions.
System programmers see a system consisting of the following modules:
- Kernel including elementary data storage functions for transposed files.
- B+tree management enabling rapid search of data for integrity maintenance and user applications; a B+tree is a special indexing technique.
- Main containing menu software and the delegation of control to specialized modules.
- DDL processor processor for all definition and modification of conceptual models, including dynamic constraint handling.
- DML processor processor for all manipulation by query language statements.
- Authorization manager for the management of groups of database users with selective database rights.
- Picklist generator for dynamic, automatic generation of simple panels (i.e. updatable views).
- Panel generator enabling database users to define structured panels according their own needs. No application software is developed during definition. Panels can be used for all types of data manipulation and retrieval, allowing users unfamiliar with semantic concepts to use the power of the system.
- Report generator enabling users to process reports from Xplain databases. It is also suitable for database import.
- Data editor simple editor for data of one database type.
As of mid 90's Xplain was ported to Linux. The latest release was version 5.8 (1999). See for more the (Dutch only) Manual Xplain DBMS versie 5.8.
Acknowledgments
All graduate students who completed their master's thesis in the Xplain project and Rien Bos for technical support are acknowledged for their contribution to the system. Among them: Edwin Barbier, Jan Bron, Yan Cheung, Martin van Dinther, Huub Goossens, Martin Goossens, Joep Hompus, Rene Huygens, Harry Janson, Caspar Kruijf, Eddy Lasschuyt, Ed Pasma, Herman Polderman, Thijs van Bruchem, Paul van Vuren and Hans Wijntjes.