Systems Architecture with Maik Pfingsten

The Pragmatic Embedded Podcast · 19 Oct 2022 · 43m

What this episode covers

Maik Pfingsten, an independent systems engineering professional, explains how to apply model-based systems engineering (MBSE) using SysML to complex embedded systems in safety-critical industries like automotive and medical devices. He argues that defining system boundaries and high-level interfaces early prevents the 'big design up front' pitfalls while allowing for necessary iteration between architecture and prototyping. Pfingsten emphasizes that software behaves differently than hardware or mechanics, requiring specific architectural rigor to manage complexity and ensure safety without relying on impossible zero-failure strategies.

Other shows on the same ground, closest first.

  • Embedded.fm · 1h 03m

    53: Being a Grownup Engineer

    Jack Ganssle, author of 'The Art of Designing Embedded Systems' and long-time embedded industry expert, argues that firmware engineers must adopt disciplined engineering practices rather than relying on 'heroic' hacking. He discusses the necessity of requirements gathering, design reviews, code inspections, and rigorous testing to ensure safety and reliability, citing the Toyota unintended acceleration case as a failure of process. Ganssle advocates for measuring metrics like bug rates and lines of code to benchmark performance, and critiques the misuse of Linux in deeply embedded systems and the confusion between the maker movement and professional engineering.

  • Embedded.fm · 1h 16m

    421: Paint the Iceberg Yellow

    Chris Hobbs, who works in kernel development at BlackBerry QNX and authored 'Embedded Software Development for Safety-Critical Systems,' explains the distinction between safety-critical and standard embedded systems, emphasizing safety culture and the concept of SOTIF (Safety of the Intended Functionality). He details how modern systems, such as autonomous vehicles and medical devices, face risks from 'accidental systems' where interactions between components create unforeseen hazards, citing examples like a radar system dependent on jammed GPS. Hobbs advocates for goal-based standards like UL 4600 and the use of Safety Cases with Goal Structuring Notation to demonstrate safety rather than relying on prescriptive checklists. He also discusses the challenges of verifying machine learning algorithms, the limitations of languages like C and Rust in safety contexts, and the importance of structured risk analysis using tools like Bayesian fault trees and LaTeX for traceability.

  • Embedded.fm · 1h 22m

    508: Descartes' Demon

    William Griffin, co-founder of Spark Embedded, explains the distinction between hardware-in-the-loop (HIL) and model-in-the-loop (MIL) testing, emphasizing that HIL involves a closed loop where the controller's output affects the simulated plant model. He discusses the value of model-based system design (MBSD) using tools like Simulink for off-highway vehicles and robotics, noting the trade-offs between high-fidelity simulation and cost. Griffin also shares insights on learning complex topics through repetition and creating safe environments for engineering teams to experiment and fail.

  • Embedded.fm · 1h 13m

    290: Rule of Thumbs (Repeat)

    Phillip Johnston, founder of Embedded Artistry, discusses his embedded systems consulting firm and his educational website, highlighting his focus on firmware engineering, code reviews, and robust software design. He explains how his company helps early-stage startups and medium-sized companies transition from prototypes to production, often by addressing firmware bottlenecks and implementing better testing and abstraction strategies. The conversation covers specific technical challenges, including the limitations of standard C++ threading libraries on embedded RTOSs like FreeRTOS and ThreadX, and the importance of risk analysis in complex systems, using the Boeing 737 MAX crashes as a case study for systemic failure.

  • Embedded.fm · 1h 05m

    53: Being a Grownup Engineer (Repeat)

    Jack Ganssle, author of 'The Art of Designing Embedded Systems' and 'The Embedded Systems Dictionary', argues that embedded software development has failed to adopt true engineering discipline, relying on 'heroics' rather than process. He cites the Toyota unintended acceleration case, where Michael Barr identified 11,000 global variables, as evidence of the catastrophic costs of poor software practices. Ganssle advocates for rigorous requirements gathering, static analysis tools like LDRA and Spark, and metrics-driven benchmarking to reduce debugging time and improve code quality. He contrasts this disciplined approach with the 'hacker' and 'maker' cultures, emphasizing that safety-critical systems require proven processes rather than ad-hoc coding.

The summary, chapters and topics are generated from the episode’s audio by this directory, not written by The Pragmatic Embedded Podcast. The episode itself belongs to its publisher.