Skip to main content

Towards quality requirements via animated formal specifications

  • Published:
Annals of Software Engineering

Abstract

Assuring a high quality requirements specification document involves both an early validation process and an increased level of participation. An approach and its supporting environment which combines the benefits of a formal system specification and its subsequent execution via a rapid prototype is reported. The environment assists in the construction, clarification, validation and visualisation of a formal specification. An illustrative case study demonstrates the consequences of assertions about system properties at this early stage of software development. Our approach involves the pragmatic combination of technical benefits of formal systems engineering based techniques with the context‐sensitive notions of increased participation of both developer and user stakeholders to move us closer towards a quality requirements specification document.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Antoy, S., P. Forcheri and M. Zelkowitz (1990), “Rapid Prototyping of System Enhancements,” In Proc. System Integration, New Jersey, IEEE Computer Society Press, pp. 330–336.

    Google Scholar 

  • Archer, P. (1996), “Object Oriented Rapid Protyping of Z Specifications Using CLOS,” MSc Dissertation, School of Computing and Management Sciences, Sheffield Hallam University, UK.

    Google Scholar 

  • Balzer, R.M. (1985), “A 15 Year Perspective on Automatic Programming,” IEEE Transactions on Software Engineering 11,11, 1257–1268.

    Article  Google Scholar 

  • Belkhouche, B. and J.E. Urban (1986), “Direct Implementation of Abstract Data Types from Abstract Specifications,” IEEE Transactions on Software Engineering 12,5, 649–661.

    Google Scholar 

  • Bergstra, J.A., J. Heering and P. Klint (1989), In Algebraic Specification, ACM Press.

  • Berzins, V., Luqi and A. Yehudai (1993), “Using Transformations in Specification-based Prototyping,” IEEE Transactions on Software Engineering 19,5, 437–452.

    Article  Google Scholar 

  • Bidoit, M. and C. Choppy (1985), “Asspegique: An Integrated Environment for Algebraic Specifications,” In Proc. TAPSOFT Conf., pp. 246–260.

  • Breuer, P.T. and J.P. Bowen (1994), “Towards Correct Executable Semantics for Z,” In Z User Workshop, Cambridge, J.P. Bowen and J.A. Hall, Eds., Workshops in Computing, Springer-Verlag, pp. 185–209.

  • Davis, A.M. (1992a), Software Requirements: Analysis & Specification, Prentice-Hall.

  • Davis, A.M. (1992b), “Operational Prototyping: A New Development Approach,” IEEE Software, September, 70–78.

  • Dawes, J. (1991), The VDM-SL Reference Guide, Pitman.

  • Dick, A.J.J., P.J. Krause and J. Cozens (1990), “Computer Aided Transformation of Z Into Prolog,” In Z User Workshop, Oxford, 1989, J.E. Nicholls, Ed., Workshops in Computing, Springer-Verlag, pp. 71–85.

  • Dix, A.J. (1991), Formal Methods for Interactive Systems, Academic Press.

  • Dobson, J.E. and J.A. McDermid (1990), An Investigation into Modelling and Categorisation of Non-Functional Requirements (for the Specification of Surface Naval Command Systems), University of York, YCS, 141.

  • Doma, V. and R. Nicholl (1991), “EZ: A System for Automatic Prototyping of Z Specifications,” In VDM'91: Formal Software Development Methods, S. Prehn and W.J. Toetenel, Eds., Lecture Notes in Computer Science, Springer-Verlag, Vol. 551, pp. 189–203.

  • Duke, D.J., P.J. Barnard, D.A. Duce and J. May (1995), “Syndetic Modelling,” Amodeus Project Document, Integration and Design: ID/WP49, University of York.

  • Duke, R., P. King, G. Rose and G. Smith (1991), “The Object-Z Specification Language,” University of Queensland, Australia.

    Google Scholar 

  • Elmstrøm, R., P.G. Larsen and P.B. Lassen (1994), “The IFAD VDM-SL Toolbox: A Practical Approach to Formal Specification,” ACM SIGPLAN 29,9, 77–81.

    Article  Google Scholar 

  • Fuchs, N.E. (1992), “Specifications Are (Preferably) Executable,” Software Engineering Journal.

  • Goguen, J. and J. Meseguer (1982), “Rapid Prototyping in the OBJ Specification Language,” ACM SIGSOFT, Software Engineering Notes 7,5, 75–84.

    Article  Google Scholar 

  • Goodman, H.S. (1993), “Animating Z Specifications in Haskell Using a Monad, Technical Report,” University of Birmingham, England.

    Google Scholar 

  • Goguen, J.A. (1996), “Formality and Informality in Requirements Engineering,” Keynote presentation at International Conference on Requirements Engineering, IEEE Software 13,2, 52–64.

    Article  Google Scholar 

  • Harrison, M.D., A.E. Blandford and P.J. Barnard (1994), “The Requirements Engineering of User Freedom,” In The Design, Specification and Verification of Interactive Systems, Eurographics 94, F. Paterno, Ed., Springer-Verlag, pp. 181–194.

  • Hekmatpour, S. (1988), Lisp and Symbol Manipulation, Open University.

  • Hekmatpour, S. and D. Ince (1988), Software Prototyping, Formal Methods and VDM, Addison-Wesley.

  • Henderson, P. and C. Minkowitz (1985), “The mee too Method of Software Design,” FPN-10, University of Stirling, Department of Computing Science.

  • Henderson, P. (1986), “Functional Programming, Formal Specification & Rapid Prototyping,” IEEE Transactions on Software Engineering 12,2, 241–250.

    Google Scholar 

  • Jalote, P. (1987), “Synthesising Implementations of Abstract Data Types From Axiomatic Specifications,” Software Practice and Experience 17,11, 847–858.

    Article  MATH  Google Scholar 

  • Johnson, M. and P. Sanders (1990), “From Z Specifications to Functional Implementations,” In Z User Workshop, Oxford 1989, J.E. Nicholls, Ed., Workshops in Computing, Springer-Verlag, pp. 86–112.

  • Knott, R.D. and P.J. Krause (1992), “The Implementation of Z Specifications Using Program Transformation Systems: the SuZan Project,” In The Unified Computation Laboratory, C. Rattray, R.G. Clark, Eds., Vol. 35 of IMA Conference Series, Oxford University Press, pp. 207–220.

  • Kowalski, R.A. (1985), “The Relation Between Logic Programming and Logic Specification,” In Mathematical Logic and Programming Languages, C.A.R. Hoare and J.C. Shepherdson, Eds., Prentice-Hall.

  • Van Lamsweerde, A., R. Darimont and P. Massonet (1995), “Goal Directed Elaboration of Requirements for a Meeting Scheduler: Problems and Lessons Learnt,” In 2nd IEEE International Symposium on Requirements Engineering.

  • Lehmann, T. and J. Loeckx (1987), “The Specification Language of OBSCURE,” 5th Workshop on Specification of Abstract Data Types: Recent Trends in Data Type Specification, pp. 131–153.

  • Morgan, C. (1993), “Telephone network,” In Specification Case Studies, I. Hayes, Ed., Prentice-Hall, 2nd edition.

  • Morrey, I., J.I.A. Siddiqi, and J. Briggs (1992), “Z Animation in LISP,” In 5th International Conference on Putting into Practice Methods for Information System Design, Nantes.

  • Morrey, I., J.I.A. Siddiqi, R. Hibberd and G. Buckberry (1993), “Use of a Specification Construction and Animation Tool to Teach Formal Methods,” IEEE Compsac 93, The Seventeenth Annual Internation Computer Software and Applications Conference, Phoenix, Arizona, USA.

  • Morrey, I., J.I.A. Siddiqi, G. Buckberry, and R. Hibberd (1996), “A Toolset to Support the Construction and Animation of Formal Specifications”, Journal of Systems and Software, To appear.

  • O'Neill, G. (1992), “Automatic translation of VDM specifications into Standard ML programs,” The Computer Journal 35,6, 623–624.

    Article  MathSciNet  Google Scholar 

  • Ozcan, M.B. and J.I.A. Siddiqi (1996), “Interchanging Specifications and Implementation in Evolutionary Prototyping”, Software Practice and Experience 26,9, 999–1023.

    Article  Google Scholar 

  • Parry, P.W., M.B. Ozcan and J. Siddiqi (1995), “The Application of Visualisation to Requirements Engineering,” In Proc. Conf. on Software Engineering and Its Applications, France, pp. 699–710.

  • Potts, C., K. Takahashi and A.I. Anton (1994), “Inquiry-Based Requirements Analysis,” IEEE Software.

  • Roast, C.R. (1993), Executing Models in Human Computer Interaction, PhD thesis, Department of Computer Science, University of York.

  • Roast, C.R. and J.I. Siddiqi (1995), “A Formal Analysis of an Interface Specification using the Template Model,” In Symbiosis of Human and Artifact, Advanced in Human Factors/Ergonomics, 20B, Y. Anzai, K. Ogawa and H. Mori, Eds., Elsevier, pp. 483–488

  • Roast, C.R. and J.I. Siddiqi (1996), “The Formal Interpretation of Cognitive Dimensions,” In HCI Industry Day and Adjunct Proceedings, A. Blandford and H. Thimbleby, Eds., The Bristich HCI Group, pp. 150–156.

  • Ryan, M., J. Fiadeiro and T. Maibaum (1991), “Sharing Actions and Attributes in Modal Action Logic,” In Theoretical Aspects of Computer Software, T. Into and A.R. Meyer, Eds., Springer Verlag, pp. 569–593.

  • Sherrell, L.B. and D.L. Carver (1993), “Z Meets Haskell: A Case Study,” In Procs. 17th. Annual International Computer Software & Applications Conference, pp. 320–326.

  • Sherrell, L.B. and D.L. Carver (1994), “Experiences in translating Z Designs to Haskell Implementations,” Software — Practice And Experience 24,12, 1159–1178.

    Article  Google Scholar 

  • Siddiqi, J.I.A and I. Morrey (1995), “Toolset to Support a Software Engineering Strategy for AI Development,” In IEEE International Conference on Tools with AI, Washington.

  • Siddiqi, J.I.A., I. Morrey, G. Buckberry and R. Hibberd (1993), “Towards Case Tools for Proto-typing Z specifications,” In IEEE Case 93, Sixth International Workshop on CASE, National University of Singapore, Singapore.

    Google Scholar 

  • Siddiqi, J., I. Morrey, R. Hibbert and G. Buckberry (1994), “Towards a System for the Construction, Clarification, Discovery and Formalisation of Requirements,” In Proc. International Conference on Requirements Engineering, ICRE94.

  • Siddiqi, J., I. Morrey, S. Shaw, and J. Briggs (1991), “Rapid Prototyping of Formal Specifications,” In 4th International Conference on Software Engineering and its Applications, Toulouse.

  • Spivey, M. (1992), The Z Notation — A Reference Manual, 2nd Edition, Prentice-Hall.

  • Sufrin, B. and J. He (1990), “Specification, Refinement and Analysis of Interactive Processes,” In Formal Methods in Human Computer Interaction, M.D. Harrison and H.W. Thimbleby, Eds., pp. 153–200.

  • Turner, D.A. (1985), “Functional Programs as Executable Specifications,” In Mathematical Logic and Programming Languages, C.A.R. Hoare and J.C. Shepherdson, Eds., Prentice-Hall.

  • Urban, J.E. (1982), “Software Development with Executable Formal Specifications,” In 6th Int. Conf. on Software Engineering, pp. 418–419.

  • Valentine, S.H. (1995), “The Programming Language Z,” Information and Software Technology 37,5–6, 293–301.

    Article  Google Scholar 

  • West, M.M. and B.M. Eagleston (1992), “Software Development: Two Approaches to Animation of Z Specifications Using Prolog,” IEE/BCS Software Engineering Journal 7,4, 264–276.

    Article  Google Scholar 

  • Zave, P. (1982), “An Operational Approach to Requirements Specification for Embedded Systems”, IEEE Transactions on Software Engineering 8,3, 250–269.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Siddiqi, J.I., Morrey, I.C., Roast, C.R. et al. Towards quality requirements via animated formal specifications. Annals of Software Engineering 3, 131–155 (1997). https://doi.org/10.1023/A:1018977602872

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1018977602872

Keywords