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

  title={Supporting agile development by facilitating natural user interaction with executable formal specifications},
  author={Timo Nummenmaa and Aleksi Tiensuu and Eleni Berki and Tommi Mikkonen and Jussi Kuittinen and Annakaisa Kultima},
  journal={ACM SIGSOFT Softw. Eng. Notes},
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… 

Figures from this paper

Empirical Evaluation of Formal Method for Requirements Specification in Agile Approaches

An empirical evaluation about applicability of a formal method as specification technique, using mathematical logic as a possibility to solve limitations of informal specification pointed out that formal specification assists on making complex requirements clearer and decreasing the time to understand their meanings.

Behaviour Driven Development for Hardware Design

Behavior Driven Development (BDD) can be extended to make it viable for hardware design and a two-fold strategy is presented which allows to specify textual acceptance tests and textual formal properties.

A STEEPLED Analysis of the SPI Manifesto

A STEEPLED [Sociocultural, Technical, Economic, Environmental, Political, Legal, Ethical and Demographic] analysis of the SPI Manifesto is carried out, a multidimensional and multi-faceted analysis tool which assists in identifying the strengths, gaps and impact of the agency.

The sociocultural dimension of the Software Process Improvement Manifesto: Pilot validation by experts

The pilot study with experts provided stronger indications that the sociocultural dimension is considered of high importance by between 62% and 88% of the respondents, who were IT and computing professionals and software practitioners from academia and industry.

Exploring the ERTMS/ETCS full moving block specification: an experience with formal methods

The ERTMS/ETCS level 3 full moving block specifications stemming from different Shift2Rail projects are explored using Uppaal and statistical model checking, ranging from novel rigorously formalised requirements to an operational model formally verified against scenarios with multiple trains on a single railway line.

Survey on test case generation, selection and prioritization for cyber‐physical systems

A survey of approaches for generating, selecting and prioritizing test cases for CPSs illustrates the progress that has been made on these approaches to date, the properties that characterize the approaches and the challenges that remain open in these areas of research.

Métodos Formais como Condutores para Especificação de Requisitos Aplicados em Metodologias Ágeis de Desenvolvimento

As metodologias ageis surgiram a partir da necessidade dasorganizacoes em desenvolver software dentro do prazo e com alta qualidade. Entretanto, metodologias ageis sofrem de falta de formalismo e e

A Study in Formal Specifications With Application to Price Calculations in the Power Market

An introduction to formal specifications is given and the possible usefulness of one for a price calculating program concerning electricity contracts is examined, to show that this approach to program correctness can be useful for, among other things, programs for the financial domain.



Formal Metamodelling and Agile Method Engineering in MetaCASE and CAME Tool Environments

It is demonstrated how IS development methods that are specified in CAME environments can be extended in a manner that they are more agile, dynamic, richer in syntax and semantics and cater for computation, testing and successful process evolution.

On Agility of Formal Specification

This paper describes how the agile software development approach can be applied with formal methods, and backs the discussion on formal method DisCo, which has been intended as a formalization tool for a programmer rather than for a mathematician.

Agile Software Development Quality Assurance

This Premier Reference Source presents the research and instruction used to develop and implement software quickly, in small iteration cycles, and in close cooperation with the customer in an adaptive way.

Formal Versus Agile: Survival of the Fittest

This paper proves that formal methods can survive in an agile world; they are not obsolete and can be integrated into it.

Formal Experimentation for Agile Formal Methods

The methodology needed for conducting formal experiments is presented, related work done in the field of the agile formal methods is reviewed and suggestions on future work in this field of research are suggested.

Formal object-oriented user-interface design

  • A. Hussey
  • Computer Science, Art
    Proceedings 2000 Australian Software Engineering Conference
  • 2000
The extended Object-Z notation supports a design philosophy of abstract specification of functionality prior to development of a concrete user interface design and enable analysis of the usability and safety of interactive systems.

Agile quality or depth of reasoning: applicability versus suitability respecting stakeholders' needs.

This chapter provides a basis for discussion and analysis of the quality characteristics of the Agile Information Systems Development (AISD) process, and exposes concerns regarding the applicability

Critical and Creative Mathematical Thinking with Practical Problem Solving Skills-A New Old Challenge

The suitability and applicability of formal (mathematical) methods for problem solving that targets to the construction of software-based systems has long been a controversial discourse in Software


It is found that videogame development displays experiential processes similar to those used in other products which embody "experiential" development processes, such as frequent milestones and testing, multiple design iterations, multifunctional teams and strong project leadership.

Why are Formal Methods Not Used More Widely

The research presented here addresses the question of why formal methods are not used more widely by industrial practitioners and develops a formal specification for a safety-critical application using several specification notations and assess the results in a comprehensive evaluation framework.