=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==
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/