Information processing system, information processing method, and information processing program
Patent Information
- Application Number
- JP2025064039
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-04-09
- Publication Date
- 2026-10-22
AI Technical Summary
【0008】 本開示によれば、車載装置において用いられるプログラムの構成部品の検証において、優先度が高いタスクをより早期に実行することができる。
Smart Images

Figure 2026170510000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an information processing system, an information processing method, and an information processing program.
Background Art
[0002] Conventionally, in program development, Continuous Integration (CI) and Continuous Delivery (CD) are used. For example, Patent Document 1 (Japanese Unexamined Patent Application Publication No. 2024-48916) discloses the following information processing system. That is, the information processing system is an information processing system that supports development of software executed by an in-vehicle device, and includes a control unit that adds a task provided from a repository storing a plurality of sources included in the software to a queue where the task waits for test execution, wherein the control unit reads priority information from a storage storing the priority information including information related to the task, calculates the priority of the task based on the priority information, compares the priority of the task already accumulated in the queue with the priority of the task to be newly added to the queue, and adds the task to the queue in a state where the execution order of the task with the higher priority is placed earlier.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Patent Document 2
Summary of Invention
Problems to be Solved by the Invention
[0004] Beyond the technologies described in Patent Documents 1 and 2, there is a need for a technology that can perform high-priority tasks earlier in the verification of program components used in in-vehicle devices.
[0005] This disclosure was made to solve the above-mentioned problems, and its purpose is to provide an information processing system, information processing method, and information processing program that can perform high-priority tasks earlier in the verification of program components used in in-vehicle devices. [Means for solving the problem]
[0006] The information processing system disclosed herein is an information processing system for verifying components of a program used in an in-vehicle device using a verification tool that performs multiple tasks, comprising: a calculation unit that calculates the priority of the tasks; a sorting unit that sorts the multiple tasks, including a first task which is a task currently being executed by the verification tool and a second task which is a newly created task, according to the priority calculated by the calculation unit; and a control unit that, if the priority of the second task is higher than the priority of the first task, interrupts the execution of the first task and causes the verification tool to execute the second task.
[0007] One aspect of this disclosure can be implemented not only as an information processing system equipped with such characteristic processing units, but also as a semiconductor integrated circuit that implements part or all of the information processing system. [Effects of the Invention]
[0008] According to this disclosure, high-priority tasks can be executed earlier in the verification of program components used in in-vehicle devices. [Brief explanation of the drawing]
[0009] [Figure 1] Figure 1 is a diagram showing the configuration of an information processing system according to the first embodiment of this disclosure. [Figure 2] Figure 2 shows an example of a program developed using the information processing system according to the first embodiment of this disclosure. [Figure 3] Figure 3 is a time chart showing an example of task execution by a CI / CD tool in an information processing system according to a comparative example of the first embodiment of this disclosure. [Figure 4] Figure 4 is a diagram showing the configuration of an information processing device in an information processing system according to the first embodiment of this disclosure. [Figure 5] Figure 5 is a time chart showing an example of task execution by a CI / CD tool in an information processing system according to the first embodiment of this disclosure. [Figure 6] Figure 6 is a flowchart illustrating an example of the operation procedure when an information processing device according to the first embodiment of this disclosure controls a CI / CD tool. [Figure 7] Figure 7 is a diagram showing the configuration of an information processing device in an information processing system according to a second embodiment of the present disclosure. [Figure 8] Figure 8 is a time chart showing an example of task execution by a CI / CD tool in an information processing system according to the second embodiment of this disclosure. [Figure 9] Figure 9 is a flowchart illustrating an example of the operation procedure when an information processing device according to the second embodiment of this disclosure controls a CI / CD tool. [Modes for carrying out the invention]
[0010] First, the embodiments of this disclosure will be listed and explained. (1) An information processing system according to an embodiment of the present disclosure is an information processing system that verifies components of a program used in an in-vehicle device using a verification tool that performs a plurality of tasks, comprising: a calculation unit that calculates the priority of the tasks; a sorting unit that sorts a plurality of tasks, including a first task which is a task currently being executed by the verification tool and a second task which is a newly created task, according to the priority calculated by the calculation unit; and a control unit that, if the priority of the second task is higher than the priority of the first task, interrupts the execution of the first task and causes the verification tool to execute the second task.
[0011] With this configuration, if a second task with a higher priority than the first task is created while the first task is being executed, the execution of the first task can be interrupted and the second task can be executed. Therefore, the higher-priority second task can be executed without waiting for the first task to complete, and the second task can be completed earlier. Consequently, in the verification of program components used in in-vehicle devices, higher-priority tasks can be executed earlier.
[0012] (2) In (1) above, the calculation unit may calculate the priority of the first task based on the remaining time until the completion of the first task.
[0013] This configuration allows for a decision on whether or not to interrupt the first task, taking into account the remaining time until completion, thereby improving the overall efficiency of verification using the verification tool.
[0014] (3) In (1) or (2) above, if the control unit is executing the test process among the processes included in the first task, it may wait for the test process to be completed before suspending the first task.
[0015] With this configuration, the first task can be interrupted after the test process is completed, so that, for example, when resuming the first task, there is no need to redo the test process, and the first task can be smoothly resumed from the process subsequent to the test process.
[0016] (4) In the above (3), when the test process of the ISO 26262 functional safety standard is being executed, the control unit may wait to interrupt the first task until the test process is completed.
[0017] With this configuration, it is possible to prevent an important test process for which the functional safety standard is required from being interrupted.
[0018] (5) In any one of the above (1) to (4), the control unit may save the work data of the first task, and may resume the first task using the work data after the second task is completed.
[0019] With this configuration, the first task can be completed earlier compared to a configuration in which the first task is redone from the beginning after the second task is completed.
[0020] (6) In the above (5), when the amount of the work data is equal to or greater than a predetermined value, the control unit may not save the work data.
[0021] With this configuration, when saving and restoring the work data takes time, the first task can be completed earlier by redoing the first task from the beginning.
[0022] (7) An information processing method according to an embodiment of the present disclosure is an information processing method in an information processing system that verifies components of a program used in an in-vehicle device using a verification tool that performs a plurality of tasks, comprising the steps of: calculating the priority of the tasks; sorting the plurality of tasks, including a first task which is a task currently being executed by the verification tool and a second task which is a newly created task, according to the calculated priority; and, if the priority of the second task is higher than the priority of the first task, interrupting the execution of the first task and causing the verification tool to execute the second task.
[0023] With this configuration, if a second task with a higher priority than the first task is created while the first task is being executed, the execution of the first task can be interrupted and the second task can be executed. Therefore, the higher-priority second task can be executed without waiting for the first task to complete, and the second task can be completed earlier. Consequently, in the verification of program components used in in-vehicle devices, higher-priority tasks can be executed earlier.
[0024] (8) An information processing program according to an embodiment of the present disclosure is a program used in an information processing system that verifies components of a program used in an in-vehicle device using a verification tool that performs multiple tasks, and is a program that causes a computer to function as a calculation unit that calculates the priority of the tasks, a sorting unit that sorts the multiple tasks, including a first task which is a task currently being executed in the verification tool and a newly created second task, according to the priority calculated by the calculation unit, and a control unit that, if the priority of the second task is higher than the priority of the first task, interrupts the execution of the second task and causes the verification tool to execute the second task.
[0025] With this configuration, if a second task with a higher priority than the first task is created while the first task is being executed, the execution of the first task can be interrupted and the second task can be executed. Therefore, the higher-priority second task can be executed without waiting for the first task to complete, and the second task can be completed earlier. Consequently, in the verification of program components used in in-vehicle devices, higher-priority tasks can be executed earlier.
[0026] Embodiments of this disclosure will be described below with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals, and their descriptions will not be repeated. Furthermore, at least some of the embodiments described below may be combined in any way.
[0027] [Configuration and Basic Operation] (Information Processing System) Figure 1 is a diagram showing the configuration of an information processing system according to a first embodiment of the present disclosure. Referring to Figure 1, the information processing system 401 comprises an information processing device 101, a repository 111, storage 151, a CI / CD tool 201, and a test tool 301. The CI / CD tool 201 is an example of a verification tool. The CI / CD tool 201 comprises a processing unit 21 and a queue 22. The test tool 301 comprises a node 31 and a test set 32. The node 31 is, for example, a personal computer. The test set 32 includes a development board 33 and a measurement jig 34.
[0028] For example, some or all of the functions of the information processing system 401 are provided by cloud computing. As an example, the repository 111, information processing device 101, storage 151, and CI / CD tool 201 are composed of multiple cloud servers, etc. The test tool 301 is installed, for example, at the office of the administrator of the information processing system 401 and is connected to the CI / CD tool 201 via a network.
[0029] Information processing system 401 provides development support for programs (Prg) used in in-vehicle devices such as in-vehicle ECUs (Electronic Control Units).
[0030] Figure 2 shows an example of a program developed using the information processing system according to the first embodiment of this disclosure. Referring to Figure 2, the program Prg includes components X1, X2, and X3, which are component X. Component X1 includes modules M1, M2, and M3, which are module M. Component X2 includes modules M4 and M5, which are module M. Components X and modules M are examples of components of the program Prg.
[0031] Hereinafter, both component X and module M will also be referred to as "source code Sr". Source code Sr may be source code expressed using a given programming language, or it may be binary code or object code obtained by converting source code into machine code. Source code Sr may be created individually by, for example, multiple developers Dp.
[0032] Referring again to Figure 1, the information processing system 401 verifies the source code Sr created by developer Dp using the CI / CD tool 201. The details of each unit in the information processing system 401 are described below.
[0033] (Repository) Repository 111 is a database of source code. Repository 111 includes a source control tool that manages source code according to SCM (Source Code Management). Repository 111 is connected to the developer's terminal via a network.
[0034] When developer Dp creates a new source code Sr, it saves the created source code Sr to repository 111 via the network. Also, when developer Dp creates an update source code Sr, it updates the source code Sr stored in repository 111 with the newly created source code Sr via the network.
[0035] Repository 111 sends update information, including the source code Sr, to CI / CD tool 201 when a source code Sr is saved or updated by a developer Dp.
[0036] (CI / CD tools and testing tools) CI / CD tool 201 executes multiple tasks T. CI / CD tool 201 executes tasks T created based on source Sr, for example, by performing continuous integration (CI) and continuous delivery (CD). CI / CD tool 201 is, for example, Jenkins®.
[0037] More specifically, in the CI / CD tool 201, the processing unit 21 receives update information from the repository 111 and obtains source code Sr from the received update information. The processing unit 21 creates a task T to verify the operation of the obtained source code Sr. For example, in addition to a task T that verifies the operation of the obtained source code Sr alone, the processing unit 21 also creates a task T that verifies the operation of the obtained source code Sr when it is combined with other source code Sr. For example, task T includes the build process s1, the test process s2, and the deployment process s3. The processing unit 21 may also create a task T that does not include parts of the build process s1, the test process s2, and the deployment process s3.
[0038] When the processing unit 21 creates a task T, it stores the created task T in the queue 22. The queue 22 is, for example, FIFO (First In First Out). In the example shown in Figure 1, tasks T2 and T3, which are task T, are stored in the queue.
[0039] The processing unit 21 sequentially executes tasks T stored in queue 22 using the test tool 301. More specifically, the processing unit 21 retrieves task T from queue 22 and sends an execution instruction including the retrieved task T to the test tool 301 via the network. In the example shown in Figure 1, the processing unit 21 is executing task T1, which is task T.
[0040] When the processing unit 21 completes the execution of task T, it retrieves the next task T to be executed from the queue 22 and sends an execution instruction including the retrieved task T to the test tool 301 via the network.
[0041] Node 31 in test tool 301 receives execution instructions from CI / CD tool 201 via the network. Node 31 controls test set 32 based on task T included in the received execution instructions.
[0042] Test set 32 is hardware resources that simulate the production environment in which the program Prg operates. More specifically, the development board 33 is a board that simulates a circuit board incorporated into an in-vehicle device. The development board 33 may be the circuit board incorporated into the in-vehicle device itself, or it may be a prototype of the circuit board incorporated into the in-vehicle device. The measurement jig 34 is a jig used to measure the operation of the development board 33. The program Prg is embedded software used in an in-vehicle device. Therefore, the source code Sr that constitutes the program Prg is verified for operation using test set 32, which simulates the production environment.
[0043] When task T is completed, node 31 creates verification result information indicating the execution time of task T, the duration of task T, and whether task T was performed successfully. Node 31 then sends the created verification result information to the CI / CD tool 201 via the network.
[0044] The processing unit 21 in the CI / CD tool 201 receives verification result information from the test tool 30 via the network and saves the received verification result information to the storage 151. Then, the processing unit 21 sends a new execution instruction to the test tool 301 via the network.
[0045] [assignment] In verifying the source code Sr of a program Prg used in in-vehicle devices, there is a need for a technology that can execute tasks T with high priority P earlier.
[0046] More specifically, in the embedded development of the program Prg, as described above, the operation of the source Sr is verified using the hardware resource test set 32. Since the test set 32 is generally expensive, it is not easy to provide each developer Dp with their own individual test set 32 in the test tool 301.
[0047] Therefore, it is difficult for the information processing system 401 to execute multiple tasks T in parallel, and instead, for example, multiple tasks T are executed sequentially using a single test set 32. In order to efficiently utilize the limited resources of the information processing system 401, to find corrections to the source code Sr earlier, and to shorten the time required for program development Prg, it is desirable to execute tasks T with higher priority P earlier.
[0048] Figure 3 is a time chart showing an example of task execution by a CI / CD tool in an information processing system according to a comparative example of the first embodiment of this disclosure. Figure 3 shows task T being executed by processing unit 21 in the CI / CD tool 201 and task T stored in queue 22.
[0049] Referring to Figure 3, the processing unit 21 in the CI / CD tool 201 starts executing task T1, which is task T, at time t1. At this time, tasks T2 and T3 are stored in queue 22.
[0050] The processing unit 21 creates task T4, which is task T, at time t2, which is later than time t1, and stores it in queue 22. For example, if the priority P of task T4 is higher than the priority P of tasks T2 and T3, the processing unit 21 stores task T4 in queue 22 so that task T4 is retrieved from queue 22 before tasks T2 and T3.
[0051] Subsequently, at time t3, when the required time Tr1 for task T1 has elapsed from time t1, the processing unit 21 completes the execution of task T1, retrieves task T4 from queue 22, and begins the execution of task T4. Furthermore, at time t4, when the required time Tr4 for task T4 has elapsed from time t3, the processing unit 21 completes the execution of task T4.
[0052] Therefore, even if the priority P of task T4, created at time t2, is higher than the priority P of task T1, task T4 cannot be executed until time t3, when task T1 is completed. In this way, even though task T4, which has a higher priority P, is stored in queue 22, task T1, which has a lower priority P, may end up monopolizing the resources of the information processing system 401.
[0053] Therefore, the information processing system 401 according to the embodiment of this disclosure solves the above problems with the following configuration.
[0054] (Information processing device) Figure 4 is a diagram showing the configuration of an information processing device in an information processing system according to a first embodiment of the present disclosure. Referring to Figure 4, the information processing device 101 comprises a calculation unit 11, a sorting unit 12, and a control unit 13. Some or all of the calculation unit 11, the sorting unit 12, and the control unit 13 are implemented, for example, by a processing circuit (Circuitry) including one or more processors.
[0055] (1) Calculation section The calculation unit 11 performs a calculation process to calculate the priority P of task T. For example, the calculation unit 11 monitors the CI / CD tool 201. When a new task T is created in the CI / CD tool 201 and stored in the queue 22, the calculation unit 11 calculates the priority P of all tasks T in the CI / CD tool 201. More specifically, when a new task T4 is stored in the queue 22 by the processing unit 21, the calculation unit 11 calculates the priority P of task T1 being executed by the processing unit 21 and tasks T2, T3, and T4 stored in the queue 22. Task T1 is an example of a first task. Task T4 is an example of a second task.
[0056] For example, storage 151 stores priority information used to calculate priority P. As an example, storage 151 stores priority information as described in Patent Document 1. The calculation unit 11 calculates priority P based on the priority information in storage 151. The calculation unit 11 may also calculate priority P based on verification result information in storage 151.
[0057] For example, the calculation unit 11 calculates the priority P of task T1 based on the remaining time Rt until task T1 is completed. More specifically, the calculation unit 11 obtains information on the remaining time Rt from the CI / CD tool 201 and calculates the priority P of task T1 based on the obtained remaining time Rt. As an example, in the calculation process, the calculation unit 11 adds a correction value corresponding to the remaining time Rt to the priority P value of task T1 calculated based on the priority information, such that the shorter the remaining time Rt, the higher the priority P.
[0058] The calculation unit 11 calculates the priority P for each task T and outputs task information showing the correspondence between task T and priority P to the sorting unit 12.
[0059] (2) Sorting section The sorting unit 12 performs sorting processing on multiple tasks T, including task T1 currently running in the CI / CD tool 201 and newly created task T4, according to the priority P calculated by the calculation unit 11. More specifically, the sorting unit 12 receives task information from the calculation unit 11 and obtains the priority P of each task T from the received task information. In the sorting process, the sorting unit 12 arranges each task T according to the level of priority P. The sorting unit 12 outputs sort information showing the arrangement result of the tasks T to the control unit 13.
[0060] (3) Control Unit If the priority P of task T4 is higher than the priority P of task T1, the control unit 13 interrupts the execution of task T1 and has the CI / CD tool 201 execute task T4. More specifically, the control unit 13 receives sorting information from the sorting unit 12, and if the sorting information indicates that the priority P of task T4 is higher than the priority P of task T1 in the resulting sorting of task T, it sends an interruption instruction to the processing unit 21 in the CI / CD tool 201 to interrupt the execution of task T1.
[0061] For example, if test process s2, one of the processes included in task T1, is being executed, the control unit 13 waits to interrupt task T1 until test process s2 is completed. Also, for example, if test process s2iso, which is test process s2 of the ISO 26262 functional safety standard, is being executed, the control unit 13 waits to interrupt task T1 until test process s2iso is completed. More specifically, the control unit 13 monitors the execution status of task T1 by the processing unit 21 in the CI / CD tool 201. If test process s2iso, which requires the functional safety standard ASIL (Automotive Safety Integrity Level) or QM (Quality Management), is being executed, the control unit 13 waits to send an interruption instruction until test process s2iso is completed. Then, when test process s2iso is completed, the control unit 13 sends an interruption instruction.
[0062] When the processing unit 21 receives an interruption instruction from the control unit 13, it interrupts the execution of task T1 in accordance with the interruption instruction and stores task T1 in queue 22.
[0063] When task T1 is stored in queue 22 by processing unit 21, control unit 13 performs an update process to rearrange the arrangement of tasks T1, T2, T3, and T4 in queue 22 based on sort information. For example, if the priority P of tasks T4, T1, T2, and T3 is highest in that order, control unit 13 rearranges the positions of tasks T1, T2, T3, and T4 in queue 22 so that tasks T4, T1, T2, and T3 are retrieved from queue 22 in that order. After the update process, control unit 13 sends a restart instruction to processing unit 21 in the CI / CD tool 201 to resume the execution of task T.
[0064] When the processing unit 21 receives a restart instruction from the control unit 13, it resumes the execution of task T in accordance with the restart instruction. More specifically, the processing unit 21 retrieves task T4 from the queue 22 and executes it.
[0065] Figure 5 is a time chart showing an example of task execution by a CI / CD tool in an information processing system according to the first embodiment of this disclosure. Figure 5 shows task T being executed by processing unit 21 in the CI / CD tool 201 and task T stored in queue 22.
[0066] Referring to Figure 5, the processing unit 21 in the CI / CD tool 201 starts executing task T1, which is task T, at time t1. At this time, tasks T2 and T3 are stored in queue 22.
[0067] At time t2, the processing unit 21 creates task T4, which is task T, and stores it in queue 22. The control unit 13 in the information processing device 101 receives sorting information from the sorting unit 12, and if the priority P of task T4 is higher than the priority P of task T1, it sends an interruption instruction to the processing unit 21. The processing unit 21 interrupts the execution of task T1 in accordance with the interruption instruction received from the control unit 13 and stores task T1 in queue 22. The control unit 13 performs an update process to rearrange the arrangement of tasks T2, T3, and T4 in queue 22 so that tasks T4, T1, T2, and T3 are retrieved from queue 22 in that order, and sends a resume instruction to the processing unit 21. The processing unit 21 retrieves task T4 from queue 22 and executes it in accordance with the resume instruction received from the control unit 13.
[0068] Subsequently, at time ta1, when the duration Tr4 of task T4 has elapsed from time t2, the processing unit 21 completes the execution of task T4. The processing unit 21 also retrieves task T1 from queue 22 and starts the execution of task T1 again. The processing unit 21 completes the execution of task T1 at time ta2, when the duration Tr1 of task T1 has elapsed from time ta1.
[0069] As a result, compared to the example execution of task T shown in Figure 3, task T4, which has a higher priority P, can be completed at time ta1, which is earlier than time t4.
[0070] Furthermore, if the priority P of task T4 is lower than the priority P of task T1, the processing unit 21 does not send an interruption instruction, but instead performs an update process to rearrange the arrangement of T2, T3, and T4 in queue 22.
[0071] [Operation Flow] Figure 6 is a flowchart illustrating an example of the operation procedure when an information processing device according to the first embodiment of this disclosure controls a CI / CD tool.
[0072] First, the information processing device 101 waits for task T to be created in the CI / CD tool 201 (NO in step S11), and when task T4 is created in the CI / CD tool 201 (YES in step S11), it calculates the priority P of tasks T1, T2, T3, and T4 in the CI / CD tool 201 (step S12).
[0073] Next, the information processing device 101 performs sorting processing to sort tasks T1, T2, T3, and T4 according to their priority P (step S13).
[0074] Next, if the priority P of task T4 is higher than the priority P of task T1 (YES in step S14), the information processing device 101 sends an interruption instruction to the CI / CD tool 201 to interrupt the execution of task T1 (step S15).
[0075] Next, the information processing device 101 performs an update process to rearrange the array of tasks T1, T2, T3, and T4 in the queue 22 based on the array result of task T in the sorting process (step S16).
[0076] Next, the information processing device 101 sends a restart instruction to the CI / CD tool 201 to resume the execution of task T (step S17), and waits for a new task T to be created in the CI / CD tool 201 (NO in step S11).
[0077] On the other hand, if the priority P of task T4 is lower than the priority P of task T1 (NO in step S14), the information processing device 101 performs an update process to rearrange the sequence of tasks T2, T3, and T4 in queue 22 (step S18) and waits for a new task T to be created in the CI / CD tool 201 (NO in step S11).
[0078] In the information processing apparatus 101 according to the first embodiment of this disclosure, the calculation unit 11 is configured to calculate the priority P of task T1 based on the remaining time Rt until the completion of task T1 in the calculation process, but it is not limited to this. The calculation unit 11 may be configured to calculate the priority P of task T1 without considering the remaining time Rt.
[0079] Furthermore, in the information processing apparatus 101 according to the first embodiment of this disclosure, the calculation unit 11 is configured to add a correction value according to the remaining time Rt to the priority P value of task T1 calculated based on priority information during the calculation process, but is not limited to this. The calculation unit 11 may be configured to add a predetermined value to the priority P value of task T1 calculated based on priority information when the remaining time Rt is less than or equal to a predetermined value during the calculation process, while not adding to the priority P value when the remaining time Rt is longer than the predetermined value.
[0080] Furthermore, in the information processing device 101 according to the first embodiment of this disclosure, the control unit 13 is configured to wait for the completion of the test process s2, one of the processes included in task T1, before sending an interruption instruction. However, the invention is not limited to this configuration. The control unit 13 may also be configured to send an interruption instruction to the CI / CD tool 201 without waiting for the completion of the test process s2 of task T1.
[0081] Furthermore, in the information processing device 101 according to the first embodiment of this disclosure, the control unit 13 is configured to wait for the completion of test process s2iso, which requires ASIL or QM, before sending an interruption instruction. However, the configuration is not limited to this. The control unit 13 may also be configured to wait for the completion of test process s2, which does not require ASIL or QM, while simultaneously sending an interruption instruction to the CI / CD tool 201 without waiting for the completion of test process s2iso.
[0082] Next, other embodiments of the present disclosure will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals, and their descriptions will not be repeated.
[0083] <Second Embodiment> [Configuration and Basic Operation] This embodiment relates to an information processing device 102 that saves the work data Dw of task T when task T is interrupted, compared to the information processing device 101 according to the first embodiment. Except for the contents described below, it is the same as the information processing device 101 according to the first embodiment.
[0084] Figure 7 is a diagram showing the configuration of an information processing device in an information processing system according to a second embodiment of the present disclosure. Referring to Figure 7, the information processing device 102 has a control unit 14 instead of a control unit 13, compared to the information processing device 101.
[0085] If the control unit 14 interrupts the execution of task T1, it saves the work data Dw of task T1, and after task T4 is completed, it restarts task T1 using the work data Dw. For example, if the amount of work data Dw is greater than or equal to a predetermined value, the control unit 14 does not save the work data Dw.
[0086] More specifically, the control unit 14 obtains the data volume Vd of the work data Dw for task T1 from the CI / CD tool 201 if, in the sort information received from the sort unit 12, the priority P of task T4 is higher than the priority P of task T1 in the sort result of task T1. For example, the work data Dw for task T1 is data generated by node 31 during the execution time Tp, which is the time task T1 was executed, and represents data such as the results of the executed processes among the various processes included in task T1. Here, the execution time Tp is shorter than the required time Tr1 for task T1.
[0087] When the control unit 14 obtains the data volume Vd of the work data Dw, it compares the obtained data volume Vd with a predetermined threshold Th1. If the data volume Vd is less than the threshold Th1, the control unit 14 sends an interruption and save instruction to the processing unit 21 in the CI / CD tool 201 to interrupt the execution of task T1 and save the work data Dw.
[0088] On the other hand, if the data amount Vd is greater than or equal to the threshold Th1, the control unit 14 sends an interruption instruction to the processing unit 21 in the CI / CD tool 201 to interrupt the execution of task T1, without saving the work data Dw, in the same manner as the control unit 13.
[0089] When the processing unit 21 receives an interruption and backup instruction from the control unit 14, it interrupts the execution of task T1 in accordance with the instruction and retrieves work data Dw from node 31 via the network. The processing unit 21 saves the retrieved work data Dw to storage 151. The processing unit 21 also stores the interrupted task T1 in queue 22.
[0090] The control unit 14, in the same manner as the control unit 13, performs an update process when the processing unit 21 stores task T1 in queue 22. After the update process, the control unit 14 sends a restart instruction to the processing unit 21 in the CI / CD tool 201 to resume the execution of task T.
[0091] When the processing unit 21 receives a restart instruction from the control unit 14, it resumes the execution of task T in accordance with the restart instruction. More specifically, the processing unit 21 retrieves task T4 from the queue 22 and executes it. Once the processing unit 21 has completed the execution of task T4, it retrieves the next task to be executed, task T1, from the queue 22.
[0092] When the processing unit 21 completes the execution of task T4, the control unit 14 sends a restore instruction to the processing unit 21 to restore the work data Dw.
[0093] When the processing unit 21 receives a restore instruction from the control unit 14, it retrieves the work data Dw from the storage 151 according to the restore instruction and resumes the execution of task T1 using the retrieved work data Dw. More specifically, the processing unit 21 sends an execution resume instruction, including task T1 and the work data Dw, to the test tool 301 via the network.
[0094] Node 31 in test tool 301 receives a restart instruction from CI / CD tool 201 via the network. Based on the task T1 and work data Dw included in the received restart instruction, node 31 controls test set 32.
[0095] Figure 8 is a time chart showing an example of task execution by a CI / CD tool in an information processing system according to a second embodiment of this disclosure. Figure 8 shows task T being executed by processing unit 21 in the CI / CD tool 201 and task T stored in queue 22.
[0096] Referring to Figure 8, the processing unit 21 in the CI / CD tool 201 starts executing task T1, which is task T, at time t1. At this time, tasks T2 and T3 are stored in queue 22.
[0097] At time t2, the processing unit 21 creates task T4, which is task T, and stores it in queue 22. The control unit 14 in the information processing device 101 receives sorting information from the sorting unit 12 and sends an interruption and save instruction to the processing unit 21 if the priority P of task T4 is higher than the priority P of task T1, and the data amount Vd of the work data Dw of task T1 is less than the threshold Th1. In accordance with the interruption and save instruction received from the control unit 14, the processing unit 21 interrupts the execution of task T1 and saves the work data Dw generated by node 31 during the execution time Tp from time t1 to time t2 to storage 151.
[0098] The processing unit 21 completes saving the work data Dw at time tb1, which is later than time t2, and stores the interrupted task T1 in queue 22. The control unit 14 performs an update process to rearrange the order of tasks T2, T3, and T4 in queue 22 so that tasks T4, T1, T2, and T3 are retrieved from queue 22 in that order, and sends a restart instruction to the processing unit 21. The processing unit 21 retrieves task T4 from queue 22 and executes it according to the restart instruction received from the control unit 14.
[0099] Subsequently, at time tb2, when the duration Tr4 of task T4 has elapsed from time tb1, the processing unit 21 completes the execution of task T4. Then, the control unit 14 sends a restore instruction to the processing unit 21. The processing unit 21 retrieves the work data Dw from the storage 151 according to the restore instruction received from the control unit 14.
[0100] The processing unit 21 completes the acquisition of the work data Dw at time tb3, which is later than time tb2, and resumes the execution of task T1 using the acquired work data Dw. Subsequently, the processing unit 21 completes the execution of task T1 at time ta3, which is the time obtained by subtracting the execution time Tp from the required time Tr1 from time tb3.
[0101] As a result, if the time required to save and retrieve the work data Dw is sufficiently short, task T1 can be completed at time tb4, earlier than time ta2, compared to the example execution of task T shown in Figure 5.
[0102] [Operation Flow] Figure 9 is a flowchart illustrating an example of the operation procedure when an information processing device according to the second embodiment of this disclosure controls a CI / CD tool.
[0103] Referring to Figure 9, the information processing device 102 performs the same processing as steps S11 to S13 in Figure 6 as the processing in steps S21 to S23.
[0104] Next, if the priority P of task T4 is higher than the priority P of task T1, and the amount of work data Dw Vd of task T1 is less than the threshold Th1 (YES in step S24 and YES in step S25), the information processing device 102 sends an interruption and save instruction to the CI / CD tool 201 to interrupt the execution of task T1 and save the work data Dw (step S26).
[0105] Next, the information processing device 102 performs an update process to rearrange the array of tasks T1, T2, T3, and T4 in the queue 22 based on the array result of task T in the sorting process (step S27).
[0106] Next, the information processing device 102 sends a restart instruction to the CI / CD tool 201 to resume the execution of task T (step S28).
[0107] Next, once the execution of task T4 by the CI / CD tool 201 is complete, the information processing device 102 sends a restore instruction to the CI / CD tool 201 to restore the work data Dw (step S29), and waits for a new task T to be created in the CI / CD tool 201 (NO in step S21).
[0108] On the other hand, if the priority P of task T4 is higher than the priority P of task T1, and the data volume Vd of the work data Dw of task T1 is greater than or equal to the threshold Th1 (YES in step S24 and NO in step S25), the information processing device 102 performs the same processing as in steps S15 to S17 in Figure 6 as the processing in steps S30 to S32, and waits for a new task T to be created in the CI / CD tool 201 (NO in step S21).
[0109] On the other hand, if the priority P of task T4 is lower than the priority P of task T1, the information processing device 102 performs the same processing as in step S18 in Figure 6 as the processing in step S33, and waits for a new task T to be created in the CI / CD tool 201 (NO in step S21).
[0110] In the information processing device 102 according to the second embodiment of this disclosure, the control unit 14 is configured not to save the work data Dw of task T if the amount of work data Dw of task T is greater than or equal to a predetermined value when interrupting the execution of task T, but the invention is not limited to this configuration. The control unit 14 may be configured to save the work data Dw of task T regardless of the amount of work data Dw of task T when interrupting the execution of task T.
[0111] The embodiments described above should be considered in all respects to be illustrative and not restrictive. The scope of the present invention is indicated by the claims rather than the above description, and all modifications within the meaning and scope equivalent to the claims are intended to be included.
[0112] Each process (each function) of the above-described embodiment is implemented by a processing circuit (Circuitry) including one or more processors. The processing circuit may consist of one or more memories, various analog circuits, various digital circuits, etc., in addition to the one or more processors, as well as an integrated circuit. The one or more memories store programs (instructions) that cause the one or more processors to execute each of the above processes. The one or more processors may execute each of the above processes according to the programs read from the one or more memories, or they may execute each of the above processes according to logic circuits that have been pre-designed to execute each of the above processes. The processors may be various processors suitable for computer control, such as a CPU (Central Processing Unit), GPU (Graphics Processing Unit), DSP (Digital Signal Processor), FPGA (Field Programmable Gate Array), and ASIC (Application Specific Integrated Circuit). Furthermore, the physically separated multiple processors may cooperate with each other to execute each of the above processes. For example, the processors installed in each of several physically separated computers may cooperate with each other via a network such as a LAN (Local Area Network), WAN (Wide Area Network), and the Internet to perform the above processes. The program may be installed in the memory via the network from an external server device, or it may be distributed on a recording medium such as a CD-ROM (Compact Disc Read Only Memory), DVD-ROM (Digital Versatile Disk Read Only Memory), and semiconductor memory, and then installed in the memory from the recording medium.
[0113] The above description includes the following features. [Note 1] An information processing system that verifies the components of a program used in an in-vehicle device using a verification tool that performs multiple tasks, A calculation unit for calculating the priority of the aforementioned task, A sorting unit sorts a plurality of tasks, including the first task which is currently running in the verification tool and the second task which is a newly created task, according to the priority calculated by the calculation unit. The system includes a control unit that, if the priority of the second task is higher than the priority of the first task, interrupts the execution of the first task and causes the verification tool to execute the second task, The verification tool includes a queue on which the tasks are stored, The control unit performs an update process to rearrange the arrangement of tasks in the queue based on the arrangement result of the tasks by the sorting unit. The calculation unit is an information processing system that calculates the priority of the first task such that the priority of the first task increases as the remaining time until the completion of the first task decreases.
[0114] [Note 2] An information processing system that verifies the components of a program used in an in-vehicle device using a verification tool that performs multiple tasks, Equipped with a processing circuit, The aforementioned processing circuit is The priority of the aforementioned task is calculated, The verification tool sorts the multiple tasks, including the first task which is currently running and the second task which is newly created, according to the calculated priority. An information processing system that, if the priority of the second task is higher than the priority of the first task, interrupts the execution of the first task and causes the verification tool to execute the second task. [Explanation of Symbols]
[0115] 11 Calculation Section 12. Sorting section 13,14 Control Unit 21 Processing Unit 22 Queues 31 nodes 32 test sets 33 Development board 34 Measuring fixtures 101,102 Information Processing Devices 111 repositories 151 Storage 201 CI / CD Tools 301 Test Tools 401 Information Processing Systems DP Developers Sr Source Prg program M, M1, M2, M3 modules X, X1, X2, X3 components
Claims
1. An information processing system that verifies the components of a program used in an in-vehicle device using a verification tool that performs multiple tasks, A calculation unit for calculating the priority of the aforementioned task, A sorting unit sorts a plurality of tasks, including a first task which is the task currently being executed in the verification tool and a second task which is a newly created task, according to the priority calculated by the calculation unit. An information processing system comprising: a control unit that, if the priority of the second task is higher than the priority of the first task, interrupts the execution of the first task and causes the verification tool to execute the second task.
2. The information processing system according to claim 1, wherein the calculation unit calculates the priority of the first task based on the remaining time until the completion of the first task.
3. The information processing system according to claim 1 or 2, wherein the control unit waits for the first task to be interrupted until the test process, one of the processes included in the first task, is completed.
4. The information processing system according to claim 3, wherein the control unit waits for the first task to be interrupted until the test process of the functional safety standard ISO 26262 is completed when the test process is being performed.
5. The information processing system according to claim 1 or 2, wherein the control unit saves the work data of the first task, and after the completion of the second task, restarts the first task using the work data.
6. The information processing system according to claim 5, wherein the control unit does not save the work data if the amount of work data is greater than or equal to a predetermined value.
7. An information processing method in an information processing system that verifies the components of a program used in an in-vehicle device using a verification tool that performs multiple tasks, The steps include calculating the priority of the aforementioned task, The verification tool includes the step of sorting a plurality of tasks, including the first task which is currently running and the second task which is newly created, according to the calculated priority, An information processing method comprising the step of interrupting the execution of the first task and causing the verification tool to execute the second task if the priority of the second task is higher than the priority of the first task.
8. A program used in an information processing system that verifies the components of a program used in an in-vehicle device using a verification tool that performs multiple tasks, Computers, A calculation unit for calculating the priority of the aforementioned task, A sorting unit sorts a plurality of tasks, including a first task which is the task currently being executed in the verification tool and a second task which is a newly created task, according to the priority calculated by the calculation unit. If the priority of the second task is higher than the priority of the first task, the control unit interrupts the execution of the second task and causes the verification tool to execute the second task. An information processing program designed to function as such.
Citation Information
Patent Citations
Program development support system and program development support method
JP2021105866A
Information processing system, information processing method, and computer program
JP2024048916A