Supporting agile development by facilitating natural user interaction with executable formal specifications

  • Authors:
  • Timo Nummenmaa;Aleksi Tiensuu;Eleni Berki;Tommi Mikkonen;Jussi Kuittinen;Annakaisa Kultima

  • Affiliations:
  • School of Information Sciences, University of Tampere, Kanslerinrinne, Tampere, Finland;School of Information Sciences, University of Tampere, Kanslerinrinne, Tampere, Finland;School of Information Sciences, University of Tampere, Kanslerinrinne, Tampere, Finland;Department of Software Systems, Tampere University of Technology, Korkeakoulunkatu, Tampere, Finland;Agora Center, University of Jyväskylä, Mattilanniemi 2, FI-40014, Jyväskylä, Finland;School of Information Sciences, University of Tampere, Kanslerinrinne, Tampere, Finland

  • Venue:
  • ACM SIGSOFT Software Engineering Notes
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Agile development benefits from fast feedback from various stakeholders. If implemented in a suitable way, formal methods can enhance the agile development process. With an executable formal specification, it is possible to analyse and simulate the behaviour of the target system before it is being built. However, for the users' and developers' natural participation in the development process, it is necessary to use a real end-user interface and bind it to the execution environment being used in the simulations and animations. This requires, though, that the execution model used to simulate the specification is appropriately changed to facilitate the use of these user interfaces. The authors present a formal and flexible method to facilitate natural user interaction with executable specifications through end-user interfaces. This can be considered as an agile and formal way which provides continuous testable software components through frequently communicated stakeholders' views. The method is based on a modification of the execution of the DisCo system, a software for creating and animating formal specifications. Usage of the method is demonstrated through an exploratory study of a game application.