Deductive Spreadsheets using Tabled Logic Programming

C. R. Ramakrishnan, I. V. Ramakrishnan, David S. Warren


Rule-based specifications in Datalog are used in a number of application areas, such as configuration management, access control and trust management, decision making, etc. However, rules sets are typically hard to maintain; the rules often interact in subtle ways, making them difficult to understand and reason about. This has impeded the wide-spread adoption of rule-based computing. This paper describes the design and implementation of XcelLog, a deductive spreadsheet system (DSS), that permits users to specify and maintain Datalog rules using the popular and easy-to-use spreadsheet interface. The driving idea underlying the system is to treat sets as the fundamental data type and rules as specifying relationships among sets, and use the spreadsheet metaphor to create and view the materialized sets. The fundamental feature that makes XcelLog suitable even for non-programmers is that the user mainly sees the effect of the rules; when rules or basic facts change, the user sees the impact of the change immediately. This enables the user to gain confidence in the rules and their modification, and also experiment with what-if scenarios without any programming. XcelLog is implemented as an add-in to Excel with XSB serving as the rule engine for evaluating Datalog specifications. Preliminary experience with using XcelLog indicates that it is indeed feasible to combine the power of rule-based computing and the elegance and simplicity of the spreadsheet metaphor, so that end users can encode and maintain rule bases with little or no programming.

Bibtex Entry:

author = {C. R. Ramakrishnan and  I. V. Ramakrishnan and  David S. Warren},
title = {Deductive Spreadsheets using Tabled Logic Programming},
booktitle = {International Conference on Logic Programming ({ICLP})},
address = {Seattle, Washington},
month = {August},
series = {Lecture Notes in Computer Science},
volume = {4079},
publisher = {Springer},
pages = {391--405},
year = {2006}

Full Paper: [pdf]

Home | Papers

C. R. Ramakrishnan