NEXCEL, a deductive spreadsheet

Usability and usefulness have made the spreadsheet one of the most successful computing applications of all times: millions rely on it every day for anything from typing grocery lists to developing multimillion-dollar budgets. One thing spreadsheets are not very good at is manipulating the symbolic data and helping users make decisions based on them. By tapping into recent research in Logic Programming, Databases and Cognitive Psychology, we propose a deductive extension to the spreadsheet paradigm that precisely addresses this issue. The accompanying tool, which we call NEXCEL, is intended as an automated assistant for the daily reasoning and decision-making needs of computer users, in the same way as a spreadsheet application such as Microsoft Excel assists them every day with simple and complex calculations. Users without formal training in Logic or even Computer Science can interactively define logical rules in the same simple way as they define formulas in Excel. NEXCEL immediately evaluates these rules, thereby returning lists of values that satisfy them, again just like with numerical formulas. The deductive component is seamlessly integrated into the traditional spreadsheet so that a user not only still has access to the usual functionalities but is also able to use them as part of the logical inference and, dually, to embed deductive steps in a numerical calculation.

[1]  Letizia Tanca,et al.  Logic Programming and Databases , 1990, Surveys in Computer Science.

[2]  Michael Spenke,et al.  A spreadsheet interface for logic programming , 1989, CHI '89.

[3]  F. Kriwaczek LogiCalc: a prolog spreadsheet , 1988 .

[4]  David Scott Warren Programming with tabling in XSB , 1998, PROCOMET.

[5]  Gopal Gupta,et al.  Knowledgesheet: A Graphical Spreadsheet Interface for Interactively Developing a Class of Constraint Programs , 2000, PADL.

[6]  Robert M. Colomb Deductive Databases and Their Applications , 1998 .

[7]  Akikazu Takeuchi,et al.  Spreadsheets with Incremental Queries as a user interface for logic programming , 2009, New Generation Computing.

[8]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[9]  Simon L. Peyton Jones,et al.  A user-centred approach to functions in Excel , 2003, ICFP '03.

[10]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[11]  Alan F. Blackwell,et al.  First steps in programming: a rationale for attention investment models , 2002, Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments.

[12]  M. H. van Emden,et al.  Tables as a User Interface for Logic Programs , 1988, FGCS.

[13]  Raymond R. Panko,et al.  What we know about spreadsheet errors , 1998 .

[14]  Marian Petre,et al.  Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework , 1996, J. Vis. Lang. Comput..

[15]  J. W. Lloyd,et al.  Foundations of logic programming; (2nd extended ed.) , 1987 .

[16]  David E. Smith,et al.  Controlling Recursive Inference , 1986, Artif. Intell..