The Deductive Spreadsheet
Iliano Cervesato, CMU @ Quatar Campus
Springer Verlag, 2013
ISBN: 978-3-642-37746-4 (Print) 978-3-642-37747-1 (Online)
This book describes recent multidisciplinary research at the confluence of the fields of logic programming, database theory and human-computer interaction. The goal of this effort was to develop the basis of a deductive spreadsheet, a user productivity application that allows users without formal training in computer science to make decisions about generic data in the same simple way they currently use spreadsheets to make decisions about numerical data. The result is an elegant design supported by the most recent developments in the above disciplines.
The first half of the book focuses on the deductive engine that underlies this application, the foundations that users do not see. After giving a mathematical model of traditional spreadsheet applications, we extend them with operators to perform a number of relational tasks, similar to the user view of a database but in a spreadsheet context. Expressing this extension in a logic programming framework is a natural step towards giving it powerful deductive capabilities. The second half of the book deals with the user interface, the part of the application with which the user actually interacts. We review the elements of the graphical user interface of traditional spreadsheet applications and describe practical methodologies for designing user interfaces borrowed from the field of cognitive psychology. We then propose a design that conservatively integrates mechanisms for a user to take advantage of the new deductive capabilities. This is followed by the results of some preliminary usability experiments.
The book will appeal to researchers and practitioners in the various areas underlying this work. Researchers will not only find interesting new developments in their domains, but will also learn how to achieve a multidisciplinary focus. Practitioners will find fully developed solutions to numerous problems that are not easily solvable using traditional spreadsheet applications.