|
|
||||||||||
Science is a collection of successful recipes.
—Paul Valery (1871-1945)
General IntroductionHierarchical State Machines (HSMs) are a superb formalism for specifying and implementing event-driven systems. Active objects in the UML specification are the roots of threads of control in multitasking systems and engage one another asynchronously via events. The UML further proposes the UML variant of statecharts, with which to model the behavior of event-driven active objects. Here you can find a brief introduction to these profound concepts. | |
|
Brief Introduction to State Machines and Statecharts. |
|
Brief Introduction to Active Object Computing Model. |
Top of page
State Machine RecipesState Machine recipes provide step-by-step instructions for coding state machines. You'll learn how to code hierarchical states, transitions, internal transitions, initial transitions, entry/exit actions, guards, choice-points, etc. | |
|
Designing a Hierarchical State Machine (HSM) is not a strict science. Typically it is an iterative and incremental process: you design a little, code a little, test a little, and so on. In that manner you may converge at a correct design in many different ways, and typically also, more than one correct HSM design exists. To focus the discussion, this recipe walks you through a design of a simple four-operation calculator. Obviously, the presented solution is just one of the many possible. |
|
This recipe walks you through the details of implementing a nontrivial Hierarchical State Machine (HSM) in C. |
|
This recipe walks you through the details of implementing a nontrivial Hierarchical State Machine (HSM) in C++. |
|
This recipe walks you through the details of implementing a nontrivial Hierarchical State Machine (HSM) in Java. |
|
RECIPE: Coding a HSM in Action Script This recipe walks you through the details of implementing a nontrivial Hierarchical State Machine (HSM) in Action Script. |
Top of page
Active Objects RecipesActive Object recipes provide step-by-step instructions for coding active objects. You'll learn how to derive your own active objects, how to add state behavior, how to start an active object, how to pass events, etc. | |
Top of page
| |
Object Oriented RecipesObject Oriented Programming (OOP) is a fundamental way of design, and not the use of a particular language or a design-automation tool. Here you can learn how to implement the most important OOP concepts in C | |
|
Simple Encapsulation and Inheritance in C |
|
"C+"—Object Oriented Programming in C |
|
C+ source code, sample application, and Programmer's Manual (456KB) |
Top of page
Version: March 26, 2005





