Method and system for state machine translation
First Claim
1. A computer-implemented method of translating a state machine into an executable state machine program, the method comprising:
- determining states and transitions in a state machine;
generating a first structure representing the state machine by associating events in the state machine with the determined states and transitions;
generating an executable state machine program having a second structure that operates in non-final states; and
generating statements within the second structure for detecting an event, evaluating the detected event based on a current state to identify if the current state is valid for the detected event, and determining a next state if the current state is valid; and
wherein the step of generating a first structure comprises;
determining all events in the state machine;
correlating the events with states in the state machine; and
correlating the event correlated states with transitions in the state machine to form the first structure.
1 Assignment
0 Petitions
Accused Products
Abstract
A state machine program is generated from a state machine. The state machine has states, transitions and events. A basic structure for the state machine program is generated. The basic structure has therein a structure that operates in non-final states. A statement is generated within the structure for detecting an event. A statement is generated within the structure for evaluating the detected event based on a current state to identify if the current state is valid for the detected event. A statement is generated within the structure for determining a next state if the current state is valid. A statement is generated within the structure for transitioning the current state to the next state.
41 Citations
49 Claims
-
1. A computer-implemented method of translating a state machine into an executable state machine program, the method comprising:
-
determining states and transitions in a state machine; generating a first structure representing the state machine by associating events in the state machine with the determined states and transitions; generating an executable state machine program having a second structure that operates in non-final states; and generating statements within the second structure for detecting an event, evaluating the detected event based on a current state to identify if the current state is valid for the detected event, and determining a next state if the current state is valid; and
wherein the step of generating a first structure comprises;determining all events in the state machine; correlating the events with states in the state machine; and correlating the event correlated states with transitions in the state machine to form the first structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of translating a state machine into an executable state machine program comprising:
-
determining states and transitions in a state machine; generating a first structure representing the state machine by associating events in the state machine with the determined states and transitions; and generating an executable state machine program having a second structure that operates in non-final states wherein during execution the second structure performs detecting an event, evaluating the detected event based on a current state to identify if the current state is valid for the detected event, and transitioning the current state to a next state; and
wherein the step of generating a first structure comprises;determining all events in the state machine; correlating the events with states in the state machine; and correlating the event correlated states with transitions in the state machine to form the first structure. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. A method of generating an executable state machine program from a state machine, the state machine having states, transitions and events, said method comprising:
-
determining states and transitions in a state machine; associating events in the state machine with the determined states and transitions; generating a basic structure for an executable state machine program, the basic structure having therein a structure that operates in non-final states; generating a statement within the structure for detecting an event; generating a statement within the structure for evaluating the detected event based on a current state to identify if the current state is valid for the detected event; generating a statement within the structure for determining a next state if the current state is valid; and generating a statement within the structure for transitioning the current state to the next state; and
wherein the step of generating a first structure comprises;determining all events in the state machine; correlating the events with states in the state machine; and correlating the event correlated states with transitions in the state machine to form the first structure. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. A system for translating a state machine into an executable state machine program comprising:
-
a processor configured to execute a state machine translator which includes; a lexical analyzer for determining states and transitions in the state machine; a parser for associating events and the determined states and transitions in the state machine; and a program generator for generating an executable state machine program, said program generator comprising; a state process component for generating a structure in the executable state machine program that operates in non-final states, said state process component comprising; an events component for generating a statement within the structure for detecting an event, the events component comprising; an event determination component for generating a statement within the structure for evaluating the detected event based on a current state to identify if the current state is valid for the detected event; and a transition component for generating a statement within the structure for determining a next state if the current state is valid; and
wherein the parser comprises;a state mapping component for correlating events in the state machine with states in the state machine; and a transition mapping component for correlating the event correlated states with transitions in the state machine to form the tree structure. - View Dependent Claims (29, 30, 31, 32, 33, 34)
-
-
35. A computer readable storage medium having stored thereon computer executable instructions for translating a state machine into an executable state machine program, the computer-executable instructions implementing a method comprising:
-
determining states and transitions in a state machine; associating events with the determined states and transitions in the state machine; generating an executable state machine program having a structure that operates in non-final states; and generating statements within the structure for detecting an event, evaluating the detected event based on a current state to identify if the current state is valid for the detected event, and determining a next state if the current state is valid; and
a state mapping component for correlating events in the state machine with states in the state machine; anda transition mapping component for correlating the event correlated states with transitions in the state machine to form the tree structure. - View Dependent Claims (36, 37, 38, 39, 40)
-
-
41. A computer readable storage medium having stored thereon computer-executable instructions for translating a state machine into an executable state machine program the computer-executable instructions implementing a method comprising:
-
determining states and transitions in a state machine; associating the determined states and transitions with events in a state machine; generating the executable state machine program having a structure that operates in non-final states, wherein during execution the structure is configured to perform detecting an event, evaluating the detected event based on a current state to identify if the current state is valid for the detected event, and transitioning the current state to a next state;
wherein generating the executable state machine program comprises;generating a basic form for the executable state machine program; and generating the structure where the structure is a loop that operates for non-final states, and wherein the generating statements within the structure comprises; generating an iterative structure within the structure to perform the detecting and evaluating until either the detected event is valid for the current state or an error occurs. - View Dependent Claims (42, 43, 44, 45)
-
-
46. A computer readable storage medium having stored thereon computer-executable instructions for generating an executable state machine program from a state machine, the state machine having states, transitions and events, the computer-executable instructions implementing a method comprising:
-
determining states and transitions in a state machine; associating events in the state machine with the determined states and transitions; generating a basic structure for the executable state machine program, the basic structure having therein a structure that operates in non-final states; generating a statement within the structure for detecting an event; generating a statement within the structure for evaluating the detected event based on a current state to identify if the current state is valid for the detected event; generating a statement within the structure for determining a next state if the current state is valid; and generating a statement within the structure for transitioning the current state to the next state; and
wherein the generating the executable state machine program comprises;generating a basic form for the executable state machine program; and generating the structure where the structure is a loop that operates for non-final states, and wherein the generating statements within the structure comprises; generating an iterative structure within the structure to perform detecting and evaluating until either the detected event is valid for the current state or an error occurs. - View Dependent Claims (47, 48, 49)
-
Specification