Deductive Spreadsheets Using Tabled Logic Programming

  • C. R. Ramakrishnan
  • I. V. Ramakrishnan
  • David S. Warren
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4079)


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.


Supply Chain Logic Program Logic Programming Cell Reference Trust Management 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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. 3.
    Das, S.K.: Deductive Databases and Logic programming. Addison-Wesley, Reading (1992)MATHGoogle Scholar
  4. 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)CrossRefGoogle Scholar
  5. 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)CrossRefGoogle Scholar
  6. 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. 7.
    Jaeger, T., Sailer, R., Zhang, X.: Analyzing integrity protection in the selinux example policy. In: USENIX Security Symposium (2003)Google Scholar
  8. 8.
    Jayaraman, B., Moon, K.: Subset logic programs and their implementation. Journal of Logic Programming 42, 71–110 (2000)MATHCrossRefMathSciNetGoogle Scholar
  9. 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. 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. 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. 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. 13.
    Lloyd, J.W.: Foundations of Logic Programming. Springer, Heidelberg (1987)MATHGoogle Scholar
  14. 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:
  15. 15.
    Maier, D., Warren, D.S.: Computing with Logic: Logic Programming and Prolog, p. 535. Benjamin/Cummings Publishers, Menlo Park (1988)MATHGoogle Scholar
  16. 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. 17.
    Ou, X., Govindavajhala, S., Appel, A.W.: Mulval: A logic-based network security analyzer. In: 14th Usenix Security Symposium (2005)Google Scholar
  18. 18.
    Ramakrishnan, C.R., Sekar, R.: Model-based analysis of configuration vulnerabilities. Journal of Computer Security (JCS) 10, 189–209 (2002)Google Scholar
  19. 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)CrossRefGoogle Scholar
  20. 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)CrossRefGoogle Scholar
  21. 21.
    Sagonas, K., Swift, T., Warren, D.S., Freirre, J., Rao, P.: XSB programmers manual (2001),
  22. 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)CrossRefGoogle Scholar
  23. 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:
  24. 24.
    Schwartz, J.T., Dewar, R.B., Schonberg, E., Dubinsky, E.: Programming with sets; an introduction to SETL. Springer, New York (1986)MATHGoogle Scholar
  25. 25.
    Tsur, S., Zaniolo, C.: LDL: A logic-based data language. In: VLDB 1986, pp. 33–41 (1986)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • C. R. Ramakrishnan
    • 1
  • I. V. Ramakrishnan
    • 1
  • David S. Warren
    • 1
  1. 1.Dept. of Computer ScienceStony Brook UniversityStony BrookUSA

Personalised recommendations