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.
Similar content being viewed by others
References
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
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
Leitch R. Recent progress in the development of qualitative reasoning No. Heriot-Watt University, Scotland, 1993
de Kleer J, Brown JS. A qualitative physics based on confluences. Artif Intell 1984; 24: 7–83
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
Spivey JM. The Z notation: a reference manual (2nd edn). Prentice Hall, Englewood Cliffs, NJ, 1992
Toyn I, McDermid JA. CADiZ: an architecture for Z tools and its implementation. Software Practice Exp 1995; 25(3): 305–330
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
Jahanian F, Mok AK. Safety analysis of timing properties in real-time systems. IEEE Trans Software Eng 1986; SE12(9): 890–904
Suppes P. A probabilistic theory of causation. Acta Phil Fenn 1970; XXIV
Milner R. A calculus of communicating systems. Springer-Verlag, Berlin, 1980
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
Haddawy. Representing plans under uncertainty: a logic of time, chance and action. Springer-Verlag, Berlin, 1994
McDermid JA. Support for safety cases and safety arguments using SAM. Reliability Eng Syst Safety 1994; 43: 111–127
Sosa E, Tooley M (eds). Causation. Oxford University Press, Oxford, 1993
Mackie JL. Causes and conditions. In: Sosa E, Tooley M (eds). Causation. Oxford University Press, Oxford, 1993, pp 33–55
Burks AW. The logic of causal propositions. Mind 1951; 196: 363–382
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
Ortiz CI. Causal pathways of rational action. In: 12th national conference on artificial intelligence (AAAI-94). Seattle, 1994, pp 1061–1066
Darwiche A, Pearl J. Symbolic causal networks. In: 12th national conference on artificial intelligence (AAAI-94). Seattle, 1994, pp 228–244
Geffner H. Causal default reasoning: principles and algorithms. In: 12th national conference on artificial intelligence (AAAI-94). Seattle, 1994, pp 245–250
Iwasaki Y, Vescovi M, Fikes R, Chandrasekaran B. Causal functional representation language with behavior-based semantics. Appl Artif Intell 1995;9(1): 5–31
Iwasaki Y, Simon HA. Causality in device behavior. Artif Intell, 1986; 29(1): 3–32
Lin F. Embracing causality in specifying the indirect effect of actions. Technical Report, Department of Computer Science, University of Toronto, 1995
Gorski J. Formalising fault trees. In: Redmill F, Anderson T (eds). Achievement and assurance of safety. Springer-Verlag, Berlin, 1995, pp 311–327
Allen JF. Maintaining knowledge about temporal intervals, CACM (83), vol 26 no 11. Commun ACM, 1983; 26(11): 832–843
Author information
Authors and Affiliations
Corresponding author
Rights 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
Issue Date:
DOI: https://doi.org/10.1007/BF01235764