Embedding and Evolution of Spreadsheet Models in...
Transcript of Embedding and Evolution of Spreadsheet Models in...
![Page 1: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/1.jpg)
Jácome Cunha, Jorge Mendes, João Saraiva
Universidade do Minho
Portugal
João Paulo Fernandes
Universidade do Minho & Universidade do Porto
Portugal
HASLab – October 26, 2011
Embedding and Evolution of Spreadsheet Models in Spreadsheet Systems
Embedding and Evolution of Spreadsheet Models in Spreadsheet Systems
![Page 2: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/2.jpg)
2
Agenda
● Introduction
● Embedding ClassSheets into Spreadsheet Systems
● Co-Evolution of Spreadsheet Models and Data
● Conclusions and Future Work
![Page 3: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/3.jpg)
3
IntroductionIntroduction
![Page 4: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/4.jpg)
4
Spreadsheets are widely usedSpreadsheets are widely used
Image taken from http://www.flickr.com/photos/cosmosfan/2414002070/Image taken from http://www.flickr.com/photos/cosmosfan/2414002070/
Spreadsheets are widely usedSpreadsheets are widely usedSpreadsheets are widely usedSpreadsheets are widely used
![Page 5: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/5.jpg)
5
Spreadsheets contain many errorsSpreadsheets contain many errors
Image taken from http://www.computerrepairmaintenance.com/secrets-to-fixing-computer-problems/Image taken from http://www.computerrepairmaintenance.com/secrets-to-fixing-computer-problems/
![Page 6: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/6.jpg)
6
Model-based approach promises good resultsModel-based approach promises good results
Images taken from http://www.getopt.org/ecimf/contrib/onto/REA/REA-UML.gif and http://www.telecom-lille1.eu/people/Vanwormhoudt/siteEMFOCL/tutoriel/TutorialEMFOCL1.htm and http://weblogs.asp.net/scottgu/archive/2006/07/12/Tip_2F00_Trick_3A00_-Online-Database-Schema-Samples-Library.aspxImages taken from http://www.getopt.org/ecimf/contrib/onto/REA/REA-UML.gif and http://www.telecom-lille1.eu/people/Vanwormhoudt/siteEMFOCL/tutoriel/TutorialEMFOCL1.htm and http://weblogs.asp.net/scottgu/archive/2006/07/12/Tip_2F00_Trick_3A00_-Online-Database-Schema-Samples-Library.aspx
![Page 7: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/7.jpg)
7
ClassSheets to the rescue!ClassSheets to the rescue!
![Page 8: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/8.jpg)
8
Embedding ClassSheets into
Spreadsheet Systems
Embedding ClassSheets into
Spreadsheet Systems
![Page 9: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/9.jpg)
9
Why Embedding?
● Gencel generates Excel spreadsheets● Similar approach as compilers● It makes it impossible to have synchronized
evolution of both the model and the data● We do not follow this compiler approach● Instead, we use the embedding so we can
reuse the Excel functionalities● The management becomes easier: both the
model and the data in the same environment
![Page 10: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/10.jpg)
10
Visual DSL for ClassSheets
SS with controlled edition
Gencel
Visual DSL for ClassSheets
Evolution
![Page 11: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/11.jpg)
11
Vertically Expandable TablesVertically Expandable Tables
![Page 12: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/12.jpg)
12
Relationship TablesRelationship Tables
![Page 13: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/13.jpg)
13
Co-Evolution of Spreadsheet Models and Data
Co-Evolution of Spreadsheet Models and Data
![Page 14: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/14.jpg)
14
Data Refinements - 2LTData Refinements - 2LT
![Page 15: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/15.jpg)
15
Co-Evolution RulesCo-Evolution Rules
● Combinator rules: after, before, at
● Semantic rules: insert a column, make it expandable
● Layout rules: change orientation (transpose)
![Page 16: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/16.jpg)
16
Add/Remove Column RuleAdd/Remove Column Rule
![Page 17: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/17.jpg)
17
![Page 18: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/18.jpg)
18
ConclusionsConclusions
● We have shown how to embed a visual DSL into a traditional spreadsheet system
● This allows user to create models and instances in the same environment
● We used a formal framework to design and implement evolution steps
● The model and its instances are always synchronized
![Page 19: Embedding and Evolution of Spreadsheet Models in ...wiki.di.uminho.pt/twiki/pub/DI/FMHAS/Seminar/talk_haslab_jacome_j… · Co-Evolution of Spreadsheet Models and Data. 14 Data Refinements](https://reader034.fdocuments.in/reader034/viewer/2022051909/5ffda8cfb8ea3760fa75a827/html5/thumbnails/19.jpg)
19
Future Work (in Progress)Future Work (in Progress)
● Extend the ClassSheet model with restrictions– mark=0:[0..20]
– studentID=(a|pg|id)\d+
– status={WORKER-STUDENT, REGULAR}
● Allow users to change data and infer the “best” evolved ClassSheet model