ABSTRACT
Spreadsheets are widely used in all kinds of business applications. Numerous studies have shown that they contain many errors that sometimes have dramatic impacts. One reason for this situation is the low-level, cell-oriented development process of spreadsheets.We improve this process by introducing and formalizing a higher-level object-oriented model termed ClassSheet. While still following the tabular look-and feel of spreadsheets, ClassSheets allow the developer to express explicitly business object structures within a spreadsheet, which is achieved by integrating concepts from the UML (Unified Modeling Language). A stepwise automatic transformation process generates a spreadsheet application that is consistent with the ClassSheet model. Thus, by deploying the formal underpinning of ClassSheets, a large variety of errors can be prevented that occur in many existing spreadsheet applications today.The presented ClassSheet approach links spreadsheet applications to the object-oriented modeling world and advocates an automatic model-driven development process for spreadsheet applications of high quality.
- EUD-Net. http://giove.cnuce.cnr.it/eud-net.htm.Google Scholar
- Sarbanes-Oxley Act. http://news.findlaw.com/hdocs/docs/gwbush/sarbanesoxley072302.pdf.Google Scholar
- UML 2.0 OCL Specification. http://www.uml.org/.Google Scholar
- R. Abraham and M. Erwig. Header and Unit Inference for Spreadsheets Through Spatial Analyses. IEEE Int. Symp. on Visual Languages and Human-Centric Computing, pp. 165--172, 2004. Google ScholarDigital Library
- R. Abraham, M. Erwig, S. Kollmansberger, and E. Seifert. Visual Specifications of Correct Spreadsheets. IEEE Int. Symp. on Visual Languages and Human-Centric Computing, 2005. To appear. Google ScholarDigital Library
- Y. Ahmad, T. Antoniu, S. Goldwater, and S. Krishnamurthi. A Type System for Statically Detecting Spreadsheet Errors. 18th IEEE Int. Conf. on Automated Software Engineering, pp. 174--183, 2003.Google ScholarDigital Library
- T. Antoniu, P. A. Steckler, S. Krishnamurthi, E. Neuwirth, and M. Felleisen. Validating the Unit Correctness of Spreadsheet Programs. 26th IEEE Int. Conf. on Software Engineering, pp. 439--448, 2004. Google ScholarDigital Library
- B. W. Boehm, C. Abts, A. W. Brown, S. Chulani, K. C. Bradford, E. Horowitz, R. Madachy, D. J. Reifer, and B. Steece, editors. Software Cost Estimation with COCOMO II. Prentice-Hall International, Upper Saddle River, NJ, 2000. Google ScholarDigital Library
- M. M. Burnett, C. Cook, J. Summet, G. Rothermel, and C. Wallace. End-User Software Engineering with Assertions. 25th IEEE Int. Conf. on Software Engineering, pp. 93--103, 2003. Google ScholarDigital Library
- G. Engels and L. Groenewegen. Object-Oriented Modeling: A Roadmap. ICSE'00: Conf. on The Future of Software Engineering, pp. 103--116, 2000. Google ScholarDigital Library
- M. Erwig, R. Abraham, I. Cooperstein, and S. Kollmansberger. Automatic Generation and Maintenance of Correct Spreadsheets. 27th IEEE Int. Conf. on Software Engineering, pp. 136--145, 2005. Google ScholarDigital Library
- M. Erwig, R. Abraham, I. Cooperstein, and S. Kollmansberger. Gencel - A Program Generator for Correct Spreadsheets. Journal of Functional Programming, 2005. To appear. Google ScholarDigital Library
- M. Erwig and M. M. Burnett. Adding Apples and Oranges. 4th Int. Symp. on Practical Aspects of Declarative Languages, LNCS 2257, pp. 173--191, 2002. Google ScholarDigital Library
- EUSES. End Users Shaping Effective Software. http://EUSESconsortium.org.Google Scholar
- EuSpRIG. European Spreadsheet Risks Interest Group. http://www.eusprig.org/.Google Scholar
- J. Gil, J. Howse, and S. Kent. Formalising Spider Diagrams. 15th IEEE Symp. on Visual Languages, pp. 130--137, 1999. Google ScholarDigital Library
- A. Kleppe, J. Warmer, and W. Bast. MDA Explained: The Model Driven Architecture Practice and Promise. Addison-Wesley, 2003. Google ScholarDigital Library
- R. Mittermeir and M. Clermont. Finding High-Level Structures in Spreadsheet Programs. 9th Working Conference on Reverse Engineering, pp. 221--232, 2002. Google ScholarDigital Library
- P. O'Beirne. Agile Spreadsheet Development (ASD), 2003. http://www.sysmod.com/agile.htm.Google Scholar
- R. R. Panko. Spreadsheet Errors: What We Know. What We Think We Can Do. Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG), 2000.Google Scholar
- S. G. Powell and K. R. Baker. The Art of Modeling with Spreadsheets: Management Science, Spreadsheet Engineering, and Modeling Craft. Wiley, 2004. Google ScholarDigital Library
- S. Prabhakarao, C. Cook, J. Ruthruff, E. Creswick, M. Main, M. Durham, and M. Burnett. Strategies and Behaviors of End-User Programmers with Interactive Fault Localization. Int. Symp. on Human-Centric Computing Languages and Environments, pp. 203--210, 2003. Google ScholarDigital Library
- G. Rothermel, M. M. Burnett, L. Li, C. DuPuis, and A. Sheretov. A Methodology for Testing Spreadsheets. ACM Transactions on Software Engineering and Methodology, pp. 110--147, 2001. Google ScholarDigital Library
- J. Sajaniemi. Modeling Spreadsheet Audit: A Rigorous Approach to Automatic Visualization. Journal of Visual Languages and Computing, 11:49--82, 2000.Google ScholarDigital Library
Index Terms
- ClassSheets: automatic generation of spreadsheet applications from object-oriented specifications
Recommendations
Automatic generation and maintenance of correct spreadsheets
ICSE '05: Proceedings of the 27th international conference on Software engineeringExisting spreadsheet systems allow users to change cells arbitrarily, which is a major source of spreadsheet errors. We propose a system that prevents errors in spreadsheets by restricting spreadsheet updates to only those that are logically and ...
From relational ClassSheets to UML+OCL
SAC '12: Proceedings of the 27th Annual ACM Symposium on Applied ComputingSpreadsheets are among the most popular programming languages in the world. Unfortunately, spreadsheet systems were not tailored from scratch with modern programming language features that guarantee, as much as possible, program correctness. As a ...
UCheck: A spreadsheet type checker for end users
Spreadsheets are widely used, and studies have shown that most end-user spreadsheets contain non-trivial errors. Most of the currently available tools that try to mitigate this problem require varying levels of user intervention. This paper presents a ...
Comments