An Approach to Defining Requirements for Exceptions

  • William Bail
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4119)


When exception handling is required for a software system, the defining the requirements of the desired behavior in the presence of exceptional conditions is generally defined as an add-on to the core requirements. This is necessary because by definition, requirements define desired behavior, and exceptions are undesired, abnormal situations. Consequently, by using separate mechanisms to define :normal” processing and “exceptional” processing, the requirements statements do not provide a unified way of analyzing behavior, potentially allowing undesired effects during execution. This paper proposes a new approach, based on usage modeling, to unifying the specification of normal behavior and exceptional behavior into one model.


exception handling usage models state machines requirements specification 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Fernandez, E.B., France, R.B.: Formal Specification of real-time dependable systems. In: Proceedings of the First IEEE International Conference on the Engineering of Complex Computer Systems (1995); Held jointly with 5th CSESAW, 3rd IEEE RTAW and 20th IFAC/IFIP WRTP, pp. 342–348Google Scholar
  2. 2.
    Levenson, N.G., Heimdahl, M.P.E., Hildreth, H., Reese, J.D.: Requirements Specification for Process-Control Systems. IEEE Transactions on Software Engineering 20(9) (September1994)Google Scholar
  3. 3.
    Bail, W.G.: Requirements Management for Dependable Software Systems. In: Zelkowitz, M. (ed.) Advances In Computers, vol. 66. Academic Press, London (2006)Google Scholar
  4. 4.
    Feather, M.S., Fickas, S., van Lamsweerde, A., Ponsard, C.: Reconciling system requirements and runtime behavior. In: Proceedings of the Ninth International Workshop on Software Specification and Design, pp. 50–59 (1998)Google Scholar
  5. 5.
    van Lamsweerde, A., Darimont, R., Letier, E.: Managing conflicts in goal-driven requirements engineering. IEEE Transactions on Software Engineering 24(11), 908–926 (1998)CrossRefGoogle Scholar
  6. 6.
    Del Gobbo, D., Mali, A.: Re-engineering Fault Tolerance requirements: A Case Study in Specifying Fault Tolerant Flight Control Systems. In: Proceedings of the Fifth IEEE International Symposium on Requirements Engineering, pp. 236–245 (2001)Google Scholar
  7. 7.
    Del Gobbo, D., Cukic, B., Napolitano, M.R., Easterbrook, S.: Fault Detectability Analysis for Requirements Validation of Fault Tolerant Systems. In: Proceedings of the 4th IEEE International Symposium on High-Assurance Systems Engineering, pp. 231–238 (1999)Google Scholar
  8. 8.
    Del Gobbo, D., Napolitano, M.R.: Issues in Fault Detectability for Dynamic Systems. In: Proc of the 2000 American Control Conference, vol. 5, pp. 3203–3207 (June 2000)Google Scholar
  9. 9.
    Alexander, I.: Misuse Cases Help To Elicit Non-Functional Requirements. Computing and Control Engineering (February 2005)Google Scholar
  10. 10.
    Drusinsky, D., Havelund, K.: Execution-Based Model Checking of Interrupt-Based Systems. In: Workshop on Model Checking for Dependable Software Intensive Systems, pp. 22–25 (2003)Google Scholar
  11. 11.
    Drusinsky, D.: Formal Specs Can Handle Exceptions. Embedded Developers Journal (November 2001)Google Scholar
  12. 12.
    Trammell, C.: Quantifying the reliability of software: statistical testing based on a usage model. In: Proceedings of Second IEEE International Software Engineering Standards Symposium (ISESS 1995), ‘Experience and Practice’, pp. 208–218 (1995)Google Scholar
  13. 13.
    Simmons, E.: The usage model: a structure for richly describing product usage during design and development. In: Proceedings of the 13th IEEE International Conference on Requirements Engineering, pp. 403–407 (2005)Google Scholar
  14. 14.
    Regnell, B., Kimbler, K., Wesslen, A.: Improving the use case driven approach to requirements engineering. In: Proceedings of the Second IEEE International Symposium on Requirements Engineering, pp. 40–47 (1995)Google Scholar
  15. 15.
    Börger, E., Riccobene, E., Schmid, J.: Capturing Requirements by Abstract State Machines: The Light Control Case Study. Journal of Universal Computer Science 6(7) (2000)Google Scholar
  16. 16.
    Prowell, S.J.: Using Markov Chain Usage Models to Test Complex Systems. In: Proceedings of the 38th Annual Hawaii Int’l. Conf. on System Sciences, HICSS 2005, p. 318c (2005)Google Scholar
  17. 17.
    Whittaker, J.A., Poore, J.H.: Markov Analysis of Software Specifications. ACM transactions on Software Engineering and Methodology (January 1993)Google Scholar
  18. 18.
    Yan, J., Wang, J., Huo-wang, C.: Automatic generation of Markov chain usage models from real-time software UML models. In: Proceedings of the Fourth International Conference on Quality Software, pp. 22–31 (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • William Bail
    • 1
  1. 1.Software Engineering CenterThe MITRE CorporationMcLeanUSA

Personalised recommendations