Skip to main content
Log in

A model for a causal logic for requirements engineering

  • Published:
Requirements Engineering Aims and scope Submit manuscript

Abstract

The language of causation is natural for the specification of requirements for complex systems. The paper provides a vocabulary of causal specification expressions, suitable for describing and analysing such systems. The notation is given a syntax and partial semantics. It covers many of the commonly used modes of causal language including necessary and sufficient cause, prevention and enabling conditions. The concept of condition splitting is introduced, enabling a specification at an abstract level to treat two conditions as identical, while a concrete refinement of it may view them as separate. A number of other issues are examined, including: repetitive, probabilistic and hidden causes; causal agents; the validation of causal descriptions; and concurrency. Possible approaches to development of causal specifications are discussed. The work is placed in the context of related work in artificial intelligence and philosophy. The detailed framework of the paper is supported by a realistic example.

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

Access this article

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

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Coombes A, McDermid J, Moffett J, Morris P. Requirements analysis and safety: a case study (Using GRASP). In: SafeComp '95: 14th international conference on computer safety, reliability and security. Villa Carlotta, Belgirate, Italy, 1995

    Google Scholar 

  2. Jeremaes P, Khosla S, Maibaum TSE. A modal (action) logic for requirements specification. In Brown PJ, Barnes DJ (eds). Software Engineering '86. Peter Peregrinus, 1986, pp 278–294

  3. Leitch R. Recent progress in the development of qualitative reasoning No. Heriot-Watt University, Scotland, 1993

    Google Scholar 

  4. de Kleer J, Brown JS. A qualitative physics based on confluences. Artif Intell 1984; 24: 7–83

    Google Scholar 

  5. Shoham Y. Reasoning about change: time and causation from the point of view of artificial intelligence. PhD thesis, YALEU/CSD/RR#507, Department of Computer Science, Yale University, 1986

  6. Spivey JM. The Z notation: a reference manual (2nd edn). Prentice Hall, Englewood Cliffs, NJ, 1992

    Google Scholar 

  7. Toyn I, McDermid JA. CADiZ: an architecture for Z tools and its implementation. Software Practice Exp 1995; 25(3): 305–330

    Google Scholar 

  8. Pnueli A, Harel E. Applications of temporal logic to the specification of real-time systems. In: Joseph M (ed). Formal techniques in real-time and fault-tolerant systems. Springer-Verlag, Berlin, 1988, pp 84–98

    Google Scholar 

  9. Jahanian F, Mok AK. Safety analysis of timing properties in real-time systems. IEEE Trans Software Eng 1986; SE12(9): 890–904

    Google Scholar 

  10. Suppes P. A probabilistic theory of causation. Acta Phil Fenn 1970; XXIV

  11. Milner R. A calculus of communicating systems. Springer-Verlag, Berlin, 1980

    Google Scholar 

  12. von Wright GH. On the logic and epistemology of the causal relation. In: Sosa E, Tooley M (eds). Causation. Oxford University Press, Oxford, 1993, pp 105–124

    Google Scholar 

  13. Haddawy. Representing plans under uncertainty: a logic of time, chance and action. Springer-Verlag, Berlin, 1994

    Google Scholar 

  14. McDermid JA. Support for safety cases and safety arguments using SAM. Reliability Eng Syst Safety 1994; 43: 111–127

    Google Scholar 

  15. Sosa E, Tooley M (eds). Causation. Oxford University Press, Oxford, 1993

    Google Scholar 

  16. Mackie JL. Causes and conditions. In: Sosa E, Tooley M (eds). Causation. Oxford University Press, Oxford, 1993, pp 33–55

    Google Scholar 

  17. Burks AW. The logic of causal propositions. Mind 1951; 196: 363–382

    Google Scholar 

  18. McCarthy J, Hayes P. Some philosophical problems from the standpoint of artificial intelligence. In: Meltzer B, Michie D (eds). Machine intelligence 4. Edinburgh University Press, Edinburgh, 1969, pp 463–502

    Google Scholar 

  19. Ortiz CI. Causal pathways of rational action. In: 12th national conference on artificial intelligence (AAAI-94). Seattle, 1994, pp 1061–1066

  20. Darwiche A, Pearl J. Symbolic causal networks. In: 12th national conference on artificial intelligence (AAAI-94). Seattle, 1994, pp 228–244

  21. Geffner H. Causal default reasoning: principles and algorithms. In: 12th national conference on artificial intelligence (AAAI-94). Seattle, 1994, pp 245–250

  22. Iwasaki Y, Vescovi M, Fikes R, Chandrasekaran B. Causal functional representation language with behavior-based semantics. Appl Artif Intell 1995;9(1): 5–31

    Google Scholar 

  23. Iwasaki Y, Simon HA. Causality in device behavior. Artif Intell, 1986; 29(1): 3–32

    Google Scholar 

  24. Lin F. Embracing causality in specifying the indirect effect of actions. Technical Report, Department of Computer Science, University of Toronto, 1995

  25. Gorski J. Formalising fault trees. In: Redmill F, Anderson T (eds). Achievement and assurance of safety. Springer-Verlag, Berlin, 1995, pp 311–327

    Google Scholar 

  26. Allen JF. Maintaining knowledge about temporal intervals, CACM (83), vol 26 no 11. Commun ACM, 1983; 26(11): 832–843

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jonathan Moffett.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Moffett, J., Hall, J., Coombes, A. et al. A model for a causal logic for requirements engineering. Requirements Eng 1, 27–46 (1996). https://doi.org/10.1007/BF01235764

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01235764

Keywords

Navigation