It feels like the author is discussing the concept of Digital Twins, common in IoT, which use a similar approach to replicate the state of a complex system. I've never heard of "phase lock" used in this context (presumably, carried over from the notion of a PLL) but I think the analogy isn't particularly good, and the concept is already widely used in the IoT space under a different name.
> presumably, carried over from the notion of a PLL
yep, the article links to this Wiki article about the concept in control systems
Interesting, but what happens if the host crashes while in the middle of programming the device? I understand this is commonly-understood to be the way bricks are made, but it’s useful to think about. How can the host determine what state it was in to resume where it left off?
At least when I did a firmware update algorithm, the first step was to checksum existing firmware on the device in blocks. Then I just tried to only update blocks with an incorrect checksum. This effectively implemented a resume feature.
I think embedded programming could really benefit from async/co-routine programming, especially around interrupt routines. I’d like to be able to write an ISR function that looks like straight line code. It would enabled and awaits the interrupt, then returns back to that point once the interrupt is active, restoring the local function state.
It would be cool if Node.JS could be used to directly write to IoT (I mean, probably could with a native addon / extension / dot-node -- but maybe the API would be funky because of funky kernel level APIs?). But there are coroutine libraries in C.