|
Practical Statecharts in C/C++
State-oriented programming is an important new extension to OOP that promises to achieve the kind of cachet with embedded systems designers that design patterns have achieved with the general audience. Hierarchical statecharts are one of the most powerful formalisms available for describing and designing reactive (event-driven) systems. Recently, these
statecharts have been embraced by many software methodologies, including the Unified Process (UML). Adoption of the statechart formalism has been slowed by the misperception that they're a "heavyweight" technique only appropriate when automatic code generation is supported. In the spirit of eXtreme Programming, the author's Quantum Programming is a lightweight method that allows programmers to quickly hand-code working real-time systems in C and C++ directly from UML statecharts. Implementation is presented in several modes. First, the author uses a "state-oriented cookbook" to show step-by-step how to write optimal and efficient C and C++ directly from the information in the statecharts. Second, he presents a lightweight framework for developing embedded real-time applications based on statecharts. Finally, readers learn how code generators are able to produce completed applications from the statecharts.
|