Model-Based Programming Environments for Spreadsheets

Although spreadsheets can be seen as a flexible programming environment, they lack some of the concepts of regular programming languages, such as structured data types. This can lead the user to edit the spreadsheet in a wrong way and perhaps cause corrupt or redundant data. We devised a method for extraction of a relational model from a spreadsheet and the subsequent embedding of the model back into the spreadsheet to create a model-based spreadsheet programming environment. The extraction algorithm is specific for spreadsheets since it considers particularities such as layout and column arrangement. The extracted model is used to generate formulas and visual elements that are then embedded in the spreadsheet helping the user to edit data in a correct way. We present preliminary experimental results from applying our approach to a sample of spreadsheets from the EUSES Spreadsheet Corpus.

[1]  Jim Euchner Design , 2014, Catalysis from A to Z.

[2]  Jácome Cunha,et al.  Extension and implementation of ClassSheet models , 2012, 2012 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[3]  Jácome Cunha,et al.  Model-based spreadsheet engineering , 2011 .

[4]  Juvencio Mendoza Castelán Introduction To Database , 2011 .

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

[6]  Jennifer Widom,et al.  A First Course in Database Systems , 1997 .

[7]  Jácome Cunha,et al.  Towards an evaluation of bidirectional model-driven spreadsheets , 2012, 2012 First International Workshop on User Evaluation for Software Engineering Researchers (USER).

[8]  M. Fisher,et al.  The EUSES spreadsheet corpus: a shared resource for supporting experimentation with spreadsheet dependability mechanisms , 2005, WEUSE@ICSE.

[9]  Catriel Beeri,et al.  A complete axiomatization for functional and multivalued dependencies in database relations , 1977, SIGMOD '77.

[10]  Paul Klint,et al.  Compilation and Memory Management for ASF+SDF , 1999, CC.

[11]  Stephen G. Powell,et al.  The Art of Modeling with Spreadsheets , 2003 .

[12]  Jácome Cunha,et al.  Discovery-based edit assistance for spreadsheets , 2009, 2009 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[13]  Gregg Rothermel,et al.  The EUSES spreadsheet corpus: a shared resource for supporting experimentation with spreadsheet dependability mechanisms , 2005, ACM SIGSOFT Softw. Eng. Notes.

[14]  Rui Abreu,et al.  On the Empirical Evaluation of Fault Localization Techniques for Spreadsheets , 2013, FASE.

[15]  K. Barraclough Eclipse , 2006, BMJ : British Medical Journal.

[16]  Jácome Cunha,et al.  End-Users Productivity in Model-Based Spreadsheets: An Empirical Study , 2011, IS-EUD.

[17]  Simon L. Peyton Jones Haskell 98 Libraries: Bibliography , 2003, J. Funct. Program..

[18]  Jácome Cunha,et al.  Automatically Inferring ClassSheet Models from Spreadsheets , 2010, 2010 IEEE Symposium on Visual Languages and Human-Centric Computing.

[19]  Martin Erwig,et al.  Header and Unit Inference for Spreadsheets Through Spatial Analyses , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[20]  Mary Shaw,et al.  Estimating the numbers of end users and end user programmers , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[21]  David Maier,et al.  The Theory of Relational Databases , 1983 .

[22]  Xavier Rival,et al.  An Abstract Domain to Infer Types over Zones in Spreadsheets , 2012, SAS.

[23]  Jácome Cunha,et al.  Bidirectional Transformation of Model-Driven Spreadsheets , 2012, ICMT@TOOLS.

[24]  Adam A. Porter,et al.  Empirical studies of software engineering: a roadmap , 2000, ICSE '00.

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

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

[27]  Martin Erwig,et al.  Reasoning about spreadsheets with labels and dimensions , 2010, J. Vis. Lang. Comput..

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

[29]  Stéphane Bressan,et al.  Introduction to Database Systems , 2005 .

[30]  Jordi Cabot,et al.  Theory and Practice of Model Transformations , 2011, Lecture Notes in Computer Science.

[31]  João Saraiva,et al.  Lrc - A Generator for Incremental Language-Oriented Tools , 1998, International Conference on Compiler Construction.

[32]  Jácome Cunha,et al.  From spreadsheets to relational databases and back , 2009, PEPM '09.

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

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

[35]  Jácome Cunha,et al.  Model-based programming environments for spreadsheets , 2014, Sci. Comput. Program..

[36]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[37]  E. F. CODD,et al.  A relational model of data for large shared data banks , 1970, CACM.

[38]  Arie van Deursen,et al.  Detecting and visualizing inter-worksheet smells in spreadsheets , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[39]  F. E. A Relational Model of Data Large Shared Data Banks , 2000 .

[40]  Jõao Saraiva Design , Implementation and Animation of Spreadsheets in the Lrc System , 2004 .

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

[42]  Thomas W. Reps,et al.  The synthesizer generator , 1984, SDE 1.

[43]  Connolly,et al.  Database Systems , 2004 .

[44]  Jácome Cunha,et al.  MDSheet: A framework for model-driven spreadsheet engineering , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[45]  Reda Alhajj Extracting the extended entity-relationship model from a legacy relational database , 2003, Inf. Syst..

[46]  João Saraiva,et al.  Generating Spreadsheet-Like Tools from Strong Attribute Grammars , 2003, GPCE.

[47]  Jácome Cunha,et al.  Type-Safe Evolution of Spreadsheets , 2011, FASE.