SlideShare una empresa de Scribd logo
1 de 28
Model-based
     Spreadsheet Engineering

                  Jácome Cunha
and the other team members of the SSaaPP and FATBIT
                   research projects


   HASLab / INESC TEC & Universidade do Minho


       FATBIT/SSaaPP Workshop 2012
               17-18 September
Why do Spreadsheets Matter?




               95% of all U.S. firms
          90% of all analysts in industry
50% of all spreadsheets are the basis for decisions
                                                 2
Still...




                                                3
http://www.eusprig.org/stories.htm
The Contribution of Models




                             4
ClassSheets - Models in Spreadsheets




ClassSheets: automatic generation of spreadsheet applications from
                                                                      5
object-oriented specifications, Gregor Engels, Martin Erwig, ASE'05
Model-based Spreadsheet Engineering

      I. ClassSheet Model Inference
          [PEPM '09, VL/HCC '10]


II. Embedding ClassSheets in Spreadsheets
           [VL/HCC '11, SAC '12]


 III. Co-evolution of Models and Instances
       [FASE '11, ICMT '12, ICSE '12]
                                             6
I. ClassSheet Model Inference




                                7
I. ClassSheet Model Inference




                   Data mining techniques
                Database normalization theory
Automatically Inferring ClassSheet Models from Spreadsheets, Jácome Cunha,
Martin Erwig, João Saraiva, VL/HCC'10                                        8
Pruning Functional Dependencies

●   Label semantics: usually keys are labeled
    “code” or “id”
●   Label arrangement: we prefer FDs respecting
    the order of columns
●   Antecedent size: small keys are preferable
●   Ratio: small antecedents and big consequents
●   Single value columns: columns always with the
    same value are too intrusive
                                                   9
II. Embedding ClassSheets in Spreadsheets




                                        10
II. Embedding ClassSheets in Spreadsheets




                    Powerful interactive interface
                    Single environment for spreadsheet evolution
                    Model-instance synchronization

                    Syntactic restrictions

 Embedding and Evolution of Spreadsheet Models in Spreadsheet Systems,
 Jácome Cunha, Jorge Mendes, João P. Fernandes, João Saraiva, VL/HCC '11   11
Vertically Expandable Tables




                               12
Horizontally Expandable Tables




                                 13
Relationship Tables




                      14
III. Co-evolution of Models and Instances




                                            15
Model-Driven Spreadsheet Environment
   (Model/ClassSheet Worksheet)




                                       16
Model-Driven Spreadsheet Environment
      (Instance/Data Worksheet)




                                       17
Type-safe Evolution of Spreadsheets, Jácome Cunha, Joost Visser, Tiago
Alves, João Saraiva, FASE'11
                                                                            18
Bidirectional Transformation of Model-Driven Spreadsheets, Jácome Cunha,
João P. Fernandes, Jorge Mendes, Hugo Pacheco, and João Saraiva, ICMT '11
Bidirectional Transformation System




                                      19
Example of a Transformation we Want:
         Add a New Column




                                       20
(Model) Operations on ClassSheets




                                    21
(Data) Operations on Instances




                                 22
Bidirectional Transformation Functions




                                         23
Example: Add a Column and a Class




                                    24
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
                                                                        25
Cunha, João P. Fernandes, Jorge Mendes, João Saraiva, ICSE '12
Conclusions

●   We created a technique to infer ClassSheet
    models from legacy spreadsheets
●   We have embedded 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 co-evolution steps
●   The model and its instances are always
    synchronized                                 26
Conclusions


●   Framework for bidirectional transformations
       ●   When evolving the data a new model is inferred
       ●   When evolving the model the data changes
       ●   The data always conforms to the model

●   Available as a OpenOffice/LibreOffice
    extension

                                                            27
Thank You!

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

          FATBIT:
 http://fatbit.di.uminho.pt




                              28

Más contenido relacionado

Similar a Talk at the Joint SSaaPP/FATBIT 2012 Workshop

24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
SustainablePlaces_ifcOWL_applications_2015-09-17
SustainablePlaces_ifcOWL_applications_2015-09-17SustainablePlaces_ifcOWL_applications_2015-09-17
SustainablePlaces_ifcOWL_applications_2015-09-17
Pieter Pauwels
 
Model-Driven Cloud Data Storage
Model-Driven Cloud Data StorageModel-Driven Cloud Data Storage
Model-Driven Cloud Data Storage
jccastrejon
 

Similar a Talk at the Joint SSaaPP/FATBIT 2012 Workshop (20)

Talk at VL/HCC '11
Talk at VL/HCC '11Talk at VL/HCC '11
Talk at VL/HCC '11
 
Model-Driven Spreadsheet Development
Model-Driven Spreadsheet DevelopmentModel-Driven Spreadsheet Development
Model-Driven Spreadsheet Development
 
Model-driven Spreadsheets
Model-driven SpreadsheetsModel-driven Spreadsheets
Model-driven Spreadsheets
 
Summer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet EngineeringSummer School DSL 2013 - SpreadSheet Engineering
Summer School DSL 2013 - SpreadSheet Engineering
 
Ec2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-finalEc2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-final
 
The Future is Big Graphs: A Community View on Graph Processing Systems
The Future is Big Graphs: A Community View on Graph Processing SystemsThe Future is Big Graphs: A Community View on Graph Processing Systems
The Future is Big Graphs: A Community View on Graph Processing Systems
 
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
 
polystore_NYC_inrae_sysinfo2021-1.pdf
polystore_NYC_inrae_sysinfo2021-1.pdfpolystore_NYC_inrae_sysinfo2021-1.pdf
polystore_NYC_inrae_sysinfo2021-1.pdf
 
Performance Characterization and Optimization of In-Memory Data Analytics on ...
Performance Characterization and Optimization of In-Memory Data Analytics on ...Performance Characterization and Optimization of In-Memory Data Analytics on ...
Performance Characterization and Optimization of In-Memory Data Analytics on ...
 
Scalable machine learning
Scalable machine learningScalable machine learning
Scalable machine learning
 
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
 
Continuous Intelligence: Keeping your AI Application in Production
Continuous Intelligence: Keeping your AI Application in ProductionContinuous Intelligence: Keeping your AI Application in Production
Continuous Intelligence: Keeping your AI Application in Production
 
Spreadsheet Engineering
Spreadsheet EngineeringSpreadsheet Engineering
Spreadsheet Engineering
 
SustainablePlaces_ifcOWL_applications_2015-09-17
SustainablePlaces_ifcOWL_applications_2015-09-17SustainablePlaces_ifcOWL_applications_2015-09-17
SustainablePlaces_ifcOWL_applications_2015-09-17
 
Models2013 tutorial-smart featuremodeling-final
Models2013 tutorial-smart featuremodeling-finalModels2013 tutorial-smart featuremodeling-final
Models2013 tutorial-smart featuremodeling-final
 
Model-Driven Cloud Data Storage
Model-Driven Cloud Data StorageModel-Driven Cloud Data Storage
Model-Driven Cloud Data Storage
 
Towards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle SoftwareTowards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle Software
 
OSLC KM: Elevating the meaning of data and operations within the toolchain
OSLC KM: Elevating the meaning of data and operations within the toolchainOSLC KM: Elevating the meaning of data and operations within the toolchain
OSLC KM: Elevating the meaning of data and operations within the toolchain
 
Towards a new hybrid approach for building documentoriented data wareh
Towards a new hybrid approach for building documentoriented data warehTowards a new hybrid approach for building documentoriented data wareh
Towards a new hybrid approach for building documentoriented data wareh
 
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
 

Más de Jácome Cunha

Type-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web ServicesType-Safe Evolution of 
Web Services
Type-Safe Evolution of 
Web Services
Jácome Cunha
 

Más de 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
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

Talk at the Joint SSaaPP/FATBIT 2012 Workshop

  • 1. Model-based Spreadsheet Engineering Jácome Cunha and the other team members of the SSaaPP and FATBIT research projects HASLab / INESC TEC & Universidade do Minho FATBIT/SSaaPP Workshop 2012 17-18 September
  • 2. Why do Spreadsheets Matter? 95% of all U.S. firms 90% of all analysts in industry 50% of all spreadsheets are the basis for decisions 2
  • 3. Still... 3 http://www.eusprig.org/stories.htm
  • 5. ClassSheets - Models in Spreadsheets ClassSheets: automatic generation of spreadsheet applications from 5 object-oriented specifications, Gregor Engels, Martin Erwig, ASE'05
  • 6. Model-based Spreadsheet Engineering I. ClassSheet Model Inference [PEPM '09, VL/HCC '10] II. Embedding ClassSheets in Spreadsheets [VL/HCC '11, SAC '12] III. Co-evolution of Models and Instances [FASE '11, ICMT '12, ICSE '12] 6
  • 7. I. ClassSheet Model Inference 7
  • 8. I. ClassSheet Model Inference Data mining techniques Database normalization theory Automatically Inferring ClassSheet Models from Spreadsheets, Jácome Cunha, Martin Erwig, João Saraiva, VL/HCC'10 8
  • 9. Pruning Functional Dependencies ● Label semantics: usually keys are labeled “code” or “id” ● Label arrangement: we prefer FDs respecting the order of columns ● Antecedent size: small keys are preferable ● Ratio: small antecedents and big consequents ● Single value columns: columns always with the same value are too intrusive 9
  • 10. II. Embedding ClassSheets in Spreadsheets 10
  • 11. II. Embedding ClassSheets in Spreadsheets Powerful interactive interface Single environment for spreadsheet evolution Model-instance synchronization Syntactic restrictions Embedding and Evolution of Spreadsheet Models in Spreadsheet Systems, Jácome Cunha, Jorge Mendes, João P. Fernandes, João Saraiva, VL/HCC '11 11
  • 15. III. Co-evolution of Models and Instances 15
  • 16. Model-Driven Spreadsheet Environment (Model/ClassSheet Worksheet) 16
  • 17. Model-Driven Spreadsheet Environment (Instance/Data Worksheet) 17
  • 18. Type-safe Evolution of Spreadsheets, Jácome Cunha, Joost Visser, Tiago Alves, João Saraiva, FASE'11 18 Bidirectional Transformation of Model-Driven Spreadsheets, Jácome Cunha, João P. Fernandes, Jorge Mendes, Hugo Pacheco, and João Saraiva, ICMT '11
  • 20. Example of a Transformation we Want: Add a New Column 20
  • 21. (Model) Operations on ClassSheets 21
  • 22. (Data) Operations on Instances 22
  • 24. Example: Add a Column and a Class 24
  • 25. 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 25 Cunha, João P. Fernandes, Jorge Mendes, João Saraiva, ICSE '12
  • 26. Conclusions ● We created a technique to infer ClassSheet models from legacy spreadsheets ● We have embedded 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 co-evolution steps ● The model and its instances are always synchronized 26
  • 27. Conclusions ● Framework for bidirectional transformations ● When evolving the data a new model is inferred ● When evolving the model the data changes ● The data always conforms to the model ● Available as a OpenOffice/LibreOffice extension 27
  • 28. Thank You! SSaaPP: http://ssaapp.di.uminho.pt FATBIT: http://fatbit.di.uminho.pt 28

Notas del editor

  1. This generated spreadsheet guides users in introducing correct data The spreadsheet includes mechanisms that guarantee that the spreadsheet data always conforms to the model after an user update
  2. Baseado em haskell Integrado no OO Clicanca-se em botoes Espetacular Basic