Talk at ICTM '12

4,061 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
4,061
On SlideShare
0
From Embeds
0
Number of Embeds
3,046
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 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
  • Talk at ICTM '12

    1. 1. Bidirectional Transformation of Model-Driven Spreadsheets come Cunha1, Joã P. Fernandes12, Jorge Mendes1, Já o Hugo Pacheco1, Joã Saraiva1 o1 HASLab / INESC TEC & Universidade do Minho, Portugal 2 Universidade do Porto, Portugal ICMT 2012
    2. 2. Agenda● Introduction ● ClassSheets as Spreadsheet Models● Bidirectional Spreadsheet Evolution Environment ● MDSheet Framework ● Implementation● Conclusions and Future Work 2
    3. 3. Introduction 3
    4. 4. Spreadsheets● Highly flexible end-users programming environment ● highly error prone● Widely used for decision making ● potential negative economic impact● Do you agree? 4
    5. 5. 5http://www.wiscnews.com/baraboonewsrepublic/news/local/article_7672b6c6-22d5-11e1-8398-001871e3ce6c.html
    6. 6. 6http://www.sltrib.com/sltrib/news/53893888-78/state-error-office-education.html.csphttp://www.sltrib.com/sltrib/news/54128921-78/session-education-special-lawmakers.html.csp
    7. 7. Many More Horror Stories● EuSpRIG Original Horror Stories ● http://www.eusprig.org/stories.htm 7
    8. 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. 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. 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
    11. 11. Model-Driven Spreadsheet Environment (Instance/Data Worksheet) 11
    12. 12. Model-Driven Spreadsheet Environment (Model/ClassSheet Worksheet) 12
    13. 13. 13
    14. 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
    15. 15. ClassSheets as Spreadsheet Models 15
    16. 16. Vertically Expandable TablesSpreadsheet Data ClassSheet Model 16
    17. 17. Horizontally Expandable TablesSpreadsheet Data ClassSheet Model 17
    18. 18. Relationship TablesSpreadsheet DataClassSheet Model 18
    19. 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
    20. 20. The MDSheet Framework 20
    21. 21. Combining Techniques● Embedding of ClassSheet models● Framework for bidirectional transformations● Extending OpenOffice/LibreOffice 21
    22. 22. Bidirectional Transformation System 22
    23. 23. Architecture 23
    24. 24. Example of a Transformation we Want: Add a New Column 24
    25. 25. (Model) Operations on ClassSheets 25
    26. 26. (Data) Operations on Instances 26
    27. 27. Bidirectional Transformation Functions 27
    28. 28. Example: Add a Column and a Class 28
    29. 29. Bidirectional Transformation Properties● Correctness● Hippocraticness (from)● Invertibillity (to)● History ignorance 29
    30. 30. Conclusions and Future Work 30
    31. 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. 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
    33. 33. Thank you! http://ssaapp.di.uminho.pthttp://wiki.di.uminho.pt/twiki/bin/view/Research/FATBIT/WebHome 33

    ×