SlideShare a Scribd company logo
1 of 17
Extension and Implementation of
      ClassSheet Models

       Jácome Cunha1,2, João P. Fernandes1,3,
           Jorge Mendes1, João Saraiva1
   {jacome,jpaulo,jorgemendes,jas}@di.uminho.pt
         1
           HASLab / INESC TEC & Universidade do Minho
  2
    Escola de Tecnologia e Gestão - Instituto Politécnico do Porto
                  3
                    Universidade da Beira Interior
                              Portugal



                      VL/HCC 2012
             September 30 - October 4
Why do Spreadsheets Matter?




                              2
Why do Spreadsheets Matter?



Financial intelligence firm CODA reports that
95% of all U.S. firms use spreadsheets for
financial reporting




 Sarbanes-Oxley: What About all the Spreadsheets?, Raymond R. Panko and Nicholas
 Ordway, 2008                                                                      3
Why do Spreadsheets Matter?


In    2004,    RevenueRecognition.com      (now
Softtrax) had the International Data Corporation
interview 118 business leaders.


IDC found that 85% were using spreadsheets in
financial reporting and forecasting



 Sarbanes-Oxley: What About all the Spreadsheets?, Raymond R. Panko and Nicholas
 Ordway, 2008                                                                      4
Why do Spreadsheets Matter?




50% of all spreadsheets are the basis for decisions




Supporting professional spreadsheet users by generating leveled dataflow diagrams,
Felienne Hermans, Martin Pinzger and Arie van Deursen, 2011

                                                                                     5
Still...
       www.eusprig.org/horror-stories.htm




                                     6
The Contribution of Models




                             7
ClassSheets - Models for Spreadsheets




ClassSheets: automatic generation of spreadsheet applications from
                                                                      8
object-oriented specifications, Gregor Engels, Martin Erwig, ASE'05
Vertically Expandable Tables




                               9
Relationship Tables




                      10
Limitations of ClassSheets


●   Does not allow to specify several constraints

●   In fact, the example shown could not be
    completely characterized by the original version

●   We will show how to extend ClassSheets

                                                    11
Extended ClassSheet Language




                               12
Extended ClassSheet Embedding




                                13
14
MDSheet

 ●   Available at http://ssaapp.di.uminho.pt

 ●   Built out of ~7200 LOC:
         ●
             ~3700   in Haskell, for the evolution and inference
         ●
             ~600   in Basic, for the embedding
         ●
             ~2880   in C++, for gluing all components


MDSheet: A Framework for Model-driven Spreadsheet Engineering, Jácome
                                                                        15
Cunha, João P. Fernandes, Jorge Mendes, João Saraiva, ICSE '12
Conclusions




              16
Thank You!


         SSaaPP:
http://ssaapp.di.uminho.pt




                             17

More Related Content

Similar to Extension and Implementation of ClassSheet Models

Model-Driven Spreadsheet Development
Model-Driven Spreadsheet DevelopmentModel-Driven Spreadsheet Development
Model-Driven Spreadsheet DevelopmentJácome Cunha
 
Spreadsheet Engineering
Spreadsheet EngineeringSpreadsheet Engineering
Spreadsheet EngineeringJácome Cunha
 
Summer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet EngineeringSummer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet EngineeringJácome Cunha
 
Model-driven Spreadsheets
Model-driven SpreadsheetsModel-driven Spreadsheets
Model-driven SpreadsheetsJácome Cunha
 
MDSheet - Model driven spreadsheets - Jacome Cunha at Sems 2014
MDSheet - Model driven spreadsheets - Jacome Cunha at Sems 2014MDSheet - Model driven spreadsheets - Jacome Cunha at Sems 2014
MDSheet - Model driven spreadsheets - Jacome Cunha at Sems 2014semsworkshop
 
Lecture 1 introduction to data warehouse
Lecture 1 introduction to data warehouseLecture 1 introduction to data warehouse
Lecture 1 introduction to data warehouseShani729
 
2016-11-14_Resume Gambassi_Digital
2016-11-14_Resume Gambassi_Digital2016-11-14_Resume Gambassi_Digital
2016-11-14_Resume Gambassi_DigitalDaniele Gambassi
 
Stefan Geissler kairntech - SDC Nice Apr 2019
Stefan Geissler kairntech - SDC Nice Apr 2019 Stefan Geissler kairntech - SDC Nice Apr 2019
Stefan Geissler kairntech - SDC Nice Apr 2019 Stefan Geißler
 
Introduction to Data Science - Week 4 - Tools and Technologies in Data Science
Introduction to Data Science - Week 4 - Tools and Technologies in Data ScienceIntroduction to Data Science - Week 4 - Tools and Technologies in Data Science
Introduction to Data Science - Week 4 - Tools and Technologies in Data ScienceFerdin Joe John Joseph PhD
 
Synopsis Attendance ERP
Synopsis Attendance ERPSynopsis Attendance ERP
Synopsis Attendance ERPAkshun kc
 
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...Dr. Haxel Consult
 
Eng Cal Reduced1
Eng Cal Reduced1Eng Cal Reduced1
Eng Cal Reduced1rtmote
 
Challenges in Large Scale Machine Learning
Challenges in Large Scale  Machine LearningChallenges in Large Scale  Machine Learning
Challenges in Large Scale Machine LearningSudarsun Santhiappan
 

Similar to Extension and Implementation of ClassSheet Models (20)

Model-Driven Spreadsheet Development
Model-Driven Spreadsheet DevelopmentModel-Driven Spreadsheet Development
Model-Driven Spreadsheet Development
 
Spreadsheet Engineering
Spreadsheet EngineeringSpreadsheet Engineering
Spreadsheet Engineering
 
Summer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet EngineeringSummer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet Engineering
 
Model-driven Spreadsheets
Model-driven SpreadsheetsModel-driven Spreadsheets
Model-driven Spreadsheets
 
Talk at VL/HCC '11
Talk at VL/HCC '11Talk at VL/HCC '11
Talk at VL/HCC '11
 
Résumé of Omar
Résumé of OmarRésumé of Omar
Résumé of Omar
 
MDSheet - Model driven spreadsheets - Jacome Cunha at Sems 2014
MDSheet - Model driven spreadsheets - Jacome Cunha at Sems 2014MDSheet - Model driven spreadsheets - Jacome Cunha at Sems 2014
MDSheet - Model driven spreadsheets - Jacome Cunha at Sems 2014
 
Serafin Gonzalez Motos - Curriculum Vitae
Serafin Gonzalez Motos - Curriculum VitaeSerafin Gonzalez Motos - Curriculum Vitae
Serafin Gonzalez Motos - Curriculum Vitae
 
Lecture 1 introduction to data warehouse
Lecture 1 introduction to data warehouseLecture 1 introduction to data warehouse
Lecture 1 introduction to data warehouse
 
OA centre of excellence
OA centre of excellenceOA centre of excellence
OA centre of excellence
 
2016-11-14_Resume Gambassi_Digital
2016-11-14_Resume Gambassi_Digital2016-11-14_Resume Gambassi_Digital
2016-11-14_Resume Gambassi_Digital
 
Stefan Geissler kairntech - SDC Nice Apr 2019
Stefan Geissler kairntech - SDC Nice Apr 2019 Stefan Geissler kairntech - SDC Nice Apr 2019
Stefan Geissler kairntech - SDC Nice Apr 2019
 
Suresh Yenamareddy Resume
Suresh Yenamareddy ResumeSuresh Yenamareddy Resume
Suresh Yenamareddy Resume
 
Introduction to Data Science - Week 4 - Tools and Technologies in Data Science
Introduction to Data Science - Week 4 - Tools and Technologies in Data ScienceIntroduction to Data Science - Week 4 - Tools and Technologies in Data Science
Introduction to Data Science - Week 4 - Tools and Technologies in Data Science
 
Data Science Course.pdf
Data Science Course.pdfData Science Course.pdf
Data Science Course.pdf
 
Swathi_Sundaramanan_CV_
Swathi_Sundaramanan_CV_Swathi_Sundaramanan_CV_
Swathi_Sundaramanan_CV_
 
Synopsis Attendance ERP
Synopsis Attendance ERPSynopsis Attendance ERP
Synopsis Attendance ERP
 
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...
 
Eng Cal Reduced1
Eng Cal Reduced1Eng Cal Reduced1
Eng Cal Reduced1
 
Challenges in Large Scale Machine Learning
Challenges in Large Scale  Machine LearningChallenges in Large Scale  Machine Learning
Challenges in Large Scale Machine Learning
 

More from Jácome Cunha

Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming LanguagesEnergy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming LanguagesJácome Cunha
 
Explaining Spreadsheets with Spreadsheets
Explaining Spreadsheets with SpreadsheetsExplaining Spreadsheets with Spreadsheets
Explaining Spreadsheets with SpreadsheetsJácome Cunha
 
Automatically Inferring ClassSheet Models from Spreadsheets
Automatically Inferring ClassSheet Models from SpreadsheetsAutomatically Inferring ClassSheet Models from Spreadsheets
Automatically Inferring ClassSheet Models from SpreadsheetsJácome Cunha
 
On Understanding Data Scientists
On Understanding  Data ScientistsOn Understanding  Data Scientists
On Understanding Data ScientistsJácome Cunha
 
Systematic Spreadsheet Construction Processes @ VL/HCC 2017
Systematic Spreadsheet Construction Processes @ VL/HCC 2017Systematic Spreadsheet Construction Processes @ VL/HCC 2017
Systematic Spreadsheet Construction Processes @ VL/HCC 2017Jácome Cunha
 
jStanley: Placing a Green Thumb on Java Collections
jStanley: Placing a Green Thumb on  Java CollectionsjStanley: Placing a Green Thumb on  Java Collections
jStanley: Placing a Green Thumb on Java CollectionsJácome Cunha
 
Type-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web ServicesType-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web ServicesJácome Cunha
 

More from Jácome Cunha (11)

Energy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming LanguagesEnergy Efficiency Across 
Programming Languages
Energy Efficiency Across 
Programming Languages
 
LMCC - 30 Anos
LMCC - 30 AnosLMCC - 30 Anos
LMCC - 30 Anos
 
Explaining Spreadsheets with Spreadsheets
Explaining Spreadsheets with SpreadsheetsExplaining Spreadsheets with Spreadsheets
Explaining Spreadsheets with Spreadsheets
 
Automatically Inferring ClassSheet Models from Spreadsheets
Automatically Inferring ClassSheet Models from SpreadsheetsAutomatically Inferring ClassSheet Models from Spreadsheets
Automatically Inferring ClassSheet Models from Spreadsheets
 
On Understanding Data Scientists
On Understanding  Data ScientistsOn Understanding  Data Scientists
On Understanding Data Scientists
 
Systematic Spreadsheet Construction Processes @ VL/HCC 2017
Systematic Spreadsheet Construction Processes @ VL/HCC 2017Systematic Spreadsheet Construction Processes @ VL/HCC 2017
Systematic Spreadsheet Construction Processes @ VL/HCC 2017
 
jStanley: Placing a Green Thumb on Java Collections
jStanley: Placing a Green Thumb on  Java CollectionsjStanley: Placing a Green Thumb on  Java Collections
jStanley: Placing a Green Thumb on Java Collections
 
Type-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web ServicesType-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web Services
 
Talk
TalkTalk
Talk
 
Talk at IS-EUD '11
Talk at IS-EUD '11Talk at IS-EUD '11
Talk at IS-EUD '11
 
Talk at EUSPRIG '11
Talk at EUSPRIG '11Talk at EUSPRIG '11
Talk at EUSPRIG '11
 

Extension and Implementation of ClassSheet Models

  • 1. Extension and Implementation of ClassSheet Models Jácome Cunha1,2, João P. Fernandes1,3, Jorge Mendes1, João Saraiva1 {jacome,jpaulo,jorgemendes,jas}@di.uminho.pt 1 HASLab / INESC TEC & Universidade do Minho 2 Escola de Tecnologia e Gestão - Instituto Politécnico do Porto 3 Universidade da Beira Interior Portugal VL/HCC 2012 September 30 - October 4
  • 3. Why do Spreadsheets Matter? Financial intelligence firm CODA reports that 95% of all U.S. firms use spreadsheets for financial reporting Sarbanes-Oxley: What About all the Spreadsheets?, Raymond R. Panko and Nicholas Ordway, 2008 3
  • 4. Why do Spreadsheets Matter? In 2004, RevenueRecognition.com (now Softtrax) had the International Data Corporation interview 118 business leaders. IDC found that 85% were using spreadsheets in financial reporting and forecasting Sarbanes-Oxley: What About all the Spreadsheets?, Raymond R. Panko and Nicholas Ordway, 2008 4
  • 5. Why do Spreadsheets Matter? 50% of all spreadsheets are the basis for decisions Supporting professional spreadsheet users by generating leveled dataflow diagrams, Felienne Hermans, Martin Pinzger and Arie van Deursen, 2011 5
  • 6. Still... www.eusprig.org/horror-stories.htm 6
  • 8. ClassSheets - Models for Spreadsheets ClassSheets: automatic generation of spreadsheet applications from 8 object-oriented specifications, Gregor Engels, Martin Erwig, ASE'05
  • 11. Limitations of ClassSheets ● Does not allow to specify several constraints ● In fact, the example shown could not be completely characterized by the original version ● We will show how to extend ClassSheets 11
  • 14. 14
  • 15. MDSheet ● Available at http://ssaapp.di.uminho.pt ● Built out of ~7200 LOC: ● ~3700 in Haskell, for the evolution and inference ● ~600 in Basic, for the embedding ● ~2880 in C++, for gluing all components MDSheet: A Framework for Model-driven Spreadsheet Engineering, Jácome 15 Cunha, João P. Fernandes, Jorge Mendes, João Saraiva, ICSE '12
  • 17. Thank You! SSaaPP: http://ssaapp.di.uminho.pt 17