Lightweight Formalisation in Support of Requirements Engineering
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.
Unable to display preview. Download preview PDF.
- Clocksin, W.F. and Mellish, C.S. 1994. Programming in Prolog (4th edition). Springer Verlag.Google Scholar
- Robertson, D. 1996. Domain Specific Problem Description. Proc. of the 8th International Conference on Software Engineering and Knowledge Engineering.Google Scholar
- Shell, 1992. Emergency Shutdown and Process Trip Systems. Shell Expro Internal Code of Practice.Google Scholar
- Shell, 1993. Fire and Gas Detection and Alarm Systems for Offshore Installations. Shell Expro Internal Code of Practice.Google Scholar
- Offshore Installations: Guidance on Design, Construction and Certification. HMSO, 1993.Google Scholar
- Pfleeger, S.L. and Hatton, L. 1996. How do formal methods affect code quality? to be published in IEEE Computer.Google Scholar
- Robertson, D. 1995. Lightweight specification. Proc. of the ONR/ARPA/AFOSR/ARO/NSF Workshop on Software Architectures, Monterey, California.Google Scholar