Hostname: page-component-848d4c4894-nr4z6 Total loading time: 0 Render date: 2024-05-09T17:10:19.824Z Has data issue: false hasContentIssue false

XcelLog: a deductive spreadsheet system

Published online by Cambridge University Press:  01 September 2007

C.R. RAMAKRISHNAN
Affiliation:
Department of Computer Science, Stony Brook University, NY 11794; e-mail: cram@cs.stonybrook.edu, ram@cs.stonybrook.edu, warren@cs.stonybrook.edu
I.V. RAMAKRISHNAN
Affiliation:
Department of Computer Science, Stony Brook University, NY 11794; e-mail: cram@cs.stonybrook.edu, ram@cs.stonybrook.edu, warren@cs.stonybrook.edu
DAVID S. WARREN
Affiliation:
Department of Computer Science, Stony Brook University, NY 11794; e-mail: cram@cs.stonybrook.edu, ram@cs.stonybrook.edu, warren@cs.stonybrook.edu

Abstract

The promise of rule-based computing was to allow end-users to create, modify, and maintain applications without the need to engage programmers. But experience has shown that rule sets often interact in subtle ways, making them difficult to understand and reason about. This has impeded the widespread adoption of rule-based computing. This paper describes the design and implementation of XcelLog, a user-centered deductive spreadsheet system, to empower non-programmers to specify and manipulate rule-based systems. 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 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. Preliminary experience with using XcelLog indicates that it is indeed feasible to put the power of deductive spreadsheets for doing rule-based computing into the hands of end-users and do so without the requirement of programming or the constraints of canned application packages.

Type
Research Article
Copyright
Copyright © Cambridge University Press 2007

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Augusti, J., Puigsegur, J., Robertson, D. and Schorlemer, W. 1996 Visual logic programming through set inclusion and chaining. In CADE 13 Workshop on Visual Reasoning.Google Scholar
Couch, A. L. and Gilfix, M. 1999 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.Google Scholar
Das, S. K.Deductive Databases and Logic programming. Addidon-Wesley, Wokingham, England, 1992.Google Scholar
Dong, Y., Ramakrishnan, C. R. and Smolka, S. A. 2003 Evidence explorer: a tool for exploring model-checking proofs. In Fifteenth International Conference on Computer Aided Verification (CAV), Lecture Notes in Computer Science 2725, pp. 215–218, Springer.Google Scholar
Gupta, G. and Akhter, S. F. 2000 Knowledgesheet: A graphical spreadsheet interface for interactively developing a class of constraint programs. In Practical Aspects of Declarative Languages (PADL), Vol. 1753 of Lecture Notes in Computer Science, pp. 308–323, Springer.Google Scholar
Guttman, J. D., Herzog, A. L. and Ramsdell, J. D. 2003 Information flow in operating systems: Eager formal methods. In Workshop on Issues in the Theory of Security (WITS).Google Scholar
Jaeger, T., Sailer, R. and Zhang, X. 2003 Analyzing integrity protection in the SELinux example policy. In USENIX Security Symposium.Google Scholar
Jayaraman, B. and Moonm, K. 2000 Subset logic programs and their implementation. Journal of Logical Programming, 42(2): 71110.CrossRefGoogle Scholar
Jones, S. P., Blackwell, A. and Burnett, M. 2003 A user-centered approach to function in excel. In ICFP.Google Scholar
Kassoff, M., Zen, L.-M., Garg, A. and Genesereth, M. 2005 PrediCalc: A logical spreadsheet management system. In 31st International Conference on Very Large Databases (VLDB).Google Scholar
Li, N., Grosof, B. and Feigenbaum, J. 2000 A practically implementable and tractable delegation logic. In IEEE Symposium on Security and Privacy, pp. 27–42.Google Scholar
Li, N., Mitchell, J. and Winsborough, W. May, 2002 Design of a role-based trust-management framework. In Proceedings of 2002 IEEE Symposium on Security and Privacy, pp. 114–130.Google Scholar
Li, N., Winsborough, W. H. and Mitchell, J. C. 2003 Distributed credential chain discovery in trust management. Journal of Computer Security, 11(1): 3586.Google Scholar
Lloyd, J. W.Foundations of Logic Programming. 2nd Edn. Springer Verlag, New York, 1987.CrossRefGoogle Scholar
Loscocco, P. and Smalley, S. 2001a Integrating flexible support for security policies into the Linux operating system. In Proceedings of FREENIX track of the 2001 Usenix Annua; Technical Conference. Available at www.nsa.gov/selinx/.Google Scholar
Loscocco, P. and Smalley, S. 2001b Meeting critical security objectives with security-enhanced Linux. In Proceedings of 2001 Ottawa Linux Symposium, 2001. Available at www.nsa.gov/selinx/.Google Scholar
Maier, D. and Warren, D. S. 1988 Computing with Logic: Logic Programming and Prolog. Menlo Park, CA: Benjamin/Cummings Publishers, ISBN 0-8053-6681-4, 535 pp.Google Scholar
Ou, X., Govindavajhala, S. and Appel, A. W. 2005 MulVAL: A logic-based network security analyzer. In 14th Usenix Security Symposium.Google Scholar
Ramakrishnan, C. R. and Sekar, R. 2002 Model-based analysis of configuration vulnerabilities. Journal of Computer Security, 10(1/2): 189209.CrossRefGoogle Scholar
Reeves, D. M., Wellman, M. P. and Grosof, B. N. 2001 Automated negotiation from declarative contract descriptions. In Müller, J. P., Andre, E., Sen, S., and Frasson, C., (eds.), Proceedings of the Fifth International Conference on Autonomous Agents, pp. 51–58, Montreal, Canada: ACM Press.Google Scholar
Roychoudhury, A., Ramakrishnan, C. R. and Ramakrishnan, I. V. 2000 Justifying proofs using memo tables. In Proceedings of Principles and Practice of Declarative Programming.CrossRefGoogle Scholar
Sagonas, K., Swift, T., Warren, D. S., Freirre, J. and Rao, P. 2001 XSB Programmers Manual. Available at http://xsb.sourceforge.net/.Google Scholar
Saha, D. and Ramakrishnan, C. R. 2003 Incremental evaluation of tabled logic programs. In Proceedings of International Conference on Logic Programming.CrossRefGoogle Scholar
Sarna-Starosta, B. and Stoller, S. D. April, 2004 Policy analysis for security-enhanced linux. In Proceedings of the 2004Workshop on Issues in the Theory of Security (WITS), pp. 1–12. Available at www.cs.sunysb.edu/~stoller/WITS2004.html.Google Scholar
Schwartz, J. T., Dewar, R. B., Schonberg, E. and Dubinsky, E. 1986 Programming with Sets; An Introduction to SETL. New York, NY: Springer-Verlag.Google Scholar