State-based machine-based scripting applications and systems
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- NUTCRACKER THERAPEUTICS INC
- Filing Date
- 2022-08-29
- Publication Date
- 2026-05-11
Smart Images

Figure 0007856746000004 
Figure 0007856746000005 
Figure 0007856746000006
Abstract
Claims
1. A system, wherein the system A non-temporary, computer-readable medium for storing multiple scripts, A computer to carry out the action and Equipped with, Each of the aforementioned multiple scripts, It has a corresponding scriptable device from multiple scriptable devices, and The device has a set of operations, The aforementioned act, A system that, based on determining that an application command should be executed, performs an operation cycle that includes adding a globally unique identifier corresponding to that application command and the device operation corresponding to that application command to a log.
2. The actions performed by the computer are performed for each of the multiple scriptable devices, Determining when each device operation from each script, for which the device is the corresponding scriptable device, is included in a plurality of mapped device operations encoded in data stored in the non-temporary computer-readable medium, The system according to claim 1, further comprising generating an error message for each script that includes a device operation which is determined to be the corresponding scriptable device and is not included in the mapped plurality of device operations.
3. The non-temporary computer-readable medium, for each of the mapped device operations, The conversion between the device operation and the corresponding application command, It further stores data indicating a corresponding device module definition that defines a device module object for executing the corresponding application command for the operation of that device, and The system according to claim 1, wherein for each of the mapped device operations, the data indicating the conversion between the device operation and the corresponding application command is included in the device module definition corresponding to the device operation.
4. The aforementioned operation cycle is The system receives execution commands from the aforementioned multiple scripts to run the scripts, In response to receiving the execution command, for each device operation from the plurality of device operations included in the script, Confirm that the device operation is included in the multiple mapped device operations, The system according to claim 3, comprising verifying that the device operation having any associated parameters is executable by the device module defined by the device module definition corresponding to the device operation.
5. The non-temporary computer-readable medium stores, for each of the mapped device operations, data indicating one or more inputs provided to the corresponding device from the multiple scriptable devices when the device operation is performed, and the conversion between the device operation and the corresponding application command. When executing the aforementioned operation cycle, it is determined whether the application command should be executed. The enqueue of the application command to the queue corresponding to the device corresponding to the device operation of the application command, wherein the device is referred to here as the device corresponding to the application command, and the enqueue is performed. The system according to claim 1, further comprising checking the status of a thread corresponding to a device corresponding to the application command.
6. The non-temporary computer-readable medium stores, for each of the mapped device operations, data indicating one or more inputs provided to the corresponding device from the multiple scriptable devices when the device operation is performed, and the conversion between the device operation and the corresponding application command. The system according to claim 1, wherein determining whether the application command should be executed when performing the operation cycle includes receiving, via a graphical user interface, an instruction to control the device corresponding to the device operation of the application command.
7. A method performed by a computer according to Claim 1, wherein the method is For each of the multiple device object definitions, Allocating memory for a device object corresponding to that device object definition, wherein the device object corresponding to that device object definition has a command queue, The following instructions: In order to track the current state of the device object corresponding to that device object definition, When the current state of the device object corresponding to that device object definition is the same as the state specified in that device object definition, in order to execute one or more actions specified in the device object definition for the command specified for the current state of the device object, and To determine whether to update the current state of the device object corresponding to that device object definition, based on the existence and priority of commands in the command queue included in the device object corresponding to that device object definition. A method that includes assigning a corresponding thread to execute the instructions of a certain entity.
8. Each device object definition specifies a set of actions to be performed while the device object defined by that device object definition is idle, and The method of claim 7, wherein for each device object definition, the corresponding thread is for performing the set of operations specified to be performed while the device object defined by that device object definition is idle.
9. The aforementioned multiple device object definitions include a temperature controller device object definition, The method of claim 8, wherein the set of operations specified by the temperature controller device object definition to be performed while the device object defined by the temperature controller device object definition is idle includes checking the temperature of the system.
10. The method according to claim 7, wherein for each device object definition, all loops included in that device object definition have deterministic termination.
11. Each device object definition is inherited from a module class definition, and each data object defined by a definition that inherits the module class definition is, Idle state and Stopped state, Shutdown state and A state machine having states including a boot-up state, and The method according to claim 7, comprising a command queue.
12. The method includes obtaining a plurality of intermediate module definitions, each intermediate module definition including a reference to a set of device objects corresponding to a device object definition, The method includes obtaining a module manager definition, Each device object definition corresponds to a physical device, For each device object definition, the module manager definition includes instructions for controlling the physical device corresponding to that device object definition by an action, and the action is Instantiating a command object, This includes passing the command object to the intermediate module defined by the intermediate module definition, The intermediate module definition includes a reference to the device object corresponding to the device object definition, The command object is defined by the command object definition, and The method according to claim 7, wherein both the command object definition and the module class definition inherit the base object definition.
13. Whenever an object defined by a definition that inherits the base object definition is instantiated, To generate a unique identifier for that object, The method according to claim 12, comprising an instruction for storing the aforementioned unique identifier in the object as private data.
14. A system, wherein the system A non-temporary computer-readable medium for storing multiple scripts, A computer to carry out the action and Equipped with, Each of the scripts from the aforementioned multiple scripts It has a corresponding scriptable device from multiple scriptable devices, and The device has a set of operations, The aforementioned act, The act of launching an application, wherein the act of launching the application, for each of the multiple mapped device object definitions, Allocating memory for a device object corresponding to that device object definition, wherein the device object corresponding to that device object definition has a command queue, and the allocation is performed. The following instructions: In order to track the current state of the device object corresponding to that device object definition, When the current state of the device object corresponding to that device object definition is the same as the state specified in that device object definition, in order to execute one or more actions specified in the device object definition for the command specified for the current state of the device object, and To determine whether to update the current state of the device object corresponding to that device object definition, based on the existence and priority of commands in the command queue included in the device object corresponding to that device object definition. This includes assigning a corresponding thread to execute the instructions, and starting the program. A system that, based on determining that an application command should be executed, performs an operation cycle that includes logging a globally unique identifier corresponding to that application command and the device operation corresponding to that application command.
15. The actions performed by the computer are performed for each of the multiple scriptable devices, Determining when each device operation from each script, for which the device is the corresponding scriptable device, is included in the mapped device operations, The system according to claim 14, further comprising generating an error message for each script that includes a device operation which is determined not to be included in the mapped plurality of device operations, provided that the device is the corresponding scriptable device.
16. The non-temporary computer-readable medium, for each of the mapped device operations, The conversion between the device operation and the corresponding application command, It further stores data indicating a corresponding device module definition that defines a device module object for executing the corresponding application command for the operation of that device, and The system according to claim 14 or 15, wherein for each of the mapped device operations, the data indicating the conversion between the device operation and the corresponding application command is included in the device module definition corresponding to the device operation.
17. The aforementioned operation cycle is The process involves receiving execution commands from the aforementioned multiple scripts to run the scripts, In response to receiving the execution command, for each device operation from the plurality of device operations included in the script, Confirm that the device operation is included in the multiple mapped device operations, The system according to claim 16, comprising verifying that the device operation having any associated parameters is executable by the device module defined by the device module definition corresponding to the device operation.
18. The non-temporary computer-readable medium stores data indicating multiple intermediate module definitions for each of the multiple mapped device operations, each intermediate module definition including a reference to a set of device objects corresponding to one of the scriptable devices, Based on the determination that the aforementioned application command should be executed, the operation cycle is performed. This involves instantiating a command object corresponding to that application command, This includes passing the command object to an intermediate module, The system according to claim 14, wherein the command object, each device object, and each intermediate module instantiate a class that inherits a common base object definition.
19. Whenever an object defined by a definition that inherits the base object definition is instantiated, To generate a unique identifier for that object, The system according to claim 18, comprising instructions for storing the aforementioned unique identifier in the object as private data.
20. The system according to claim 14, wherein for each device object definition, all loops included in that device object definition have deterministic termination.