=Paper= {{Paper |id=Vol-1209/paper4 |storemode=property |title=Spreadsheets are Models Too |pdfUrl=https://ceur-ws.org/Vol-1209/paper_4.pdf |volume=Vol-1209 }} ==Spreadsheets are Models Too== https://ceur-ws.org/Vol-1209/paper_4.pdf
          Spreadsheets are Models Too [Position Statement]

                      Richard F. Paige, Dimitrios S. Kolovos and Nicholas Matragkas
                                                 Dept. of Computer Science
                                                   University of York, UK
                     [richard.paige, dimitris.kolovos, nicholas.matragkas]@york.ac.uk



ABSTRACT                                                         biguous and need to be described in unconstrained natural
Spreadsheets are among the most widely used tools in sys-        language: using a domain-specific language may place too
tems engineering, especially for documenting system require-     many constraints (both conceptual or structural) on speci-
ments and tests, and for supporting tasks like impact anal-      fication. As well, requirements often emerge from previous
ysis, traceability management and project planning. We ar-       developments, and these requirements may have been speci-
gue for the treatment of spreadsheets as models, in order to     fied in non-MDE languages. Combine this with the gradual
support the systems engineering lifecycle, and to provide a      increase in MDE skills, there is substantial benefit to be
suitable migration path for organisations to follow in matur-    able to interface MDE languages and tools with non-MDE
ing their use of modelling techniques.                           languages and tools.

1.     INTRODUCTION                                              In this position paper, we argue for interfacing spreadsheets
                                                                 with MDE languages and tools. We provide motivation for
In Model-Driven Engineering (MDE) approaches to systems
                                                                 doing this, and briefly touch on some the important technical
engineering, many different languages are used (e.g., UML,
                                                                 challenges of, and alternatives for doing so.
SysML, domain-specific languages). Usually such languages
are designed and implemented by MDE specialists, who use
metamodelling infrastructure (e.g., EMF/Ecore1 ) to define       2.    MOTIVATION
the abstract syntax of such languages, and thereafter exploit    There have been a number of contributions made related to
the infrastructure for the purposes of automation – for ex-      integrating spreadsheets into an engineering process. Much
ample, generating code or text, version control, validation,     of this work focuses on using software engineering practices
etc. Once languages with metamodels have been provided,          to improve the quality of spreadsheets. This includes work
automated model management tools and techniques can be           on bad smell detection and visualisation in spreadsheets
used for systematically manipulating and modifying models        [6], and other analytic approaches that exploit assertions
across the engineering lifecycle. In particular, tools such as   to identify formula errors [8], or that provide testing tech-
Obeo Designer2 , Epsilon [3], or ATL [1] can be applied to       niques for spreadsheets [7]. Constructive approaches such
support different engineering tasks.                             as [4, 2] focus on generating high quality spreadsheets using
                                                                 transformation approaches. None of this research has taken
Systems engineering is expensive and complex, often in-          the perspective of treating spreadsheets as models.
volves multiple engineering disciplines (e.g., in avionics or
aerospace, it can involve software, mechanical, materials and    We have hinted at a number of motivations for treating
power engineering), and substantial communications over-         spreadsheets as models, and for supporting the use of model
head between skilled personnel with different vocabularies,      management operations (such as model transformations) on
practices and tools. Arguably, MDE as it is currently prac-      spreadsheets. We briefly summarise key motivations.
ticed (and supported by tools) is insufficient for supporting
the full systems engineering lifecycle. In particular, it can
                                                                      • Early stages of engineering. MDE operates most effi-
very easily fall short in the early stages, when requirements
                                                                        ciently on well-defined languages (that do not change
are still being elicited. Often, early requirements are am-
                                                                        frequently, or at least, not in significant ways) and
1
    http://www.eclipse.org/emf                                          models with limited uncertainty. In the early stages
2
    http://www.obeodesigner.com/download                                of requirements engineering, the concepts of interest
                                                                        in our models may change frequently; they may be
                                                                        imprecisely defined; and the languages that we use to
                                                                        express these concepts may need to evolve. MDE tech-
                                                                        niques may not be the most useful or appropriate in
                                                                        early stages. Natural language with some restrictions
                                                                        is widely used for early requirements engineering, as
                                                                        are tables of natural language requirements. These
                                                                        can easily be expressed using spreadsheets, which also
                                                                        enable traceability and (in later stages) requirements
                                                                        coverage analysis. Being able to treat spreadsheets
       as models thus enables defining bridges between early               formations, validation/constraint checking, transfor-
       stages of systems engineering, and later stages, where              mations, text generation. These would need to be
       more precise languages are needed.                                  encoded using any scripting languages provided by a
                                                                           spreadsheet tool. For example, for Google Spread-
     • Support for legacy models. Industry uses spreadsheets,              sheets, these operations might be encoded using the
       and many large organisations have legacy spreadsheets               Spreadsheet Service3 . However, such encodings would
       that can play critical roles, such as in project con-               need to be reimplemented for each spreadsheet tool.
       figuration and monitoring/measurement, requirements
       capture for product lines, etc. Being able to use such            • Provide spreadsheet drivers for model management to-
       legacy spreadsheets as-is with new engineering pro-                 ols, so that these tools can directly manipulate spread-
       cesses, practices and tools makes it easier to change               sheets like any other form of models. This is the ap-
       processes and practices while reducing risk of bad ef-              proach we have taken in Epsilon [5]. A driver must be
       fects on the bottom line.                                           implemented for each spreadsheet tool - though some
                                                                           abstraction is possible (specifically, a spreadsheet in-
     • Tabular problems need tabular solutions. Some mod-                  terface is provided that needs to be implemented for
       elling problems are inherently tabular in nature, and               each spreadsheet tool). Arguably, implementing an in-
       benefit from being able to specify data (models) in                 terface for querying and changing spreadsheets via an
       columns and rows (with constraints amongst them)                    API is less expensive than implementing model man-
       without requiring relational solutions. Specification of            agement operations for each spreadsheet tool.
       control laws, or parameters used to configure product
       lines, simple requirements capture, and test suite spec-
       ification are all problems that lend themselves to tabu-     4.    CONCLUSIONS
       lar specifications, where spreadsheets can conceivably       Spreadsheets are models: a less constrained and less expres-
       provide support. Providing MDE support for such id-          sive form of model than those permitted by full-blown MDE
       ioms allows engineers who need to use such concepts          languages and tools. By treating spreadsheets as models,
       to benefit from automated processing support.                we can provide ways to bootstrap the MDE process, to en-
                                                                    able automated and powerful tool support for legacy models,
     • Supporting existing skillsets. Not every organisation        and a way to maximise use of current skillsets while per-
       has, or can quickly acquire, expertise in MDE and            sonnel are educated in using MDE and model management
       model management. Most organisations do have ex-             techniques. Arguably, MDE and model management tools
       pertise and skills with spreadsheets. Providing means        should support more model/data representation formats and
       for organisations to transition gradually to use of MDE      techniques like spreadsheets, which allow more flexible and
       and model management, and allowing those organisa-           less constrained styles of specification and design.
       tions to maximise the use of their current skillset, could
       reduce the risks associated with adopting MDE.               5.    REFERENCES
                                                                    [1] Atlas Transformation Language, official web-site.
     • Catching repeated errors. Substantial research has been
                                                                        http://www.sciences.univ-nantes.fr/lina/atl/.
       carried out in MDE in terms of automated support for
       identifying and repairing repeated errors in modelling       [2] J. Cunha, J. P. Fernandes, H. Ribeiro, and J. Saraiva.
       and model management. For example, updating mod-                 MDSheet: A framework for model-driven spreadsheet
       els or evolving models after changes in a modelling              engineering. In Proc. ICSE, 2012.
       language are problems for which good automated or            [3] Dimitrios S. Kolovos, Louis M. Rose, Antonio Garcia
       semi-automated solutions exist. These are problems               Dominguez and Richard F. Paige. The Epsilon Book.
       with spreadsheets as well (e.g., bad smell detection).           2013. http://www.eclipse.org/epsilon/doc/book/.
       By interfacing spreadsheets with MDE, it may be that         [4] G. Engels and M. Erwig. Classsheets: automatic
       spreadsheet users can exploit MDE solutions.                     generation of spreadsheet applications from
                                                                        object-oriented specifications. In Proc. ASE’05, ASE
                                                                        ’05. ACM, 2005.
3.     MECHANISMS
There are several plausible ways to interface spreadsheets          [5] M. Francis, D. S. Kolovos, N. Matragkas, and R. F.
and MDE.                                                                Paige. Adding spreadsheets to the MDE toolkit. In
                                                                        Proc. MoDELS. LNCS 8107, Springer-Verlag, 2013.
                                                                    [6] F. Hermans, M. Pinzger, and A. van Deursen.
     • Build injectors which generate models (with metamod-             Detecting and visualizing inter-worksheet smells in
       els) from spreadsheets, thus allowing MDE languages              spreadsheets. In ICSE, pages 441–451. IEEE, 2012.
       and tools to be applied to spreadsheets indirectly. Ad-      [7] G. Rothermel, M. Burnett, L. Li, C. Dupuis, and
       ditionally, extractors from models to spreadsheets may           A. Sheretov. A methodology for testing spreadsheets.
       also be needed in order to return results to a form              ACM Trans. Softw. Eng. Methodol., 10(1):110–147,
       amenable to processing by spreadsheet tools. In both             Jan. 2001.
       the injection and extraction, specification blow-up may      [8] J. Sajaniemi. Modeling spreadsheet audit: A rigorous
       be an issue (i.e., encoding or decoding spreadsheets as          approach to automatic visualization. Journal of Visual
       or from models may lead to less than optimal spread-             Languages & Computing, 11(1):49 – 82, 2000.
       sheet or model sizes or structures).
     • Provide equivalents of MDE and model management              3
                                                                      https://developers.google.com/apps-script/
       operations on spreadsheets, e.g., update-in-place trans-     reference/spreadsheet/