|
|
|
|
|
by RossBencina
2266 days ago
|
|
To these links I would also add Miro Samek's book "Practical UML Statecharts in C/C++," which covers details of implementing (hierarchical) statecharts. The book includes a chapter that analyses different ways of encoding extended state machines (Miro concludes a function pointer, with one event handler function per state is the best for C/C++. I don't think this is the encoding that the linked Rust article uses). A simple algorithm for implementing HSMs is described. A large portion of the book is devoted to what you might call "UML Statecharts -- The Good Parts," the parts of the UML statecharts spec that are easy to implement in a real-time setting, and idioms/patterns to achieve similar results as the parts of the spec that are not easy to implement. Some of Miro's online writings: https://barrgroup.com/embedded-systems/how-to/state-machines...
https://barrgroup.com/embedded-systems/how-to/introduction-h... https://www.drdobbs.com/who-moved-my-state/184401643 [Edit: clarity] |
|