A reading list I recommend on functional safety, system design, software development and the standards behind safety-related systems.
Release It! Second Edition
Michael T. Nygard
★★★★★
System Design
Patterns for designing software that survives contact with production. Covers stability patterns and anti-patterns, illustrated with real-world failure stories.
An in-depth look at the principles behind data systems: reliability, scalability and maintainability, and how replication, partitioning and consistency work in distributed systems.
A business novel that introduces the Theory of Constraints. Shows how finding and managing bottlenecks improves the performance of the system as a whole.
Key takeaways
Every system is limited by its constraints (bottlenecks)
ISO 26262:2018 – Road vehicles – Functional safety
International Organization for Standardization (ISO)
★★★★☆
Standards
The international standard for functional safety of electrical and electronic systems in series-production road vehicles. Defines the safety lifecycle and Automotive Safety Integrity Levels (ASIL A–D).
Key takeaways
Hazard analysis and risk assessment (HARA) and ASIL determination
Safety lifecycle from concept to decommissioning
V-model reference process for system, hardware and software development
Verification, validation and confirmation measures
Published: 2018
Available from standards bodies
EN 50128:2011 – Railway applications – Communication, signalling and processing systems – Software for railway control and protection systems
CENELEC
★★★★☆
Standards
The European standard for software in railway control and protection systems. Defines software safety integrity levels (SIL 0–4) and the lifecycle, roles, techniques and documentation required at each level.
Key takeaways
Software SIL derived from system-level safety requirements (EN 50126/EN 50129)
Software lifecycle phases and their deliverables
Independent roles: verifier, validator, assessor
Techniques and measures recommended for each SIL
Traceability from requirements to tests
Published: 2011
Available from standards bodies
Code Complete, Second Edition
Steve McConnell
★★★★☆
Development
A comprehensive guide to software construction: design, defensive programming, error handling and code quality practices that are highly relevant to safety-related software.
The Pragmatic Programmer, 20th Anniversary Edition
David Thomas & Andrew Hunt
★★★★★
Development
Practical principles of professional software development. Many of its ideas – decoupling, automation, testing – carry over directly to maintainable, reliable safety-related code.
Standards are copyrighted documents and are not freely available. They can be purchased from ISO, CENELEC or national standards bodies (in Poland: PKN), and many companies and university libraries provide access to them.