Talk SAC '12 - SE Track

3,612 views
3,626 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,612
On SlideShare
0
From Embeds
0
Number of Embeds
2,880
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Only after a model is done instances are created Has been showing good results in other fields Not only in CS, but in more stable areas like civil engineering This approach is not followed when developing spreadsheets
  • From a ClassSheet an initial spreadsheet is generated
  • 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
  • Baseado em haskell Integrado no OO Clicanca-se em botoes Espetacular Basic
  • Talk SAC '12 - SE Track

    1. 1. From Relational ClassSheets to UML+OCLJá come Cunha, Joã Saraiva o Joã Paulo Fernandes o Universidade do Minho Universidade do Minho & Portugal Universidade do Porto Portugal HASLab Talk, March 21, 2012
    2. 2. From Relational ClassSheets to UML+OCLJá come Cunha, Joã Saraiva o Joã Paulo Fernandes o Universidade do Minho Universidade do Minho & Portugal Universidade do Porto Portugal SAC-SE 2012 March 26-30, Riva del Garda (Trento), Italy
    3. 3. Agenda● Introduction ● ClassSheets● Extending ClassSheets: Relational ClassSheets● Mapping Relational ClassSheets to UML Class Diagrams + OCL● Conclusions and Future Work 3
    4. 4. Introduction 4
    5. 5. Spreadsheets are widely used 5Image taken from http://www.flickr.com/photos/cosmosfan/2414002070/
    6. 6. Spreadsheets contain many errors 6Image taken from http://www.computerrepairmaintenance.com/secrets-to-fixing-computer-problems/
    7. 7. Model-based approach promises good results 7Images taken from http://www.getopt.org/ecimf/contrib/onto/REA/REA-UML.gif and http://www.telecom-lille1.eu/people/Vanwormhoudt/siteEMFOCL/tutoriel/TutorialEMFOCL1.htmand http://weblogs.asp.net/scottgu/archive/2006/07/12/Tip_2F00_Trick_3A00_-Online-Database-Schema-Samples-Library.aspx
    8. 8. ClassSheets – Spreadsheet Models 8
    9. 9. ClassSheets to the Rescue!● Introduced by Engels and Erwig to model the business logic of spreadsheet data● They allow to model spreadsheets using object- oriented concepts 9
    10. 10. Vertically Expandable TablesClassSheet Model Spreadsheet Data 10
    11. 11. Horizontally Expandable Tables 11
    12. 12. Relationship TablesClassSheet ModelSpreadsheet Data 12
    13. 13. How does it Work?Initial empty spreadsheet is generated 13
    14. 14. 14
    15. 15. Limitations● Does not allow to specify several constraints● Specially database-like features● In fact, the example shown could not be completely characterized by the original version● We will show how to extend ClassSheets● Also, tools to further analyzes are missing (for example, test properties)● The mapping to UML Class Diagrams will make available an entire new set of tools 15
    16. 16. Extending ClassSheets: Relational ClassSheets 16
    17. 17. Unique Values 17
    18. 18. Foreign Key 18
    19. 19. Mapping Relational ClassSheets to UML Class Diagrams + OCL 19
    20. 20. Small ExampleClassSheet UML 20
    21. 21. Running Example (ClassSheet) 21
    22. 22. Running Example (UML) 22
    23. 23. Generated OCL Samplecontext Pilots inv pkPilots : Pilots.allInstances-> forAll(a1, a2 | a1 <> a2 implies a1.id <> a2.id)context planeskey : PlanesKey inv fkPlanesKey : Planes.allInstances-> exists(a | a.n-number = planeskey.planes_key) 23
    24. 24. (Part of) The Implementation 24
    25. 25. Conclusions and Future Work 25
    26. 26. Conclusions● We have extended the original ClassSheets with relational features● With the extension we can now specify database-like spreadsheets● UML Class Diagrams + OCL can now be automatically derived from ClassSheets● A more broad specification language and tools are now available 26
    27. 27. Future Work● USE allows to add pre and post-conditions to on operation on UML model● This could be translated to formulas/macros in spreadsheets systems● Map existing UML Class Diagrams models to ClassSheets 27
    28. 28. Thank you! 28

    ×