Minor edits to the language section
This commit is contained in:
parent
0dfed3e88b
commit
cfc84dbe93
70
okennedy.bib
70
okennedy.bib
|
@ -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},
|
||||
}
|
||||
|
|
|
@ -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}
|
||||
|
|
Loading…
Reference in a new issue