Automated Software Engineering

, Volume 5, Issue 2, pp 183-210

First online:

Lightweight Formalisation in Support of Requirements Engineering

  • Jane HeskethAffiliated withDepartment of Artificial Intelligence, University of Edinburgh
  • , David RobertsonAffiliated withDepartment of Artificial Intelligence, University of Edinburgh
  • , Norbert FuchsAffiliated withDepartment of Computer Science, University of Zurich
  • , Alan BundyAffiliated withDepartment of Artificial Intelligence, University of Edinburgh

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


Formal design supported by automated reasoning can help keep track of requirements—a particular problem for large, detailed systems. Designers of system specifications are often constrained by codes of practice and must show not only that these have been observed but also demonstrate how that has been achieved. This is especially important in safety-critical systems where sections of the requirements will be regulations or guidelines. Using a “lightweight” approach, where formal proofs are used to support rather than guarantee adherence to requirements, we have developed an interactive system for formalising and managing information in codes of practice from the offshore oil industry. As a design proceeds, relevant requirements are found automatically and checked before being notified to the designer with an accompanying explanation of whether or not they are currently satisfied. Progress in satisfying requirements is monitored automatically and contributing choices are recorded. Such evidence of adherence to guidelines may be useful in checking the validity of the design. It may also provide useful reference material during subsequent system modification by drawing attention to the implications that changes will have on key parts of the codes of practice.

automated reasoning requirements design safety-critical systems software engineering specifications