Skip to main content

Deductive Spreadsheets Using Tabled Logic Programming

  • Conference paper
Logic Programming (ICLP 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4079))

Included in the following conference series:

Abstract

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.

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 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

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Augusti, J., Puigsegur, J., Robertson, D., Schorleme, W.: Visual logic programming through set inclusion and chaining. In: CADE 13 Workshop on Visual Reasoning (1996)

    Google Scholar 

  2. Couch, A.L., Gilfi, M.: It’s elementary, dear watson: Applying logic programming to convergent system management processes. In: Proceedings of the 13th USENIX Conference on Systems Administration (LISA), pp. 123–138 (1999)

    Google Scholar 

  3. Das, S.K.: Deductive Databases and Logic programming. Addison-Wesley, Reading (1992)

    MATH  Google Scholar 

  4. Dong, Y., Ramakrishnan, C.R., Smolka, S.A.: Evidence Explorer: A Tool for Exploring Model-Checking Proofs. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 215–218. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  5. Gupta, G., Akhter, S.F.: Knowledgesheet: A Graphical Spreadsheet Interface for Interactively Developing a Class of Constraint Programs. In: Pontelli, E., Santos Costa, V. (eds.) PADL 2000. LNCS, vol. 1753, pp. 308–323. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  6. Guttman, J.D., Herzog, A.L., Ramsdell, J.D.: Information flow in operating systems: Eager formal methods. In: Workshop on Issues in the Theory of Security (WITS) (2003)

    Google Scholar 

  7. Jaeger, T., Sailer, R., Zhang, X.: Analyzing integrity protection in the selinux example policy. In: USENIX Security Symposium (2003)

    Google Scholar 

  8. Jayaraman, B., Moon, K.: Subset logic programs and their implementation. Journal of Logic Programming 42, 71–110 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  9. Jones, S.P., Blackwell, A., Burnett, M.: A user-centered approach to function in excel. In: Intl. Conf. on Functional Programming (2003)

    Google Scholar 

  10. Kassoff, M., Zen, L.-M., Garg, A., Genesereth, M.: Predicalc: A logical spreadsheet management system. In: 31st International Conference on Very Large Databases (VLDB) (2005)

    Google Scholar 

  11. Li, N., Grosof, B., Feigenbaum, J.: A practically implementable and tractable delegation logic. In: IEEE Symposium on Security and Privacy, pp. 27–42 (2000)

    Google Scholar 

  12. Li, N., Winsborough, W.H., Mitchell, J.C.: Distributed credential chain discovery in trust management. Journal of Computer Security 11, 35–86 (2003)

    Google Scholar 

  13. Lloyd, J.W.: Foundations of Logic Programming. Springer, Heidelberg (1987)

    MATH  Google Scholar 

  14. Loscocco, P., Smalley, S.: Integrating flexible support for security policies into the linux operating system. In: FREENIX track of the 2001 Usenix Annual Technical Conference (2001), Available from: http://www.nsa.gov/selinx/

  15. Maier, D., Warren, D.S.: Computing with Logic: Logic Programming and Prolog, p. 535. Benjamin/Cummings Publishers, Menlo Park (1988)

    MATH  Google Scholar 

  16. Li, N., Mitchell, J., Winsborough, W.: Design of a role-based trust-management framework. In: Proceedings of 2002 IEEE Symposium on Security and Privacy, pp. 114–130 (May 2002)

    Google Scholar 

  17. Ou, X., Govindavajhala, S., Appel, A.W.: Mulval: A logic-based network security analyzer. In: 14th Usenix Security Symposium (2005)

    Google Scholar 

  18. Ramakrishnan, C.R., Sekar, R.: Model-based analysis of configuration vulnerabilities. Journal of Computer Security (JCS) 10, 189–209 (2002)

    Google Scholar 

  19. Reeves, D.M., Wellman, M.P., Grosof, B.N.: Automated negotiation from declarative contract descriptions. In: Proceedings of the Fifth International Conference on Autonomous Agents, pp. 51–58. ACM Press, New York (2001)

    Chapter  Google Scholar 

  20. Roychoudhury, A., Ramakrishnan, C.R., Ramakrishnan, I.V.: Justifying proofs using memo tables. In: Principles and Practice of Declarative Programming (PPDP), pp. 178–189. ACM Press, New York (2000)

    Chapter  Google Scholar 

  21. Sagonas, K., Swift, T., Warren, D.S., Freirre, J., Rao, P.: XSB programmers manual (2001), http://xsb.sourceforge.net/

  22. Saha, D., Ramakrishnan, C.R.: Incremental Evaluation of Tabled Prolog: Beyond Pure Logic Programs. In: Van Hentenryck, P. (ed.) PADL 2006. LNCS, vol. 3819, pp. 215–229. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  23. Sarna-Starosta, B., Stoller, S.D.: Policy analysis for security-enhanced linux. In: Workshop on Issues in the Theory of Security (WITS), pp. 1–12 (2004), Available at: http://www.cs.sunysb.edu/~stoller/WITS2004.html

  24. Schwartz, J.T., Dewar, R.B., Schonberg, E., Dubinsky, E.: Programming with sets; an introduction to SETL. Springer, New York (1986)

    MATH  Google Scholar 

  25. Tsur, S., Zaniolo, C.: LDL: A logic-based data language. In: VLDB 1986, pp. 33–41 (1986)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ramakrishnan, C.R., Ramakrishnan, I.V., Warren, D.S. (2006). Deductive Spreadsheets Using Tabled Logic Programming. In: Etalle, S., Truszczyński, M. (eds) Logic Programming. ICLP 2006. Lecture Notes in Computer Science, vol 4079. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11799573_29

Download citation

  • DOI: https://doi.org/10.1007/11799573_29

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-36635-5

  • Online ISBN: 978-3-540-36636-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics