Practical Statecharts in C/C++: Quantum Programming for Embedded Systems

State machines are a superb formalism for specifying and implementing event-driven systems that must react to incoming events in a timely fashion. The UML statecharts represent the current state of the art in state machine theory and notation.
Part I of this book introduces the concept of statecharts, describes concrete techniques of coding statecharts directly in C and C++, and presents a small catalogue of basic statechart-based design patterns. You will learn that statecharts are a powerful way of design that you can use even without the assistance of sophisticated code-synthesizing tools.
I have found out there ain't no surer way to find out whether you like people or hate them than to travel with them.
Tom Sawyer Abroad [Mark Twain]
The triumph of the graphical user interface has been one of the most impressive developments in software during the past three decades. [1] Today the concept is so familiar as to need no description. Although from the beginning, windows, icons, menus, and pointing have been intuitive and easy to grasp for users, they remain a challenge for programmers. The internal GUI architecture baffles many newcomers, who often find it strange, backwards, mind-boggling, or weird. GUI programming is different because unlike traditional data processing, it is entirely event-driven. Events...