MDSheet – Model-Driven Spreadsheets

download MDSheet – Model-Driven Spreadsheets

If you can't read please download the document

Transcript of MDSheet – Model-Driven Spreadsheets

Jcome Cunha, Joo Paulo Fernandes,
Jorge Mendes, Rui Pereira, Joo Saraiva

HASLab/INESC TEC & Universidade do Minho(rel)ease Universidade da Beira Interior

http://ssaapp.di.uminho.ptMDSheet Model-Driven Spreadsheets

SEMS '14Delft, The Netherlands, July 2014

13

History!

Project SpreadSheets As A Programming Paradigm (SSaaPP)

Working on spreadsheets' research for about 8 years

Programming languages perspective

Software engineering perspective

What Can Go Wrong?

1

Explain the example.

Mostly, formula issues. But also incorrect values.It is also necessary a lot of work to add a new year or category.After adding data, it may be necessary to update the formulas.

2

Our Solution:
Model-Driven Spreadsheets

VL/HCC'11SAC'12

Our solution it to have a specification of the spreadsheet one wants and make the spreadsheet follow it.It helps the user to keep the data correct as only the input cells are allowed to be changed. The formula are automatically updated in whenever necessary.To add a new year or category just press one button

3

Instance Example

4

Do Models Grow on Trees??

VL/HCC'10

No they don't!! We infer them from data instances, using data mining techniques.A relational model is computed, and from that a ClassSheet is obtained.

5

But I Want to Change My Spreadsheet!

VL/HCC'11ICSE'12

Change the model to an evolved one.

You can edit the model and have the data automatically co-evolved.

6

ICMT'12

You can also evolve the data and have a new model for it.Why? Because it is probably more natural for some people.Also, because some operations are also easier to do on the data than on the model.

7

Did You Say Quality?

ICCSA'13

8

But I Don't Understand My Data...

VL/HCC'14

You can Query it!!

9

But... Does It Actually Works?

10

Begin query construction

End query construction

11

DEMO

12

Summary

Spreadsheet tend to have errors

We have devised a model-driven approach to help users

Models can automatically be inferred

And guide the user in introducing correct data

We have empirical evidence that our system indeed helps users to be more efficient and effective

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

24

25

26

-864

-691

-518

-346

-173

00

173

346

Pagamentos

T1

T2

T3

T

i

m

e

D

i

f

f

e

r

e

n

c

e

(

s

)

1

2

4

6

7

8

9

11

13

15

16

17

21

24

25

0%

20%

40%

60%

80%

100%

Model-Driven

Plain

Subject

E

r

r

o

r

R

a

t

e

(

%

)

1

2

5

7

8

11

13

15

18

21

22

0%

20%

40%

60%

80%

100%

Model-Driven

Plain

Subject

E

r

r

o

R

a

t

e

(

%

)

1

2

4

6

7

8

9

11

13

15

16

17

21

24

25

0%

20%

40%

60%

80%

100%

Model-Driven

P l ain

Su b je ct

E

r

r

o

r

R

a

t

e

(

%

)

1

2

5

7

8

11

13

15

18

21

22

0%

20%

40%

60%

80%

100%

Model-Driven

Plain

Subject

E

r

r

o

R

a

t

e

(

%

)

1

2

4

6

7

8

9

11

13

15

16

17

21

24

25

00: 00

05: 00

10: 00

15: 00

Model-Driven

P l ain

Su b je ct

T

i

m

e

(

m

m

:

s

s

)

1

2

3

5

7

8

11

13

15

18

21

22

00:00

05:00

10:00

15:00

Model-Driven

Plain

Subject

T

i

m

e

(

m

m

:

s

s

)

1

2

4

6

7

8

9

11

13

15

16

17

21

24

25

00: 00

05: 00

10: 00

15: 00

Model-Driven

P l ain

Su b je ct

T

i

m

e

(

m

m

:

s

s

)

1

2

3

5

7

8

11

13

15

18

21

22

00:00

05:00

10:00

15:00

Model-Driven

Plain

Subject

T

i

m

e

(

m

m

:

s

s

)

1

2

4

6

7

8

9

11

13

15

16

17

21

24

25

00: 00

05: 00

10: 00

15: 00

Model-Driven

P l ain

Su b je ct

T

i

m

e

(

m

m

:

s

s

)

1

2

3

5

7

8

11

13

15

18

21

22

00:00

05:00

10:00

15:00

Model-Driven

Plain

Subject

T

i

m

e

(

m

m

:

s

s

)