Systematic evolution of model-based spreadsheet applications

Using spreadsheets is the preferred method to calculate, display or store anything that fits into a table-like structure. They are often used by end users to create applications, although they have one critical drawback-spreadsheets are very error-prone. Recent research has developed methods to reduce this error-proneness by introducing a new way of object-oriented modeling of spreadsheets before using them. These spreadsheet models, termed ClassSheets, are used to generate concrete spreadsheets on the instance level. By this approach sources of errors are reduced and spreadsheet applications become easier to understand. As usual for almost every other application, requirements on spreadsheets change due to the changing environment. Thus, the problem of evolution of spreadsheets arises. The update and evolution of spreadsheets is the uttermost source of errors that may have severe impact. In this paper, we will introduce a model-based approach to spreadsheet evolution by propagating updates on spreadsheet models (i.e. ClassSheets) to spreadsheets. To this end, update commands for the ClassSheet layer are automatically transformed to those for the spreadsheet layer. We describe spreadsheet model update propagation using a formal framework and present an integrated tool suite that allows the easy creation and safe update of spreadsheet models. The presented approach greatly contributes to the problem of software evolution and maintenance for spreadsheets and thus avoids many errors that might have severe impacts.

[1]  Lidia Fuentes-Fernández,et al.  An Introduction to UML Profiles , 2004 .

[2]  Martin Erwig,et al.  GoalDebug: A Spreadsheet Debugger for End Users , 2007, 29th International Conference on Software Engineering (ICSE'07).

[3]  Shriram Krishnamurthi,et al.  A type system for statically detecting spreadsheet errors , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[4]  M. Hirsch,et al.  The Fujaba real-time tool suites: model-driven development of safety-critical, real-time systems , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[5]  Gregor Engels,et al.  ClassSheets: automatic generation of spreadsheet applications from object-oriented specifications , 2005, ASE '05.

[6]  Lyman P.Q. Johnson,et al.  The Sarbanes-Oxley Act and Fiduciary Duties , 2004 .

[7]  Martin Erwig,et al.  Type inference for spreadsheets , 2006, PPDP '06.

[8]  Robert B. France,et al.  Model-driven development using UML 2.0: promises and pitfalls , 2006, Computer.

[9]  Ulrich Nickel,et al.  The FUJABA environment , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[10]  Bran Selic,et al.  An Introduction to UML Profiles , 2014 .

[11]  Raymond R. Panko,et al.  Spreadsheet Errors: What We Know. What We Think We Can Do , 2008, ArXiv.

[12]  Jorma Sajaniemi Modeling Spreadsheet Audit: A Rigorous Approach to Automatic Visualization , 2000, J. Vis. Lang. Comput..

[13]  Michael Kohlhase,et al.  Compensating the Computational Bias of Spreadsheets with MKM Techniques , 2009, Calculemus/MKM.

[14]  Michael Kohlhase,et al.  Spreadsheet Interaction with Frames: Exploring a Mathematical Practice , 2009, Calculemus/MKM.

[15]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[16]  Martin Erwig,et al.  Inferring templates from spreadsheets , 2006, ICSE '06.

[17]  ChenPeter Pin-Shan The entity-relationship modeltoward a unified view of data , 1976 .

[18]  Nora Koch,et al.  Model-Driven Generation of Web Applications in UWE , 2007, MDWE.

[19]  Gregor Engels,et al.  ClassSheets - model-based, object-oriented design of spreadsheet applications , 2007, J. Object Technol..

[20]  Margaret M. Burnett,et al.  Adding Apples and Oranges , 2002, PADL.

[21]  Henry C. Lucas,et al.  Toward a logical/physical theory of spreadsheet modeling , 1992, TOIS.

[22]  Barry W. Boehm,et al.  Software Defect Reduction Top 10 List , 2001, Computer.

[23]  Tobias Rötschke,et al.  Metamodel-based tool integration with moflon , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[24]  Jean Bézivin,et al.  First experiments with the ATL model transformation language: Transforming XSLT into XQuery , 2003 .

[25]  Nora Koch,et al.  Transformation techniques in the model-driven development process of UWE , 2006, ICWE '06.

[26]  Anders Henriksson,et al.  A Definition of Round-trip Engineering , 2003 .

[27]  Martin Erwig,et al.  UCheck: A spreadsheet type checker for end users , 2007, J. Vis. Lang. Comput..

[28]  Barry Boehm,et al.  Top 10 list [software development] , 2001 .

[29]  Martin Erwig,et al.  Automatic generation and maintenance of correct spreadsheets , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[30]  Luis Olsina,et al.  Workshop proceedings of the sixth international conference on Web engineering , 2006 .

[31]  Brian Knight,et al.  Quality control in spreadsheets: a software engineering-based approach to spreadsheet development , 2000, Proceedings of the 33rd Annual Hawaii International Conference on System Sciences.

[32]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[33]  Holger Giese,et al.  The fujaba real-time tool suite: model-driven development of safety-critical, real-time systems , 2005, ICSE.

[34]  Martin Erwig,et al.  Gencel: a program generator for correct spreadsheets , 2006, J. Funct. Program..

[35]  Raymond R. Panko,et al.  Applying Code Inspection to Spreadsheet Testing , 1999, J. Manag. Inf. Syst..

[36]  Bernhard Schätz,et al.  Model-Based Development of Embedded Systems , 2002, OOIS Workshops.

[37]  Gregg Rothermel,et al.  A methodology for testing spreadsheets , 2001, TSEM.

[38]  Colin Atkinson,et al.  Model-Driven Development: A Metamodeling Foundation , 2003, IEEE Softw..

[39]  John D. Poole Model-Driven Architecture: Vision, Standards And Emerging Technologies , 2001 .

[40]  Alan G. Yoder,et al.  Real spreadsheets for real programmers , 1994, Proceedings of 1994 IEEE International Conference on Computer Languages (ICCL'94).

[41]  Roland Mittermeir,et al.  Finding high-level structures in spreadsheet programs , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[42]  Matthias Felleisen,et al.  Validating the unit correctness of spreadsheet programs , 2004, Proceedings. 26th International Conference on Software Engineering.

[43]  Antonio Vallecillo,et al.  A UML 2.0 profile for WebML modeling , 2006, ICWE '06.

[44]  Version,et al.  Model-Driven Architecture and Integration Opportunities and Challenges , 2001 .