Method, apparatus, and program for a state machine framework
First Claim
1. A method for providing a software state machine, comprising:
- providing a first state machine object, wherein the first state machine object is configured to use a first initializer object to execute a first software state machine; and
providing a second state machine object, wherein the second state machine object is configured to use a second initializer object to execute a second software state machine, wherein the second state machine object is configured to interact with the first state machine object based on the second initializer object.
1 Assignment
0 Petitions
Accused Products
Abstract
A programming framework is provided for designing and implementing software state machines. A state machine initializer may be created that defines the states, conditions, actions, triggers, and state transitions for the software state machines. A set of user interfaces, such as graphical user interfaces, may also be provided for creating initializers. An abstract state machine object may then be created that creates an instance of a particular state machine initializer. The state machine initializer acts as a helper to the state machine object, which uses the initializer to create an array of state transition objects. Once the state machine object creates the array of state transition objects, the state machine is ready to run. A set of programming interfaces may also be provided to define the programming framework. Events generated by one state machine may be used as triggers by another state machine. Furthermore, state values of one state machine may be used as inputs by another state machines. State machines may also share triggers and inputs.
36 Citations
22 Claims
-
1. A method for providing a software state machine, comprising:
-
providing a first state machine object, wherein the first state machine object is configured to use a first initializer object to execute a first software state machine; and
providing a second state machine object, wherein the second state machine object is configured to use a second initializer object to execute a second software state machine, wherein the second state machine object is configured to interact with the first state machine object based on the second initializer object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An apparatus for providing a software state machine, comprising:
-
a processor; and
a memory having stored therein a first state machine object, a first initializer object, a second state machine object, and a second initializer object, wherein the first state machine object is configured to use the first initializer object to execute a first software state machine;
wherein the second state machine object is configured to use the second initializer object to execute a second software state machine; and
wherein the second state machine object is configured to interact with the first state machine object based on the second initializer object. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer program product, in a computer readable medium, for providing a software state machine, comprising:
-
instructions for providing a first state machine object, wherein the first state machine object is configured to use a first initializer object to execute a first software state machine; and
instructions for providing a second state machine object, wherein the second state machine object is configured to use a second initializer object to execute a second software state machine, wherein the second state machine object is configured to interact with the first state machine object based on the second initializer object.
-
Specification