A Proposal of Fault Tree Analysis for Embedded Control Software
Abstract
:1. Introduction
2. Related Works
3. Proposed FTA Method
3.1. Overview of the Proposed Method
3.1.1. Execution Process of the Top Event
3.1.2. FT Templates and FT Development Rules
3.1.3. Outline of the Proposed Method
3.2. FT Templates
3.2.1. FTT for Assignment Statement
3.2.2. FTT for Block If Statement
3.2.3. FTT for While Statement
3.2.4. FTT for Function Call
3.2.5. FTT for Interrupt
3.2.6. FTT for Global Variables
3.2.7. FTT for Local Variables
3.2.8. FTT for Array
3.2.9. FTT for Pointer
3.2.10. FTT for Hierarchical Instruction
3.3. FT Development Rules
3.3.1. Slicing
3.3.2. ECSW Information Required for FTA
3.3.3. FT Development Rules
3.4. FTA Support Tool
4. Application and Evaluation
4.1. Application and Evaluation of the Proposed Method
4.1.1. Application and Evaluation of the Top Event for “Rotation Rate of the Satellite Became Too Fast”
- As for the P_FT, FDRs are strictly applied, and there is no omission of interim progress (in L_FT, the analyst omits the interim progress).
- As the module startup with interrupt is used many times, the FTT for interrupt is also used multiple times.
- As the global variables are used multiple times, the FTT for global variables are also used.
- In comparison to the FTT developed by Leveson, the FTT in the proposed method has many events.
4.1.2. Application and Evaluation Applying to Existing ECSW
4.2. Issues in the Proposed Method
4.2.1. Issues Related to the Scale of ECSW
4.2.2. Issues Related to the ECSW’s Dirty Structure
4.2.3. Issues Related to the Large Number of FT Events
4.2.4. Issues Related to the Judgment of the Analyst
4.2.5. Issues Related to Object-Oriented Languages
5. Summary
Author Contributions
Funding
Conflicts of Interest
References
- Information-Technology Promotion Agency, Japan. Software Reliability Enhancement Center, White Paper of Embedded Software Development 2017; Information-Technology Promotion Agency, Japan: Tokyo, Japan, 2017. (In Japanese) [Google Scholar]
- Japanese Standards Association. JIS T2304 Medical Device Software—Software Lifecycle Process; Japanese Standards Association: Tokyo, Japan, 2017. (In Japanese) [Google Scholar]
- International Electro Technical Commission. International IEC Standard ICE 62304 Medical Device Software; International Electro Technical Commission: Geneva, Switzerland, 2006. [Google Scholar]
- International Electro Technical Commission. International IEC Standard ICE 82304-1 Health Software—Part 1: General Requirements for Product Safety; International Electrotechnical Commission: Geneva, Switzerland, 2016. [Google Scholar]
- International Society for Pharmaceutical Engineering. GAMP5 A Risk-Based Approach to Compliant GxP Computerized Systems; International Society for Pharmaceutical Engineering: North Bethesda, MD, USA, 2008. [Google Scholar]
- International Organization for Standardization. ISO26262 Road Vehicles—Functional Safety; International Organization for Standardization: Geneva, Switzerland, 2011. [Google Scholar]
- Radio Technical Commission for Aeronautics. DO-178C Software Considerations in Airborne Systems and Equipment Certification; Radio Technical Commission for Aeronautics: Washington, DC, USA, 2011. [Google Scholar]
- Japan Aerospace Exploration Agency. JAXA JMR001, System Safety Standard; Japan Aerospace Exploration Agency: Tokyo, Japan, 2008. (In Japanese) [Google Scholar]
- Takahashi, M.; Nanba, R.; Fukue, Y. A proposal of operational risk management method using FMEA for drug manufacturing computerized system. Trans. Soc. Instrum. Control Eng. 2012, 48, 285–294. (In Japanese) [Google Scholar] [CrossRef] [Green Version]
- Weber, W.; Tondok, H.; Bachmayer, M. Enhancing Software Safety by Fault Trees: Experiences from an Application to Flight Critical SW. In Proceedings of the SAFECOMP2003, Scotland, UK, 23–26 September 2003; Elsevier: Amsterdam, The Netherlands, 2003; pp. 289–302. [Google Scholar]
- Thapliya, A.; Kwon, G. A Unified Approach for UML Based Safety Oriented Level Crossing Using FTA and Model Checking. In Proceedings of the 19th Korea Conference on Software Engineering, Busan, Korea, 27–29 June 2017; pp. 89–90. [Google Scholar]
- Leveson, N.; Harvey, P.R. Analyzing Software Safety. IEEE Trans. Softw. Eng. 1983, 9, 569–579. [Google Scholar] [CrossRef]
- Leveson, N.; Cha, S.; Shimeall, T. Safety verification of Ada programs using software fault tree analysis. IEEE Softw. 1991, 8, 48–54. [Google Scholar] [CrossRef]
- Takahashi, M.; Nanba, R. A Proposal of Fault Tree Analysis for Control Programs. In Proceedings of the SICE 2014, Hokkaido, Japan, 9–12 September 2014; The Society of Instrument and Control Engineers: Tokyo, Japan, 2014; pp. 1719–1724. [Google Scholar]
- Park, G.; Koh, K.; Jee, E.; Seong, P.; Kwon, K.; Lee, D. Fault tree analysis of KNICS RPS software. Nucl. Eng. Technol. 2008, 40, 397–408. [Google Scholar] [CrossRef]
- Hansen, K.; Wells, L. Hazop analysis of UML-based software architecture descriptions of safety-critical systems. In Proceedings of the NWUML2004, Turku, Finland, 19–20 August 2004; TUCS General Publication: Turku, Finland, 2004; pp. 59–78. [Google Scholar]
- Hulun, B.; Tschachtli, R. Identifying software hazards with a modified CHAZOP. In Proceedings of the PESARO2011, Budapest, Hungary, 17–22 April 2011; International Academy, Research, and Industry Association: New York, NY, USA, 2011; pp. 6–12. [Google Scholar]
- Weiss, K.; Dulac, N.; Chisei, S.; Daouk, M.; Zipkin, D.; Leveson, N. Engineering spacecraft mission software using a model-based and safety-driven design methodology. J. Aerosp. Comput. Inf. Commun. 2006, 3, 562–582. [Google Scholar] [CrossRef]
- Takahashi, M.; Anang, Y.; Watanabe, Y. A proposal for a hazard analysis method for embedded control software using STPA. In Proceedings of the SICE 2019, Hiroshima, Japan, 10–12 September 2019; The Society of Instrument and Control Engineers: Tokyo, Japan, 2019; pp. 595–600. [Google Scholar]
- Kloos, J.; Hussain, T.; Eschbach, R. Risk-based Testing of Safety-Critical Embedded Systems Driven by Fault Tree Analysis. In Proceedings of the Fourth International Conference on Software Testing, Verification and Validation Workshops, Berlin, Germany, 21–25 March 2011; pp. 26–33. [Google Scholar]
- Chen, D.; Mahmud, N.; Walker, M.; Feng, L.; Lonn, H.; Papadopoulos, Y. System Modeling with EAST-ADL for Fault Tree Analysis through Hip-HOPS. In Proceedings of the IFAC Workshop on Dependable Control of Discrete Systems, York, UK, 4–6 September 2013; pp. 91–96. [Google Scholar]
- Trawczynski, D.; Sosnowski, J.; Gawkowski, P. Testing Distributed ABS System with Fault Injection. In Innovations in Computing Sciences and Software Engineering; Springer: Berlin/Heidelberg, Germany, 2010; pp. 201–206. [Google Scholar]
- Dabboussi, R.; Kouta, R.; Gaber, J.; Wack, M.; Hassan, B.; Nachabeh, L. Fault Tree Analysis for the Intelligent Vehicular Networks. In Proceedings of the 2018 IEEE Middle East and North Africa Communications Conference, Jounieh, Lebanon, 18–20 April 2018; IEEE: New York, NY, USA, 2018; pp. 1–6. [Google Scholar]
- Weiser, M. Program Slicing. IEEE Trans. Softw. Eng. 1984, 10, 352–357. [Google Scholar] [CrossRef]
Information Name | Content |
---|---|
RDD list | Instructions with reverse-direction data dependency |
RCD list | Instructions with reverse direction control dependency |
Variable list | Variable name, type, valid scope, and substitution in the relevant variable |
Substitution list | Substitute line, substitute expression (substituted variable name and operator) |
Function list | Function name, return value type, function scope, dummy arguments, start-up type (cycle, interrupts), interrupt disabled timing, interrupt abled timing |
Function call list | Called function name, calling position, argument |
Instruction list | Instruction name, execution conditions, member block statement, nest number in member nest |
Hierarchical instruction list | Instruction name, execution conditions, member statement, nest number maximum value |
No | Outline of ECSW | Top Event | LOC |
---|---|---|---|
1 | Data differing from the cycle are displayed on the screen. | Display value is too large. | 33 |
2 | Hours, minutes, and seconds of passing time are displayed alternately. | Passing time is calculated incorrectly. | 55 |
3 | Input the motor operation time, and rotate the motor for that time. | Motor does not stop. | 81 |
4 | The current time of flashing on the LED. | The time is slow. | 207 |
5 | Execute an instruction corresponding to a three-digit number. | A specific instruction cannot be executed. | 115 |
No | Fundamental Events | P_FT | E_FT | ||||
---|---|---|---|---|---|---|---|
Num. of Events | Hours | Validity | Num. of Events | Hours | Validity | ||
1 | Inappropriate value of the counter, and 2 others | 18 | 0.5 | App 1 | 10 | 0.5 | App 1 |
2 | Not to occur timer interrupt, and 2 others | 15 | 0.5 | App | 7 | 0.5 | App |
3 | Stop switch OFF, and 2 others | 15 | 0.5 | App | 12 | 0.5 | App |
4 | Not to occur interrupt, and the false value of judgment flag | 26 | 2 | App | 15 | 1 | App |
5 | The large value of the buffer, or small value of the buffer | 45 | 2 | App | 15 | 1.5 | Ovs 2 |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Takahashi, M.; Anang, Y.; Watanabe, Y. A Proposal of Fault Tree Analysis for Embedded Control Software. Information 2020, 11, 402. https://doi.org/10.3390/info11090402
Takahashi M, Anang Y, Watanabe Y. A Proposal of Fault Tree Analysis for Embedded Control Software. Information. 2020; 11(9):402. https://doi.org/10.3390/info11090402
Chicago/Turabian StyleTakahashi, Masakazu, Yunarso Anang, and Yoshimichi Watanabe. 2020. "A Proposal of Fault Tree Analysis for Embedded Control Software" Information 11, no. 9: 402. https://doi.org/10.3390/info11090402