Embedding and Evolution of Spreadsheet Models in Spreadsheet...

Post on 21-Sep-2020

6 views 0 download

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

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

2

Agenda

● Introduction

● Embedding ClassSheets into Spreadsheet Systems

● Co-Evolution of Spreadsheet Models and Data

● Conclusions and Future Work

3

IntroductionIntroduction

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

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/

6

An ExampleAn Example

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

8

ClassSheets to the rescue!ClassSheets to the rescue!

9

Embedding ClassSheets into

Spreadsheet Systems

Embedding ClassSheets into

Spreadsheet Systems

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

11

Vertically Expandable TablesVertically Expandable Tables

12

Horizontally Expandable TablesHorizontally Expandable Tables

13

Relationship TablesRelationship Tables

14

Co-Evolution of Spreadsheet Models and Data

Co-Evolution of Spreadsheet Models and Data

15

Data Refinements - 2LTData Refinements - 2LT

16

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

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

Data Refinements - 2LTData Refinements - 2LT

17

Co-Evolution RulesCo-Evolution Rules

● Combinator rules: after, before, at

● Semantic rules: insert a column, make it expandable

● Layout rules: change orientation (transpose)

18

Add/Remove Column RuleAdd/Remove Column Rule

19

20

Solving the ProblemSolving the Problem

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

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