Course Overview
In this 2-day course attendees will learn "what, why and how" of approximately a dozen practical, lightweight techniques for designing safer and more reliable embedded systems. We will focus on minimizing hazards and malfunctions though a combination of lightweight, demonstrably-effective design techniques. Architectural, process and cultural aspects will also be covered.
Topics covered in this course include:
- System Partitioning for Designing Safe, Robust Systems
- Run-Time Monitoring
- Design for Test
- Managing Time for Safe Product Operation
- Run-time Logging
- Safety Case Requirements
- Managing Software Complexity
- Coding Standards
- Static Analysis
- Code Inspections
- Issue Tracking
- Post Mortems
Prerequisites: Attendees should have prior experience in the design of one or more embedded systems.