Raising Formal Methods To The Requirements Level

In contrast with a formal notion of specification, requirements are often considered an informal entity. In a companion paper [SFRKM06], we have proposed a reference model that provides a clear distinction between requirements and specification, a distinction not based on the degree of formality. Using that notion of requirements, this paper shows how requirements as well as specifications can be formalized. The formalization of requirements allows one to “lift” the well-known practices of formal analysis and verification from the specification/implementation level up to the highest level of abstraction in the development of a software product. In particular, we show how a formal validity argument can be constructed, proving that the formal specification satisfies its formal requirements. These ideas are demonstrated in an illustrative example based on a runway incursion prevention system, which was also partially presented in [SFRKM06]. Although our results and methods are of general applicability, we focus especially on the real-time aspects of the example; in order to support real-time formalization and reasoning, we exploit the ArchiTRIO formal language in a UML-like environment.

[1]  Stephen H. Caine,et al.  PDL A tool for software design , 1899 .

[2]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[3]  David Lorge Parnas,et al.  Software Requirements for the A-7E Aircraft. , 1992 .

[4]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[5]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[6]  Sandro Morasca,et al.  Generating test cases for real-time systems from logic specifications , 1995, TOCS.

[7]  L. Mezzalira Real-time systems , 1996, J. Syst. Archit..

[8]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[9]  Constance L. Heitmeyer,et al.  Automated consistency checking of requirements specifications , 1996, TSEM.

[10]  Dino Mandrioli,et al.  Formal Methods for Real-Time Computing , 1996 .

[11]  Shankar Natarajan,et al.  The Formal Semantics of PVS , 1999 .

[12]  Dino Mandrioli,et al.  From formal models to formally based methods: an industrial experience , 1999, TSEM.

[13]  Michael Jackson,et al.  A Reference Model for Requirements and Specifications , 2000, IEEE Softw..

[14]  Axel van Lamsweerde,et al.  Requirements engineering in the year 00: a research perspective , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[15]  Sandro Morasca,et al.  Generation of Execution Sequences for Modular Time Critical Systems , 2000, IEEE Trans. Software Eng..

[16]  Axel van Lamsweerde,et al.  Formal specification: a roadmap , 2000, ICSE '00.

[17]  Tsong Yueh Chen,et al.  Automatic analysis of consistency between requirements and designs , 2001 .

[18]  Angelo Gargantini,et al.  Automated deductive requirements analysis of critical systems , 2001, TSEM.

[19]  Marsha Chechik,et al.  Automatic Analysis of Consistency between Requirements and Designs , 2001, IEEE Trans. Software Eng..

[20]  David F. Green Runway Safety Monitor Algorithm for Runway Incursion Detection and Alerting , 2002 .

[21]  Helen M. Edwards,et al.  Problem frames: analyzing and structuring software development problems , 2002, Softw. Test. Verification Reliab..

[22]  Jon G. Hall,et al.  A reference model for requirements engineering , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[23]  Michael Jackson,et al.  Problem frame semantics for software development , 2005, Software & Systems Modeling.

[24]  Matteo Pradella,et al.  ArchiTRIO: A UML-Compatible Language for Architectural Description and Its Formal Semantics , 2005, FORTE.

[25]  Insup Lee,et al.  Opportunities and Obligations for Physical Computing Systems , 2005, Computer.

[26]  Ron Koymans,et al.  Specifying real-time properties with metric temporal logic , 1990, Real-Time Systems.

[27]  Carlo A. Furia,et al.  Integrating Discrete- and Continuous-Time Metric Temporal Logics Through Sampling , 2006, FORMATS.

[28]  Ian J. Hayes,et al.  Specifying systems that connect to the physical world , 2006 .

[29]  Jon G. Hall,et al.  Problem Oriented Software Engineering: A design-theoretic framework for software engineering , 2007, Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007).

[30]  Dino Mandrioli,et al.  Automated compositional proofs for real-time systems , 2007, Theor. Comput. Sci..