<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Spreadsheets are Models Too [Position Statement]</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Richard F. Paige, Dimitrios S. Kolovos and Nicholas Matragkas Dept. of Computer Science University of York</institution>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Spreadsheets are among the most widely used tools in systems engineering, especially for documenting system requirements and tests, and for supporting tasks like impact analysis, traceability management and project planning. We argue for the treatment of spreadsheets as models, in order to support the systems engineering lifecycle, and to provide a suitable migration path for organisations to follow in maturing their use of modelling techniques.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>2. MOTIVATION</title>
      <p>
        There have been a number of contributions made related to
integrating spreadsheets into an engineering process. Much
of this work focuses on using software engineering practices
to improve the quality of spreadsheets. This includes work
on bad smell detection and visualisation in spreadsheets
[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and other analytic approaches that exploit assertions
to identify formula errors [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], or that provide testing
techniques for spreadsheets [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Constructive approaches such
as [
        <xref ref-type="bibr" rid="ref2 ref4">4, 2</xref>
        ] focus on generating high quality spreadsheets using
transformation approaches. None of this research has taken
the perspective of treating spreadsheets as models.
We have hinted at a number of motivations for treating
spreadsheets as models, and for supporting the use of model
management operations (such as model transformations) on
spreadsheets. We brie y summarise key motivations.
      </p>
      <p>Early stages of engineering. MDE operates most e
ciently on well-de ned languages (that do not change
frequently, or at least, not in signi cant ways) and
models with limited uncertainty. In the early stages
of requirements engineering, the concepts of interest
in our models may change frequently; they may be
imprecisely de ned; and the languages that we use to
express these concepts may need to evolve. MDE
techniques 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 de ning bridges between early
stages of systems engineering, and later stages, where
more precise languages are needed.</p>
      <p>Support for legacy models. Industry uses spreadsheets,
and many large organisations have legacy spreadsheets
that can play critical roles, such as in project
conguration and monitoring/measurement, requirements
capture for product lines, etc. Being able to use such
legacy spreadsheets as-is with new engineering
processes, practices and tools makes it easier to change
processes and practices while reducing risk of bad
effects on the bottom line.</p>
      <p>Tabular problems need tabular solutions. Some
modelling problems are inherently tabular in nature, and
bene t from being able to specify data (models) in
columns and rows (with constraints amongst them)
without requiring relational solutions. Speci cation of
control laws, or parameters used to con gure product
lines, simple requirements capture, and test suite
speci cation are all problems that lend themselves to
tabular speci cations, where spreadsheets can conceivably
provide support. Providing MDE support for such
idioms allows engineers who need to use such concepts
to bene t from automated processing support.</p>
      <p>Supporting existing skillsets. Not every organisation
has, or can quickly acquire, expertise in MDE and
model management. Most organisations do have
expertise and skills with spreadsheets. Providing means
for organisations to transition gradually to use of MDE
and model management, and allowing those
organisations to maximise the use of their current skillset, could
reduce the risks associated with adopting MDE.
Catching repeated errors. Substantial research has been
carried out in MDE in terms of automated support for
identifying and repairing repeated errors in modelling
and model management. For example, updating
models or evolving models after changes in a modelling
language are problems for which good automated or
semi-automated solutions exist. These are problems
with spreadsheets as well (e.g., bad smell detection).
By interfacing spreadsheets with MDE, it may be that
spreadsheet users can exploit MDE solutions.</p>
    </sec>
    <sec id="sec-2">
      <title>3. MECHANISMS</title>
      <p>There are several plausible ways to interface spreadsheets
and MDE.</p>
      <p>
        Build injectors which generate models (with
metamodels) from spreadsheets, thus allowing MDE languages
and tools to be applied to spreadsheets indirectly.
Additionally, extractors from models to spreadsheets may
also be needed in order to return results to a form
amenable to processing by spreadsheet tools. In both
the injection and extraction, speci cation blow-up may
be an issue (i.e., encoding or decoding spreadsheets as
or from models may lead to less than optimal
spreadsheet or model sizes or structures).
formations, validation/constraint checking,
transformations, text generation. These would need to be
encoded using any scripting languages provided by a
spreadsheet tool. For example, for Google
Spreadsheets, these operations might be encoded using the
Spreadsheet Service3. However, such encodings would
need to be reimplemented for each spreadsheet tool.
Provide spreadsheet drivers for model management
tools, so that these tools can directly manipulate
spreadsheets like any other form of models. This is the
approach we have taken in Epsilon [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. A driver must be
implemented for each spreadsheet tool - though some
abstraction is possible (speci cally, a spreadsheet
interface is provided that needs to be implemented for
each spreadsheet tool). Arguably, implementing an
interface for querying and changing spreadsheets via an
API is less expensive than implementing model
management operations for each spreadsheet tool.
      </p>
    </sec>
    <sec id="sec-3">
      <title>4. CONCLUSIONS</title>
      <p>Spreadsheets are models: a less constrained and less
expressive form of model than those permitted by full-blown MDE
languages and tools. By treating spreadsheets as models,
we can provide ways to bootstrap the MDE process, to
enable automated and powerful tool support for legacy models,
and a way to maximise use of current skillsets while
personnel are educated in using MDE and model management
techniques. Arguably, MDE and model management tools
should support more model/data representation formats and
techniques like spreadsheets, which allow more exible and
less constrained styles of speci cation and design.</p>
      <p>Provide equivalents of MDE and model management
operations on spreadsheets, e.g., update-in-place
trans3https://developers.google.com/apps-script/
reference/spreadsheet/</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Atlas</given-names>
            <surname>Transformation Language</surname>
          </string-name>
          ,
          <article-title>o cial web-site</article-title>
          . http://www.sciences.univ-nantes.fr/lina/atl/.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Cunha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Fernandes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Ribeiro</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. Saraiva.</surname>
          </string-name>
          <article-title>MDSheet: A framework for model-driven spreadsheet engineering</article-title>
          .
          <source>In Proc. ICSE</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Dimitrios</surname>
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Kolovos</surname>
          </string-name>
          ,
          <string-name>
            <surname>Louis M. Rose</surname>
            , Antonio Garcia Dominguez and
            <given-names>Richard F.</given-names>
          </string-name>
          <string-name>
            <surname>Paige</surname>
          </string-name>
          .
          <source>The Epsilon Book</source>
          .
          <year>2013</year>
          . http://www.eclipse.org/epsilon/doc/book/.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>G.</given-names>
            <surname>Engels</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Erwig</surname>
          </string-name>
          .
          <article-title>Classsheets: automatic generation of spreadsheet applications from object-oriented speci cations</article-title>
          .
          <source>In Proc. ASE'05, ASE '05. ACM</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Francis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Matragkas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R. F.</given-names>
            <surname>Paige</surname>
          </string-name>
          .
          <article-title>Adding spreadsheets to the MDE toolkit</article-title>
          .
          <source>In Proc. MoDELS. LNCS 8107</source>
          , Springer-Verlag,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>F.</given-names>
            <surname>Hermans</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Pinzger</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <surname>A. van Deursen. Detecting</surname>
          </string-name>
          <article-title>and visualizing inter-worksheet smells in spreadsheets</article-title>
          .
          <source>In ICSE</source>
          , pages
          <volume>441</volume>
          {
          <fpage>451</fpage>
          . IEEE,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>G.</given-names>
            <surname>Rothermel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Burnett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Dupuis</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Sheretov</surname>
          </string-name>
          .
          <article-title>A methodology for testing spreadsheets</article-title>
          .
          <source>ACM Trans. Softw</source>
          . Eng. Methodol.,
          <volume>10</volume>
          (
          <issue>1</issue>
          ):
          <volume>110</volume>
          {
          <fpage>147</fpage>
          ,
          <string-name>
            <surname>Jan</surname>
          </string-name>
          .
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J.</given-names>
            <surname>Sajaniemi</surname>
          </string-name>
          .
          <article-title>Modeling spreadsheet audit: A rigorous approach to automatic visualization</article-title>
          .
          <source>Journal of Visual Languages &amp; Computing</source>
          ,
          <volume>11</volume>
          (
          <issue>1</issue>
          ):
          <volume>49</volume>
          {
          <fpage>82</fpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>