Hostname: page-component-76d6cb85b7-lcgwf Total loading time: 0 Render date: 2026-07-12T07:00:04.978Z Has data issue: false hasContentIssue false

An ontology-based fault generation and fault propagation analysis approach for safety-critical computer systems at the design stage

Published online by Cambridge University Press:  03 February 2022

Xiaoxu Diao*
Affiliation:
The Ohio State University, 201 W. 19th AVE, Columbus, OH 43210, USA
Mike Pietrykowski
Affiliation:
The Ohio State University, 201 W. 19th AVE, Columbus, OH 43210, USA
Fuqun Huang
Affiliation:
The Ohio State University, 201 W. 19th AVE, Columbus, OH 43210, USA
Chetan Mutha
Affiliation:
The Ohio State University, 201 W. 19th AVE, Columbus, OH 43210, USA
Carol Smidts
Affiliation:
The Ohio State University, 201 W. 19th AVE, Columbus, OH 43210, USA
*
Author for correspondence: Xiaoxu Diao, E-mail: diao.38@osu.edu
Rights & Permissions [Opens in a new window]

Abstract

Fault propagation analysis is a process used to determine the consequences of faults residing in a computer system. A typical computer system consists of diverse components (e.g., electronic and software components), thus, the faults contained in these components tend to possess diverse characteristics. How to describe and model such diverse faults, and further determine fault propagation through different components are challenging problems to be addressed in the fault propagation analysis. This paper proposes an ontology-based approach, which is an integrated method allowing for the generation, injection, and propagation through inference of diverse faults at an early stage of the design of a computer system. The results generated by the proposed framework can verify system robustness and identify safety and reliability risks with limited design level information. In this paper, we propose an ontological framework and its application to analyze an example safety-critical computer system. The analysis result shows that the proposed framework is capable of inferring fault propagation paths through software and hardware components and is effective in predicting the impact of faults.

Information

Type
Research Article
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited.
Copyright
Copyright © The Author(s), 2022. Published by Cambridge University Press
Figure 0

Table 1. Comparison of fault analysis methods for computer systems

Figure 1

Fig. 1. A classic fault propagation path.

Figure 2

Fig. 2. Fault propagation analysis methodology.

Figure 3

Fig. 3. Hierarchy of the component ontology.

Figure 4

Table 2. Properties defined in the component ontology

Figure 5

Table 3. An example multi-core processor (MCP) component defined using the component ontology

Figure 6

Fig. 4. Hierarchy of the flow ontology.

Figure 7

Table 4. Properties defined in the flow ontology

Figure 8

Table 5. An example command flow defined using the flow ontology

Figure 9

Fig. 5. Hierarchy of the functional ontology.

Figure 10

Table 6. Properties defined in the functional ontology

Figure 11

Table 7. An example of execute command function defined using the function ontology

Figure 12

Table 8. Model composition

Figure 13

Fig. 6. Hierarchy of the state ontology.

Figure 14

Table 9. Properties defined for states

Figure 15

Fig. 7. Partial nominal states of a processor.

Figure 16

Table 10. Notations for dependency rules

Figure 17

Table 11. Dependencies and restrictions in ontological concepts

Figure 18

Fig. 8. System model of the example system.

Figure 19

Table 12. Property values of components and functions in the example system

Figure 20

Fig. 9. Hierarchy of fault ontology.

Figure 21

Table 13. Properties defined in the fault ontology

Figure 22

Table 14. Mapping relation between the proposed fault taxonomy and the existing fault taxonomies

Figure 23

Table 15. Restrictions in fault ontologies

Figure 24

Fig. 10. The process of adding a known fault to the fault ontologies.

Figure 25

Table 16. Notations for representing fault generation principles

Figure 26

Table 17. Fault generation principle for missing property faults

Figure 27

Table 18. Fault generation principle for additional property faults

Figure 28

Table 19. Fault generation principle for incorrect property faults

Figure 29

Table 20. Fault generation for a software routine

Figure 30

Fig. 11. The process of fault generation (using the multi-core processor component as an example).

Figure 31

Fig. 12. Fault injection process (using the “RegisterBitFlipFault” as an example).

Figure 32

Table 21. New symbols used for representing fault injection restrictions

Figure 33

Table 22. Dependencies and restrictions for fault injection

Figure 34

Fig. 13. Workflow of fault propagation inference.

Figure 35

Fig. 14. States of function “provide demand.”

Figure 36

Table 23. Possible situations and results

Figure 37

Table 24. Example of function state inference

Figure 38

Table 25. General rules for flow merging

Figure 39

Table 26. General rules for flow branching

Figure 40

Fig. 15. Architecture of the case study system.

Figure 41

Fig. 16. Mechanical subsystem involved in the case study system.

Figure 42

Table 27. Functions associated to the case study system

Figure 43

Fig. 17. Activity diagram of the case system.

Figure 44

Table 28. Number of individuals in the system model

Figure 45

Table 29. Fault classes in the fault ontology (existing faults documented in the literature)

Figure 46

Table 30. Statistics related to fault generation for the case study system (aka new faults)

Figure 47

Table 31. Statistics related to individuals of the existing faults and the generated faults

Figure 48

Table 32. Component states for the example scenario

Figure 49

Table 33. Functional states for the example scenario

Figure 50

Fig. 18. Signals sampled from the real system.

Figure 51

Table 34. Comparison of results between fault inference and real system