Understanding and exploring formal specifications

  • Authors:
  • Jawed Siddiqi;Ian Morrey;Richard Hibberd;Graham Buckberry

  • Affiliations:
  • Computing Research Centre, School of Computing and Management Sciences, Sheffield Hallam University, City Campus, Pond Street, Sheffield S1 1WB, UK E-mail: j.i.siddiqi@shu.ac.uk;Computing Research Centre, School of Computing and Management Sciences, Sheffield Hallam University, City Campus, Pond Street, Sheffield S1 1WB, UK E-mail: j.i.siddiqi@shu.ac.uk;Computing Research Centre, School of Computing and Management Sciences, Sheffield Hallam University, City Campus, Pond Street, Sheffield S1 1WB, UK E-mail: j.i.siddiqi@shu.ac.uk;Computing Research Centre, School of Computing and Management Sciences, Sheffield Hallam University, City Campus, Pond Street, Sheffield S1 1WB, UK E-mail: j.i.siddiqi@shu.ac.uk

  • Venue:
  • Annals of Software Engineering - Special issue on software engineering education
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

Formal methods is seen as a means of applying scientific knowledge to software construction, thereby legitimating the use of mathematics within software engineering. However, the software engineering community faces numerous challenges before an effective transfer of this formal methods technology can take place because of the level of skill, expertise and effort required in their application. It is argued that at present the use of formal notations for system specification is a mature technology offering the greatest leverage. The relative benefits of a declarative approach with a “getting it right the first time” maxim versus an imperative approach coupled with an exploratory trial and error flavour are explored. Detailed characteristics of a teaching and learning environment developed to support the latter approach are provided. Its varied uses in the context of teaching and learning within undergraduate and postgraduate courses in software engineering are discussed. Exemplars from these uses show how users of the environment explore formal specifications to improve their understanding of specification and thereby illustrate the effectiveness of the environment. Implications of our approach on technology transfer and training are briefly explored.