i-nth logo


Jacome Cunha, Joao Paulo Fernandes, Jorge Mendes, & Joao Saraiva


These tutorial notes present a methodology for spreadsheet engineering.

First, we present data mining and database techniques to reason about spreadsheet data. These techniques are used to compute relationships between spreadsheet elements (cells/columns/rows). These relations are then used to infer a model defining the business logic of the spreadsheet.

Such a model of a spreadsheet data is a visual domain specific language that we embed in a well-known spreadsheet system. The embedded model is the building block to define techniques for model-driven spreadsheet development, where advanced techniques are used to guarantee the model-instance synchronization.

In this model-driven environment, any user data update as to follow the model-instance conformance relation, thus, guiding spreadsheet users to introduce correct data. Data refinement techniques are used to synchronize models and instances after users update/evolve the model.

These notes briefly describe our model-driven spreadsheet environment, the MDSheet environment, that implements the presented methodology. To evaluate both proposed techniques and the MDSheet tool, we have conducted, in laboratory sessions, an empirical study with the summer school participants. The results of this study are presented in these notes.


Most important spreadsheet characteristic
Most important spreadsheet characteristic

Almost 60% of participants identify the simplicity in their usage as the most important characteristic of spreadsheets. The tabular layout of spreadsheets and their underlying incremental engine were also significantly acknowledged.


2015, Central European Functional Programming – Summer School on Domain-Specific Languages, Volume 8606 of Lecture Notes in Computer Science, March, pages 246-299

Full article

Spreadsheet engineering