Jacome Cunha, Joost Visser, Tiago Alves, & Joao Saraiva
Spreadsheets are notoriously error-prone. To help avoid the introduction of errors when changing spreadsheets, models that capture the structure and interdependencies of spreadsheets at a conceptual level have been proposed. Thus, spreadsheet evolution can be made safe within the confines of a model.
As in any other model/instance setting, evolution may not only require changes at the instance level but also at the model level. When model changes are required, the safety of instance evolution can not be guarded by the model alone.
We have designed an appropriate representation of spreadsheet models, including the fundamental notions of formulae and references. For these models and their instances, we have designed coupled transformation rules that cover specific spreadsheet evolution steps, such as the insertion of columns in all occurrences of a repeated block of cells.
Each model-level transformation rule is coupled with instance level migration rules from the source to the target model and vice versa. These coupled rules can be composed to create compound transformations at the model level inducing compound transformations at the instance level. This approach guarantees safe evolution of spreadsheets even when models change.
This example depicts the general scenario of a transformation in the data refinement theory algebraic framework.
Each transformation is coupled with witness functions to and from, which are responsible for converting values of type A into type A' and back.
2011, Lecture Notes in Computer Science, Volume 6603, pages 186-201