Talk at VL/HCC '11

238 views
203 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
238
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Talk at VL/HCC '11

  1. 1. Embedding and Evolution of Spreadsheet Models in Spreadsheet SystemsJá come Cunha, Jorge Mendes, Joã Paulo Fernandes o Joã Saraiva o Universidade do Minho Universidade do Minho & Universidade do Porto Portugal Portugal VL/HCC 2011 September 18-22, Pittsburgh, PA, USA
  2. 2. Agenda● Introduction● Embedding ClassSheets into Spreadsheet Systems● Co-Evolution of Spreadsheet Models and Data● Conclusions and Future Work 2
  3. 3. Introduction 3
  4. 4. Spreadsheets are widely used 4Image taken from http://www.flickr.com/photos/cosmosfan/2414002070/
  5. 5. Spreadsheets contain many errors 5Image taken from http://www.computerrepairmaintenance.com/secrets-to-fixing-computer-problems/
  6. 6. An Example 6
  7. 7. Model-based approach promises good results 7Images taken from http://www.getopt.org/ecimf/contrib/onto/REA/REA-UML.gif and http://www.telecom-lille1.eu/people/Vanwormhoudt/siteEMFOCL/tutoriel/TutorialEMFOCL1.htmand http://weblogs.asp.net/scottgu/archive/2006/07/12/Tip_2F00_Trick_3A00_-Online-Database-Schema-Samples-Library.aspx
  8. 8. ClassSheets to the rescue! 8
  9. 9. Embedding ClassSheets into Spreadsheet Systems 9
  10. 10. ● Embedding DSLs in general purpose programming languages is a recurring strategy ● systems inherit all the power of the host language ● implementation effort is much reduced● We will present the embedding of the ClassSheet (DSL) model in traditional spreadsheet systems 10
  11. 11. Vertically Expandable Tables 11
  12. 12. Horizontally Expandable Tables 12
  13. 13. Relationship Tables 13
  14. 14. Co-Evolution ofSpreadsheet Models and Data 14
  15. 15. Data Refinements - 2LT 15
  16. 16. Data Refinements - 2LTseq2index [a, z] = {1 → a, 2 → z}list {1 → a, 2 → z} = [a, z] 16
  17. 17. Co-Evolution Rules● Combinator rules: after, before, at● Semantic rules: insert a column, make it expandable● Layout rules: change orientation (transpose) 17
  18. 18. Add/Remove Column Rule 18
  19. 19. 19
  20. 20. Solving the Problem 20
  21. 21. Conclusions● 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 21
  22. 22. Future Work● Evaluate the embedded modeling language● Evaluate the impact of the new environment in efficiency (time) and effectiveness (errors)● Extend the ClassSheet model with restrictions● Allow users to change data and infer the “best” evolved ClassSheet model 22

×