Embedding and Evolution of Spreadsheet Models in Spreadsheet...

22
Jácome Cunha, Jorge Mendes, João Saraiva Universidade do Minho Portugal João Paulo Fernandes Universidade do Minho & Universidade do Porto Portugal VL/HCC 2011 September 18-22, Pittsburgh, PA, USA Embedding and Evolution of Spreadsheet Models in Spreadsheet Systems Embedding and Evolution of Spreadsheet Models in Spreadsheet Systems

Transcript of Embedding and Evolution of Spreadsheet Models in Spreadsheet...

Page 1: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

Jácome Cunha, Jorge Mendes, João Saraiva

Universidade do Minho

Portugal

João Paulo Fernandes

Universidade do Minho & Universidade do Porto

Portugal

VL/HCC 2011

September 18-22, Pittsburgh, PA, USA

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 Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

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 Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

3

IntroductionIntroduction

Page 4: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

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 Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

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 Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

6

An ExampleAn Example

Page 7: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

7

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 8: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

8

ClassSheets to the rescue!ClassSheets to the rescue!

Page 9: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

9

Embedding ClassSheets into

Spreadsheet Systems

Embedding ClassSheets into

Spreadsheet Systems

Page 10: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

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

Page 11: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

11

Vertically Expandable TablesVertically Expandable Tables

Page 12: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

12

Horizontally Expandable TablesHorizontally Expandable Tables

Page 13: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

13

Relationship TablesRelationship Tables

Page 14: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

14

Co-Evolution of Spreadsheet Models and Data

Co-Evolution of Spreadsheet Models and Data

Page 15: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

15

Data Refinements - 2LTData Refinements - 2LT

Page 16: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

16

seq2index ['a', 'z'] = {1 → 'a', 2 → 'z'}

list {1 → 'a', 2 → 'z'} = ['a', 'z']

Data Refinements - 2LTData Refinements - 2LT

Page 17: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

17

Co-Evolution RulesCo-Evolution Rules

● Combinator rules: after, before, at

● Semantic rules: insert a column, make it expandable

● Layout rules: change orientation (transpose)

Page 18: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

18

Add/Remove Column RuleAdd/Remove Column Rule

Page 19: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

19

Page 20: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

20

Solving the ProblemSolving the Problem

Page 21: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

21

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 22: Embedding and Evolution of Spreadsheet Models in Spreadsheet …alfa.di.uminho.pt/~jacome/down/vlhcc11_talk.pdf · 2012. 6. 20. · Jácome Cunha, Jorge Mendes, João Saraiva Universidade

22

Future WorkFuture 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