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.
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.
Archer, P. (1996), “Object Oriented Rapid Protyping of Z Specifications Using CLOS,” MSc Dissertation, School of Computing and Management Sciences, Sheffield Hallam University, UK.
Balzer, R.M. (1985), “A 15 Year Perspective on Automatic Programming,” IEEE Transactions on Software Engineering 11,11, 1257–1268.
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.
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.
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.
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.
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.
Goodman, H.S. (1993), “Animating Z Specifications in Haskell Using a Monad, Technical Report,” University of Birmingham, England.
Goguen, J.A. (1996), “Formality and Informality in Requirements Engineering,” Keynote presentation at International Conference on Requirements Engineering, IEEE Software 13,2, 52–64.
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.
Jalote, P. (1987), “Synthesising Implementations of Abstract Data Types From Axiomatic Specifications,” Software Practice and Experience 17,11, 847–858.
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.
Ozcan, M.B. and J.I.A. Siddiqi (1996), “Interchanging Specifications and Implementation in Evolutionary Prototyping”, Software Practice and Experience 26,9, 999–1023.
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.
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.
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.
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.
Zave, P. (1982), “An Operational Approach to Requirements Specification for Embedded Systems”, IEEE Transactions on Software Engineering 8,3, 250–269.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1018977602872