Run-time modules for dynamically adjusting computer operation
AssigneeApple Computer, Inc.
InventorsColm J. Murphy, James Kateley, Byron Han, Ken Fitzgerald-Smith
Life of this patent
Estimating the term…
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.
Claims16
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.
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.
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.
Dependencies are inferred from the claim text.