Minor edits to the language section

This commit is contained in:
Oliver Kennedy 2016-04-24 13:02:59 -04:00
parent 0dfed3e88b
commit cfc84dbe93
2 changed files with 75 additions and 7 deletions

View file

@ -137,3 +137,73 @@
Publisher = {Basic books},
Title = {The design of everyday things: Revised and expanded edition},
Year = {2013}}
@article{Bendre:2015:DUD:2824032.2824121,
author = {Bendre, Mangesh and Sun, Bofan and Zhang, Ding and Zhou, Xinyan and Chang, Kevin Chen-Chuan and Parameswaran, Aditya},
title = {DataSpread: Unifying Databases and Spreadsheets},
journal = {Proc. VLDB Endow.},
issue_date = {August 2015},
volume = {8},
number = {12},
month = aug,
year = {2015},
issn = {2150-8097},
pages = {2000--2003},
numpages = {4},
url = {http://dx.doi.org/10.14778/2824032.2824121},
doi = {10.14778/2824032.2824121},
acmid = {2824121},
publisher = {VLDB Endowment},
}
@inproceedings{Liu:2009:SAD:1546683.1547431,
author = {Liu, Bin and Jagadish, H. V.},
title = {A Spreadsheet Algebra for a Direct Data Manipulation Query Interface},
booktitle = {Proceedings of the 2009 IEEE International Conference on Data Engineering},
series = {ICDE '09},
year = {2009},
isbn = {978-0-7695-3545-6},
pages = {417--428},
numpages = {12},
url = {http://dx.doi.org/10.1109/ICDE.2009.34},
doi = {10.1109/ICDE.2009.34},
acmid = {1547431},
publisher = {IEEE Computer Society},
address = {Washington, DC, USA},
keywords = {database usability, user interface, spreadsheet},
}
@inproceedings{Tyszkiewicz:2010:SRD:1807167.1807191,
author = {Tyszkiewicz, Jerzy},
title = {Spreadsheet As a Relational Database Engine},
booktitle = {Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data},
series = {SIGMOD '10},
year = {2010},
isbn = {978-1-4503-0032-2},
location = {Indianapolis, Indiana, USA},
pages = {195--206},
numpages = {12},
url = {http://doi.acm.org.gate.lib.buffalo.edu/10.1145/1807167.1807191},
doi = {10.1145/1807167.1807191},
acmid = {1807191},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {performance, relational algebra, relational databases, spreadsheets, sql},
}
@inproceedings{Witkowski:2005:QE:1083592.1083733,
author = {Witkowski, Andrew and Bellamkonda, Srikanth and Bozkaya, Tolga and Naimat, Aman and Sheng, Lei and Subramanian, Sankar and Waingold, Allison},
title = {Query by Excel},
booktitle = {Proceedings of the 31st International Conference on Very Large Data Bases},
series = {VLDB '05},
year = {2005},
isbn = {1-59593-154-6},
location = {Trondheim, Norway},
pages = {1204--1215},
numpages = {12},
url = {http://dl.acm.org.gate.lib.buffalo.edu/citation.cfm?id=1083592.1083733},
acmid = {1083733},
publisher = {VLDB Endowment},
}

View file

@ -75,7 +75,7 @@ Conversely, a user might sort the rows of the table in descending order on Colum
At a high level, both actions are structural, as they only transform the coordinate system by rearranging the coordinate mapping; The effects on cells (the $C$ part of a state) are only incidental consequences of the new coordinate scheme. For each dependent cell that changes coordinates, the action must also something else to be correct.
The distinction between the two example actions is quite significant, because it underlies a fundamental tradeoff in minimizing the ``surprising'' incidental effects~\cite{saltzer2009principles} of a change in coordinates: For \texttt{MOVE}, cell formulas are \textit{translated} into the new coordinate system to ensure that each cell's values stay the same, while for \texttt{SORT}, cell formulas are \textit{re-evaluated} under the new coordinate system, changing the values to ensure that the formulas stay the same.
We tested a range of actions that affect the coordinate system of a spreadsheet, and all consistently exhibited one of these types of stability: either on values (formulas are translated), or on formulas (new values are computed). Our results are shown in Figure~\ref{fig:stability}. Most action semantics tend to favor value stability --- clearly the simpler case in general. Semantics that enforce formula stability are used for operations where, although value stability is possible, the coordinate transformation required to enforce it is non-intuitive. For example, it is clearly possible to enforce value stability when sorting, as no data is created or destroyed. However, the resulting formulas would be mangled beyond recognizability.
We tested a range of actions that affect the coordinate system of a spreadsheet, and all consistently exhibited one of these types of stability: either on values (formulas are translated), or on formulas (new values are computed). Our results are shown in Figure~\ref{fig:stability}. Virtually all action semantics favor value stability --- clearly the simpler case in general. Semantics that enforce formula stability are used only in the one operation where the coordinate transformation required to enforce value stability is non-intuitive. Sorting applies an effectively random coordinate transformation, mangling formulas beyond recognizability.
This suggests a heuristic for defining action semantics in \langname: Prefer semantics that enforce value stability, as long as the resulting coordinate transformation is simple and easy to understand.
\begin{figure}
@ -84,14 +84,12 @@ This suggests a heuristic for defining action semantics in \langname: Prefer sem
& & \textbf{Stability} & \\\hline
\textbf{Action} & \textbf{Excel} & \textbf{Numbers} & \textbf{Sheets} \\ \hline
Cut/Paste & V & V & V \\
Move Col & & & \\
Move Row & & & \\
Insert Col & & & \\
Insert Row & & & \\
Drag Cell/Row/Col & n/a & V & V\\
Insert Row/Col & V & V & V \\
Sort & F & F & F \\
Filter & & &
Filter & V & V & V
\end{tabular}
\caption{Interface actions and whether they are \textbf{F}ormula-stable, or \textbf{V}alue-stable.}
\caption{Interface actions and whether they are \textbf{F}ormula-stable, or \textbf{V}alue-stable. Excel does not support dragging.}
\label{fig:stability}
\end{center}
\end{figure}