The Traditional Spreadsheet SCHOOL OF COMPUTER SCIENCE

advertisement
Research supported by
The Traditional Spreadsheet

Simple access to complex numerical calculations

SCHOOL OF COMPUTER SCIENCE



Effective decision support for numerical data

Iliano Cervesato

Financial analysis, budgets, grades, inventories, …
Ubiquitous

iliano@cmu.edu
Intuitive interface
No formal training needed
Gentle learning curve

Over 50M users
Only recently surpassed by web browsers and mailers
Forthcoming Work

Implement prototype
All core functionalities
Detailed user-interface




Perform usability analysis and user testing

Can it be as usable as traditional spreadsheet?

Heuristic evaluation and cognitive walkthrough
The Deductive Spreadsheet
Address open cognitive issues
User-friendly syntax of tabular formulas
Complex logical patterns, e.g., nested negations
Feature discovery




Extends the spreadsheet with symbolic reasoning


Supports symbolic decision-making
Provides functionalities to manipulate data symbolically

Work to begin in January 2011, funded by QNRF



=indirect(From,To)
IF
directFlight(From,To,_).
=indirect(From,To)
IF
directFlight(Var1,Var2,Var3) |

courses
directFlight
G7:I_
grades
hasTaken
path
indirect
students
Insert Predicate
Same ease of use as traditional spreadsheet
Seamless integration into current model








Logical language
Operational interpretation
Interface commands
Not a separate application
Clause Definition
Head
indirect(From,To)
Body
Conjunct 1
directFlight(From,Mid,_)
fx
Conjunct 2 indirect(Mid,Var5)
fx
Conjunct 3 Mid <> “LAX”
fx
Conjunct 4 |
fx
Head is true only if all the conjuncts in Body are
true
NEXCEL User Interface






Example
Help
Examples of Applications
Explanation
Currently extended Datalog or beautified SQL
Final choice will depend on user testing
Query:
indirect(“JFK”, To)

indirect(“JFK”,“LAX”)
indirect(“JFK”,“LAX”)
Mouse-assisted definitions
Wizard-assisted definitions
Explanation facilities

Cancel
Define another clause
Textual language over tabular expressions


Conjunct 4: each conjunct is a predicate or a constraint
• Right-click on box for defined predicates
• Drag variables to define constraints
• Click on fx for abbreviated forms
Extension of the traditional interface with

OK
indirect(“JFK”,“LAX”)
IF
directFlight(“JFK”, “SFO”)
AND indirect(“SFO”,”LAX”).
directFlight(“JFK”,“SFO”)


indirect(“SFO”,“LAX”)
directFlight(“SFO”,“LAX”)

Based on terminating top-down logic programming
indirect(“SFO”,“LAX”)
directFlight(“SFO”,“LAX”)
Productivity tools
OK
Save query as relation
Good feedback from preliminary user testing
Build course sequence based on offerings and prerequisites
Find itinerary based on flight segment
Explore family genealogy tree

Cancel
Help

211
LGA
540
DCA

Query 1
ATL
2130
directFlight(F,T,D)
BWI
SFO
181
2580
338
JFK
Edges: F, T
2437
Vertices
LAX
1657
Labels: D
MSY
4140
2252
2560
942
VCE
IAD
Query 2
directFlight(F,T,D)
AND D > 2500
Drag variables
or previous edges
519
3850
CDG
Edges: Query1.Edges
3640
EWR
Vertices
Labels: Query1.Labels
Help
Cancel
OK
Options
Add Query
NEXCEL Functionalities

Extension of the traditional spreadsheet with

Expressions over first-class tabular data




Like database, but queries results permanently displayed
Efficient evaluation and update propagation


Datalog with negation, constraints, calculated values, lists
Equational relational algebra (extended)
Guaranteed termination
Explanation facilities
Transitive closure problems
Explore exposure to industries in mutual fund portfolio

Connection Graph
Workflow problem
Bill of materials problem
Coordinate meetings and transportation for business trip

Scheduling problem
Unachievable using traditional spreadsheets
Download