Finite state machine forming
AssigneeInternational Business Machines Corporation
InventorsAharon Abadi, Moria Abadi, Idan Ben-Harrush
Life of this patent
Estimating the term…
Abstract
Techniques for representing a finite state machine forming are described herein. The techniques include a method that identifies screens of a computing program. The method may include correlating the identified screens with states of a finite state machine. Events indicating transition between the identified screens may be determined as well as data flow associated with the events. The method may include forming a graph representing the screens, events, and data flow in the finite state machine.
Claims14
A method, comprising:
- identifying screens of a computing program;
- correlating the identified screens with states of a finite state machine;
- determining events indicating transitions between the identified screens, the identified screens comprising at least a first screen to detect a customer identification number, wherein at least one of the events indicating at least one of the transitions comprises a combination of a user action and an incoming communication from a global positioning sensor signal;
- determining data flow between the screens associated with the transitions, the data flow comprising the customer identification number that enables at least a second screen to detect feedback;
- forming a finite state machine graph representing the screens, events, and data flow in the finite state machine, the finite state machine graph comprising nodes corresponding to the identified screens, edges corresponding to the data flow between the screens associated with the transitions, and an entry server-side node enabling each node of the finite state machine to access an item database and a customer database, wherein the customer database comprises data indicating specific items for which a user has not left feedback, and wherein a first code for one of the identified screens related to displaying a picture of a selected item from a query and a second code for one of the identified screens related to displaying a chosen item corresponding to a purchase are combined into a single node of the finite state machine graph, wherein the combined single node comprises a shared functionality of displaying the picture of the selected item of the first code and displaying the chosen item of the second code, and wherein the first code or the second code in the single node of the finite state machine graph is executed in response to detecting the event indicating the at least one transition comprising the combination of the user action and the incoming communication from the global positioning sensor signal;
- and
- modifying a compiler to perform automated code refactoring based on the finite state machine graph.
A computing device, comprising:
- a storage device;
- a processor;
- the storage device having instructions that when executed by the processor, cause the computing device to:
- identify screens of a computing program;
- correlate the identified screens with states of a finite state machine;
- determine events indicating transitions between the identified screens, the identified screens comprising at least a first screen to detect a customer identification number, wherein at least one of the events indicating at least one of the transitions comprises a combination of a user action and an incoming communication from a global positioning sensor signal;
- determine data flow associated with the transitions, the data flow comprising the customer identification number that enables at least a second screen to detect feedback;
- form a finite state machine graph representing the screens, events, and data flow in the finite state machine, the finite state machine graph comprising nodes corresponding to the identified screens, edges corresponding to the data flow between the screens associated with the transitions, and an entry server-side node enabling each node of the finite state machine to access an item database and a customer database, wherein the customer database comprises data indicating specific items for which a user has not left feedback, and wherein a first code for one of the identified screens related to displaying a picture of a selected item from a query and a second code for one of the identified screens related to displaying a chosen item corresponding to a purchase are combined into a single node of the finite state machine graph, wherein the combined single node comprises a shared functionality of displaying the picture of the selected item of the first code and displaying the chosen item of the second code, and wherein the first code or the second code in the single node of the finite state machine graph is executed in response to detecting the event indicating the at least one transition comprising the combination of the user action and the incoming communication from the global positioning sensor signal;
- and
- modify a compiler to perform automated code refactoring based on the finite state machine graph.
A non-transitory computer readable storage medium for forming a finite state machine having program code embodied therewith, the program code executable by a processor to perform a method comprising:
- identifying, by the processor, screens of a computing program;
- correlating, by the processor, the identified screens with states of a finite state machine;
- determining, by the processor, events indicating transitions between the identified screens, the identified screens comprising at least a first screen to detect a customer identification number, wherein at least one of the events indicating at least one of the transitions comprises a combination of a user action and an incoming communication from a global positioning sensor signal;
- determining, by the processor, data flow associated with the transitions, the data flow comprising the customer identification number that enables at least a second screen to detect feedback;
- forming, by the processor, a finite state machine graph representing the screens, events, and data flow in the finite state machine, the finite state machine graph comprising nodes corresponding to the identified screens, edges corresponding to the data flow between the screens associated with the transitions, and an entry server-side node enabling each node of the finite state machine to access an item database and a customer database, wherein the customer database comprises data indicating specific items for which a user has not left feedback, and wherein a first code for one of the identified screens related to displaying a picture of a selected item from a query and a second code for one of the identified screens related to displaying a chosen item corresponding to a purchase are combined into a single node of the finite state machine graph, wherein the combined single node comprises a shared functionality of displaying the picture of the selected item of the first code and displaying the chosen item of the second code, and wherein the first code or the second code in the single node of the finite state machine graph is executed in response to detecting the event indicating the at least one transition comprising the combination of the user action and the incoming communication from the global positioning sensor signal;
- and
- modifying a compiler to perform automated code refactoring based on the finite state machine graph.
Dependencies are inferred from the claim text.