Skip to main content

Future Developments

  • Chapter
  • First Online:
The Deductive Spreadsheet

Part of the book series: Cognitive Technologies ((COGTECH))

  • 925 Accesses

Abstract

This concluding chapter outlines future development and discusses approaches to implementing an application based on the work presented in this book.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    It featured a 2.33 GHz Intel Core Duo processor and 2 GB of RAM.

  2. 2.

    This paper presents the design of a visual logic programming language that supports visual representation and visual reasoning in a declarative way.

  3. 3.

    This is the original paper on the attention investment model. It focuses on the initial attitude of non-professional end-users when given tasks that have a programming component (e.g., writing spreadsheet formulas or programming a VCR). In particular, the attention investment model examines the first steps these users take and tries to understand their actions based on task and system at hand.

  4. 4.

    This paper describes a general, logic-based, methodology to compile a logic program into an intermediate logical language that can be executed more efficiently. This is in contrast to traditional approaches to compiling logic programs, which took a purely operational view.

  5. 5.

    This expanded version of [CGT89] is an excellent survey with some in-depth analysis of important concepts, in particular semantics, optimizations and the interface with actual databases. It covers the experimental deductive database system of the time at length.

  6. 6.

    This paper attempts to rein in the high error rate found in spreadsheets by relying on “units” implicitly inferred from a spreadsheet rather than a rigid system of types. Such units are classified and correlated into dependent units, multiplicities and generalizations, with the aim to capture the user’s intention and fend off mistakes.

  7. 7.

    This article contains an in-depth discussion of the semi-naïve strategy.

  8. 8.

    This paper applies the cognitive dimensions of notation framework to the evaluation for visual programming environments, finding it particularly effective and a good complement for other techniques.

  9. 9.

    This paper models the propagation of the assertion of new facts or the retraction of old facts in the Datalog system by means of inference in linear logic. To this effect, it translates Datalog clauses into linear logic formulas that also contain specifications about how to propagate updates.

  10. 10.

    This paper advocates a design methodology for graphical systems that is driven by concrete examples of tasks that users are expected to accomplish (problems) rather than abstract cognitive targets. This expands the space of design alternatives and acts as a benchmark to evaluate solutions.

  11. 11.

    This paper explores an efficient asynchronous algorithm to incrementally compute the changes to the states of a distributed Datalog system, as proposed in some network protocols and multi-agent systems, in response to the insertions and deletions of base facts.

  12. 12.

    This collection of essays brings together the best approaches to predictive user modeling in use at the time, with special emphasis on various types of cognitive walkthrough. It reports on numerous case studies and gives practical guidance to developers interested in embedding usability inspection into the software cycle.

  13. 13.

    This very influential article carried out a systematic study of the number and type of errors found in spreadsheets. At the outset, the results are surprisingly high, which should limit our confidence about decisions made on the basis of spreadsheet calculations. This research also finds that this type and number is similar to programming in general, except that software engineering has developed methods to curb this error rate, while spreadsheet users take a more informal approach.

  14. 14.

    This paper describes the XcelLog deductive spreadsheet system [RRW07] with particular emphasis on using the spreadsheet metaphor for the purpose of taming the rule interactions. It also discusses the details of its implementation as an Excel addon powered by the XSB tabled logic programming system [War98] as a back-end.

  15. 15.

    This paper describes the design and implementation of XcelLog, an extension of the traditional spreadsheet with deductive capabilities. Like the proposal in this book, XcelLog is meant to retain the usability of the spreadsheet while enabling end-users to use it to draw logical consequences. The approach treats sets as the fundamental data type and inference rules as specifying among sets. The spreadsheet metaphor is used to create and view the materialized sets. The implementation relies on the XSB system [War98].

  16. 16.

    This paper reviews the state of the art of bottom-up evaluation and proposes a transformation on Datalog programs to speed up that semi-naïve evaluation. It also discusses extensions to negation, set terms, constraints and quantitative reasoning. Comparisons with numerous systems are included.

  17. 17.

    This paper describes a series of experiments aimed at analyzing the cognitive impact on analytic process of conditional reasoning with negations and double negations.

  18. 18.

    XSB is Prolog with a form of memoization called tabling. Declaratively, it does not differ substantially from Prolog. Procedurally, however, it substantially improves on the standard top-down SLDNF resolution strategy of this language by nearly eradicating control-induced infinite loops. In particular, an XSB query always terminates against a Datalog program. Tabling can also have a positive effect on efficiency, although this may depend on how the user writes his programs. This makes XSB a promising candidate as the underlying explanation engine of a deductive spreadsheet.

  19. 19.

    This classic cognitive psychology textbook is concerned with why we reason the way we do: we are not infallible reasoners yet certain deductions come to us naturally while others require quite a bit of effort, and often end up being erroneous. One such difficult pattern is negation. This book is a fascinating in-depth analysis of the often problematic relationship between man and logic.

Annotated Bibliography

  1. Agustí, J., Puigsegur, J., Robertson, D., & Schorlemmer, M. (1996). Visual logic programming through set inclusion and chaining. In CADE-13 workshop on visual reasoning, New Brunswick. Footnote

    This paper presents the design of a visual logic programming language that supports visual representation and visual reasoning in a declarative way.

    Google Scholar 

  2. Blackwell, A. (2002). First steps in programming: A rationale for attention investment models. In Conference on human-centric computing languages and environments, Arlington (pp. 2–10). IEEE Computer Society. Footnote

    This is the original paper on the attention investment model. It focuses on the initial attitude of non-professional end-users when given tasks that have a programming component (e.g., writing spreadsheet formulas or programming a VCR). In particular, the attention investment model examines the first steps these users take and tries to understand their actions based on task and system at hand.

    Google Scholar 

  3. Cervesato, I. (2012). An improved proof-theoretic compilation of logic programs. In A. Dovier & V. Santos Costa (Eds.), 28th international conference on logic programming – ICLP’12, Budapest (Theory and practice of logic programming). Cambridge University Press. Footnote

    This paper describes a general, logic-based, methodology to compile a logic program into an intermediate logical language that can be executed more efficiently. This is in contrast to traditional approaches to compiling logic programs, which took a purely operational view.

    Google Scholar 

  4. Ceri, S., Gottlob, G., & Tanca, L. (1990). Logic programming and databases. Berlin/New York: Springer. Footnote

    This expanded version of [CGT89] is an excellent survey with some in-depth analysis of important concepts, in particular semantics, optimizations and the interface with actual databases. It covers the experimental deductive database system of the time at length.

    Google Scholar 

  5. Erwig, M., & Burnett, M. (2002). Adding apples and oranges. In Practical aspects of declarative languages, 4th international symposium – PADL’02, Portland (Lecture notes in computer science, Vol. 2257, pp. 173–191). Springer. Footnote

    This paper attempts to rein in the high error rate found in spreadsheets by relying on “units” implicitly inferred from a spreadsheet rather than a rigid system of types. Such units are classified and correlated into dependent units, multiplicities and generalizations, with the aim to capture the user’s intention and fend off mistakes.

    Google Scholar 

  6. Güntzer, U., Kiessling, W., & Bayer, R. (1987). On the evaluation of recursion in (deductive) database systems by efficient differential fixpoint iteration. In Proceedings of the third international conference on data engineering, Los Angeles (pp. 120–129). IEEE Computer Society. Footnote

    This article contains an in-depth discussion of the semi-naïve strategy.

    Google Scholar 

  7. Green, T., & Petre, M. (1996). Usability analysis of visual programming environments: A “cognitive dimensions” framework. Journal of Visual Languages and Computing, 7, 131–174. Footnote

    This paper applies the cognitive dimensions of notation framework to the evaluation for visual programming environments, finding it particularly effective and a good complement for other techniques.

    Google Scholar 

  8. Lam, E. S. L., & Cervesato, I. (2012). Modeling datalog fact assertion and retraction in linear logic. In A. King (Ed.), Proceedings of the 14th international ACM symposium on principles and practice of declarative programming – PPDP’12, Leuven. Footnote

    This paper models the propagation of the assertion of new facts or the retraction of old facts in the Datalog system by means of inference in linear logic. To this effect, it translates Datalog clauses into linear logic formulas that also contain specifications about how to propagate updates.

    Google Scholar 

  9. Lewis, C., Rieman, J., & Bell, B. (1991). Problem-centered design for expressiveness and facility in a graphical programming system. Human-Computer Interaction, 6(3–4), 319–355. Footnote

    This paper advocates a design methodology for graphical systems that is driven by concrete examples of tasks that users are expected to accomplish (problems) rather than abstract cognitive targets. This expands the space of design alternatives and acts as a benchmark to evaluate solutions.

    Google Scholar 

  10. Nigam, V., Jia, L., Loo, B. T., & Scedrov, A. (2011). Maintaining distributed logic programs incrementally. In Proceedings of the 13th international ACM symposium on principles and practice of declarative programming – PPDP’11, Odense (pp. 125–136). ACM. Footnote

    This paper explores an efficient asynchronous algorithm to incrementally compute the changes to the states of a distributed Datalog system, as proposed in some network protocols and multi-agent systems, in response to the insertions and deletions of base facts.

    Google Scholar 

  11. Nielsen, J., & Mack, R. L. (Eds.). (1994). Usability inspection methods. New York: Wiley. Footnote

    This collection of essays brings together the best approaches to predictive user modeling in use at the time, with special emphasis on various types of cognitive walkthrough. It reports on numerous case studies and gives practical guidance to developers interested in embedding usability inspection into the software cycle.

    Google Scholar 

  12. Panko, R. R. (1998). What we know about spreadsheet errors. Journal of End User Computing (Special issue on Scaling Up End User Development), 10(2), 15–21. Available at http://panko.shidler.hawaii.edu/ssr/Mypapers/whatknow.htm. Footnote

    This very influential article carried out a systematic study of the number and type of errors found in spreadsheets. At the outset, the results are surprisingly high, which should limit our confidence about decisions made on the basis of spreadsheet calculations. This research also finds that this type and number is similar to programming in general, except that software engineering has developed methods to curb this error rate, while spreadsheet users take a more informal approach.

  13. Ramakrishnan, C. R., Ramakrishnan, I. V., & Warren, D. S. (2006). Deductive spreadsheets using tabled logic programming. In Proceedings of the 22nd international conference on logic programming – ICLP’06, Seattle (pp. 391–405). Footnote

    This paper describes the XcelLog deductive spreadsheet system [RRW07] with particular emphasis on using the spreadsheet metaphor for the purpose of taming the rule interactions. It also discusses the details of its implementation as an Excel addon powered by the XSB tabled logic programming system [War98] as a back-end.

    Google Scholar 

  14. Ramakrishnan, C. R., Ramakrishnan, I. V., & Warren, D. S. (2007). XcelLog: A deductive spreadsheet system. The Knowledge Engineering Review, 22(03), 269–279. Footnote

    This paper describes the design and implementation of XcelLog, an extension of the traditional spreadsheet with deductive capabilities. Like the proposal in this book, XcelLog is meant to retain the usability of the spreadsheet while enabling end-users to use it to draw logical consequences. The approach treats sets as the fundamental data type and inference rules as specifying among sets. The spreadsheet metaphor is used to create and view the materialized sets. The implementation relies on the XSB system [War98].

    Google Scholar 

  15. Ramakrishnan, R., Srivastava, D., & Sudarshan, S. (1992). Efficient bottom-up evaluation of logic programs. In P. Dewilde & J. Vandewalle (Eds.), The state of the art in computer systems and software engineering. Kluwer Academic. Footnote

    This paper reviews the state of the art of bottom-up evaluation and proposes a transformation on Datalog programs to speed up that semi-naïve evaluation. It also discusses extensions to negation, set terms, constraints and quantitative reasoning. Comparisons with numerous systems are included.

    Google Scholar 

  16. Schroyens, W., Schaeken, W., Fias, W., & d’Ydewalle, G. (2000). Heuristic and analytic processes in propositional reasoning with negation. Journal of Experimental Psychology: Learning, Memory, and Cognition, 26(6), 1713–1734 Footnote

    This paper describes a series of experiments aimed at analyzing the cognitive impact on analytic process of conditional reasoning with negations and double negations.

    Google Scholar 

  17. Warren, D. S. (1998). Programming with tabling in XSB. In D. Gries & W. P. de Roever (Eds.), Programming concepts and methods, IFIP TC2/WG2.2,2.3 international conference on programming concepts and methods (PROCOMET’98): Vol. 125 of IFIP conference proceedings, Shelter Island (pp. 5–6). Chapman & Hall. Footnote

    XSB is Prolog with a form of memoization called tabling. Declaratively, it does not differ substantially from Prolog. Procedurally, however, it substantially improves on the standard top-down SLDNF resolution strategy of this language by nearly eradicating control-induced infinite loops. In particular, an XSB query always terminates against a Datalog program. Tabling can also have a positive effect on efficiency, although this may depend on how the user writes his programs. This makes XSB a promising candidate as the underlying explanation engine of a deductive spreadsheet.

    Google Scholar 

  18. Wason, P. C., & Johnson-Laird, P. N. (1972). Psychology of reasoning: Structure and content. Cambridge: Cambridge University Press. Footnote

    This classic cognitive psychology textbook is concerned with why we reason the way we do: we are not infallible reasoners yet certain deductions come to us naturally while others require quite a bit of effort, and often end up being erroneous. One such difficult pattern is negation. This book is a fascinating in-depth analysis of the often problematic relationship between man and logic.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Cervesato, I. (2013). Future Developments. In: The Deductive Spreadsheet. Cognitive Technologies. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-37747-1_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-37747-1_11

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-37746-4

  • Online ISBN: 978-3-642-37747-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics