predicalc: a logical spreadsheet management system michael kassoff lee-ming zen ankit garg michael...
TRANSCRIPT
PrediCalc: A Logical Spreadsheet Management System
Michael Kassoff
Lee-Ming Zen
Ankit Garg
Michael Genesereth
August 30, 2005
Stanford Logic Group VLDB 2005 Demo
Electronic Spreadsheets
• Huge success
• Used by everyone from multinational conglomerates to individuals
• Limitations– Functional definitions– Unidirectional update
From Functions to Constraints
Generalizing formulae to many-to-many constraints allows us to use spreadsheets for a wide variety of applications
• Correct-on-capture data entry (smart forms)– “Start times must be before end times”– “The number of lap infants traveling must not be greater
than the number of adults”
• Enterprise Management policies– “Only senior managers can reserve the third floor
conference room”
• Design / Configuration– “Students must take at least 2 math courses to graduate”
Logical Spreadsheets
We choose to represent many-to-many relationships using logical formulae
start-time(S) and end-time(E) before(S,E) “The start time must be before the end time”
event-owner(O) and senior-manager(O) event-room(room301)
“Only senior managers can reserve the third floor conference room”
The focus is on symbolic data rather than numeric data
Features of PrediCalc
• Distinguishes between user-specified cells and computed cells– Computed cells contain logical
consequences of user-specified cells– Allows for simple retraction of value
assignments
• Propagation can occur in any direction
• Constraints are not independent: p(X) q(X)
q(X) r(X)
User specified
System generated
b
p q
b
a
p q
a
p(X) q(X)
p(X) r(X)
Inconsistency Tolerance
• Uses a novel technique to handle inconsistency of values with constraints
• Gives users feedback about violated constraints
(I can’t explain this in 5 minutes… see the demo!)
Thanks!