ClassSheets: Automatic Generation of Spreadsheet Applications from Object-oriented Specifications
Studies have shown that spreadsheets are error-prone. One reason for this situation is the low-level, cell-oriented development process of spreadsheets. This process is improved by using an object-oriented model termed ClassSheet.
Members: Gregor Engels, Markus Luckey, Fabian Christ, Jan-Christopher Bals
Contact person: Gregor Engels
Cooperations: Martin Erwig (Oregon State University)
Description:
Spreadsheets are the most popular programming systems used today. They are particularly popular in the domain of business applications. Estimates say that tens of millions of business people create hundreds of millions of spreadsheets every year [1]. This successful and wide-spread use of spreadsheets is due to several reasons. In addition to the highly intuitive, two-dimensional tabular layout combined with convenient operations for row and column insertions and deletions, it is the fact that all kind of data aggregations, which are ubiquitous in business applications, are directly expressible in spreadsheets.
On the other hand, numerous studies have demonstrated that existing spreadsheets contain errors at an alarmingly high rate [2, 3]. This situation is even more worrying as spreadsheets are often used in critical planning and control systems within highly sensitive business domains, that is, errors in spreadsheets may have a direct and significant economic impact.
Spreadsheet user communities as well as spreadsheet tool vendors have been working for years on improving this situation by developing methodological guidelines, application specific sample spreadsheets (often called templates), as well as numerous plug-ins and add-ons for commercial spreadsheet tools to build, document, visualize, maintain, analyze, and test spreadsheet applications (see, for example, [3] for links to many of these efforts). However, a closer look at all these initiatives reveals that accepted and well-known software engineering principles, which have been successfully applied in large-scale professional software development projects, are in general ignored during the creation of spreadsheets. Surprisingly scientific research results on spreadsheet design can rarely be found at relevant software engineering conferences or in journals. Nearly all mentioned efforts to improve the development of spreadsheets stick to improvements on the basis of the underlying low-level cell-oriented programming model. What is still missing is a thorough development process support for spreadsheet designers and users to bridge the immanently existing semantic gap between concrete problem-domain-specific requirements and their realization in a spreadsheet.
Two prominent research and development trends within software engineering during the last decade have been the meanwhile overall accepted object-oriented approach toward software development [4], as well as a model-driven engineering (MDE) process [5]. The ClassSheets approach is based on these two principles and proposes to lift the development of spreadsheet applications to the level of a spreadsheet model. In particular, ClassSheets introduce means to cluster cells within a spreadsheet according to underlying problem domain related business object structures, which will reduce the semantic distance between a problem domain and a spreadsheet application and will support the spreadsheet designer in detecting erroneous design decisions as early as possible. In pursuing this goal we are always adhering to the well accepted spatial spreadsheet metaphor that has made spreadsheets so popular. Based on this approach, ClassSheets provide an automatic, tool-supported transformation process from spreadsheet models to concrete model-compatible spreadsheet applications.
Thus, the overall objectives of the ClassSheets approach are as follows:
- introduce the concept of a high-level spreadsheet model
- introduce higher-level modeling means which are oriented toward the object-based structure of business applications
- keep the tabular two-dimensional layout of spreadsheet design in order to ensure user acceptance
- embed spreadsheet development into an object-oriented model-driven process
- provide a formalization for the transformation process as a base for its automation
[1] R. R. Panko.
Spreadsheet Errors: What We Know. What We Think We Can Do. Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG), 2000.
[2] S. G. Powell and K. R. Baker.
The Art of Modeling with Spreadsheets: Management Science, Spreadsheet Engineering, and Modeling Craft. Wiley, 2004.
[3] EuSpRIG. European Spreadsheet Risks Interest Group.
[4] G. Engels and L. Groenewegen.
Object-Oriented Modeling: A Roadmap.
ICSE’00: Conf. on The Future of Software Engineering, pp. 103–116, 2000.
[5] A. Kleppe, J. Warmer, and W. Bast.
MDA Explained: The Model Driven Architecture Practice and Promise.
Addison-Wesley, 2003.
Tools: ClassSheet-Editor „Claos“
Relevant Links:
Veröffentlichungen
Zeitschriftenbeiträge (1)
- Markus Luckey, Martin Erwig, Gregor Engels: Systematic Evolution of Model-Based Spreadsheet Applications. In S.-K. Chang, S. Levialdi (eds.): Journal of Visual Languages and Computing, vol. 23, no. 5, pp. 267-286. Academic Press, Inc. (Orlando, FL, USA) (2012)
Rezensierte Konferenzbeiträge (3)
- Chris Chambers, Martin Erwig, Markus Luckey: SheetDiff: A Tool for Identifying Changes in Spreadsheets. In Chr. Hundhausen, E. Pietriga, P. Diaz, M. B. Rosson (eds.): Proceedings of the 26th IEEE Symposium on Visual Languages and Human-Centric Computing 2010 (VL/HCC 2010). IEEE Computer Society (Washington, DC, USA), pp. 85-92 (2010)
- Jan-Christopher Bals, Fabian Christ, Gregor Engels, Martin Erwig: ClassSheets - model-based, object-oriented design of spreadsheet applications. In Proceedings of the TOOLS Europe Conference (TOOLS 2007), Zürich (Swiss). Journal of Object Technology, vol. 6, no. 9, pp. 383-398 (2007)
- Gregor Engels, Martin Erwig: ClassSheets: automatic generation of spreadsheet applications from object-oriented specifications. In Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE 2005), Long Beach, CA (USA). ACM Press (New York, NY, USA), pp. 124-133 (2005)
Bachelorarbeiten (1)
- Markus Luckey: Automatic Propagation of Model Updates in the Spreadsheet Paradigm. Bachelor thesis, University of Paderborn, Oregon State University (2007)