MDSheet – Model-Driven Spreadsheets
-
Upload
jacome-cunha -
Category
Technology
-
view
1.917 -
download
0
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
)