Fundamentals of Dependable Computing for Software Engineers presents the essential elements of computer system dependability. The book describes a comprehensive dependability-engineering process and explains the roles of software and software engineers in computer system dependability. Readers will learn: Why dependability matters What it means for a system to be dependable How to build a dependable software system How to assess whether a software system is adequately dependable The author focuses on the actions needed to reduce the rate of failure to an acceptable level, covering material essential for engineers developing systems with extreme consequences of failure, such as safety-critical systems, security-critical systems, and critical infrastructure systems. The text explores the systems engineering aspects of dependability and provides a framework for engineers to reason and make decisions about software and its dependability. It also offers a comprehensive approach to achieve software dependability and includes a bibliography of the most relevant literature. Emphasizing the software engineering elements of dependability, this book helps software and computer engineers in fields requiring ultra-high levels of dependability, such as avionics, medical devices, automotive electronics, weapon systems, and advanced information systems, construct software systems that are dependable and within budget and time constraints.
Cited By
- Habibullah K, Heyn H, Gay G, Horkoff J, Knauss E, Borg M, Knauss A, Sivencrona H and Li P (2024). Requirements and software engineering for automotive perception systems: an interview study, Requirements Engineering, 29:1, (25-48), Online publication date: 1-Mar-2024.
- shboul B and Petriu D Pattern-based transformation of SysML models into fault tree models Proceedings of the 29th Annual International Conference on Computer Science and Software Engineering, (214-223)
- Lutz J, Lutz N, Lutz R and Riley M Robustness and games against nature in molecular programming Proceedings of the 41st International Conference on Software Engineering: New Ideas and Emerging Results, (65-68)
- Agrawal A, Khoshmanesh S, Vierhauser M, Rahimi M, Cleland-Huang J and Lutz R Leveraging artifact trees to evolve and reuse safety cases Proceedings of the 41st International Conference on Software Engineering, (1222-1233)
- Ellis S, Klinge T, Lathrop J, Lutz J, Lutz R, Miner A and Potter H (2019). Runtime Fault Detection in Programmed Molecular Systems, ACM Transactions on Software Engineering and Methodology, 28:2, (1-20), Online publication date: 30-Apr-2019.
- Rahimi M, Xiong W, Cleland-Huang J and Lutz R Diagnosing assumption problems in safety-critical products Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering, (473-484)
- Missiroli M, Russo D and Ciancarini P Agile for millennials Proceedings of the 1st International Workshop on Software Engineering Curricula for Millennials, (47-53)
- Tun T, Lutz R, Nakayama B, Yu Y, Mathur D and Nuseibeh B The role of environmental assumptions in failures of DNA nanosystems Proceedings of the First International Workshop on Complex faUlts and Failures in LargE Software Systems, (27-33)
- Alzahrani N and Petriu D Modeling Fault Tolerance Tactics with Reusable Aspects Proceedings of the 11th International ACM SIGSOFT Conference on Quality of Software Architectures, (43-52)
- Ellis S, Henderson E, Klinge T, Lathrop J, Lutz J, Lutz R, Mathur D and Miner A Automated requirements analysis for a molecular watchdog timer Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, (767-778)
Index Terms
- Fundamentals of Dependable Computing for Software Engineers
Recommendations
Are software engineers true engineers?
Software engineering is an often used term to describe the activities, methods, and tools of large scale software development. There is an ongoing discussion whether Software Engineering can be considered as an engineering discipline. In many respects ...