Table of Contents: Preface PART I: STATE-ORIENTED CONCEPTS Chapter 1: Whirlwind Tour of State-Oriented Programming 1.1 The "Ultimate Hook" - Anatomy of GUI Application 1.2 Better Windows Programming - Calculator That Works 1.3 Object-Oriented Analogy1.3.1 State Hierarchy - Class Taxonomy 1.5 Beyond Object - Oriented Programming 1.6 Summary Chapter 2: A Crash Course to Statecharts 2.
1 Statechart Building Blocks - Events, States, Reactions, and Transitions 2.2 State Hierarchy - Group Reactions and Group Transitions 2.3 Guaranteed Initialization and Cleanup - Entry and Exit Actions 2.4 Model Execution - Run-to-Completion Step Chapter 3: Standard State Machine Implementations 3.1 Nested Switch Statement 3.2 Action-State Table 3.3 The "State" Design Pattern 3.4 Other Implementations Chapter 4: State-Oriented HSM Pattern 4.
1 Feature Selection 4.2 Messages, Events, and Event Parameters 4.3 State-Handler Methods 4.4 HSM "Engine" 4 .5 Transition Objects and Optimization Chapter 5: "C"+: Object-Oriented Programming in C 5.1 Abstraction 5.2 Inheritance 5.3 Polymorphism 5.
4 Cost of Abstraction, Inheritance, and Polymorphism 5.5 Implementing Hierarchical State Machine Pattern in "C+" 5.6 Implementing Watch Example in "C+" 5.7 Summary Chapter 6: State-Oriented Design Patterns 6.1 Ultimate Hook 6.2 Orthogonal Component 6.3 Synchronized Event 6.4 Deferred Event 6.
5 Interrupt 6.6 Polling 6.7 Watchdog Chapter 7: Inheriting State Models 7.1 Rules for Inheriting Statecharts 7.2 Calculator2: Extending Calculator GUI 7.3 Watch2: Extending Simple Digital Watch PART II STATE-ORIENTED FRAMEWORK Chapter 8: Ground Rules 8.1 What Was Wrong with Therac-25? 8.2 "Single Purpose" Embedded System Chapter 9: Roles of the State-Oriented Framework 9.
1 Conceptual Integrity 9.2 Application Skeleton9.3 Basis for Automatic Code Generation 9.4 RTOS Abstraction Layer 9.5 API for Integration of Third-Party Components Chapter 10: Framework Elements and Implementation 10.1 Active Objects 10.2 Messages 10.3 Timers 10.
4 Framework API Summary Chapter 11: Sample Application and Framework-Use Heuristics 11.1 Sample Application Example 11.2 Real-Time Framework-Use Heuristics Chapter 12: Porting State-Oriented Framework 12.1 Porting Active Objects 12.2 Porting Message Pools 12.3 Porting Timing Services Chapter 13: Conclusion Appendix A Accompanying CD-ROM Appendix B Answers to the Exercises Appendix C State-Oriented Cookbook C.1 Recipe for Translating Statechart to C++/C+ Bibliography.