SourceForge.net Logo Support This Project
 Home
 Download
 Key Features
 Screenshots
 Release Notes
 License
 FAQ
 News
 Feedback
 Contributions
 Publications
 DES Facts
 Statistics
 Datalog Educational System

INTRODUCING DES

The Datalog Educational System (DES) is a free, open-source, multiplatform, portable, Prolog-based implementation of a basic deductive database system. DES 1.8.1 is the current implementation, which enjoys Datalog and SQL query languages, full recursive evaluation with memoization techniques, arithmetic, stratified negation and novel approaches to declarative debugging, test case generation for SQL views, null values support, (tabled) outer join and aggregate predicates. The system is implemented on top of Prolog and it can be used from a Prolog interpreter running on any OS supported by the Prolog interpreter. Moreover, Windows and Linux executables are also provided. The current release is only a bug-fix for binaries, which lacked some libraries avoiding to generate test cases.

Nonetheless, as an additional bonus, you will find a Windows bundle including a Graphical User Interface for managing DES projects. Simply download it, follow the instructions of the Readme file and enjoy a new graphical experience.

We have developed DES aiming to have a simple, interactive, multiplatform, and affordable system (not necessarily efficient) for students, so that they can get the fundamental concepts behind a deductive database with Datalog and SQL as query languages. SQL is supported with a reasonable wide coverage of the standard. Other deductive systems are not fully suited to our needs due to the absence of some characteristics DES does offer for our educational purposes. This system is not targeted as a complete deductive database, so that it does not provide persistency, transactions, security, and other features present in current database systems.

A novel contribution implemented in this system is a declarative debugger of Datalog queries [CGS07,CGS08], which relies on program semantics rather than on the computation mechanism. The debugging process is usually started when the user detects an unexpected answer to a query. By asking questions about the intended semantics, the debugger looks for incorrect program relations. See Section 5.3 of the user manual for further details.

Following the need for catching program errors when handling large amounts of data, we also include a test case generator for SQL correlated views [CGS10]. Our tool can be used to generate positive, negative and both positive-negative test cases (cf. Section 5.4 of the user manual).
 

Web site last update: 03/18/10

[Home ] [Download] [Key Features] [Screenshots] [Release Notes] [License] [FAQ] [News] [Feedback] [Contributions] [Publications] [DES Facts] [Statistics]