Run-time modules for dynamically adjusting computer operation
First Claim
1. At least one storage medium, readable by a computer, having stored thereon a computer program including at least one code module interface (CMI) defined by a first set of software code and a state machine defined by a second set of software code having a plurality of states each state having at least one predetermined exit criterion, said program executable by the computer for causing the computer to perform the steps of:
- registering said at least one CMI during an initialization state of said state machine;
determining, based on said step of registering, at least one state within said state machine upon exit of which said at least one CMI is to be executed;
executing said CMI when said computer exits said at least one determined state within said computer program; and
re-entering said computer program at a state determined by said CMI, when said CMI executing step has ended, whereing functionality of said state machine is adjusted without altering said second set of software code.
2 Assignments
0 Petitions
Accused Products
Abstract
Code module interfaces are provided which allow a user to adjust the functionality of a program at run-time. The code module interfaces (CMIs) can be selectively activated by a user at run-time. Then, the control software will call the CMIs at various instances, for example, at startup, after each state change in the control software, at idle time and when the control software has completed all of its tasks. Alternatively, when each CMI is loaded, it can specify at which state change(s) that CMI is to be called to increase speed of operation.
26 Citations
16 Claims
-
1. At least one storage medium, readable by a computer, having stored thereon a computer program including at least one code module interface (CMI) defined by a first set of software code and a state machine defined by a second set of software code having a plurality of states each state having at least one predetermined exit criterion, said program executable by the computer for causing the computer to perform the steps of:
-
registering said at least one CMI during an initialization state of said state machine;
determining, based on said step of registering, at least one state within said state machine upon exit of which said at least one CMI is to be executed;
executing said CMI when said computer exits said at least one determined state within said computer program; and
re-entering said computer program at a state determined by said CMI, when said CMI executing step has ended, whereing functionality of said state machine is adjusted without altering said second set of software code. - View Dependent Claims (2, 3, 4, 5, 6)
providing, by said CMI, a mask which identifies state transitions at which said CMI is to be called.
-
-
4. The storage medium of claim 1, further comprising the steps of:
-
executing said CMI at another of said at least one determined states in said state machine program; and
providing a variable set of arguments associated with execution of said CMI, wherein said step of executing said CMI at said at least one determined state and said step of executing said CMI at said another of said at least one determined states are performed using different sets of arguments.
-
-
5. The storage medium of claim 1, further comprising the step of:
providing, as said CMI, a plurality of subsets of code within said first set of software code, each of which subsets are associated with a different state of said state machine.
-
6. The storage medium of claim 5, wherein said step of executing further comprises the step of:
running one of said subsets of said first set of software code that is associated with a state of said state machine indicated by said at least one step.
-
7. A storage medium, readable by a computer, having stored thereon a computer program including at least code module interface plug-in module executable by the computer for causing the computer to perform the steps of:
-
registering said at least one plug-in module;
determining, based on said step of registering, at least one step within said computer program wherein said at least one plug-in module is to be executed;
executing said plug-in module when said computer reaches said step within said computer program; and
allowing said plug-in module to determine a re-entry step within said computer program for re-entering said computer program when said plug-in module executing step has ended. - View Dependent Claims (8, 9, 10, 11, 12)
providing, by said CMI, a mask which identifies state transitions at which said plug-in module is to be called.
-
-
10. The storage medium of claim 7, further comprising the steps of:
-
executing said plug-in module at another step in said computer program; and
providing a variable set of arguments associated with execution of said plug-in module, wherein said step of executing said plug-in module at said at least one step and said step of executing said plug-in module at said another step are performed using different sets of arguments.
-
-
11. The storage medium of claim 7, further comprising the step of:
providing, as said plug-in module, a plurality of sets of code, each of which are associated with a different state of said computer program.
-
12. The storage medium of claim 11, wherein said step of executing further comprises the step of:
running one of said sets of code that is associated with a state of said computer program indicated by said at least one step.
-
13. A method for adjusting the functionality of software code without altering the software code itself, said software code defining a plurality of states, each state having at least one predetermined exit criterion, said method comprising the steps of:
-
storing at least one code interface module (CMI) on a computer readable medium in a predetermined memory location;
launching said software code;
registering, by said software code, said CMI including identifying a state within said software code upon exit of which said CMI is to be run;
running said CMI after said at least one predetermined exit criterion associated with said identified state has been satisfied; and
returning to a state within said software code determined by said CMI after said CMI has finished running. - View Dependent Claims (14, 15, 16)
providing a user interface for identifying selectable CMIs for run-time operation with said software code; and
selecting, by a user said CMI from said identified selectable CMIs.
-
-
16. The method of claim 13, wherein said step of registering further comprises:
providing, by said CMI, a mask which identifies state transitions at which said CMI is to be called.
Specification