Towards the design and implementation of aspect-oriented programming for spreadsheets

Pedro Maia, Jorge Mendes, Jácome Cunha, Henrique Rebêlo, João Saraiva

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review


A spreadsheet usually starts as a simple and singleuser software artifact, but, as frequent as in other software systems, quickly evolves into a complex system developed by many actors. Often, different users work on different aspects of the same spreadsheet: while a secretary may be only involved in adding plain data to the spreadsheet, an accountant may define new business rules, while an engineer may need to adapt the spreadsheet content so it can be used by other software systems. Unfortunately, spreadsheet systems do not offer modular mechanisms, and as a consequence, some of the previous tasks may be defined by adding intrusive "code" to the spreadsheet. In this paper we go through the design and implementation of an aspect-oriented language for spreadsheets so that users can work on different aspects of a spreadsheet in a modular way. For example, aspects can be defined in order to introduce new business rules to an existing spreadsheet, or to manipulate the spreadsheet data to be ported to another system. Aspects are defined as aspect-oriented program specifications that are dynamically woven into the underlying spreadsheet by an aspect weaver. In this aspect-oriented style of spreadsheet development, different users develop, or reuse, aspects without adding intrusive code to the original spreadsheet. Such code is added/executed by the spreadsheet weaving mechanism proposed in this paper.

Original languageEnglish
Title of host publication2nd Workshop on Software Engineering Methods in Spreadsheets
PublisherCEUR Workshop Proceedings
Number of pages7
Publication statusPublished - 2015
EventInternational Conference on Software Engineering Florence; Italy; 18 May 2015 through - Florence, Italy
Duration: 18 May 2015 → …
Conference number: 37th


ConferenceInternational Conference on Software Engineering Florence; Italy; 18 May 2015 through
Abbreviated title ICSE
Period18/05/15 → …


  • Codes (symbols)
  • Computer software
  • Software engineering
  • Spreadsheets
  • Weaving
  • Aspect-oriented
  • Aspect-oriented programs
  • Business rules
  • Design and implementations
  • Single users
  • Software artifacts
  • Software systems
  • Spreadsheet development


Dive into the research topics of 'Towards the design and implementation of aspect-oriented programming for spreadsheets'. Together they form a unique fingerprint.

Cite this