Formal specification: a roadmap

@inproceedings{Lamsweerde2000FormalSA,
  title={Formal specification: a roadmap},
  author={Axel van Lamsweerde},
  booktitle={ICSE '00},
  year={2000}
}
Formal specifications have been a focus of software engineering research for many years and have been applied in a wide variety of settings. Their industrial use is still limited but has been steadily growing. After recalling the essence,role, usage, and pitfalls of formal specification, the paper reviews the main specification paradigms to date and discuss their evaluation criteria. It then provides a brief assessment of the current strengths and weaknesses of today’s formal specification… 

Raising Formal Methods To The Requirements Level

This paper shows how requirements as well as specifications can be formalized, and shows how a formal validity argument can be constructed, proving that the formal specification satisfies its formal requirements.

Formalization of Requirements for Correct Systems

This work introduces formal terms in the requirements coming the formal specification and makes explicit the interactions between them by a glossary, which serves to simplify the activities of validation and verification.

A Formal Specification Automation Method Based on Focus Framework

This work proposed and implemented a formal specification automation process which aims to generate formal specification documents from software engineering models and provides an effective way to combine the CASE tool AutoFocus and the Focus framework.

A four-way framework for validating a specification

A framework which embodies a 4-way validation strategy to develop and measure a specification against requirements from users, the application domain, restrictions in the notation and language and finally the operational system, obtained through appropriate refinement is developed.

Requirements towards a formal specification language for PLCs

This paper aims to briefly overview the particularities of the PLC domain and the state of the art in formal specification, and draws up a sketch of a possible specification method that follows the collected requirements.

On the systematic transformation of requirements to specifications

It is shown how the natural cause-and-effect structures that can be found in non-formal requirements descriptions can be used systematically to arrive at a software specification.

Formal methods in software development: a road less travelled

In this paper some popular formalisms and the advantages of using these during the early phases of the software development life cycle are presented and possible conditions for an increased acceptance of formalisms in software development are discussed.

The ProjectIT-RSL Language Overview

The results achieved in the definition of a requirements specification language, called “ProjectIT-RSL”, and the implementation of a prototype using VisualStudio.NET are described, the first step of a process that will enable the automatic generation of UML models and programming code, based on the MDD approach.

Deriving Formal Specifications from Natural Language Requirements

An enhancement to the RAISE Method is presented, which consists in the RSL-based formalization of some of the heuristics to derive RSL types from the LEL, which is to serve as the basis for a semiautomatic strategy that could be implemented by a tool.
...

References

SHOWING 1-10 OF 136 REFERENCES

Specification techniques for data abstractions

The role of formal specifications both in proofs of program correctness and in programming methodologies leading to programs which are correct by construction, is explained and some criteria are established for evaluating the practical potential of specification techniques.

Introduction to formal specification and Z

Developers are introduced to Z notation, a formal specification methodology that can dramatically improve the way software systems are modeled and implemented, and an informal introduction to logic and set theory.

Domain descriptions

  • M. JacksonP. Zave
  • Computer Science
    [1993] Proceedings of the IEEE International Symposium on Requirements Engineering
  • 1993
It is argued that current formal specification techniques are inadequate in this respect, and therefore cannot offer a satisfactory foundation for automated support of software development.

Description of specification developments

  • J. SouquièresN. Lévy
  • Computer Science
    [1993] Proceedings of the IEEE International Symposium on Requirements Engineering
  • 1993
A framework allowing the expression of both the incremental construction of a specification and the development process behind the construction (decisions and their rationale) is proposed. A data

A specifier's introduction to formal methods

Formal methods used in developing computer systems are defined, and their role is delineated, and certain pragmatic concerns about formal methods and their users, uses, and characteristics are discussed.

Automated consistency checking of requirements specifications

This article describes a formal analysis technique, called consistency checking, for automatic detection of errors, such as type errors, nondeterminism, missing cases, and circular definitions, in requirements specifications expressed in the SCR (Software Cost Reduction) tabular notation.

Specifying Software Requirements for Complex Systems: New Techniques and Their Application

The purpose of the paper is to introduce the A-7 document as a model of a disciplined approach to requirements specification and the document is available to anyone who wishes to see a fully worked-out example of the approach.

Specification-based prototyping for embedded systems

This paper presents an approach to specification-based prototyping which combines the advantages of rigorous formal specifications and rapid systems prototyping and guarantees that the formal specification of the system is always consistent with the observed behavior of the prototype.

A technique for software module specification with examples

This paper presents an approach to writing specifications for parts of software systems sufficiently precise and complete that other pieces of software can be written to interact with the piece specified without additional information.

A requirements modeling language and its logic

...