embedding and evolution of spreadsheet models in...

19
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

Upload: others

Post on 21-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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