i-nth logo


Laura Beckwith, Margaret Burnett, & Curtis Cook<


To help improve the reliability of spreadsheets created by end users, we are working to allow users to communicate the purpose and other underlying information about their spreadsheets, using a form of requirement specifications we call "guards."

For large spreadsheets with replicated/shared formulas across groups of rows or columns, guards can only be practical if users can enter them across these groups of rows or columns. The problem is, this introduces many-to-many relationships, and it is not clear how the system should reason and communicate about them in a way that will make sense to end users.

In this paper, we present the human-centric design rationale for our approach to how the system should reason about such many-to-many relationships. The design decisions are presented with their reasons gleaned from two design-time models—Cognitive Dimensions and Attention Economics—and from the users themselves in a small think-aloud study.


Issues arising from many-to-many relationships
Issues arising from many-to-many relationships

In this example we can imagine the user of the spreadsheet wanting to know when Sam's grades fall below a 70, because Sam requires special monitoring.

To do this the user would put a guard of 70-100 on Sam's row. If there were already guards on the columns that all grades are between 0-100, this student would have multiple user-entered guards on all cells in this student's row that do not match exactly.

Should this be considered to be a conflict among guards?


2002, IEEE Symposia on Human-Centric Computing Languages and Environments, September, pages 149-157

Full article

Reasoning about many-to-many requirement relationships in spreadsheets (Thesis)