AI You Can Trust - Ensuring Success with Data Integrity Webinar
Talk at ICTM '12
1. Bidirectional Transformation
of
Model-Driven Spreadsheets
come Cunha1, Joã P. Fernandes12, Jorge Mendes1,
Já o
Hugo Pacheco1, Joã Saraiva1
o
1
HASLab / INESC TEC & Universidade do Minho, Portugal
2
Universidade do Porto, Portugal
ICMT 2012
2. Agenda
● Introduction
● ClassSheets as Spreadsheet Models
● Bidirectional Spreadsheet Evolution Environment
● MDSheet Framework
● Implementation
● Conclusions and Future Work
2
7. Many More Horror Stories
● EuSpRIG Original Horror Stories
● http://www.eusprig.org/stories.htm 7
8. Why Spreadsheet Models?
● In many cases spreadsheets start simple
● They get bigger and bigger
● Many rows, columns, worksheets,
dependencies, etc.
● Harder and harder to understand
8
9. Why Spreadsheet Models?
● Models allow to abstract and better understand
the underlying problem
● ClassSheet models allow to specify
spreadsheets
● Introduced by Engels and Erwig to model the
business logic of spreadsheet data
● They allow to model spreadsheets using object-
oriented concepts
9
10. Overview of our Solution
● We infer models from spreadsheet data
(VL/HCC '10)
● We embed such models in
OpenOffice/LibreOffice providing a MDE
environment (VL/HCC '11, ICSE '12)
Conforms
Model Instance
ClassSheet Spreadsheet data
10
14. Our Work
● In previous work we used data refinement to
allow model evolution and co-evolution of data
(FASE '11 / VL/HCC '11)
● In this paper:
● We define a bidirectional transformational
system to allow both model and instance
evolution and co-evolution
14
19. Limitations
● It is not possible to edit/evolve the data
structure
● Too restrictive to regular spreadsheet users
● Some transformations are not easy to perform
on the model
● Changing the data and inferring a new model is
easier
19
31. Conclusions
● Framework for bidirectional transformations
● When evolving the data a new model is inferred
● When evolving the model the data changes
● The data always conforms to the model
● Available as a OpenOffice/LibreOffice
extension
● Tool demo next week at ICSE
31
32. Future Work
● We want to consider more than one instance of
each model
● Use automata to formalize ClassSheets
● Create an algebra
● Check model properties
● Evolve in a specified direction
32
This generated spreadsheet guides users in introducing correct data The spreadsheet includes mechanisms that guarantee that the spreadsheet data always conforms to the model after an user update
Baseado em haskell Integrado no OO Clicanca-se em botoes Espetacular Basic
Correctness: we generate models and instances that always keep the conformance relationship Hippcraticness: if we change de data and the data still conforms to the model, then we don't change the model Invertibility: literal History ignorance: each update is context independent, that is, there is no specific semantic for one update or one update after another