Architectural style that decomposes firmware into autonomous components communicating via messages or events instead of shared memory. Common implementations include actor models, message-bus middleware (Zenoh, Cyclone DDS, ROS 2 nodes), and OS-level component frameworks (Zephyr device model, ESP-IDF components).
Prototype one self-contained subsystem (sensor pipeline, comms stack) with a message-driven architecture, measure the overhead vs. a shared-state baseline, and decide whether the maintainability gain justifies the cost before applying it broadly.
Replaces the prior 'Microservice Architecture for Embedded' framing — true microservices imply cloud-native runtimes that don't fit firmware constraints. Pairs naturally with simulation-first workflows since component boundaries make swap-in simulators trivial.