i-nth logo

Authors

Gregor Engels & Martin Erwig

Abstract

Spreadsheets are widely used in all kinds of business applications. Numerous studies have shown that they contain many errors that sometimes have dramatic impacts. One reason for this situation is the low-level, cell-oriented development process of spreadsheets.

We improve this process by introducing and formalizing a higher-level object-oriented model termed ClassSheet. While still following the tabular look-and-feel of spreadsheets, ClassSheets allow the developer to express explicitly business object structures within a spreadsheet, which is achieved by integrating concepts from the UML (Unified Modeling Language).

A stepwise automatic transformation process generates a spreadsheet application that is consistent with the ClassSheet model. Thus, by deploying the formal underpinning of ClassSheets, a large variety of errors can be prevented that occur in many existing spreadsheet applications today.

The presented ClassSheet approach links spreadsheet applications to the object-oriented modeling world and advocates an automatic model-driven development process for spreadsheet applications of high quality.

Sample

The ClassSheet approach
The ClassSheet approach

The contributions of this paper and the embedding into a larger context are illustrated in this figure:

  • The ClassSheet spreadsheet model is used as a high-level, object-oriented model at the top of an automatic transformation chain.
  • ClassSheets are automatically transformed into Vitsl templates.
  • The abstract syntax of ClassSheets is extended by introducing typing rules for ensuring a two-dimensional tiling structure to characterize well-formed ClassSheets.
  • The transformation of ClassSheets into Vitsl templates is formalized, which facilitates the reuse of the existing Gencel spreadsheet generator to complete the overall process in the transformation chain.

Publication

2005, 20th IEEE/ACM international Conference on Automated Software Engineering, November, pages 124-133

Full article

ClassSheets: Automatic generation of spreadsheet applications from object-oriented specifications