Control method and apparatus for automated process, electronic device, and storage medium
By adjusting the time arrangement of steps that have not yet started in the automated process and optimizing the time schedule based on the actual completion time and sequence relationship, the problem of unmet step constraints in the automated process is solved, the continuity and stability of the process are improved, and the computational efficiency is increased while the latency is reduced.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- MEGAROBO TECH CO LTD
- Filing Date
- 2025-09-24
- Publication Date
- 2026-07-02
AI Technical Summary
In existing technologies, the dynamic adjustment of the planning schedule for automated processes cannot adequately meet the constraints between each step, which affects the continuity and stability of the automated processes, and is computationally complex and inefficient.
During the execution of the automated process, the time arrangement of steps that have not yet started is adjusted based on the actual completion time of the completed steps and the order relationship, generating a first timetable. By judging and adjusting the deviation of the interval duration, the planned start time of steps that have not yet started is optimized to meet the time constraints.
It achieves the continuity and stability of automated processes, simplifies the calculation process, improves efficiency, and reduces latency.
Smart Images

Figure CN2025123548_02072026_PF_FP_ABST
Abstract
Description
Control methods, devices, electronic equipment and storage media for automated processes
[0001] This application claims priority to Chinese Patent Application No. 202411944069.X, filed on December 26, 2024, entitled "Control Method, Apparatus, Electronic Device and Storage Medium for Automated Processes", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of control, and more specifically to a control method for an automated process, a control device for an automated process, an electronic device, a storage medium, and a computer program product. Background Technology
[0003] With the development of science and technology, automated processes have been widely applied and continuously expanded in many fields. Their complexity is showing a rising trend, involving increasingly numerous and intertwined operational steps, while also exhibiting increasing variability. Both internal parameter variations and the influence of external environmental factors cause changes in the operational steps of automated processes. Before executing an automated process, a schedule for each operational step can be generated, outlining the ideal time arrangement for each step. However, during actual execution, due to various factors, the actual completion of each step may differ from the planned schedule. Therefore, the planned schedule needs to be dynamically adjusted based on the actual completion status.
[0004] However, in related technologies, dynamic adjustments to the schedule often fail to adequately meet the constraints between each step. This frequently leads to unintended consequences during adjustments, affecting the continuity and stability of the entire automated process. Furthermore, the computations are complex, requiring significant computing resources and time, resulting in low efficiency, high latency, and ultimately impacting the operation of the automated process. Summary of the Invention
[0005] This application is made in consideration of the above-mentioned issues.
[0006] According to a first aspect of this application, a method for controlling an automated process is provided, comprising:
[0007] During the execution of the automated process, based on the actual completion time of the completed steps and the sequential relationship of the steps in the automated process, the time arrangement of the steps that have not yet started is adjusted to obtain a first timetable for the steps that have not yet started. Based on the first timetable and the time constraint duration between two adjacent steps, it is determined whether the interval duration between two adjacent steps meets the corresponding time constraint duration. If not, a first time potential is determined based on the interval duration between two adjacent steps and the corresponding time constraint duration, where the first time potential represents the degree to which the interval duration deviates from the corresponding time constraint duration. Based on the first time potential, the planned start time of the steps that have not yet started in the first timetable is adjusted to eliminate or shorten at least part of the first time potential. Finally, the steps that have not yet started are executed according to the adjusted first timetable.
[0008] In one possible implementation, during the execution of the automated process, based on the actual completion time of the completed steps and the sequential relationship of the steps in the automated process, the time arrangement of the steps that have not yet started is adjusted to obtain a first timetable for the steps that have not yet started. This includes: obtaining the dependencies between the steps that have not yet started based on the sequential relationship of the steps in the automated process, wherein the dependency indicates that the start of a step depends on the end of its dependent steps; determining the planned start time of each step that has not yet started based on the dependencies; and determining the first timetable for the steps that have not yet started based on the planned start time and corresponding end time of each step that has not yet started.
[0009] In one possible implementation, determining the planned start time of each unexecuted running step based on dependencies includes: obtaining all dependent running steps for each unexecuted running step according to dependencies; determining a starting running step, wherein the starting running step is the running step among all unexecuted running steps that has no dependent running steps or whose dependent running steps are all scheduled; determining the planned start time of the starting running step based on the latest end time of all dependent running steps of the starting running step, and marking the starting running step as scheduled; determining all influencing running steps of the starting running step according to dependencies, wherein the start of an influencing running step of a running step depends on the end of that running step; for each starting running step, determining all dependent running steps of each influencing running step of that starting running step according to dependencies; determining a first influencing running step as a new starting running step based on all dependent running steps determined for each starting running step, determining the planned start time of the new starting running step and marking the new starting running step as scheduled, until the planned start time of all unexecuted running steps is determined, wherein the first influencing running step is the step among the influencing running steps of the starting running step whose all dependent running steps are scheduled.
[0010] In one possible implementation, adjusting the planned start time of unexecuted operation steps in the first timetable according to the first timescale to eliminate or shorten at least part of the first timescale includes: for each unexecuted operation step, updating the first timescale corresponding to the unexecuted operation step based on the dependency relationship between the unexecuted operation step and other operation steps; and modifying the planned start time of the unexecuted operation step in the first timetable according to the updated first timescale.
[0011] In one possible implementation, updating the first duration potential corresponding to the unstarted running step based on its dependencies on other running steps includes: eliminating the first duration potential corresponding to the unstarted running step if the dependent running steps of the unstarted running step have corresponding first duration potentials; and eliminating the first duration potential corresponding to the dependent running steps of the unstarted running step if the dependent running steps of the unstarted running step do not have corresponding first duration potentials, without causing the dependent running steps of the unstarted running step to fail to have corresponding first duration potentials. If the time constraint duration is met, the first duration potential remains unchanged; if the planned start time of the unexecuted running step is moved by the first duration, it will cause the dependent running steps of the unexecuted running step to not meet its time constraint duration, then the first duration potential is updated. The updated first duration potential is the difference between the first value and the second value. The first value is the time constraint duration between the dependent running steps of the unexecuted running step and the unexecuted running step, and the second value is the interval duration between the planned end time of the dependent running steps of the unexecuted running step and the planned start time of the unexecuted running step.
[0012] In one possible implementation, adjusting the planned start time of an operational step that has not yet started in the first timetable according to a first timescale to eliminate or shorten at least part of the first timescale further includes: determining an allowable range of the planned start time of the operational step that has not yet started based on the first timetable and the dependency of the operational step that has not yet started on other operational steps; modifying the planned start time of the operational step that has not yet started in the first timetable according to the updated first timescale, including: modifying the planned start time of the operational step that has not yet started in the first timetable according to the allowable range and the updated first timescale.
[0013] In one possible implementation, modifying the planned start time of the unexecuted running step in the first timetable according to the allowed interval and the updated first time length potential further includes: if the second time length corresponding to the allowed interval of the planned start time of the unexecuted running step is greater than or equal to the first time length corresponding to the updated first time length potential, then shifting the planned start time of the unexecuted running step by the first time length; if the second time length corresponding to the allowed interval of the planned start time of the unexecuted running step is less than the first time length, then shifting the planned start time of the unexecuted running step by the second time length, updating the first time length potential corresponding to the unexecuted running step again, and setting the unexecuted running step to inactive, wherein the updated first time length potential is the difference between the first time length and the second time length; inactive indicates that the planned start time of the unexecuted running step in the first timetable cannot be modified; determining the blocking running step of the unexecuted running step, and determining the second time length potential of the blocking running step, wherein the blocking running step is the earliest executed step among the affected running steps of the unexecuted running step, and the second time length potential is the same as the updated first time length potential.
[0014] In one possible implementation, modifying the planned start time of the unstarted running step in the first timetable according to the allowed interval and the updated first time potential further includes: if the planned start time of the unstarted running step is moved and the unstarted running step is a blocking running step of another running step, then activating another running step, wherein activation indicates that the planned start time of the other running step in the first timetable can be modified.
[0015] In one possible implementation, based on a first timetable and the dependencies between the unstarted running step and other running steps, determining an allowable range for the planned start time of the unstarted running step includes: determining an upper bound for the allowable range based on the latest end time among the planned end times of the dependent running steps of the unstarted running step; and determining a lower bound for the allowable range based on the earliest start time among the planned start times of the running steps affected by the unstarted running step and the runtime of the unstarted running step, wherein the start of the running steps affected by a running step depends on the end of that running step.
[0016] In one possible implementation, determining whether the interval between two adjacent operating steps satisfies the corresponding time constraint duration based on a first timetable and the time constraint duration between two adjacent operating steps includes: determining a first interval duration between the planned end time of the first operating step and the planned start time of the second operating step based on the first timetable; determining whether the first interval duration satisfies the corresponding time constraint duration based on whether the first interval duration is greater than the time constraint threshold between the first operating step and the second operating step, wherein the time constraint duration between the first operating step and the second operating step is less than or equal to the time constraint threshold; if not satisfied, determining a first time constraint potential based on the interval duration between two adjacent operating steps and the corresponding time constraint duration includes: if not satisfied, determining the difference between the first interval duration and the time constraint threshold as the first time constraint potential.
[0017] According to a second aspect of this application, an automated process control device is also provided, comprising: a first adjustment module, a judgment module, a determination module, a second adjustment module, and an execution module. The first adjustment module is used to adjust the time arrangement of unstarted running steps during the execution of the automated process based on the actual completion time of completed running steps and the order of running steps in the automated process, to obtain a first timetable for unstarted running steps; the judgment module is used to determine whether the interval between two adjacent running steps meets the corresponding time constraint based on the first timetable and the time constraint duration between two adjacent running steps; the determination module is used to determine a first time potential based on the interval between two adjacent running steps and the corresponding time constraint duration if the constraint is not met, wherein the first time potential represents the degree to which the interval deviates from the corresponding time constraint duration; the second adjustment module is used to adjust the planned start time of the unstarted running steps in the first timetable based on the first time potential, so as to eliminate or shorten at least part of the first time potential; the execution module is used to execute the unstarted running steps according to the adjusted first timetable.
[0018] According to a third aspect of this application, an electronic device is also provided, comprising: a processor and a memory, wherein the memory stores computer program instructions, which, when executed by the processor, are used to perform a control method for an automated process as described above.
[0019] According to a fourth aspect of this application, a storage medium is also provided, on which program instructions are stored, which, when executed, are used to perform the control method of the automated process described above.
[0020] According to a fifth aspect of this application, a computer program product is also provided, including computer program instructions, which, when run, are used to execute a control method for the automated process described above.
[0021] The above technical solution, during the execution of the automated process, adjusts the time arrangement of steps not yet started based on the sequential relationship of the steps and the actual completion time of completed steps, thus obtaining a first timetable for steps not yet started. Based on this first timetable and the time constraint duration between two steps, it is determined whether the duration between the two steps meets the corresponding time constraint duration. If not, a first time duration potential is determined based on the duration between the two steps and the time constraint duration. Finally, the first timetable is adjusted again based on the first time duration potential, and the automated process is controlled according to the final first timetable. Therefore, the final timetable can effectively satisfy the constraints between steps, ensuring the continuity and stability of the entire automated process; it is also simple to calculate, highly efficient, and has low latency.
[0022] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this application more obvious and understandable, the following are specific embodiments of this application. Attached Figure Description
[0023] The above and other objects, features, and advantages of this application will become more apparent from the more detailed description of the embodiments of this application in conjunction with the accompanying drawings. The accompanying drawings are used to provide a further understanding of the embodiments of this application and form part of the specification. They are used together with the embodiments of this application to explain this application and do not constitute a limitation thereof.
[0024] Figure 1 shows a schematic flowchart of an automated process control method according to an embodiment of this application;
[0025] Figure 2 shows a schematic block diagram of a control device for an automated process according to an embodiment of this application;
[0026] Figure 3 shows a schematic block diagram of an electronic device according to an embodiment of this application. Detailed Implementation
[0027] To make the objectives, technical solutions, and advantages of this application more apparent, exemplary embodiments according to this application will be described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are merely a part of the embodiments of this application.
[0028] To at least address the aforementioned technical problems, the first aspect of this application proposes a control method for automated processes. This method can effectively satisfy the constraints between steps when dynamically adjusting the schedule, ensuring the continuity and stability of the entire automated process.
[0029] Figure 1 shows a schematic flowchart of an automated process control method according to an embodiment of this application. As shown in Figure 1, the method includes steps S1100, S1200, S1300, S1400, and S1500.
[0030] In step S1100, during the execution of the automated process, based on the actual completion time of the completed running steps and the order of the running steps in the automated process, the time arrangement of the running steps that have not yet started is adjusted to obtain the first timetable of the running steps that have not yet started.
[0031] Before an automated process is executed, a schedule can be generated based on the estimated runtime and sequence of each step. The sequence can mean that the start or end of some steps affects the start or end of others. For example, if both step 1 and step 2 require the same device, but that device can only execute one step at a time, and step 1 must precede step 2, then the end of step 1 will affect the start of step 2. The execution of step 2 can also be based on the start of step 3. Thus, the start of step 2 is influenced by the end of step 1 and the start of step 3. It's understandable that automated processes involve increasingly numerous and intertwined steps, and the sequence relationships between them are complex. A schedule represents the ideal state of each step. However, due to various factors, the actual completion of steps may differ from the schedule. For example, the completion time of a certain step may be earlier or later than the planned completion time. Because of the complex sequence relationships between steps, the earlier or later completion time of this step will affect the remaining steps that have not yet started. During the execution of an automated process, the start and end times of unstarted steps can be adjusted based on the sequence of steps and the completion times of completed steps. This allows for a preliminary schedule of unstarted steps. For example, the actual completion time of a completed step can be used to determine whether its completion time should be advanced or delayed, and the start times of unstarted steps with a sequence relationship to that completed step can be adjusted accordingly. Furthermore, the start times of other unstarted steps can be adjusted based on their sequence. It's understandable that for currently executing steps, their start and end times cannot be adjusted since they have already begun.
[0032] In step S1200, based on the first timetable and the time constraint duration between two adjacent running steps, it is determined whether the interval duration between two adjacent running steps satisfies the corresponding time constraint duration. In some embodiments, there may be a time constraint between two adjacent running steps, and the time constraint duration may include the following four types: from the start time of the previous running step to the start time of the next running step, from the start time of the previous running step to the end time of the next running step, from the end time of the previous running step to the start time of the next running step, and from the end time of the previous running step to the end time of the next running step. Similarly, the interval duration between two adjacent running steps also has four types: from the start time of the previous running step to the start time of the next running step, from the start time of the previous running step to the end time of the next running step, from the end time of the previous running step to the start time of the next running step, and from the end time of the previous running step to the end time of the next running step. In other words, the types of interval duration and time constraint duration should be mutually corresponding and can be described according to whether the interval duration satisfies the corresponding time constraint duration. The first timetable can be obtained in step S1100, and the start and end times of each running step in the first timetable can be determined, thereby determining the interval length between two adjacent running steps. Based on the corresponding time constraint length, it is determined whether the interval length meets the time constraint length. Some time constraints require the interval length to be less than or equal to the time constraint length, while other time constraints require the interval length to be greater than or equal to the time constraint length.
[0033] In step S1300, if the condition is not met, a first time constraint is determined based on the interval between two adjacent running steps and the corresponding time constraint duration. The first time constraint represents the degree to which the interval deviates from the corresponding time constraint duration. If the interval between two adjacent running steps does not meet the corresponding time constraint duration, it proves that the interval deviates from the corresponding time constraint duration. Some time constraints require the interval duration to be less than or equal to the time constraint duration; for example, if the interval duration is 100 seconds and the time constraint duration is 80 seconds, then the interval duration does not meet the time constraint duration. Other time constraints require the interval duration to be greater than or equal to the time constraint duration; for example, if the interval duration is 100 seconds and the time constraint duration is 130 seconds, then the interval duration does not meet the time constraint duration. For cases where the interval duration does not meet the time constraint duration, the absolute value of the difference between the interval duration and the time constraint duration can be used as the first time constraint to represent the degree to which the interval duration deviates from the corresponding time constraint duration. For example, if the time constraint requires the interval duration to be less than or equal to the time constraint duration, and the interval duration is 100 seconds while the time constraint duration is 80 seconds, then the first duration potential is 20 seconds. If the constraint duration requires the interval duration to be greater than or equal to the time constraint duration, and the interval duration is 100 seconds while the time constraint duration is 130 seconds, then the first duration potential is 30 seconds.
[0034] In step S1400, based on the first time potential, the planned start time of the running steps that have not yet started in the first time timetable is adjusted to eliminate or shorten at least part of the first time potential.
[0035] For example, the planned start times of two adjacent running steps corresponding to the first time duration can be adjusted so that the interval between these two adjacent running steps meets the time constraint. For instance, the time constraint may require the interval to be less than or equal to the time constraint. In the case of an interval of 100 seconds and a time constraint of 80 seconds, the first time duration is 20 seconds. The planned start time of the preceding running step in the two adjacent running steps can be delayed by 20 seconds to make the interval meet the time constraint, thus eliminating the first time duration. It is understood that adjusting the planned start time of a running step will affect the interval between it and the preceding running step, as well as the interval between it and the following running step. A change in the interval may affect whether the interval meets the time constraint. Therefore, when adjusting the planned start time of the corresponding running step in the first timetable according to the first time duration, it is necessary to consider the interval between the adjusted running step and the preceding and following running steps to eliminate or shorten at least part of the first time duration. In other words, the deviation between the interval between two adjacent running steps and the time constraint should be minimized. For example, a time constraint duration can require the interval duration to be greater than or equal to the time constraint duration. If the interval duration is 100 seconds and the time constraint duration is 130 seconds, the first duration potential is 30 seconds. Since the planned start time of the next step in these two adjacent running steps can only be postponed by 20 seconds, the interval duration is adjusted to 120 seconds, and the corresponding first duration potential is 10 seconds, shortened by 20 seconds. When adjustments to other running steps allow the planned start time of the next step in these two adjacent running steps to be postponed by another 20 seconds, the planned start time of the next step can be postponed by 10 seconds to eliminate the first duration potential. As another example, a time constraint duration can require the interval duration to be less than or equal to the time constraint duration. If the interval duration is 130 seconds and the time constraint duration is 100 seconds, the first duration potential is 30 seconds. Since the previous step in these two adjacent running steps can only be postponed by 10 seconds, the interval duration is adjusted to 120 seconds, and the corresponding first duration potential is 20 seconds, shortened by 10 seconds. When adjustments to other operational steps allow the planned start time of the preceding operational step in a given two adjacent operational steps to be further delayed by 10 seconds, the planned start time of the preceding operational step can be delayed by 10 seconds, thus shortening the first duration by 10 seconds. Therefore, through multiple adjustments, the first duration can be shortened from 30 seconds to 10 seconds.
[0036] In step S1500, the running steps that have not yet started are executed according to the adjusted first timetable. The running steps that have not yet started can be executed according to the adjusted first timetable in step S1400. If the completion time of these running steps that have not yet started is inconsistent with the arrangement in the adjusted first timetable, steps S1100 to S1400 can be executed again to readjust the first timetable for the remaining running steps that have not yet started.
[0037] The above technical solution, during the execution of the automated process, adjusts the time arrangement of steps not yet started based on the sequential relationship of the steps and the actual completion time of completed steps, thus obtaining a first timetable for steps not yet started. Based on this first timetable and the time constraint duration between two steps, it is determined whether the duration between the two steps meets the corresponding time constraint duration. If not, a first time duration potential is determined based on the duration between the two steps and the time constraint duration. Finally, the first timetable is adjusted again based on the first time duration potential, and the automated process is controlled according to the final first timetable. Therefore, the final timetable can effectively satisfy the constraints between steps, ensuring the continuity and stability of the entire automated process; it is also simple to calculate, highly efficient, and has low latency.
[0038] For example, step S1200 determines whether the interval between two adjacent running steps meets the corresponding time constraint based on the first time schedule and the time constraint duration between two adjacent running steps, including steps S1210 and S1220.
[0039] In step S1210, a first interval duration between the planned end time of the first running step and the planned start time of the second running step is determined according to the first timetable. The first timetable may contain the planned start time and corresponding planned end time of each running step. It can be understood that the planned end time can be determined by adding the planned start time of each running step to the running duration of that running step. The planned start time and planned end time of each running step can be determined sequentially according to the first timetable. The running duration can be pre-estimated and determined by the automated process based on historical execution data. The running duration can also be a preset parameter in the running step, i.e., how long the running step needs to be executed. The first running step and the second running step can be the preceding and following running steps in two adjacent running steps, respectively. The first interval duration can be the difference between the planned start time of the second running step and the planned end time of the first running step. For example, Table 1 is a timetable of two adjacent running steps in an embodiment of this application.
[0040] Table 1
[0041] The planned start time for the second running step is 50 seconds, and the planned end time for the first running step is 20 seconds, so the first interval duration is 30 seconds.
[0042] In step S1220, it is determined whether the first interval duration satisfies the corresponding time constraint duration based on whether the first interval duration is greater than the time constraint threshold between the first and second running steps. The time constraint duration between the first and second running steps is less than the time constraint threshold. The time constraint duration requires that the first interval duration between the first and second running steps be less than or equal to the time constraint threshold. When the first interval duration is less than or equal to the time constraint threshold, the first interval duration satisfies the time constraint duration. When the first interval duration is greater than the time constraint threshold, the first interval duration does not satisfy the time constraint duration. Therefore, it can be determined whether the first interval duration satisfies the time constraint duration by judging whether it is greater than the corresponding time constraint threshold. If the first interval duration is greater than the time constraint threshold, it does not satisfy the time constraint duration; otherwise, it satisfies it.
[0043] Step S1300: If the condition is not met, then based on the interval between two adjacent running steps and the corresponding time constraint duration, determine the first duration potential, including step S1310. That is, if the condition is not met, determine the difference between the first interval duration and the time constraint threshold as the first duration potential. In the case of non-compliance, the first interval duration is greater than the time constraint threshold. Therefore, the first interval duration deviates from the time constraint duration. The difference between the first interval duration and the time constraint threshold can be used as the first duration potential to represent the degree to which the first interval duration deviates from the time constraint duration. For example, if the first interval duration is 50 seconds and the time constraint threshold is 30 seconds, then the first duration potential is 20 seconds.
[0044] The above technical solution determines whether the first interval duration exceeds a time constraint threshold. If it does, the first interval duration is deemed not to meet the time constraint conditions, thus establishing a first duration threshold. This allows for precise identification of which adjacent running steps have interval durations that do not meet the time constraint, and the degree of deviation. This enables adjustments to the first timetable to ensure compliance with the constraints between running steps, guaranteeing the continuity and stability of the entire automated process. Furthermore, the solution is computationally simple, highly efficient, and has low latency.
[0045] For example, in the process of executing the automated process, step S1100 adjusts the time arrangement of the running steps that have not yet started to be executed based on the actual completion time of the completed running steps and the order relationship of the running steps in the automated process, so as to obtain the first time schedule of the running steps that have not yet started to be executed, including steps S1110, S1120 and S1130.
[0046] In step S1110, based on the order of the running steps in the automated process, the dependencies between the running steps that have not yet started are obtained. A dependency indicates that the start of a running step depends on the end of its dependent running step. In some embodiments, if the start of a subsequent running step depends on the end of a preceding running step in the order of the two running steps, then these two running steps have a dependency relationship. In other words, the subsequent running step can only begin execution after the preceding running step has finished. For example, two running steps may process the same consumable. When the consumable is processed by the preceding running step, it is already occupied, and the subsequent running step cannot process it. The subsequent running step can only begin processing the consumable after the preceding running step has finished processing it. The dependencies among all running steps that have not yet started can be obtained based on the order of the automated process.
[0047] In step S1120, based on dependencies, the planned start time of each unstarted execution step is determined. According to dependencies, all dependent execution steps for each unstarted execution step can be identified. The end time of the latest-ending execution step among all dependent execution steps can be used as the planned start time of that unstarted execution step. For example, the start of execution step 5 depends on the end of execution steps 2 and 3. The end time of execution step 2 is 20 seconds, and the end time of execution step 3 is 15 seconds; therefore, the planned start time of execution step 5 is 20 seconds. Before the automated process is executed, the estimated execution time required for each execution step can be estimated. The planned start time of an unstarted execution step is added to its estimated execution time to obtain the corresponding end time. This can be done by starting with the first execution step among all unstarted execution steps, determining its planned start time, and then sequentially obtaining the planned start time of each unstarted execution step according to dependencies. For example, if the planned start time of step 5 is 20 seconds and its estimated execution time is 10 seconds, then the end time of step 5 is 30 seconds. The start of step 7 depends on the end of step 5. Therefore, the planned start time of step 7 can be 30 seconds. Thus, the planned start time of each step can be obtained sequentially based on its dependencies. It can be understood that the first step among the unstarted steps has no dependencies among all unstarted steps. In other words, its dependent steps may have already started executing, and the planned start time of the first step among all unstarted steps can be determined based on the end time of the already started steps. Alternatively, the planned start time of the first step among all unstarted steps can be set to zero, and then the planned start time of each unstarted step can be obtained sequentially based on its dependencies.
[0048] In step S1130, a first schedule for the unstarted running steps is determined based on the planned start time and corresponding end time of each unstarted running step. As described above, after obtaining the planned start time of each unstarted running step, the planned start time of the unstarted running step can be added to the running duration to obtain its corresponding end time. Thus, the planned start time and corresponding end time of each unstarted running step can be determined, thereby determining the first schedule for the unstarted running steps. The planned start time and corresponding end time of each unstarted running step in the first schedule can be displayed in the form of a Gantt chart.
[0049] The above technical solution determines the planned start time and corresponding end time of each unexecuted step by establishing dependencies, thus establishing a primary timetable. This reduces the interval between each step, thereby decreasing the total execution time of the automated process and improving its efficiency.
[0050] For example, step S1120 determines the planned start time of each running step that has not yet started execution based on dependencies, including steps S1121, S1122, S1123, S1124, S1125 and S1126.
[0051] In step S1121, based on dependencies, all dependent execution steps for each execution step that has not yet started are obtained. Dependent execution steps may include execution steps that the start of the execution step that has not yet started depends on. In other words, the end of a dependent execution step affects the start of the execution step that has not yet started. Dependent execution steps can be executed before the execution step that has not yet started. Based on dependencies, all dependent execution steps for each execution step that has not yet started can be obtained. It is understood that some execution steps have no dependent execution steps in the execution steps that have not yet started. In other words, their dependent execution steps may be executing or have completed execution.
[0052] In step S1122, the starting running step is determined. The starting running step is the running step among all running steps that have not yet started execution, and which has no dependent running steps or whose dependent running steps are all scheduled. Scheduled running steps refer to running steps that have a determined planned start and end time. The running step that has no dependent running steps or whose dependent running steps are all scheduled is designated as the starting running step. For example, if running step 5 depends on running steps 2 and 3, and the planned start and end times of running steps 2 and 3 are determined (i.e., scheduled), then running step 5 can be designated as the starting running step.
[0053] In step S1123, the planned start time of the starting running step is determined based on the latest end time of all dependent running steps of the starting running step, and the starting running step is marked as scheduled. It can be understood that if the starting running step has dependent running steps, the end time of the latest ending running step among all dependent running steps is taken as the latest end time of all dependent running steps, and the planned start time of the starting running step is determined as this latest end time. In other words, the starting running step begins immediately when all dependent running steps of the starting running step have been completed. For example, the start of running step 5 depends on the completion of running steps 2 and 3. Table 2 shows the end time schedule of dependent running steps for running step 5 in another embodiment of this application.
[0054] Table 2
[0055] If the end time of step 2 is 20 seconds and the end time of step 3 is 15 seconds, then the planned start time of step 5 is 20 seconds. If the starting step does not depend on any other step, its planned start time can be set to 0. Alternatively, the planned start time of the starting step can be determined based on the end time of the currently executing step. Once the planned start time of a step is determined, it can be marked as scheduled. It can be understood that adding the planned start time to the runtime of the step that has not yet started yields the corresponding end time. The runtime can be pre-estimated by the automated process based on historical execution data. The runtime can also be a parameter within the step, indicating how long the step needs to execute.
[0056] In step S1124, based on dependencies, all influencing running steps of the starting running step are determined, wherein the start of an influencing running step depends on the end of that running step. Running steps that depend on the end of the starting running step can be identified as influencing running steps of the starting running step based on dependencies. For example, if the starting running step is running step 5, and the end of running step 5 affects the start of running steps 8 and 10, then running steps 8 and 10 are influencing running steps of the starting running step.
[0057] In step S1125, for each initial running step, based on dependencies, all dependent running steps affecting each running step of that initial running step are determined. Based on dependencies, the running steps that the start of each affecting running step depends on can be determined as dependent running steps of that affecting running step. It can be understood that the initial running step can be a dependent running step of the affecting running step. For example, the initial running step is running step 5, and its affecting running steps include running steps 8 and 10. The start of running step 8 depends on the end of running steps 4, 5, and 6; therefore, the dependent running steps of running step 8 include running steps 4, 5, and 6. The start of running step 10 depends on the end of running steps 5, 7, and 9; therefore, the dependent running steps of running step 10 include running steps 5, 7, and 9.
[0058] In step S1126, based on all dependent running steps determined for each starting running step, the first influencing running step is identified as the new starting running step. The planned start time of the new starting running step is determined, and the new starting running step is marked as scheduled. This process continues until the planned start times of all running steps that have not yet started are determined. The first influencing running step is the step among the influencing running steps of the starting running step whose dependent running steps have all been scheduled. If all dependent running steps of the influencing steps of the starting running step have been scheduled, then that influencing running step is the first influencing running step, and it is identified as the new starting running step. In other words, a running step whose dependent running steps have all been scheduled can be used as a new starting running step. If a new starting running step has been scheduled, the new starting running step is updated and determined again. It can be understood that all dependent running steps corresponding to the new starting running step can have been scheduled. In other words, the planned start and end times of the dependent running steps corresponding to the new starting running step have been determined. The latest end time among all dependent execution steps can be used as the planned start time of a new starting execution step, and this new starting execution step is marked as scheduled. This process continues until the planned start times of all unexecuted execution steps are determined, meaning all unexecuted execution steps have been scheduled. For example, the starting execution step is execution step 5, which affects execution steps 8 and 10. The start of execution step 8 depends on the end of execution steps 4, 5, and 6. The start of execution step 10 depends on the end of execution steps 5, 7, and 9. Table 3 shows the dependent execution step status table for execution step 8 according to one embodiment of this application. Table 4 shows the dependent execution step status table for execution step 10 according to one embodiment of this application.
[0059] Table 3
[0060] Table 4
[0061] The impact of step 5: All dependent steps of step 8 have been scheduled. Step 8 can be identified as the new starting step. Further, based on the latest end time among steps 4, 5, and 6, the planned start time of step 8 is determined, and step 8 is marked as scheduled, thus identifying the new starting step again. This process continues until the planned start times of all unexecuted steps are determined.
[0062] The above technical solution determines dependent execution steps and the starting execution step based on dependencies. The latest end time of all dependent execution steps of the starting execution step is determined as the planned start time of the starting execution step. Further, based on dependencies, influencing execution steps are identified. Influencing execution steps whose dependent execution steps are all scheduled are identified as new starting execution steps, with their planned start times determined and marked as scheduled, until the planned start times of all pending execution steps are determined. This allows for the rapid and accurate determination of the planned start times of all pending execution steps, reduces the interval between two execution steps, and improves the efficiency of the automated process.
[0063] For example, step S1400 adjusts the planned start time of the running steps that have not yet started to be executed in the first time schedule according to the first time duration, so as to eliminate or shorten at least part of the first time duration, including steps S1410 and S1420.
[0064] In step S1410, for each running step that has not yet started execution, the first duration potential corresponding to the running step that has not yet started execution is updated based on the dependency relationship between the running step that has not yet started execution and other running steps. It is understood that not every running step has a first duration potential. The first duration potential represents the degree to which the interval duration between two adjacent running steps deviates from the corresponding time constraint duration. For a running step that has not yet started execution with a first duration potential, the running step that has not yet started execution can be the preceding running step among the two adjacent running steps corresponding to the first duration potential. Further, the running steps that have not yet started execution corresponding to the following running step among the two adjacent running steps corresponding to the first duration potential can be determined. Further, based on the dependency relationship, the dependent running steps and influencing running steps of the two running steps that have not yet started execution corresponding to the first duration potential can be determined respectively, thereby determining the adjustable values of the two running steps that have not yet started execution to eliminate or shorten the first duration potential. The dependent running steps of the two running steps that have not yet started execution corresponding to the first duration potential can include one or more of the running steps that are currently executing, completed running steps, and running steps that have not yet started execution. If the adjustable values of the two unexecuted running steps are greater than or equal to the first time-length potential, the first time-length potential retains its original value after updating. If the adjustable values of the two executed running steps are less than the first time-length potential, the first time-length potential is updated to an adjustable value. The intervals between the dependent running steps and the influencing running steps corresponding to the two unexecuted running steps and the two running steps can also be limited by time constraint durations. Table 5 shows a partial timetable of another embodiment of this application.
[0065] Table 5
[0066] For example, if the interval between steps 2 and 3 is 30 seconds, and the corresponding time constraint requires an interval less than or equal to 10 seconds, then the first time potential is 20 seconds. If the interval between steps 1 and 2 is 35 seconds, and the corresponding time constraint requires an interval less than 65 seconds, then if the adjustable value of steps 2 and 3 is 30 seconds (65 seconds - 35 seconds), these two unexecuted steps can be adjusted by 20 seconds, eliminating the first time potential, and the updated first time potential remains at 20 seconds. If the time constraint for steps 1 and 2 is less than 45 seconds, then the adjustable value of these two started steps is 10 seconds (45 seconds - 35 seconds), insufficient to eliminate the first time potential, so the first time potential is updated to 10 seconds. Since the adjustable value of the two started steps is 10 seconds, the original first time potential is not satisfied, but the updated first time potential is satisfied. In other words, the first time potential is shortened.
[0067] In step S1420, based on the updated first timescale, the planned start time of the unexecuted running step in the first timetable is modified. The updated first timescale conforms to the adjustment values of its corresponding two unexecuted running steps, allowing the planned start times of these two unexecuted running steps in the first timetable to be modified, eliminating the updated first timescale, and obtaining the adjusted first timetable.
[0068] The above technical solution, based on the dependencies between unstarted execution steps and other execution steps, updates the first temporal potential corresponding to the unstarted execution steps and modifies the planned start time of the unstarted execution steps in the first time table. This ensures that the unstarted execution steps meet time constraints to the greatest extent possible, requires no additional processing, and features a simple algorithm and fast computation speed.
[0069] For example, step S1410, based on the dependency relationship between the running step that has not started execution and other running steps, updates the first temporal potential corresponding to the running step that has not started execution, including steps S1411, S1412 and S1413.
[0070] In step S1411, if a first duration potential exists for a dependent running step of an unstarted running step, the first duration potential corresponding to that unstarted running step is eliminated. The existence of a first duration potential between the unstarted running step and its next adjacent unstarted running step can be due to the interval between them being longer than the time constraint duration. The planned start time of the unstarted running step can be shifted backward to eliminate the first duration potential. If a first duration potential exists between the unstarted running step and its dependent running step, it indicates that the interval between the unstarted running step and its dependent running step has exceeded the time constraint duration. Shifting the planned start time of the unstarted running step backward increases the interval between it and its dependent running steps, thus increasing the first duration potential. Therefore, the first duration potential corresponding to the unstarted running step can be eliminated. For example, the first duration potential corresponding to the unstarted running step can be updated to 0.
[0071] In step S1412, if there is no corresponding first duration potential for the dependent running steps of the running step that has not yet started, and shifting the planned start time of the running step that has not yet started to the first duration corresponding to the first duration potential does not cause the dependent running steps of the running step that has not yet started to fail to meet their time constraint duration, then the first duration potential remains unchanged. If the interval duration between the running step that has not yet started and its dependent running steps is less than the corresponding time constraint duration, and after shifting the planned start time of the running step that has not yet started to the first duration corresponding to the first duration potential, the interval duration between the running step that has not yet started and its dependent running steps is still less than the corresponding time constraint duration, then the first duration potential can be preserved unchanged. For example, if the planned start time of the running step that has not yet started is 100 seconds, the corresponding first duration potential is 20 seconds, and the planned start time of the dependent running step that has not yet started is 80 seconds, the corresponding time constraint duration is 50 seconds, then after moving the planned start time of the running step that has not yet started by 20 seconds to the first duration potential corresponding to the first duration potential, it becomes 120 seconds. The interval duration between it and the dependent running step is 40 seconds, which is less than the corresponding time constraint duration of 50 seconds. Therefore, the first duration potential of the running step that has not yet started remains unchanged.
[0072] In step S1413, if the dependent running steps of the unstarted running step do not have a corresponding first duration potential, and shifting the planned start time of the unstarted running step by a first duration would cause the dependent running steps of the unstarted running step to fail to meet their time constraint duration, then the first duration potential is updated. The updated first duration potential is the difference between a first value and a second value. The first value is the time constraint threshold between the dependent running steps of the unstarted running step and the unstarted running step itself. The second value is the interval duration between the planned end time of the dependent running steps of the unstarted running step and the planned start time of the unstarted running step. If the interval duration between the unstarted running step and its dependent running steps is less than the corresponding time constraint duration, and after shifting the planned start time of the unstarted running step by the first duration corresponding to the first duration potential, the interval duration between the unstarted running step and its dependent running steps is greater than the corresponding time constraint duration, then the first duration potential of the unstarted running step can be updated. The updated first duration potential is the difference between the first value and the second value. The first value can be the time constraint threshold corresponding to the running step that has not yet started and its dependent running steps. The second value can be the interval between the running step that has not yet started and its dependent running steps. In other words, the updated first duration potential can be the maximum adjustable value of the running step that has not yet started. If the first duration potential is greater than this adjustable value, the interval between it and its dependent running steps will be greater than the time constraint threshold. For example, if the planned start time of the running step that has not yet started is 100 seconds, the corresponding first duration potential is 20 seconds. If the planned start time of the dependent running step that has not yet started is 80 seconds, and the corresponding time constraint duration is 30 seconds, then moving the planned start time of the running step that has not yet started by 20 seconds to the first duration potential will result in 120 seconds. The interval between it and its dependent running steps will be 40 seconds, which is greater than the corresponding time constraint duration of 50 seconds. Therefore, the first duration potential of the running step that has not yet started is updated to 10 seconds. After shifting the planned start time of the run that has not yet started by 10 seconds, the updated first duration potential is eliminated, and the interval between the run that has not yet started and its dependent run steps is equal to the time constraint threshold.
[0073] The above technical solution, by updating the first time potential under different conditions, ensures that the first time potential can be eliminated or shortened. This guarantees that the interval between two adjacent running steps meets the time constraint condition to the greatest extent possible. Consequently, it ensures the continuity and stability of the entire automated process; furthermore, it is computationally simple, highly efficient, and has low latency.
[0074] For example, step S1400, which adjusts the planned start time of an unstarted running step in the first timetable according to the first timescale to eliminate or shorten at least part of the first timescale, also includes step S1430, which determines an allowable range for the planned start time of the unstarted running step based on the first timetable and the dependencies between the unstarted running step and other running steps. The influencing running steps and dependent running steps of the unstarted running step can be determined based on the dependencies. The end of a dependent running step affects the start of the unstarted running step, and the start of an influencing running step is affected by the end of the unstarted running step. Therefore, the allowable range for the planned start time of the unstarted running step can be determined based on the planned start and end times of the influencing and dependent running steps in the first timetable. In other words, the planned start time of the unstarted running step can only be adjusted within the allowable range. For example, if the allowable range is 100 seconds to 130 seconds, then the planned start time of the unstarted running step can be any time within 100 seconds to 130 seconds.
[0075] Step S1420 modifies the planned start time of the unstarted operation step in the first timetable according to the updated first timescale, including step S1421, modifying the planned start time of the unstarted operation step in the first timetable according to the allowable interval and the updated first timescale. It can be understood that the planned start time of the unstarted operation step can only be adjusted within the allowable interval. When adjusting its planned start time according to the updated first timescale, if the adjusted planned start time is within the allowable interval, it can be adjusted according to the updated first timescale. If the adjusted planned start time exceeds the allowable interval, its planned start time can be the upper limit of the allowable interval. For example, if the planned start time of the unstarted operation step is 180 seconds, its allowable range for planned start time is 180 seconds to 200 seconds, and the updated first timescale is 30 seconds, if the planned start time is adjusted to 210 seconds according to the first timescale, it exceeds the upper limit of the allowable interval of 200 seconds. Therefore, the scheduled start time for this operation step that has not yet started can be adjusted to 200 seconds.
[0076] The above technical solution allows for the modification of the planned start time of unexecuted steps within a given time interval and the first time potential. This enables adjustments to the planned start time within a reasonable range, avoiding conflicts between different steps, ensuring continuous and stable operation of the automated process, and eliminating the need for complex calculations while achieving high execution speed.
[0077] For example, in step S1430, based on the first timetable and the dependency of the unstarted operation step on other operation steps, the allowable range of the planned start time of the unstarted operation step is determined, including steps S1431 and S1432.
[0078] In step S1431, the upper bound of the allowable interval is determined based on the latest planned end time of the dependent running steps of the running step that has not yet started. All dependent running steps of the running step that has not yet started can be determined according to the dependencies. The start of the running step that has not yet started depends on the end of its dependent running steps. In other words, the running step that has not yet started can only start after its latest-ending dependent running step has ended. Therefore, the upper bound of the allowable interval for the planned start time of the running step that has not yet started is the latest planned end time of all its dependent running steps. The planned start time of the running step that has not yet started can be later than the latest planned end time, but cannot be earlier than the latest planned end time. For example, Table 6 is a timetable of the dependent running steps of running step 7 in one embodiment of this application.
[0079] Table 6
[0080] The dependent steps of the not-yet-started execution step 7 include execution steps 5 and 6. Execution step 5 has a planned end time of 160 seconds, and execution step 6 has a planned end time of 180 seconds. Therefore, the upper bound of the planned start time for this not-yet-started execution step is 180 seconds. In other words, the planned start time of this not-yet-started execution step can be later than 180 seconds, but cannot be earlier than 180 seconds.
[0081] In step S1432, based on the earliest planned start time among the affected running steps of the unstarted running step and the runtime of the unstarted running step, a lower bound of the allowable interval is determined, wherein the start of an affected running step depends on the end of the unstarted running step. Running steps whose start depends on the end of the unstarted running step can be identified as affected running steps based on dependencies. In other words, the planned end time of the unstarted running step should be earlier than the earliest planned start time among its affected running steps. The earliest start time among the affected running steps can be the latest planned end time of the unstarted running step. In other words, the planned start time plus the runtime of the unstarted running step cannot be later than the earliest start time of its affected running steps. The runtime can be pre-estimated by the automated process based on historical execution data. The runtime can also be a parameter in the running step, i.e., how long the running step needs to execute. Therefore, the lower bound of the allowable interval for the planned start time of a running step that has not yet started execution can be the earliest start time that affects the running step minus its running time. For example, Table 7 is a timetable of the impact of running step 7 on running steps in one embodiment of this application.
[0082] Table 7
[0083] The impact of the unstarted execution step 7 includes execution steps 9 and 10. The planned start time for execution step 9 is 210 seconds, and the planned start time for execution step 10 is 220 seconds. The planned end time of this unstarted execution step can be earlier than the earliest start time of the execution steps it affects. The execution duration of this unstarted execution step is 10 seconds; therefore, the lower bound of the allowed range for the planned start time of this unstarted execution step is 200 seconds. In other words, the planned start time of this unstarted execution step cannot be later than 200 seconds.
[0084] Therefore, the allowable range for the planned start time of the operation step that has not yet started is determined to be 180 to 200 seconds.
[0085] In another embodiment, referring to Tables 6 and 7, the upper bound of the allowable interval for a running step that has not yet started execution can be the latest end time among the planned end times of the running steps it depends on, and the lower bound of the allowable interval for a running step that has not yet started execution can be the earliest start time among the planned start times of the running steps it affects. Therefore, the allowable interval for the running step that has not yet started execution is 180 seconds to 210 seconds. In this embodiment, the allowable interval for a running step that has not yet started execution can be understood as the running step that has not yet started execution being able to "operate" within this allowable interval. For example, if the allowable interval is considered as a time period A to B (abbreviated as AB), and the time period occupied by the running step that has not yet started execution (including the planned start time, planned running time, and planned end time) is considered as C to D (abbreviated as CD), then the time period CD occupied by the running step that has not yet started execution can "operate" within the allowable interval AB. That is, in one embodiment, the extreme position of C can correspond to time A, and in another embodiment, the extreme position of D can correspond to time B.
[0086] The above technical solution determines the upper bound of the allowable interval based on the latest planned end time of the dependent running steps of the unstarted running step. The lower bound of the allowable interval is determined based on the earliest planned start time of the affected running steps and the runtime of the unstarted running step. Accurately determining the upper and lower bounds of the allowable interval ensures the accuracy of the adjustable range of planned start times, thereby fully satisfying time constraints, guaranteeing the smooth operation of the automated process, and providing a simple calculation method that improves efficiency.
[0087] For example, step S1421 modifies the planned start time of the running step that has not yet started in the first timetable according to the allowed interval and the updated first time potential, including steps S1421a and S1421b.
[0088] In step S1421a, if the second duration corresponding to the allowed interval of the planned start time of the unexecuted running step is greater than or equal to the first duration corresponding to the updated first duration potential, then the planned start time of the unexecuted running step is shifted by the first duration. The second duration corresponding to the allowed interval can be determined based on the difference between the lower and upper bounds of the allowed interval. For example, if the allowed interval is 180 seconds to 200 seconds, then the second duration corresponding to the allowed interval is 20 seconds. The first duration potential can represent the degree to which the interval duration deviates from the time constraint duration. If an updated first duration potential exists, then the interval duration between the unexecuted running step and its adjacent running steps is greater than the actual constraint duration. If the first duration corresponding to the updated first duration potential of the unexecuted running step is less than or equal to the second duration corresponding to the allowed interval, then the planned start time of the unexecuted running step is shifted by the first duration to reduce the interval duration, meet the time constraint duration, and eliminate the updated first duration potential. For example, if the planned start time of the unexecuted operation step is 180 seconds, the allowed range is 180 to 200 seconds, the corresponding second duration is 20 seconds, and the updated first duration potential corresponds to a first duration of 10 seconds, then the planned start time of the unexecuted operation step can be adjusted to 190 seconds to eliminate the first duration potential.
[0089] In step S1421b, if the second duration corresponding to the allowed interval of the planned start time of the unexecuted running step is less than the first duration, then the planned start time of the unexecuted running step is shifted by the second duration, the first duration potential corresponding to the unexecuted running step is updated again, and the unexecuted running step is set to inactive. The updated first duration potential is the difference between the first duration and the second duration; inactivity indicates that the planned start time of the unexecuted running step in the first timetable cannot be modified. Furthermore, a blocking running step for the unexecuted running step is determined, and a second duration potential for the blocking running step is determined. The blocking running step is the earliest executed step among the affected running steps of the unexecuted running step, and the second duration potential is the same as the updated first duration potential. The second duration corresponding to the allowed interval can be determined based on the difference between the lower and upper bounds of the allowed interval. For example, if the allowed interval is 180 seconds to 200 seconds, then the second duration corresponding to the allowed interval is 20 seconds. The first duration potential can represent the degree to which the interval duration deviates from the time constraint duration. If an updated first duration potential exists, then the interval between the not-started execution step and its adjacent execution step is longer than the actual constraint duration. If the first duration corresponding to the updated first duration potential of the not-started execution step is longer than the second duration corresponding to the allowed interval, then the planned start time of the not-started execution step is shifted by the second duration to shorten the first duration potential. The updated first duration potential is the difference between the first duration and the second duration. For example, if the planned start time of the not-started execution step is 180 seconds, the allowed interval is 180 seconds to 200 seconds, the corresponding second duration is 20 seconds, and the updated first duration potential corresponds to a first duration of 30 seconds, then the planned start time of the not-started execution step can be adjusted to 200 seconds to shorten the first duration potential, and the updated first duration potential is 10 seconds. The not-started execution step is then set to inactive to indicate that the planned start time of the not-started execution step cannot be modified. The earliest executed step among the impact steps of the unstarted execution step can be identified as the blocking step of the unstarted execution step, and the second duration potential of the blocking step can be set to be equal to the updated first duration potential. For example, the impact steps of the unstarted execution step include execution step 9 and execution step 10. The planned start time of execution step 9 is 200 seconds, and the planned start time of execution step 10 is 220 seconds. Therefore, execution step 9 is the blocking step of the unstarted execution step, and the second duration potential of the blocking step is set to 10 seconds.
[0090] The above technical solution determines how to adjust the planned start time of the unexecuted running step based on the relationship between the second and first durations. This maximizes the guarantee that time constraints are met, ensures the smooth operation of the automated process, and is based on a simple calculation method.
[0091] For example, step S1421 modifies the planned start time of the unstarted running step in the first timetable based on the allowed interval and the updated first time duration, including step S1421c: if the planned start time of the unstarted running step is moved, and the unstarted running step is a blocking running step of another running step, then the other running step is activated, wherein activation indicates that the planned start time of the other running step in the first timetable can be modified. It can be understood that if the unstarted running step is a blocking running step of another running step, then the planned start time of the unstarted running step prevents the movement of the planned start time of the other running step. In other words, the other running step is in an inactive state. If the planned start time of the unstarted running step is moved, then the planned start time of the corresponding other running step can also be moved. Therefore, after the planned start time of the unstarted running step is moved, the other running step can be set to an active state to move its planned start time. For example, the running step that has not yet started is a blocking running step of running step 7, and the second duration potential of the running step that has not yet started is 10 seconds. If the planned start time of the running step that has not yet started is moved by 10 seconds to eliminate the second duration potential, then the planned start time of running step 7 can be moved by 10 seconds to eliminate the first duration potential that it updates again.
[0092] The above technical solution activates another running step if the planned start time of a running step that has not yet started is moved, and if the unstarted running step is a blocking running step of another running step. This fully considers the handling of time constraints, ensuring that each running step meets the time constraints.
[0093] By way of example, according to a second aspect of this application, an automated process control device is also provided. FIG2 shows a schematic block diagram of an automated process control device 200 according to an embodiment of this application. As shown in FIG2, the automated process control device 200 includes a first adjustment module 210, a judgment module 220, a determination module 230, a second adjustment module 240, and an execution module 250.
[0094] The first adjustment module 210 is used to adjust the time arrangement of the unstarted running steps during the execution of the automated process based on the actual completion time of the completed running steps and the order relationship of the running steps in the automated process, so as to obtain a first timetable for the unstarted running steps. The judgment module 220 is used to determine whether the interval between two adjacent running steps meets the corresponding time constraint based on the first timetable and the time constraint duration between two adjacent running steps. The determination module 230 is used to determine a first timescale based on the interval between two adjacent running steps and the corresponding time constraint duration if the constraint is not met, wherein the first timescale indicates the degree to which the interval deviates from the corresponding time constraint duration. The second adjustment module 240 is used to adjust the planned start time of the unstarted running steps in the first timetable based on the first timescale, so as to eliminate or shorten at least part of the first timescale. The execution module 250 is used to execute the unstarted running steps according to the adjusted first timetable.
[0095] For example, the first adjustment module 210 includes a first acquisition submodule, a first determination submodule, and a second determination submodule. The first acquisition submodule is used to acquire the dependencies between the unstarted execution steps based on the order of the execution steps in the automated process, wherein the dependency indicates that the start of one execution step depends on the end of its dependent execution steps. The first determination submodule is used to determine the planned start time of each unstarted execution step based on the dependencies. The second determination submodule is used to determine a first schedule for the unstarted execution steps based on the planned start time and corresponding end time of each unstarted execution step.
[0096] For example, the first determining submodule includes: a first acquiring unit, a first determining unit, a second determining unit, a third determining unit, a fourth determining unit, and a fifth determining unit. The first acquiring unit is used to acquire all dependent running steps for each running step that has not yet started execution, based on the dependencies. The first determining unit is used to determine the starting running step, wherein the starting running step is the running step among all running steps that has not started execution and has no dependent running steps, or whose dependent running steps have all been scheduled. The second determining unit is used to determine the planned start time of the starting running step based on the latest end time of all dependent running steps of the starting running step, and to mark the starting running step as scheduled. The third determining unit is used to determine all influencing running steps of the starting running step based on the dependencies, wherein the start of an influencing running step depends on the end of that running step. The fourth determining unit is used to, for each starting running step, determine all dependent running steps for each influencing running step of that starting running step, based on the dependencies. The fifth determining unit is used to determine the first influencing running step as the new starting running step based on all dependent running steps determined for each starting running step, determine the planned start time of the new starting running step and mark the new starting running step as arranged, until the planned start time of all running steps that have not yet started execution is determined, wherein the first influencing running step is the step in the influencing running steps of the starting running step whose all dependent running steps have been arranged.
[0097] For example, the second adjustment module 240 includes a first update submodule and a first modification submodule. The first update submodule is used to update the first duration potential corresponding to each running step that has not yet started, based on the dependency relationship between the running step that has not yet started and other running steps. The first modification submodule is used to modify the planned start time of the running step that has not yet started in the first timetable according to the updated first duration potential.
[0098] For example, the first update submodule includes a first update unit, a second update unit, and a third update unit. The first update unit is used to eliminate the first duration potential corresponding to the running step that has not yet started, if the dependent running step of the running step that has not started has a corresponding first duration potential. The second update unit is used to maintain the first duration potential unchanged if, in the case that the planned start time of the running step that has not started does not have a corresponding first duration potential, moving the first duration corresponding to the first duration potential to the dependent running step will not cause the dependent running step of the running step that has not started to fail to meet its time constraint duration. The third update unit is configured to update the first duration potential if moving the planned start time of the unstarted running step by the first duration would cause the dependent running step of the unstarted running step to not meet its time constraint duration. The updated first duration potential is the difference between a first value and a second value. The first value is the time constraint duration between the dependent running step of the unstarted running step and the unstarted running step. The second value is the interval duration between the planned end time of the dependent running step of the unstarted running step and the planned start time of the unstarted running step.
[0099] For example, the second adjustment module 240 further includes a third determining submodule. The first modifying submodule includes a first modifying unit. The third determining submodule is used to determine an allowable range of the planned start time of the unstarted running step based on the first timetable and the dependencies between the unstarted running step and other running steps. The first modifying unit is used to modify the planned start time of the unstarted running step in the first timetable according to the allowable range and the updated first time period.
[0100] For example, the first modification unit includes a first modification subunit and a second modification subunit. The first modification subunit is configured to shift the planned start time of the unstarted running step by the first duration if the second duration corresponding to the allowed interval of the planned start time of the unstarted running step is greater than or equal to the first duration corresponding to the updated first duration potential. The second modification subunit is configured to shift the planned start time of the unstarted running step by the second duration if the second duration corresponding to the allowed interval of the planned start time of the unstarted running step is less than the first duration, update the first duration potential corresponding to the unstarted running step again, and set the unstarted running step to inactive, wherein the updated first duration potential is the difference between the first duration and the second duration; inactive means that the planned start time of the unstarted running step in the first timetable cannot be modified; determine the blocking running step of the unstarted running step, and determine the second duration potential of the blocking running step, wherein the blocking running step is the earliest executed step among the affected running steps of the unstarted running step, and the second duration potential is the same as the updated first duration potential.
[0101] For example, the first modification unit includes an activation subunit. The activation subunit is used to activate the other running step if the planned start time of the running step that has not yet started is moved, and the running step that has not yet started is a blocking running step of another running step, wherein the activation indicates that the planned start time of the other running step in the first timetable is modifiable.
[0102] For example, the third determining submodule includes a sixth determining unit and a seventh determining unit. The sixth determining unit is used to determine the upper bound of the allowed interval based on the latest end time among the planned end times of the dependent running steps of the running step that has not yet started execution. The seventh determining unit is used to determine the lower bound of the allowed interval based on the earliest start time among the planned start times of the running steps affected by the running step that has not yet started execution and the runtime of the running step that has not yet started execution, wherein the start of the running step affected by a running step depends on the end of that running step.
[0103] For example, the determination module 220 includes a fourth determination submodule and a judgment submodule. The determination module 230 includes a fifth determination submodule. The fourth determination submodule is used to determine, based on the first time schedule, a first interval duration between the planned end time of the first running step and the planned start time of the second running step. The judgment submodule is used to determine whether the first interval duration satisfies a corresponding time constraint duration based on whether the first interval duration is greater than a time constraint threshold between the first running step and the second running step, wherein the time constraint duration between the first running step and the second running step is less than or equal to the time constraint threshold. The fifth determination submodule is used to determine, if not satisfied, the difference between the first interval duration and the time constraint threshold as the first duration potential.
[0104] By way of example, according to a third aspect of this application, an electronic device is also provided. FIG3 shows a schematic block diagram of an electronic device 300 according to an embodiment of this application. As shown in FIG3, the electronic device 300 includes a processor 310 and a memory 320. The memory 320 stores computer program instructions, which are executed by the processor 310 to perform the control method of the automated process described above.
[0105] By way of example, according to a fourth aspect of this application, a storage medium is also provided, on which program instructions are stored, which, when executed, are used to perform the control method for the automated process described above. The storage medium may, for example, include an erasable programmable read-only memory (EPROM), a portable read-only memory (CD-ROM), a USB memory, or any combination of the above storage media. The storage medium may be any combination of one or more computer-readable storage media.
[0106] By way of example, according to a fifth aspect of this application, a computer program product is also provided, including computer program instructions, which, when run, are used to perform a control method for an automated process as described above.
[0107] Those skilled in the art can understand the specific implementation schemes and beneficial effects of the control devices, electronic devices, storage media, and computer program products for the above-mentioned automated processes by reading the relevant descriptions. For the sake of brevity, they will not be elaborated further here.
[0108] Example
[0109] Example 1. A method for controlling an automated process, characterized in that it includes:
[0110] During the execution of the automated process, based on the actual completion time of the completed steps and the order of the steps in the automated process, the time arrangement of the steps that have not yet started is adjusted to obtain a first timetable for the steps that have not yet started.
[0111] Based on the first timetable and the time constraint duration between two adjacent running steps, determine whether the interval duration between two adjacent running steps meets the corresponding time constraint duration.
[0112] If not satisfied, a first time potential is determined based on the interval between two adjacent running steps and the corresponding time constraint duration, wherein the first time potential represents the degree to which the interval duration deviates from the corresponding time constraint duration;
[0113] Based on the first duration, adjust the planned start time of any unexecuted running steps in the first timetable to eliminate or shorten at least part of the first duration.
[0114] According to the adjusted first schedule, execute the operational steps that have not yet started.
[0115] Example 2. The control method for the automated process according to Example 1, characterized in that, during the execution of the automated process, based on the actual completion time of the completed running steps and the order relationship of the running steps in the automated process, the time arrangement of the running steps that have not yet started is adjusted to obtain a first time schedule for the running steps that have not yet started, including:
[0116] Based on the order of the running steps in the automated process, the dependency relationship between the running steps that have not yet started is obtained, wherein the dependency relationship indicates that the start of a running step depends on the end of its dependent running steps;
[0117] Based on the dependencies, determine the planned start time for each running step that has not yet started execution;
[0118] Based on the planned start time and corresponding end time of each operational step that has not yet started execution, a first schedule for the operational steps that have not yet started execution is determined.
[0119] Example 3. The control method for the automated process according to Example 1 or 2, characterized in that, determining the planned start time of each running step that has not yet started execution based on the dependency relationship includes:
[0120] Based on the dependencies, obtain all dependent execution steps for each execution step that has not yet started;
[0121] Determine the starting execution step, wherein the starting execution step is the execution step among all execution steps that have not yet started execution, that has no dependent execution steps or whose dependent execution steps have all been arranged;
[0122] Based on the latest end time of all dependent running steps of the starting running step, determine the planned start time of the starting running step, and mark the starting running step as scheduled;
[0123] Based on the dependencies, all influencing running steps of the initial running step are determined, wherein the start of an influencing running step depends on the end of that running step;
[0124] For each initial running step, based on the dependencies, determine all dependent running steps that affect each running step of that initial running step;
[0125] Based on all dependent running steps determined for each starting running step, a first influencing running step is determined as a new starting running step. The planned start time of the new starting running step is determined and the new starting running step is marked as scheduled, until the planned start time of all running steps that have not yet started is determined. The first influencing running step is the step in the influencing running steps of the starting running step whose all dependent running steps have been scheduled.
[0126] Example 4. A control method for an automated process according to any one of Examples 1 to 3, characterized in that, adjusting the planned start time of the unexecuted running steps in the first timetable according to the first time duration to eliminate or shorten at least part of the first time duration includes:
[0127] For each running step that has not yet started,
[0128] Based on the dependencies between the running step that has not yet started and other running steps, update the first temporal potential corresponding to the running step that has not yet started.
[0129] Based on the updated first timeline, modify the planned start time of the operation step that has not yet started in the first timeline.
[0130] Example 5. A control method for an automated process according to any one of Examples 1 to 4, characterized in that updating the first temporal potential corresponding to the unstarted running step based on the dependency relationship between the unstarted running step and other running steps includes:
[0131] If a first time potential exists for a dependent running step that has not yet started, the first time potential corresponding to the running step that has not yet started is eliminated.
[0132] If the dependent execution steps of the execution step that has not yet started do not have a corresponding first temporal potential,
[0133] If shifting the planned start time of the unexecuted running step to the first duration corresponding to the first duration potential does not cause the dependent running steps of the unexecuted running step to fail to meet their time constraint duration, then the first duration potential remains unchanged.
[0134] If shifting the planned start time of the unexecuted running step by the first duration would cause the dependent running step of the unexecuted running step to fail to meet its time constraint duration, then the first duration potential is updated. The updated first duration potential is the difference between a first value and a second value. The first value is the time constraint duration between the dependent running step of the unexecuted running step and the unexecuted running step itself. The second value is the interval duration between the planned end time of the dependent running step of the unexecuted running step and the planned start time of the unexecuted running step itself.
[0135] Example 6. The control method for an automated process according to any one of Examples 1 to 5, characterized in that,
[0136] The step of adjusting the planned start time of the unexecuted running steps in the first timetable according to the first time duration, so as to eliminate or shorten at least part of the first time duration, further includes:
[0137] Based on the first timetable and the dependencies between the unstarted operation step and other operation steps, determine the allowable range of the planned start time for the unstarted operation step;
[0138] The step of modifying the planned start time of the unstarted running step in the first timetable according to the updated first timescale includes:
[0139] Based on the allowed interval and the updated first time period, modify the planned start time of the operation step that has not yet started in the first time period.
[0140] Example 7. A control method for an automated process according to any one of Examples 1 to 6, characterized in that, the step of modifying the planned start time of the unexecuted running step in the first timetable according to the allowed interval and the updated first time potential further includes:
[0141] If the second duration corresponding to the allowed interval of the planned start time of the running step that has not yet started is greater than or equal to the first duration corresponding to the updated first duration, then the planned start time of the running step that has not yet started is moved by the first duration.
[0142] If the second duration corresponding to the allowable interval of the planned start time of the operation step that has not yet started is less than the first duration,
[0143] Then, the planned start time of the running step that has not yet started is moved by the second duration, the first duration corresponding to the running step that has not yet started is updated again, and the running step that has not yet started is set to inactive. The first duration after the update is the difference between the first duration and the second duration. Inactive means that the planned start time of the running step that has not yet started in the first timetable cannot be modified.
[0144] Identify the blocking step of the running step that has not yet started execution, and determine the second time potential of the blocking step, wherein the blocking step is the earliest executed step among the affected running steps of the running step that has not yet started execution, and the second time potential is the same as the first time potential after being updated again.
[0145] Example 8. A control method for an automated process according to any one of Examples 1 to 7, characterized in that, the step of modifying the planned start time of the unexecuted running step in the first timetable according to the allowed interval and the updated first time potential further includes:
[0146] If the planned start time of the unstarted running step is moved, and the unstarted running step is a blocking running step of another running step, then the other running step is activated, wherein the activation indicates that the planned start time of the other running step in the first timetable can be modified.
[0147] Example 9. A control method for an automated process according to any one of Examples 1 to 8, characterized in that, determining the allowable range of the planned start time of the unstarted running step based on the first timetable and the dependency relationship between the unstarted running step and other running steps includes:
[0148] The upper bound of the allowed interval is determined based on the latest end time among the planned end times of the dependent run steps of the run step that has not yet started execution;
[0149] The lower bound of the allowed interval is determined based on the earliest start time of the planned start time of the operation steps affected by the operation steps that have not yet started, and the runtime of the operation steps that have not yet started, wherein the start of the operation steps affected by a operation step depends on the end of the operation steps.
[0150] Example 10. The control method for an automated process according to any one of Examples 1 to 9, characterized in that,
[0151] The step of determining whether the interval between two adjacent running steps meets the corresponding time constraint based on the first time schedule and the time constraint duration between two adjacent running steps includes:
[0152] Based on the first timetable, determine the first interval duration between the planned end time of the first operating step and the planned start time of the second operating step;
[0153] Based on whether the first interval duration is greater than the time constraint threshold between the first running step and the second running step, it is determined whether the first interval duration meets the corresponding time constraint duration, wherein the time constraint duration between the first running step and the second running step is less than or equal to the time constraint threshold.
[0154] If the above conditions are not met, then the first time duration potential is determined based on the interval between two adjacent running steps and the corresponding time constraint duration, including:
[0155] If the condition is not met, the difference between the first interval duration and the time constraint threshold is determined as the first duration potential.
[0156] Example 11. A control device for an automated process, characterized in that it comprises:
[0157] The first adjustment module is used to adjust the time arrangement of the unexecuted running steps based on the actual completion time of the completed running steps and the order relationship of the running steps in the automated process during the execution of the automated process, so as to obtain the first time schedule of the unexecuted running steps.
[0158] The judgment module is used to determine whether the interval between two adjacent running steps meets the corresponding time constraint based on the first time schedule and the time constraint duration between two adjacent running steps.
[0159] The determination module is used to determine a first time potential based on the interval between two adjacent running steps and the corresponding time constraint duration if the condition is not met. The first time potential indicates the degree to which the interval duration deviates from the corresponding time constraint duration.
[0160] The second adjustment module is used to adjust the planned start time of the running steps that have not yet started execution in the first time schedule according to the first time duration, so as to eliminate or shorten at least part of the first time duration.
[0161] An execution module is used to execute the running steps that have not yet started, according to an adjusted first timetable.
[0162] Example 12. An electronic device, comprising: a processor and a memory, characterized in that,
[0163] The memory stores computer program instructions, which, when executed by the processor, are used to perform a control method for an automated process as described in any one of Embodiments 1 to 10.
[0164] Example 13. A storage medium storing program instructions, characterized in that the program instructions, when executed, are used to perform a control method for an automated process as described in any one of Examples 1 to 10.
[0165] Example 14. A computer program product, comprising computer program instructions, characterized in that the computer program instructions, when running, are used to execute a control method for an automated process as described in any one of Examples 1 to 10.
[0166] Although exemplary embodiments have been described herein with reference to the accompanying drawings, it should be understood that the above exemplary embodiments are merely illustrative and are not intended to limit the scope of this application. Various changes and modifications can be made therein by those skilled in the art without departing from the scope and spirit of this application. All such changes and modifications are intended to be included within the scope of this application as claimed in the appended claims.
[0167] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0168] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed.
[0169] Numerous specific details are set forth in the specification provided herein. However, it will be understood that embodiments of this application may be practiced without these specific details. In some instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.
[0170] Similarly, it should be understood that, in order to streamline this application and aid in understanding one or more of the various inventive aspects, features of this application may sometimes be grouped together in a single embodiment, figure, or description thereof in the description of exemplary embodiments of this application. However, this approach should not be construed as reflecting an intention that the claimed application requires more features than are expressly recited in each claim. Rather, as reflected in the corresponding claims, its inventive point lies in solving the corresponding technical problem with features fewer than all features of a single disclosed embodiment. Therefore, the claims following the detailed description are hereby expressly incorporated into that detailed description, wherein each claim itself is a separate embodiment of this application.
[0171] Those skilled in the art will understand that, apart from the mutual exclusion of features, all features disclosed in this specification (including the accompanying claims, abstract, and drawings) and all processes or units of any method or apparatus so disclosed can be combined in any combination. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstract, and drawings) may be replaced by an alternative feature that serves the same, equivalent, or similar purpose.
[0172] Furthermore, those skilled in the art will understand that although some embodiments described herein include certain features but not others included in other embodiments, combinations of features from different embodiments are intended to be within the scope of this application and form different embodiments. For example, in the claims, any one of the claimed embodiments can be used in any combination.
[0173] The various component embodiments of this application can be implemented in hardware, or as software modules running on one or more processors, or a combination thereof. Those skilled in the art will understand that microprocessors or digital signal processors (DSPs) can be used in practice to implement some or all of the functions of some modules in the control device for the automated process according to the embodiments of this application. This application can also be implemented as a device program (e.g., a computer program and computer program product) for performing part or all of the methods described herein. Such an implementation of this application can be stored on a computer-readable medium, or can be in the form of one or more signals. Such signals can be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
[0174] It should be noted that the above embodiments are illustrative of this application and not restrictive, and that those skilled in the art can devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. This application can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names.
[0175] The above description is merely a specific embodiment or illustration of the embodiments of this application. The scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. The scope of protection of this application shall be determined by the scope of the claims.
Claims
1. A method for controlling an automated process, characterized in that, include: During the execution of the automated process, based on the actual completion time of the completed steps and the order of the steps in the automated process, the time arrangement of the steps that have not yet started is adjusted to obtain a first timetable for the steps that have not yet started. Based on the first timetable and the time constraint duration between two adjacent running steps, determine whether the interval duration between two adjacent running steps meets the corresponding time constraint duration. If not satisfied, a first time potential is determined based on the interval between two adjacent running steps and the corresponding time constraint duration, wherein the first time potential represents the degree to which the interval duration deviates from the corresponding time constraint duration; Based on the first duration, adjust the planned start time of any unexecuted running steps in the first timetable to eliminate or shorten at least part of the first duration. According to the adjusted first schedule, execute the operational steps that have not yet started.
2. The control method for an automated process according to claim 1, characterized in that, During the execution of the automated process, based on the actual completion time of the completed steps and the order of the steps in the automated process, the time arrangement of the steps that have not yet started is adjusted to obtain a first timetable for the steps that have not yet started, including: Based on the order of the running steps in the automated process, the dependency relationship between the running steps that have not yet started is obtained, wherein the dependency relationship indicates that the start of a running step depends on the end of its dependent running steps; Based on the dependencies, determine the planned start time for each running step that has not yet started execution; Based on the planned start time and corresponding end time of each operational step that has not yet started execution, a first schedule for the operational steps that have not yet started execution is determined.
3. The control method for an automated process according to claim 2, characterized in that, The process of determining the planned start time for each operational step that has not yet started execution, based on the aforementioned dependencies, includes: Based on the dependencies, obtain all dependent execution steps for each execution step that has not yet started; Determine the starting execution step, wherein the starting execution step is the execution step among all execution steps that have not yet started execution, that has no dependent execution steps or whose dependent execution steps have all been arranged; Based on the latest end time of all dependent running steps of the starting running step, determine the planned start time of the starting running step, and mark the starting running step as scheduled; Based on the dependencies, all influencing running steps of the initial running step are determined, wherein the start of an influencing running step depends on the end of that running step; For each initial running step, based on the dependencies, determine all dependent running steps that affect each running step of that initial running step; Based on all dependent running steps determined for each starting running step, a first influencing running step is determined as a new starting running step. The planned start time of the new starting running step is determined and the new starting running step is marked as scheduled, until the planned start time of all running steps that have not yet started is determined. The first influencing running step is the step in the influencing running steps of the starting running step whose all dependent running steps have been scheduled.
4. The control method for an automated process according to claim 2, characterized in that, The step of adjusting the planned start time of the unexecuted running steps in the first timetable according to the first time duration, so as to eliminate or shorten at least part of the first time duration, includes: For each running step that has not yet started, Based on the dependencies between the running step that has not yet started and other running steps, update the first temporal potential corresponding to the running step that has not yet started. Based on the updated first timeline, modify the planned start time of the operation step that has not yet started in the first timeline.
5. The control method for an automated process according to claim 4, characterized in that, The step of updating the first temporal potential corresponding to the unstarted execution step based on its dependency relationship with other execution steps includes: If a first time potential exists for a dependent running step that has not yet started, the first time potential corresponding to the running step that has not yet started is eliminated. If the dependent execution steps of the execution step that has not yet started do not have a corresponding first temporal potential, If shifting the planned start time of the unexecuted running step to the first duration corresponding to the first duration potential does not cause the dependent running steps of the unexecuted running step to fail to meet their time constraint duration, then the first duration potential remains unchanged. If shifting the planned start time of the unexecuted running step by the first duration would cause the dependent running step of the unexecuted running step to fail to meet its time constraint duration, then the first duration potential is updated. The updated first duration potential is the difference between a first value and a second value. The first value is the time constraint duration between the dependent running step of the unexecuted running step and the unexecuted running step itself. The second value is the interval duration between the planned end time of the dependent running step of the unexecuted running step and the planned start time of the unexecuted running step itself.
6. The control method for an automated process according to claim 4, characterized in that, The step of adjusting the planned start time of the unexecuted running steps in the first timetable according to the first time duration, so as to eliminate or shorten at least part of the first time duration, further includes: Based on the first timetable and the dependencies between the unstarted operation step and other operation steps, determine the allowable range of the planned start time for the unstarted operation step; The step of modifying the planned start time of the unstarted running step in the first timetable according to the updated first timescale includes: Based on the allowed interval and the updated first time period, modify the planned start time of the operation step that has not yet started in the first time period.
7. The control method for an automated process according to claim 6, characterized in that, The step of modifying the planned start time of the unexecuted running step in the first timetable based on the allowed interval and the updated first time potential further includes: If the second duration corresponding to the allowed interval of the planned start time of the running step that has not yet started is greater than or equal to the first duration corresponding to the updated first duration, then the planned start time of the running step that has not yet started is moved by the first duration. If the second duration corresponding to the allowable interval of the planned start time of the operation step that has not yet started is less than the first duration, Then, the planned start time of the running step that has not yet started is moved by the second duration, the first duration corresponding to the running step that has not yet started is updated again, and the running step that has not yet started is set to inactive. The first duration after the update is the difference between the first duration and the second duration. Inactive means that the planned start time of the running step that has not yet started in the first timetable cannot be modified. Identify the blocking step of the running step that has not yet started execution, and determine the second time potential of the blocking step, wherein the blocking step is the earliest executed step among the affected running steps of the running step that has not yet started execution, and the second time potential is the same as the first time potential after being updated again.
8. The control method for an automated process according to claim 7, characterized in that, The step of modifying the planned start time of the unexecuted running step in the first timetable based on the allowed interval and the updated first time potential further includes: If the planned start time of the unstarted running step is moved, and the unstarted running step is a blocking running step of another running step, then the other running step is activated, wherein the activation indicates that the planned start time of the other running step in the first timetable can be modified.
9. The control method for an automated process according to claim 6, characterized in that, The step of determining the allowable range of the planned start time for the unstarted operation step based on the first timetable and the dependencies between the unstarted operation step and other operation steps includes: The upper bound of the allowed interval is determined based on the latest end time among the planned end times of the dependent run steps of the run step that has not yet started execution; The lower bound of the allowed interval is determined based on the earliest start time of the planned start time of the operation steps affected by the operation steps that have not yet started, and the runtime of the operation steps that have not yet started, wherein the start of the operation steps affected by a operation step depends on the end of the operation steps.
10. The control method for an automated process according to any one of claims 1 to 9, characterized in that, The step of determining whether the interval between two adjacent running steps meets the corresponding time constraint based on the first time schedule and the time constraint duration between two adjacent running steps includes: Based on the first timetable, determine the first interval duration between the planned end time of the first operating step and the planned start time of the second operating step; Based on whether the first interval duration is greater than the time constraint threshold between the first running step and the second running step, it is determined whether the first interval duration meets the corresponding time constraint duration, wherein the time constraint duration between the first running step and the second running step is less than or equal to the time constraint threshold. If the above conditions are not met, then the first time duration potential is determined based on the interval between two adjacent running steps and the corresponding time constraint duration, including: If the condition is not met, the difference between the first interval duration and the time constraint threshold is determined as the first duration potential.
11. A control device for an automated process, characterized in that, include: The first adjustment module is used to adjust the time arrangement of the unexecuted running steps based on the actual completion time of the completed running steps and the order relationship of the running steps in the automated process during the execution of the automated process, so as to obtain the first time schedule of the unexecuted running steps. The judgment module is used to determine whether the interval between two adjacent running steps meets the corresponding time constraint based on the first time schedule and the time constraint duration between two adjacent running steps. The determination module is used to determine a first time length potential based on the interval between two adjacent running steps and the corresponding time constraint duration if the conditions are not met, wherein the first time length potential represents the degree to which the interval duration deviates from the corresponding time constraint duration; The second adjustment module is used to adjust the planned start time of the running steps that have not yet started execution in the first time schedule according to the first time duration, so as to eliminate or shorten at least part of the first time duration. An execution module is used to execute the running steps that have not yet started, according to an adjusted first timetable.
12. An electronic device, comprising: Processor and memory, characterized in that, The memory stores computer program instructions, which, when executed by the processor, are used to perform the control method for the automated process as described in any one of claims 1 to 10.
13. A storage medium on which program instructions are stored, characterized in that, The program instructions are used at runtime to execute the control method for the automated process as described in any one of claims 1 to 10.
14. A computer program product comprising computer program instructions, characterized in that, The computer program instructions, when executed, are used to perform the control method for the automated process as described in any one of claims 1 to 10.