The episode features a discussion with Mitch English, a product development team lead at Inertia, about using the QP (Quantum Platform) framework for embedded systems development. Mitch and Jeff recently collaborated on a medical device project where they successfully implemented QP. The framework, created by Miro Samek, implements the actor model with active objects running in their own threads and communicating via messages. This approach helps avoid common concurrency issues found in traditional RTOS implementations.
The episode features a discussion with Mitch English, a product development team lead at Inertia, about using the QP (Quantum Platform) framework for embedded systems development. Mitch and Jeff recently collaborated on a medical device project where they successfully implemented QP. The framework, created by Miro Samek, implements the actor model with active objects running in their own threads and communicating via messages. This approach helps avoid common concurrency issues found in traditional RTOS implementations.
The discussion covers how QP's hierarchical state machine framework makes it easier to manage complex state transitions and system behaviors. They share their experience using QP on a blood analyzer project, discussing how they structured the code with different layers of abstraction and maintained multiple test builds throughout development. The team found that QP's architecture helped make the system's complexity more manageable and testable.
A key learning they shared was about event communication - while they initially used direct posting between active objects, they later realized that using the publish-subscribe pattern more extensively would have made testing easier and the system more flexible. They recommend starting with QP's simple examples and gradually building up complexity rather than trying to implement complex examples right away.
Key Timestamps:
00:00:00 - Introduction and background
00:03:00 - Overview of QP framework and actor model
00:06:30 - Discussion of hierarchical state machines
00:19:30 - Project architecture and implementation approach
00:27:00 - Testing strategies and development process
00:30:00 - Team structure and collaboration
00:35:00 - Hardware/software integration
00:39:00 - Advice for getting started with QP
00:41:50 - About Inertia and contact information
Links:
Miro Samek's QP framework: https://www.state-machine.com/products/qp
Miro's book on QP framework: https://www.state-machine.com/psicc2
QP GitHub repository with example code: https://github.com/QuantumLeaps/qpc-examples
Inertia website: http://www.inertiapd.com/
Mitch English LinkedIn: https://www.linkedin.com/in/mitchellenglish/