WO2010113242A1 - 実行順序決定装置 - Google Patents

実行順序決定装置 Download PDF

Info

Publication number
WO2010113242A1
WO2010113242A1 PCT/JP2009/056597 JP2009056597W WO2010113242A1 WO 2010113242 A1 WO2010113242 A1 WO 2010113242A1 JP 2009056597 W JP2009056597 W JP 2009056597W WO 2010113242 A1 WO2010113242 A1 WO 2010113242A1
Authority
WO
WIPO (PCT)
Prior art keywords
execution order
dependency
processing modules
unit
processing module
Prior art date
Application number
PCT/JP2009/056597
Other languages
English (en)
French (fr)
Inventor
新一郎 津高
秀男 中田
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2011506869A priority Critical patent/JP5172009B2/ja
Priority to PCT/JP2009/056597 priority patent/WO2010113242A1/ja
Priority to US13/144,941 priority patent/US8677367B2/en
Priority to CN200980157508.XA priority patent/CN102334101B/zh
Publication of WO2010113242A1 publication Critical patent/WO2010113242A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Definitions

  • the present invention relates to an execution order determination device that determines the order in which a plurality of processing modules that are dependent on each other are executed.
  • processing module In the field of monitoring and control, there are an increasing number of cases where processing modules that have been assembled with conventional hardware are executed on a digital computer.
  • the processing module is implemented as software, and is repeatedly executed periodically on the digital computer, thereby realizing processing equivalent to hardware.
  • the processing is realized by periodically performing an operation of sequentially executing the processing modules.
  • Patent Document 1 discloses a method for determining the execution order of logic elements written in a drawing representing software.
  • the illustrated information extraction unit extracts logical elements and their connection relations from the drawing, the logical information group generation unit divides them into logical information groups in which the execution order is uniquely determined, and the execution order determination unit Assigns priorities to the logical information groups to determine the execution order of the logical elements. If a logic element is replaced with a processing module and a connection relationship is replaced with an (input / output) dependency relationship, Patent Document 1 can be used to determine the order of executing a plurality of processing modules having dependency relationships.
  • the logic information group generation unit disclosed in Patent Document 1 cannot extract the logic information group whose execution order is uniquely determined, and therefore determines the execution order. I can't.
  • Patent Document 1 the execution order cannot be given to a processing module whose dependency is closed.
  • two processing modules depend on each other, they have a dependency cycle. This often appears between two processing modules that exchange signals.
  • the present invention has been made to solve the above-described problems, and when executing a processing module having a dependency relationship, even if the dependency relationship includes a cycle, the execution order of the processing modules is performed. It is an object of the present invention to obtain an execution order determination apparatus that can efficiently and appropriately determine the above.
  • the execution order determination device is an execution order determination device that determines the execution order of the plurality of processing modules for a plurality of processing modules each having at least one function of data input and data output.
  • a processing module storage unit for storing processing module group data defining the contents of the plurality of processing modules; and input / output dependency extraction for extracting input / output dependency relationships between the plurality of processing modules from the processing module group data From the input / output dependency relationship between the unit and the plurality of processing modules, the degree of dependence and the degree of dependence on the other processing modules of each of the plurality of processing modules are obtained.
  • An execution order assignment unit for determining the execution order of the processing modules.
  • the execution order assignment unit determines the execution order of the plurality of processing modules based on the dependency and dependency on each of the plurality of processing modules.
  • the execution order determination device of the present invention determines the execution order of a plurality of processing modules efficiently and accurately even when the input / output dependency includes a closed circuit by considering the input / output dependency. The effect which can be done is produced.
  • FIG. 1 It is a block diagram which shows the structure of the execution order determination apparatus which is Embodiment 1 of this invention. It is explanatory drawing which shows the example of the processing module group memorize
  • FIG. 10 is a block diagram illustrating a configuration of an execution order determination device according to a second embodiment. It is explanatory drawing which shows typically the final execution order allocation content by the reverse execution order allocation part shown in FIG.
  • FIG. 10 is an explanatory diagram showing, in a tabular form, the execution order of the processing modules A to F whose execution order is finally determined by the execution order assignment device shown in FIG. 9 and the number depending on the undetermined processing modules.
  • It is explanatory drawing which shows typically the input-output dependence relationship of the some process module prescribed
  • FIG. 10 is an explanatory diagram showing, in a tabular form, the execution order of the processing modules A to F whose execution order is finally determined by the execution order assignment device shown in FIG. 9 and the number depending on the undetermined processing modules.
  • It is explanatory drawing which shows typically the input-output dependence relationship of the some process module prescribed
  • FIG. 14 is an explanatory diagram showing the execution order of the processing modules whose execution order is finally determined by the second embodiment with respect to the processing module group shown in FIG.
  • FIG. 10 is a block diagram illustrating a configuration of an execution order determination device according to a third embodiment. It is explanatory drawing which shows the example of priority determination by the priority evaluation part shown in FIG. 16 in a table format.
  • FIG. 10 is a block diagram illustrating a configuration of an execution order determination device according to a fourth embodiment. It is explanatory drawing which shows typically the input-output dependence relationship between processing modules, etc. FIG. It is explanatory drawing which shows typically the input-output dependence relationship between other processing modules.
  • FIG. 19 is an explanatory diagram schematically showing the input / output dependency relationship and the execution order between the processing modules 30A to 30C.
  • the output of the processing module 30B depends on the output of the processing module 30A
  • the output data Y of the processing module 30C depends on the output of the processing module 30B.
  • the execution order is determined in the order of the processing modules 30C, 30B, and 30A.
  • Each of the processing modules 30A to 30C has a function of holding input data for one cycle and outputting it as output data.
  • the processing module 30A inputs input data X.
  • FIG. 20 is an explanatory diagram schematically showing input / output dependency relationships and execution order between the processing modules 31A to 31D.
  • the output data X1 of the processing module 31B depends on the output of the processing module 31A
  • the output data X2 of the processing module 31C depends on the output of the processing module 31A
  • the output data Y of the processing module 31D depends on the data X1 of the processing module 31B and the data X2 of the processing module 31C.
  • the execution order is determined in the order of the processing modules 31A, 31B, 31D, and 31C.
  • Each of the processing modules 31A to 31C has a function of holding and outputting input data for one cycle, and the processing module 31D has a function of outputting the exclusive OR of data X1 and data X2 as data Y. Yes.
  • the processing module 31A receives input data X.
  • the present application is designed to efficiently and appropriately determine the execution order of a plurality of processing modules that are dependent on each other by suppressing the occurrence of a result contrary to the logical judgment of delay and intuition level described in the base technology. It is the execution order determination apparatus which concerns on invention.
  • FIG. 1 is a block diagram showing a configuration of an execution order determination apparatus according to Embodiment 1 of the present invention.
  • the execution order determination device of the first embodiment includes a processing module storage unit 11, a dependency relationship extraction unit 12, an execution order assignment unit 13, and an execution order recording unit 18.
  • the processing module storage unit 11 stores processing module group data that defines input / output dependency relationships among a plurality of processing modules to be determined in the execution order, processing details of the processing modules, and the like.
  • the processing module described here means, for example, a logic element or the like at the hardware level, and a subroutine or the like having at least one function of data input and data output at the software level.
  • the entire plurality of processing modules may be referred to as a processing module group.
  • FIG. 2 is an explanatory diagram showing an example of processing module group data stored in the processing module storage unit 11 in a table format.
  • the input / output relationship between the six processing modules A to F is stored as processing module group data.
  • a processing module having data Xn as an input (inputting data Xn) depends on a processing module having the data Xn as an output (outputting data Xn).
  • the processing module A since the processing module A has the output data X6 of the processing module C and the output data X4 of the processing module D as inputs, it depends on the processing modules C and D. On the contrary, since the output data X1 is used as the input data of the processing module B, it depends on the processing module B (dependent).
  • the dependency relationship extraction unit 12 extracts input / output dependency relationships between a plurality of processing modules from the processing module group data stored in the processing module storage unit 11.
  • FIG. 3 is an explanatory diagram showing input / output dependency relationships between a plurality of processing modules extracted by the dependency relationship extraction unit 12 in a table format.
  • the processing module A is a dependent side (depending on the processing module B) and a dependent side (depending side) on the processing modules C and D.
  • the dependence side is simply expressed as “dependent”, and the dependence side is expressed as “dependent”.
  • FIG. 4 is an explanatory diagram schematically showing input / output dependency relationships between a plurality of processing modules defined by the processing module group data stored in the processing module storage unit 11.
  • the processing module 10A depends on the processing modules 10C and 10D by inputting the data X6 and X4 from the processing modules 10C and 10D, and depends on the processing module 10B by outputting the data X1 to the processing module 10B. To do.
  • the processing module 10B depends on the processing modules 10A, 10C, and 10F by inputting the data X1, X5, and X8 from the processing modules 10A, 10C, and 10F, and outputs the data X2 to the processing module 10C. Depends on.
  • processing module 10C depends on the processing module 10B and depends on the processing modules 10A, 10B, and 10D
  • processing module 10D depends on the processing module 10C and depends on the processing modules 10A and 10E
  • the processing module 10E depends on the processing module 10D
  • the processing module 10F depends on the processing module 10B.
  • the input / output dependency relationship between a plurality of processing modules is indicated by an arrow from the dependent processing module to the dependent processing module.
  • the execution order assignment unit 13 includes a dependency degree evaluation unit 14, a dependency degree evaluation unit 15, a priority evaluation unit 16, and an execution order assignment unit 17.
  • the dependency degree evaluation unit 14 evaluates the degree of dependence of each processing module in the processing module group on other processing modules as the dependency degree.
  • the dependency degree evaluation unit 15 evaluates the degree of dependence of each processing module on another processing module as a dependence degree.
  • FIG. 5 is an explanatory diagram showing the evaluation results of dependency and dependency by the dependency evaluation unit 14 and the dependency evaluation unit 15 in a table format.
  • the number of other processing modules that are dependent is defined as the dependency
  • the number of other processing modules that are dependent (dependent) is defined as the dependency.
  • the processing module A depends on the processing modules C and D and has a dependency level of “2”, and depends on the processing module B and has a dependency level of “1”.
  • the priority evaluation unit 16 determines the priority of each processing module in the processing module group based on the dependency and the dependency obtained by the dependency evaluation unit 14 and the dependency evaluation unit 15.
  • the execution order assigning unit 17 assigns the processing module having the highest priority obtained by the priority evaluation unit 16 to the first execution order.
  • FIG. 6 is an explanatory diagram showing, in a tabular form, an example of a result of priority determination by the priority evaluation unit 16 and execution order assignment processing by the execution order assignment unit 17.
  • the priority evaluation unit 16 evaluates (primary evaluation) that the priority is higher (larger) as the dependency is lower. Those having the same dependency degree are evaluated (secondary evaluation) with a higher (larger) priority than those having a large dependency degree. As a result, the priority is determined in the order of the processing modules F, C, D, E, A, and B.
  • the execution order assigning unit 17 determines the processing module F having the highest priority as the execution order “1”.
  • the execution order assignment unit 13 repeats the above-described processing by the dependency degree evaluation unit 14, the dependency degree evaluation unit 15, the priority evaluation unit 16, and the execution order assignment unit 17 every time the execution order of one processing module is determined.
  • the execution order of each processing module is assigned sequentially.
  • processing modules for which the execution order has been determined are excluded from the target.
  • the processing module F is excluded from the processing module group after the execution order of the processing modules F is determined to be “1” according to the priority shown in FIG.
  • the execution order allocation unit 13 initially has a predetermined number of processing modules for which the six processing modules A to F are to be evaluated. At this timing, the five processing modules A to E have a predetermined number for the evaluation target. The target processing module resetting process is reset as the number of processing modules.
  • processing for a processing module group (a predetermined number of processing modules) from which the processing module F is excluded will be described.
  • FIG. 7 is an explanatory diagram showing, in a tabular form, the execution order assignment result of the execution order assignment unit 13 for the processing module group from which the processing module F is excluded.
  • the dependency degree evaluation unit 14 and the dependency degree evaluation unit 15 evaluate the dependency degree and the dependency degree again, except for the processing module F to which the execution order has already been assigned. Since the processing module F is excluded from the evaluation target, the dependency of the processing module B decreases from “3” to “2”.
  • the priority evaluation unit 16 re-evaluates the priority based on the dependency / dependency newly obtained from the dependency evaluation unit 14 and the dependency evaluation unit 15. As a result of the dependency of the processing module B decreasing from “3” to “2”, the priority of the processing module B becomes the same rank “ ⁇ 3” as the processing module A.
  • the execution order assigning unit 17 sets the highest priority among the processing modules to be executed second and the predetermined number of processing modules to be evaluated based on the priority newly obtained by the priority evaluation unit 16. Assign the processing module to be assigned. In the example shown in FIG. 7, the execution order of the processing module C is determined as “2”.
  • the dependency degree evaluation unit 14 By repeatedly executing the evaluation by the degree evaluation unit 15 and the priority evaluation unit 16 and the assignment by the execution order assignment unit 17, the execution order is assigned to each processing module in the processing module group.
  • the number depending on the undecided processing modules means the number of processing modules whose execution order has already been determined depends on the processing modules whose execution order has not been determined.
  • the processing module F is “0” because there is no processing module originally dependent on it
  • the processing module C is “1” because the execution order of the processing module B on which it depends is not yet determined.
  • FIG. 8 is an explanatory diagram showing in tabular form the execution order of the processing modules A to F whose execution order is finally determined by the execution order assignment unit 13 and the number depending on the undecided processing modules.
  • the execution order is finally determined in the order of processing modules F, C, D, A, B, and E. Then, the number depending on the undetermined processing module is limited to only “1” of the processing module C, and the other processing modules A, B, D to F are set to “0”.
  • the execution order recording unit 18 records the execution order of each processing module in the processing module group obtained by the execution order assignment unit 13.
  • the execution order determination apparatus sequentially determines the execution order of a plurality of processing modules in consideration of the degree of dependence. As a result, execution delay is small and intuition level logical determination is possible. As a result, it is possible to obtain an efficient and accurate execution order that is unlikely to produce results contrary to the above.
  • the number depending on the undetermined processing modules that is, the previous cycle
  • the number depending on the result of the processing module is an efficient execution order suppressed to only one place when the processing module C is executed. Therefore, when the processing module is software, the occurrence of bugs can be suppressed and the production efficiency can be increased.
  • the processing contents of the dependency degree evaluation unit 14, the dependency degree evaluation unit 15, the priority evaluation unit 16, and the execution order assignment unit 17 are not limited to the above-described contents.
  • weighting is applied to the dependency relationship such as restricting the execution order between some processing modules (for example, the processing modules A and B are always executed continuously).
  • the evaluation may be performed in consideration of the weights in consideration of such cases.
  • the priority evaluation unit 16 some evaluation formula may be used, evaluation may be performed in consideration of other indexes, and a plurality of evaluation methods may be switched and used. Further, the execution order assigning unit 17 may select one processing module by some means (random number, first, last, etc.) when there is no difference in the priority evaluated by the priority evaluation unit 16.
  • the execution order assignment unit 13 determines the execution order of the plurality of processing modules based on the degree of dependency and the degree of dependence on each of the plurality of processing modules. Has been decided.
  • the processing module that determines the execution order in this device uses inputs such as temperature, pressure, and position sensors and signals from man-machine interfaces in the field of supervisory control, etc., and outputs as valves, pumps, switches, etc. It may be a control signal to the machine interface. Also, in the field of industrial robots, etc., the input is a sensor, man-machine interface, etc. for temperature, pressure, position, etc., and the output is a control signal to a motor, relay circuit, etc., man-machine interface, etc. There may be. The same applies to the following embodiments.
  • the execution order determination apparatus considers the input / output dependency relationship between the processing modules, so that even if the input / output dependency relationship includes a closed circuit, a plurality of efficient and accurate plurals can be obtained. There is an effect that the execution order of the processing modules can be determined.
  • the execution order assignment unit 13 of the execution order determination device of the first embodiment includes a dependency degree evaluation unit 14, a dependency degree evaluation unit 15, a priority evaluation unit 16, and an execution order assignment unit 17. After the module reset process, control is performed so that the process for the predetermined number of newly set evaluation target processing modules is performed again, so that the execution order of the processing modules can always be determined based on a highly accurate priority. Play.
  • the execution order determination apparatus includes the processing module storage unit 11 and the execution order recording unit 18, so that a plurality of processing modules and processes before being processed by the dependency extraction unit 12 and the execution order assignment unit 13 are executed. Data relating to the execution order after the determination can be held with stability by the order allocation unit 13.
  • FIG. 9 is a block diagram showing the configuration of the execution order determining apparatus according to the second embodiment of the present invention.
  • the execution order determination device of the second embodiment includes a processing module storage unit 11, a dependency relationship extraction unit 12, an execution order assignment unit 23, and an execution order recording unit 18.
  • the execution order assignment unit 23 includes a dependency degree evaluation unit 14, a dependency degree evaluation unit 15, a priority evaluation unit 16, an execution order assignment unit 17, and a reverse execution order assignment unit 19.
  • the reverse execution order assigning unit 19 assigns the execution order from the last to the processing module based on the dependence degree obtained from the dependence degree evaluation part 15. In the present embodiment, those having a dependency degree of “0” are extracted and assigned. At this time, the processing by the reverse execution order assigning unit 19 is performed in preference to the processes by the priority evaluation unit 16 and the execution order assigning unit 17.
  • FIG. 10 is an explanatory diagram schematically showing the final execution order assignment contents by the reverse execution order assignment unit 19. Note that the target processing module group is the same as the processing module group having the input / output dependency shown in FIGS.
  • the dependency degree evaluation unit 14 and the dependency degree evaluation unit 15 evaluate the dependency degree and the dependency degree of the processing modules A to F in the same manner as in the first embodiment.
  • the execution order allocating unit 23 is configured such that each time the execution order of one processing module is determined, the dependency degree evaluating unit 14, the dependent degree evaluating unit 15, the priority evaluating unit 16, the execution order allocating unit 17, and the reverse execution order allocating unit.
  • the above-described processing by 19 is repeatedly executed, and the execution order of each processing module is sequentially assigned.
  • the processing modules whose execution order has been determined are excluded from the target. For example, as shown in FIG. 0, after the execution order of the processing module E is determined to be “ ⁇ 1” (final) by the reverse execution order assigning unit 19, the processing module E is excluded from the processing module group. Become.
  • processing for a processing module group (a predetermined number of processing modules) from which the processing module E is excluded will be described.
  • FIG. 11 is an explanatory diagram showing, in a tabular form, the execution order assignment result of the execution order assignment unit 23 for the processing module group from which the processing module E is excluded.
  • the dependency degree evaluation unit 14 and the dependency degree evaluation unit 15 evaluate the dependency degree and the dependency degree again, except for the processing module E to which the execution order has already been assigned. Since the processing module E is excluded from the evaluation target, the dependency of the processing module D decreases from “2” to “1”.
  • the allocation process by the reverse execution order allocation unit 19 is not performed, and the execution by the priority evaluation unit 16 and the execution order allocation unit 17 is performed as in the first embodiment.
  • the order determination process is executed.
  • the priority evaluation unit 16 again evaluates the priority based on the dependency / dependency obtained from the dependency evaluation unit 14 and the dependency evaluation unit 15. Then, the priority of the processing module F having the smallest dependency “0” is evaluated to the highest level.
  • the execution order assigning unit 17 determines a processing module to be executed first based on the priority obtained by the priority evaluation unit 16. In the example shown in FIG. 11, the execution order of the processing modules F is determined as “1”.
  • the execution order assignment unit 23 performs the evaluation and execution order by the dependency degree evaluation unit 14, the dependency degree evaluation unit 15, and the priority evaluation unit 16.
  • the execution order is assigned to each processing module in the processing module group.
  • FIG. 12 is an explanatory diagram showing, in a tabular form, the execution order of the processing modules A to F whose execution order is finally determined by the execution order assignment unit 23 and the number depending on the undecided processing modules.
  • the execution order in the case of a negative number, is -4, -3, -2, -1.
  • the execution order is finally determined in the order of processing modules F, C, D, A, B, E. Then, the number depending on the undetermined processing module is limited to “1” of the processing module C, and the other processing modules A, B, D to F are set to “0”.
  • the execution order determination apparatus determines the execution order of the processing modules in principle in consideration of the dependency as in the first embodiment. As a result, the execution delay is small, There is an effect that it is possible to obtain an execution order that is unlikely to produce a result contrary to the logical judgment of the intuition level.
  • the number depends on the number of undecided processing modules, that is, the result of the processing modules in the previous cycle.
  • the number to be executed is an efficient execution order suppressed to only one place when the processing module C is executed.
  • the same execution order is obtained between the first and second embodiments.
  • the second embodiment is effective for processing module groups having more complicated input / output dependency relationships between processing modules.
  • FIG. 13 is an explanatory diagram schematically showing the input / output dependency relationship of other processing module group data stored in the processing module storage unit 11.
  • the processing module 20A depends on the processing modules 20C and 20D and depends on the processing module 20B.
  • the processing module 20B depends on the processing modules 20A, 20C, and 20F, and depends on the processing module 20C.
  • processing module 20C depends on the processing module 20B and depends on the processing modules 20A, 20B and 20D
  • processing module 20D depends on the processing module 20C and depends on the processing modules 20A, 20E, 20G and 20H.
  • the processing module 20E depends on the processing module 20D
  • the processing module 20F depends on the processing module 20B.
  • processing module 20G depends on the processing module 20D
  • processing module 20H depends on the processing module 20D
  • FIG. 14 shows the execution order of the processing modules A to H whose execution order is finally determined by the first embodiment and the undecided processing modules for the processing module group having the input / output dependency shown in FIG. It is explanatory drawing which shows the number which depends on a table format. It should be noted that the execution order of young processing modules is determined first in alphabetical order under the same conditions.
  • FIG. 15 shows the execution order of the processing modules A to H whose execution order is finally determined by the second embodiment and the undecided processing modules for the processing module group having the input / output dependency shown in FIG. It is explanatory drawing which shows the number which depends on a table format.
  • the execution order in the case of a negative number, is in the order of -6, -5, -4, -3, -2, -1.
  • the execution order of young processing modules is determined first in alphabetical order.
  • the sum of the numbers depending on the undetermined processing modules in the execution order determined according to the first embodiment is “2”, whereas in the execution order determined according to the second embodiment, The sum of the numbers depending on the undecided processing modules is “1”.
  • This difference is determined by the reverse execution order assigning unit 19 in advance from the last order of the processing modules E, G, and H that do not hinder the last execution in advance, and the priority evaluation by the priority evaluation unit 16; This is an effect obtained by removing the execution order assignment candidate from the execution order assignment unit 17.
  • the execution order determination apparatus has a complicated input / output dependency relationship because the execution order of the processing modules having the dependency degree “0” can be determined with priority from the final order. There is an effect that an efficient execution order can be determined for the processing module group as compared to the first embodiment.
  • the reverse execution order allocating unit 19 in the execution order allocating unit 23 executes the priority evaluation unit 16 and the execution order allocating unit 17 when the dependency degree is “0” (predetermined condition).
  • Prioritizing allocation processing modules with a dependency level of “0” are allocated to the final rank among a predetermined number of processing modules to be evaluated, so that even multiple processing modules with complex input / output dependencies are efficient. It is possible to determine a specific execution order.
  • FIG. 16 is a block diagram showing the configuration of the execution order determining apparatus according to the third embodiment of the present invention.
  • the execution order determination device of the third embodiment includes a processing module storage unit 11, a dependency relationship extraction unit 12, an execution order assignment unit 33, and an execution order recording unit 18.
  • the execution order assignment unit 33 includes a dependency degree evaluation unit 14, a dependency degree evaluation unit 15, a priority evaluation unit 36, and an execution order assignment unit 17.
  • the priority evaluation unit 36 uses an evaluation formula expressed by a dependency degree and a dependency degree polynomial based on the dependency degree evaluated by the dependency degree evaluation unit 14 and the dependency degree evaluated by the dependency degree evaluation unit 15. Evaluate priority.
  • “ ⁇ ” is a (first) parameter for “dependency”
  • is a (second) parameter for “dependency”.
  • is preferably a negative number and ⁇ is preferably a positive number.
  • the processing content of the priority evaluation unit 36 is the processing of the priority evaluation unit 16 of the first embodiment. Equivalent to content.
  • FIG. 17 is an explanatory diagram showing an example of priority determination by the priority evaluation unit 36 in a table format.
  • the priority shown in FIG. 17 is in the order of the processing modules F, C, D, E, A, and B. This priority order is the same as the priority order by the priority evaluation unit 16 of the first embodiment shown in FIG. The same order.
  • the priority evaluation unit 36 calculates an evaluation expression (formula (1)) that can change the values of the parameters ( ⁇ , ⁇ ) based on the dependency and the dependency. Since the priority of each processing module in the processing module group can be determined, the execution order can be determined more flexibly than in the first and second embodiments.
  • the priority evaluation unit 36 in the execution order allocation unit 33 of the execution order determination device determines the dependence and dependence, and the parameters ⁇ and ⁇ for the dependence and dependence (first and first). 2), the priority among the predetermined number of processing modules to be evaluated is obtained. Therefore, a highly flexible and highly accurate priority can be obtained. As a result, the execution order determination device according to the third embodiment has an effect that an efficient execution procedure can be determined for a plurality of processing modules.
  • ⁇ and ⁇ in the expression (1) as appropriate and determining the execution order by the execution order determination device of the third embodiment, a plurality of execution orders can be obtained. Then, comparing the total numbers depending on the undecided processing modules for each, and setting the values of the parameters ⁇ and ⁇ based on the comparison result, an efficient and accurate execution order can be determined.
  • FIG. 18 is a block diagram showing the configuration of the execution order determining apparatus according to the fourth embodiment of the present invention.
  • the execution order determination device of the fourth embodiment includes a processing module storage unit 11, a dependency relationship extraction unit 12, an execution order assignment unit 43, and an execution order recording unit 18.
  • the execution order assignment unit 43 includes a dependency degree evaluation unit 14, a dependency degree evaluation unit 15, a priority evaluation unit 46, and an execution order assignment unit 17.
  • the priority evaluation unit 46 evaluates the priority by using an evaluation formula (expression (1)) represented by a dependency degree and a dependency degree polynomial expression.
  • the execution order allocating unit 43 uses the plurality of types of evaluation expressions obtained by changing at least one of the parameters ⁇ and ⁇ of the expression (1) a plurality of times in the priority evaluation unit 46, depending on each of them.
  • the degree evaluation unit 14 By controlling the degree evaluation unit 14, the dependency degree evaluation unit 15, the priority evaluation unit 46, and the execution order assignment unit 17, a plurality of types of execution order candidates based on a plurality of types of evaluation formulas are provisionally determined for the processing module group. To do.
  • the execution order allocation unit 43 adopts the candidate having the smallest “number different from the undecided processing procedure” from the plurality of provisionally determined execution order candidates as the finally determined execution order. Note that a plurality of temporarily determined execution order candidates may be temporarily recorded in the execution order recording unit 18.
  • the execution order allocation unit 43 of the execution order determination apparatus uses the evaluation formula (formula (1)) that can change the parameters ( ⁇ , ⁇ ) based on the dependency and the dependency.
  • the candidate having the smallest “number different from undecided processing procedures” is adopted as the final determined execution order.
  • the execution order determination device of the fourth embodiment has an effect that a more efficient execution order can be determined.
  • the execution order allocation unit 43 of the execution order determination device of the fourth embodiment has the smallest candidate (the most efficient among the plurality of types of execution order candidates that are provisionally determined). (Candidate determined to be the correct execution order) is finally determined as the execution order of the plurality of processing modules, so that it is possible to determine a more efficient execution procedure.
  • the following method is also conceivable as a method of obtaining a plurality of types of execution order candidates by the execution order assignment unit 43 by changing the evaluation criteria by the priority evaluation unit 46.
  • the evaluation formula (formula (1)) consists of multiple parameter sets (each set has multiple combinations of ⁇ and ⁇ ). Are prepared in advance as a collective database.
  • a parameter set conforming to the specification of the processing module group is read from a plurality of parameter sets in the collective database, and a plurality of types of execution order candidates are provisionally determined while changing the evaluation formula according to the read parameter set.
  • a processing module group for which the execution order is desired if a tendency such as the density of input / output dependencies (average number of input / output) and the number of processing modules is known, a set of processing module groups similar to that in advance If a model is generated and an optimum parameter set for the collective model is set as a collective database in the priority evaluation unit 46, it can be expected that an efficient and accurate execution order is determined.
  • one evaluation formula is to be set in advance to quickly determine the execution order
  • the determined evaluation formula can be set in advance as one evaluation formula for the priority evaluation unit 46.
  • the execution order determination device described in the first to fourth embodiments includes, for example, a main storage device, an arithmetic device, an input device, a secondary storage device, an output device, and the like.
  • a main storage device for example, it can be realized by a computer device configured to be commonly connected via a common bus.
  • the dependency relationship extraction unit 12 and the execution order assignment units 13, 23, 33, and 43 can be realized, for example, when the arithmetic device operates based on a program that causes the computer to function.
  • the program can be stored in a main storage device or a secondary storage device.
  • processing module storage unit 11 and the execution order recording unit 18 can be realized by a main storage device or a secondary storage device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 本発明は、入出力依存関係が閉路を含む場合であっても、処理モジュールの実行順序を効率的かつ適切に決定することができる実行順序決定装置に関する。依存度評価部(14)及び被依存度評価部(15)は、処理モジュール群における各処理モジュールの依存度及び被依存度を評価する。優先度評価部(16)は、上記依存度及び被依存度に基づき、処理モジュール群における各処理モジュールの優先度を決定する。実行順割当部(17)は、優先度評価部(16)で得た優先度の最も高い一の処理モジュールを最先の実行順序に割り当てる。実行順序割当ユニット(13)は、一の処理モジュールの実行順序が決定する度に、各部(14~17)による上述した処理を繰り返し実行させ、各処理モジュールの実行順序を順次割り当てる。

Description

実行順序決定装置
 この発明は、互いに依存関係のある複数の処理モジュールを実行する順序を決定する実行順序決定装置に関する。
 監視や制御の分野において、従来ハードウェアで組まれていた処理モジュールが、デジタル計算機上で実行されるケースが増えている。この場合、処理モジュールはソフトウェアとして実装され、デジタル計算機上で周期的に繰り返し実行されることで、ハードウェアと同等の処理を実現する。一台の計算機で実行すべき処理モジュールが複数ある場合、一通り順番に実行するという動作を周期的に行うことにより、処理を実現している。
 ソフトウェアを表す図面に書かれた論理素子の実行順序の決定方法に関しては、例えば、特許文献1に記載がある。特許文献1では、図示情報抽出部が図面からの論理素子とそれらの接続関係を抽出、論理情報群生成部がその中で一意に実行順が決まる論理情報群に分割し、さらに実行順序決定部が論理情報群に優先順位をつけることで、論理素子の実行順序を決定する。論理素子を処理モジュール、接続関係を(入出力)依存関係と置き換えれば、特許文献1は依存関係のある複数の処理モジュールを実行する順序の決定に用いることができる。
特開平5-88869号公報
 ところが、論理回路がフィードバックを持つ場合は、特許文献1に開示された論理情報群生成部は、一意に実行順が決まる論理情報群を抽出することができず、従って、実行順序を決定することができない。
 同様に、依存関係が閉路を持つ処理モジュールに対して、特許文献1では実行順序を与えられない。最も簡単な例として、二つの処理モジュールが相互に依存するとき、依存関係の閉路を持つ。これは、信号のやりとりをする二つの処理モジュールの間などによく現れる。
 本発明は、上記のような問題点を解決するためになされたものであり、依存関係のある処理モジュールを実行するとき、その依存関係が閉路を含む場合であっても、処理モジュールの実行順序を効率的かつ適切に決定することができる実行順序決定装置を得ることを目的とする。
 この発明に係る実行順序決定装置は、各々がデータ入力及びデータ出力のうち少なくとも一方の機能を有する複数の処理モジュールに対し、前記複数の処理モジュールの実行順序を決定する実行順序決定装置であって、前記複数の処理モジュールの内容を規定した処理モジュール群データを記憶する処理モジュール記憶ユニットと、前記処理モジュール群データから、前記複数の処理モジュール間の入出力依存関係を抽出する入出力依存関係抽出ユニットと、前記複数の処理モジュール間の入出力依存関係から、前記複数の処理モジュールそれぞれの他の処理モジュールに対する依存度及び被依存度を求め、該依存度及び被依存度に基づき、前記複数の処理モジュールの実行順序を決定する実行順序割当ユニットとを備える。
 この発明によれば、実行順序割当ユニットは、複数の処理モジュールそれぞれの他の処理モジュールに対する依存度及び被依存度に基づき、複数の処理モジュールの実行順序を決定している。
 その結果、この発明の実行順序決定装置は、入出力依存関係を考慮することにより、上記入出力依存関係が閉路を含む場合であっても効率的で的確な複数の処理モジュールの実行順序を決定することができる効果を奏する。
この発明の実施の形態1であるの実行順序決定装置の構成を示すブロック図である。 図1で示した処理モジュール記憶装置に記憶されている処理モジュール群の例を表形式で示す説明図である。 図1で示した依存関係抽出装置によって抽出された依存関係を表形式で示す説明図である。 図1で示した処理モジュール記憶装置に記憶された処理モジュール群データで規定される複数の処理モジュールの入出力依存関係を模式的に示す説明図である。 図1で示した依存度評価部及び被依存度評価部による依存度及び被依存度の評価結果を表形式で示す説明図である。 図1で示した優先度評価部及び実行順割当部による優先度決定及び実行順割り当て処理結果例を表形式で示す説明図である。 一部の処理モジュールが除外された処理モジュール群に対する実行順序割当装置の実行順割り当結果を表形式で示す説明図である。 図1で示した実行順序割当装置により最終的に実行順が決定された各処理モジュールの実行順と、未決定の処理モジュールに依存する数とを表形式で示す説明図である。 実施の形態2の実行順序決定装置の構成を示すブロック図である。 図9で示した逆実行順割当部による最終実行順割当内容を模式的に示す説明図である。 一部の処理モジュールが除外された処理モジュール群に対する実行順序割当装置の実行順割り当結果を表形式で示す説明図である。 図9で示した実行順序割当装置により最終的に実行順が決定された処理モジュールA~Fの実行順と、未決定の処理モジュールに依存する数とを表形式で示す説明図である。 図9で示した処理モジュール記憶装置に記憶された他の処理モジュール群データで規定された複数の処理モジュールの入出力依存関係を模式的に示す説明図である。 図13で示した処理モジュール群に対し、実施の形態1により最終的に実行順が決定された処理モジュールの実行順等を示す説明図である。 図13で示した処理モジュール群に対し、実施の形態2により最終的に実行順が決定された処理モジュールの実行順等を示す説明図である。 実施の形態3の実行順序決定装置の構成を示すブロック図である。 図16で示した優先度評価部による優先度決定例を表形式で示す説明図である。 実施の形態4の実行順序決定装置の構成を示すブロック図である。 処理モジュール間の入出力依存関係等を模式的に示す説明図である。 他の処理モジュール間の入出力依存関係等を模式的に示す説明図である。
 <前提技術>
 一般に、入出力依存関係が閉路を持つ複数の処理モジュールに対して実行順序を決定するような場合、一部の処理モジュールに関しては、前の周期で決定した出力を入力として処理を行わざるを得ない。一方で、入出力依存関係を無視して実行順序を定めた場合、次のような問題が生じる。
 一つは遅延の問題である。ある処理モジュールの出力を用いる他の処理モジュールを先に実行させてしまうと、当該ある処理モジュールの出力は前の周期の信号を用いて処理を行うことになるので、正しい処理が行われるまでに遅延が発生する。
 図19は処理モジュール30A~30C間の入出力依存関係及び実行順序を模式的に示す説明図である。同図に示すように、処理モジュール30Bの出力が処理モジュール30Aの出力に依存し、処理モジュール30Cの出力データYが処理モジュール30Bの出力に依存している。そして、図19に示すように、処理モジュール30C,30B,30Aの順で実行順序が決定されているとする。なお、処理モジュール30A~30Cはそれぞれ入力データを1サイクル間保持して出力データとして出力する機能を有するものとする。また、処理モジュール30Aは入力データXを入力している。
 このような処理モジュール30A~30Cの場合、処理モジュール30Aに入力されるデータXの変化が、処理モジュール30Cから出力されるデータYの変化に伝播するまで3周期かかってしまう遅延が発生してしまう。
 図20は処理モジュール31A~31D間の入出力依存関係及び実行順序を模式的に示す説明図である。同図に示すように、処理モジュール31Bの出力データX1が処理モジュール31Aの出力に依存し、処理モジュール31Cの出力データX2が処理モジュール31Aの出力に依存しており、処理モジュール31Dの出力データYが処理モジュール31BのデータX1及び処理モジュール31CのデータX2に依存している。そして、処理モジュール31A,31B,31D,31Cの順で実行順序が決定されているとする。
 なお、処理モジュール31A~31Cはそれぞれ入力データを1サイクル間保持して出力する機能を有するものとし、処理モジュール31DはデータX1及びデータX2の排他的論理和をデータYとして出力する機能をしている。また、処理モジュール31Aは入力データXを入力している。
 このような処理モジュール31A~31Dの場合、Xが変化しても、データX1及びデータX2は同一の値を採るため、Yは“0”のままであると一見思われるが、実際には“1”が1サイクルの間出力される可能性がある。処理モジュール31Dを実行したときに、データX1はそのサイクルのXと等しいが、X2は前のサイクルのXと等しいからである。
 このように、処理モジュール31A~31D間の実行順序を適切に決定しない場合、直感レベルで理解可能な論理的判断(以下、「直感レベルの論理的判断」と称す)に反する結果の発生を招く場合がある。
 以上、前提技術で述べた遅延及び直感レベルの論理的判断に反する結果の発生を抑制し、互いに依存関係のある複数の処理モジュールの実行順を効率的かつ適切に決定するようにしたのが本願発明に係る実行順序決定装置である。
 <実施の形態1>
 図1はこの発明の実施の形態1であるの実行順序決定装置の構成を示すブロック図である。同図に示すように、実施の形態1の実行順序決定装置は、処理モジュール記憶ユニット11、依存関係抽出ユニット12、実行順序割当ユニット13及び実行順序記録ユニット18から構成される。
 処理モジュール記憶ユニット11は実行順序決定対象となる複数の処理モジュール間における入出力依存関係、複数の処理モジュールそれぞれの処理内容等を規定した処理モジュール群データを記憶する。なお、ここで述べる処理モジュールとは、例えばハードウェアレベルは論理素子等を意味し、ソフトウェアレベルではデータ入力及びデータ出力のうち少なくとも一方の機能を有するサブルーチン等を意味する。以降、複数の処理モジュール全体を処理モジュール群と表記する場合がある。
 図2は処理モジュール記憶ユニット11に記憶されている処理モジュール群データの例を表形式で示す説明図である。同図で示す例では、処理モジュール群データとしてA~Fの6つの処理モジュール間の入出力関係が記憶されている。処理モジュールが持つ入力、出力をXn(n=1,2...)で示した。データXnを入力として持つ(データXnを入力する)処理モジュールは、当該データXnを出力として持つ(データXnを出力する)処理モジュールに依存する。
 例えば、処理モジュールAは処理モジュールCの出力データX6と処理モジュールDの出力データX4とを入力としてもつため、処理モジュールC,Dに依存することになる。逆に出力データX1を処理モジュールBの入力データとしているため、処理モジュールBに対して依存させている(被依存)ことになる。
 依存関係抽出ユニット12は、処理モジュール記憶ユニット11に記憶された処理モジュール群データから、複数の処理モジュール間の入出力依存関係を抽出する。
 図3に依存関係抽出ユニット12によって抽出された複数の処理モジュール間の入出力依存関係を表形式で示す説明図である。同図に示すように、複数の処理モジュール間の依存関係は、前述したように、各データXn(n=1,2...)に対して、入力として持つ処理モジュール、出力として持つ処理モジュールを求め、それらを組み合わせることによって得られる。
 同図で示す例では、処理モジュールAは処理モジュールBに対し被依存側(依存させる側)であり、処理モジュールC,Dに対して依存側(依存する側)であることが規定される。以下、説明の都合上、依存側にあることを「依存する」、被依存側にあることを「被依存する」と簡易表現する場合がある。
 図4は処理モジュール記憶ユニット11に記憶された処理モジュール群データで規定された複数の処理モジュール間の入出力依存関係を模式的に示す説明図である。
 同図に示すように、処理モジュール10A~10F(図2,図3の処理モジュールA~Fに対応)の入出力依存関係が存在する。
 具体的には、処理モジュール10Aは処理モジュール10C,10DよりデータX6,X4を入力することにより処理モジュール10C,10Dに依存し、データX1を処理モジュール10Bに出力することにより処理モジュール10Bに被依存する。
 処理モジュール10Bは、処理モジュール10A,10C,10FよりデータX1,X5,X8を入力することにより処理モジュール10A,10C,10Fに依存し、データX2を処理モジュール10Cに出力することにより処理モジュール10Cに被依存する。
 同様にして、処理モジュール10Cは処理モジュール10Bに依存し、処理モジュール10A,10B,10Dに被依存し、処理モジュール10Dは処理モジュール10Cに依存し、処理モジュール10A,10Eに被依存する。また、処理モジュール10Eは処理モジュール10Dに依存し、処理モジュール10Fは処理モジュール10Bに被依存する。
 このように、図4において、複数の処理モジュール間の入出力依存関係を、依存される処理モジュールから依存する処理モジュールへの矢印で示している。
 実行順序割当ユニット13は依存度評価部14、被依存度評価部15、優先度評価部16、及び実行順割当部17から構成される。
 依存度評価部14は、処理モジュール群における各処理モジュールが他の処理モジュールに依存する度合いを依存度として評価する。
 また、被依存度評価部15は、各処理モジュールが他の処理モジュールに被依存する(依存される)度合いを被依存度として評価する。
 図5は依存度評価部14及び被依存度評価部15による依存度及び被依存度の評価結果を表形式で示す説明図である。図5で示す例では、依存している他の処理モジュールの数を依存度とし、依存される(被依存している)他の処理モジュールの数を被依存度としている。
 図5において、例えば、処理モジュールAは、処理モジュールC,Dに依存し依存度が“2”であり、処理モジュールBに被依存し被依存度が“1”となる。
 優先度評価部16は、依存度評価部14及び被依存度評価部15で得た依存度及び被依存度に基づき、処理モジュール群における各処理モジュールの優先度を決定する。
 実行順割当部17は、優先度評価部16で得た優先度の最も高い一の処理モジュールを最先の実行順序に割り当てる。
 図6は優先度評価部16による優先度決定及び実行順割当部17による実行順序の割り当て処理結果例を表形式で示す説明図である。
 図6で示す例では、優先度評価部16は依存度が小さいものほど優先度が高い(大きい)ものとして評価(一次評価)している。そして、依存度が同じものは、被依存度が大きいものの優先度をより高く(大きく)評価(二次評価)している。その結果、処理モジュールF,C,D,E,A,Bの順に優先度を決定する。
 なお、二次評価として被依存度の大きいものを優先する理由は、そのような処理モジュールを実行することにより、未実行の処理モジュールに依存しない処理モジュールがより増えることが期待できるからである。
 図6で示す優先度が得られると、実行順割当部17は最も優先度が高い処理モジュールFを実行順“1”に決定する。
 実行順序割当ユニット13は、一の処理モジュールの実行順が決定する度に、依存度評価部14、被依存度評価部15、優先度評価部16、実行順割当部17による上述した処理を繰り返し実行させ、各処理モジュールの実行順序を順次割り当てる。
 この際、実行順を決定した処理モジュールについては対象から除外する。例えば、図6で示す優先度によって、処理モジュールFの実行順が“1”に決定した後、処理モジュール群から処理モジュールFが対象から除外されることになる。
 このように、実行順序割当ユニット13は、初期状態は6つの処理モジュールA~Fが評価対象の所定数の処理モジュールであったが、このタイミングで5つの処理モジュールA~Eが評価対象の所定数の処理モジュールとして再設定する対象処理モジュール再設定処理を行う。
 以下、処理モジュールFが除外された処理モジュール群(所定数の処理モジュール)に対する処理について説明する。
 図7は処理モジュールFが除外された処理モジュール群に対する実行順序割当ユニット13の実行順割り当結果を表形式で示す説明図である。
 依存度評価部14及び被依存度評価部15は、実行順が既に割り当てられた処理モジュールFを除いて、依存度及び被依存度を再び評価する。処理モジュールFが評価対象から除外されたため、処理モジュールBの依存度が“3”から“2”に低下する。
 その後、優先度評価部16は新たに依存度評価部14及び被依存度評価部15より得られた依存度・被依存度に基づき優先度を再び評価する。処理モジュールBの依存度が“3”から“2”に低下した結果、処理モジュールBの優先度が処理モジュールAと同ランク“-3”となった。
 次に、実行順割当部17は、新たに優先度評価部16により得られた優先度に基づき、2番目に実行すべき処理モジュール、評価対象の所定数の処理モジュール間におる最先順位に割り当てる処理モジュールを割り当てる。図7で示す例では処理モジュールCの実行順が“2”に決定される。
 以降、同様にして、実行順序割当ユニット13の制御下で、実行順が決定した処理モジュールを対象から除外しながら(対象処理モジュール再設定処理を実行しながら)、依存度評価部14、被依存度評価部15、優先度評価部16による評価、実行順割当部17による割り当てを繰り返し実行させることにより、処理モジュール群における処理モジュールに対して一つずつ実行順序が割り当てられる。
 なお、図7において、未決定の処理モジュールに依存する数とは、既に実行順が決定した処理モジュールが、実行順が未決定の処理モジュールに依存する数を意味する。例えば、処理モジュールFは元々依存する処理モジュールは存在しないため“0”であり、処理モジュールCは依存している処理モジュールBの実行順が未決定のため“1”となる。
 図8は実行順序割当ユニット13により最終的に実行順序が決定された処理モジュールA~Fの実行順序と、未決定の処理モジュールに依存する数とを表形式で示す説明図である。
 同図に示すように、最終的に実行順序は処理モジュールF,C,D,A,B,Eの順で決定される。そして、未決定の処理モジュールに依存する数を処理モジュールCの“1”のみに抑え、他の処理モジュールA,B,D~Fを“0”にしている。
 実行順序記録ユニット18は、実行順序割当ユニット13によって得られた処理モジュール群にける各処理モジュールの実行順序を記録する。
 このように、実施の形態1の実行順序決定装置は、依存度を考慮しながら、複数の処理モジュールの実行順序を順次決定していくため、結果として実行遅延が少なく、直感レベルの論理的判断に反する結果を生じにくい、効率的でかつ的確な実行順序が得ることができる効果を奏する。
 図2~図8で示した例では、実施の形態1の実行順序決定装置で決定した実行順序に従って処理モジュール群を実行することにより、未決定の処理モジュールに依存する数、すなわち、前の周期の処理モジュールの結果に依存する数は、処理モジュールCを実行するときの1箇所だけに抑えた効率的な実行順序となる。したがって、処理モジュールがソフトウェアの場合、バグ発生が抑えられ生産効率を高めることができる。
 なお、本実施の形態では、依存度評価部14、被依存度評価部15、優先度評価部16、実行順割当部17の処理内容は上述した内容に限定されるものではない。
 例えば、依存度評価部14や被依存度評価部15に関して、一部の処理モジュール間の実行順序を制限する等(例:処理モジュールA,Bで必ず連続して実行する)の依存関係に重み付けがされている場合を考え、それらの重みを考慮しつつ評価を行っても良い。
 また、優先度評価部16に関して、何らかの評価式を用いてもよいし、他の指標を考慮して評価を行っても良いし、複数の評価方法を切り替えて用いてもよい。また、実行順割当部17は、優先度評価部16が評価した優先度に差が出ない場合に、何らかの手段(乱数、最初,最後から等)で処理モジュールを一つ選び出してもよい。
 このように、実施の形態1の実行順序決定装置において、実行順序割当ユニット13は、複数の処理モジュールそれぞれの他の処理モジュールに対する依存度及び被依存度に基づき、複数の処理モジュールの実行順序を決定している。
 本装置で実行順序を決定する処理モジュールは、監視制御等の分野における、入力を温度、圧力、位置等のセンサーやマンマシンインタフェースからの信号等とし、出力を弁、ポンプ、開閉器等やマンマシンインタフェースへの制御信号等とするものであってもよい。また、産業用ロボット等の分野における、入力を温度、圧力、位置等のセンサーやマンマシンインタフェースからの信号等とし、出力をモーター、リレー回路等やマンマシンインタフェースへの制御信号等とするものであってもよい。以降の実施の形態でも同様である。
 これらの結果、実施の形態1の実行順序決定装置は、処理モジュール間の入出力依存関係を考慮することにより、上記入出力依存関係が閉路を含む場合であっても効率的で的確な複数の処理モジュールの実行順序を決定することができる効果を奏する。
 加えて、実施の形態1の実行順序決定装置の実行順序割当ユニット13は、依存度評価部14、被依存度評価部15、優先度評価部16、及び実行順割当部17それぞれが、対象処理モジュール再設定処理後、新たに設定された評価対象の所定数の処理モジュールに対する処理を再び行うように制御するため、常に精度の高い優先度に基づき処理モジュールの実行順序を決定することができる効果を奏する。
 また、実施の形態1の実行順序決定装置は、処理モジュール記憶ユニット11及び実行順序記録ユニット18を備えることにより、依存関係抽出ユニット12及び実行順序割当ユニット13による処理前の複数の処理モジュール及び実行順序割当ユニット13により決定後の実行順序に関するデータを安定性良く保持することができる。
 <実施の形態2>
 図9はこの発明の実施の形態2であるの実行順序決定装置の構成を示すブロック図である。同図に示すように、実施の形態2の実行順序決定装置は、処理モジュール記憶ユニット11、依存関係抽出ユニット12、実行順序割当ユニット23及び実行順序記録ユニット18から構成される。
 実行順序割当ユニット23は依存度評価部14、被依存度評価部15、優先度評価部16、実行順割当部17及び逆実行順割当部19から構成される。
 逆実行順割当部19は、被依存度評価部15より得た被依存度に基づき、処理モジュールに最後から実行順を割り当てる。本実施の形態では、被依存度が“0”のものを抽出して割り当てる。この際、逆実行順割当部19による処理は、優先度評価部16及び実行順割当部17による処理に優先して行われる。
 なお、処理モジュール記憶ユニット11、依存関係抽出ユニット12、及び実行順序記録ユニット18の処理、並びに実行順序割当ユニット23内の依存度評価部14、被依存度評価部15、優先度評価部16、及び実行順割当部17の処理内容は基本的に実施の形態1と同様であるため、同一符号を付して説明を適宜省略する。
 図10は逆実行順割当部19による最終実行順割当内容を模式的に示す説明図である。なお、対象とする処理モジュール群は図2~図4で示した入出力依存関係を有する処理モジュール群と同一である。
 同図に示すように、依存度評価部14及び被依存度評価部15は、実施の形態1と同様にして、処理モジュールA~Fの依存度及び被依存度を評価する。
 その結果、図10に示すように、被依存度が“0”の処理モジュールEが存在するため、逆実行順割当部19は優先度評価部16及び実行順割当部17による処理に優先して、処理モジュールEを最終順位に実行することを示す“-1”を割り当てる。
 実行順序割当ユニット23は、一の処理モジュールの実行順序が決定する度に、依存度評価部14、被依存度評価部15、優先度評価部16、実行順割当部17及び逆実行順割当部19による上述した処理を繰り返し実行させ、各処理モジュールの実行順序を順次割り当てる。
 この際、実施の形態1と同様、実行順序を決定した処理モジュールについては対象から除外する。例えば、図0に示すように、逆実行順割当部19によって処理モジュールEの実行順が“-1”(最終)に決定した後、処理モジュール群から処理モジュールEが対象から除外されることになる。
 以下、処理モジュールEが除外された処理モジュール群(所定数の処理モジュール)に対する処理について説明する。
 図11は処理モジュールEが除外された処理モジュール群に対する実行順序割当ユニット23の実行順割り当結果を表形式で示す説明図である。
 依存度評価部14及び被依存度評価部15は、実行順序が既に割り当てられた処理モジュールEを除いて、依存度及び被依存度を再び評価する。処理モジュールEが評価対象から除外されたため、処理モジュールDの被依存度が“2”から“1”に低下する。
 その際、被依存度“0”の処理モジュールが存在しないため、逆実行順割当部19による割当処理は行われず、実施の形態1と同様、優先度評価部16及び実行順割当部17による実行順決定処理が実行される。
 優先度評価部16は新たに依存度評価部14及び被依存度評価部15より得られた依存度・被依存度に基づき優先度を再び評価する。そして、依存度が最も小さい“0”の処理モジュールFの優先度を最高レベルに評価する。
 次に、実行順割当部17は、優先度評価部16により得られた優先度に基づき、1番目に実行すべき処理モジュールを決定する。図11で示す例では処理モジュールFの実行順が“1”に決定されることになる。
 以降、同様にして、実行順序が決定した処理モジュールを対象から除外しながら、実行順序割当ユニット23は、依存度評価部14、被依存度評価部15、優先度評価部16による評価、実行順割当部17及び逆実行順割当部19による割る当てを繰り返し実行させることにより、処理モジュール群における処理モジュールに対して一つずつ実行順序が割り当てる。
 図12は実行順序割当ユニット23により最終的に実行順が決定された処理モジュールA~Fの実行順と、未決定の処理モジュールに依存する数とを表形式で示す説明図である。なお、図12において、負数の場合、実行順は-4,-3,-2,-1の順となる。
 同図に示すように、最終的に実行順は処理モジュールF,C,D,A,B,Eの順で決定される。そして、未決定の処理モジュールに依存する数を処理モジュールCの“1”にのみ抑え、他の処理モジュールA,B,D~Fを“0”にしている。
 このように、実施の形態2の実行順序決定装置は、実施の形態1と同様、原則、依存度を考慮しながら、処理モジュールの実行順を決定していくため、結果として実行遅延が少なく、直感レベルの論理的判断に反する結果が生じにくい実行順序が得ることができる効果を奏する。
 このように、実施の形態2の実行順序決定装置で決定した実行順序に従って処理モジュール群を実行することにより、未決定の処理モジュールに依存する数、すなわち、前の周期の処理モジュールの結果に依存する数は、処理モジュールCを実行するときの1箇所だけに抑えた効率的な実行順序となる。
 図2~図4で示した入出力依存関係を有する処理モジュール群においては、実施の形態1及び実施の形態2との間で同じ実行順序が得られることになる。しかし、処理モジュール間がより複雑な入出力依存関係を持つ処理モジュール群に対して実施の形態2は効果を発揮する。
 図13は処理モジュール記憶ユニット11に記憶された他の処理モジュール群データの入出力依存関係を模式的に示す説明図である。
 同図に示すように、他の処理モジュール群における処理モジュールA~H間において、以下の入出力依存関係が存在する。
 処理モジュール20Aは処理モジュール20C,20Dに依存し、処理モジュール20Bに被依存する。処理モジュール20Bは処理モジュール20A,20C,20Fに依存し、処理モジュール20Cに被依存する。
 同様にして、処理モジュール20Cは処理モジュール20Bに依存し、処理モジュール20A,20B,20Dに被依存し、処理モジュール20Dは処理モジュール20Cに依存し、処理モジュール20A,20E,20G,20Hに被依存する。また、処理モジュール20Eは処理モジュール20Dに依存し、処理モジュール20Fは処理モジュール20Bに被依存する。
 加えて、処理モジュール20Gは処理モジュール20Dに依存し、処理モジュール20Hは処理モジュール20Dに依存する。
 図14は図13で示した入出力依存関係を有する処理モジュール群に対し、実施の形態1により最終的に実行順序が決定された処理モジュールA~Hの実行順と、未決定の処理モジュールに依存する数を表形式で示す説明図である。なお、同条件のときはアルファベット順で若い処理モジュールの実行順を先に決定するものとした。
 図15は図13で示した入出力依存関係を有する処理モジュール群に対し、実施の形態2により最終的に実行順序が決定された処理モジュールA~Hの実行順と、未決定の処理モジュールに依存する数を表形式で示す説明図である。なお、図15において、負数の場合、実行順は-6,-5,-4,-3,-2,-1の順となる。また、同条件のときはアルファベット順で若い処理モジュールの実行順を先に決定するものとした。
 図14及び図15に示すように、実施の形態1により決定された実行順序において未決定の処理モジュールに依存する数の和が“2”なのに対し、実施の形態2により決定された実行順序において未決定の処理モジュールに依存する数の和は“1”となっている。
 この差が、逆実行順割当部19により、予め最後に回しても支障のない処理モジュールE,G,Hの順番を順次先に最終から決定し、優先度評価部16による優先度評価と、実行順割当部17による実行順割り当ての候補から外したことによる効果である。
 このように、実施の形態2の実行順序決定装置は、被依存度が“0”の処理モジュールを優先的に最終順から実行順序を決定することができるため、複雑な入出力依存関係を有する処理モジュール群に対して実施の形態1以上に効率的な実行順序を決定することができる効果を奏する。
 すなわち、実行順序割当ユニット23内の逆実行順割当部19は、被依存度が“0”であるという条件(所定の条件)を満足する時、優先度評価部16及び実行順割当部17による割り当てに優先して、被依存度が“0”の処理モジュールを評価対象の所定数の処理モジュール間で最終順位に割り当てるため、複雑な入出力依存関係を有する複数の処理モジュールに対しても効率的な実行順序を決定することができる効果を奏する。
 <実施の形態3>
 図16はこの発明の実施の形態3であるの実行順序決定装置の構成を示すブロック図である。同図に示すように、実施の形態3の実行順序決定装置は、処理モジュール記憶ユニット11、依存関係抽出ユニット12、実行順序割当ユニット33及び実行順序記録ユニット18から構成される。
 実行順序割当ユニット33は依存度評価部14、被依存度評価部15、優先度評価部36、及び実行順割当部17から構成される。
 なお、処理モジュール記憶ユニット11、依存関係抽出ユニット12、及び実行順序記録ユニット18の処理、並びに実行順序割当ユニット33内の依存度評価部14、被依存度評価部15、及び実行順割当部17の処理内容は基本的に実施の形態1と同様であるため、同一符号を付して説明を適宜省略する。
 優先度評価部36は、依存度評価部14が評価した依存度、被依存度評価部15が評価した被依存度に基づき、依存度及び被依存度の多項式で表される評価式を用いて優先度の評価を行う。評価式の一例が「(優先度)=α×(依存度)+β×(被依存度)・・・(1)」で示し式(1)となる。式(1)において、“α”が「依存度」用の(第1の)パラメータであり、“β”が「被依存度」用の(第2の)パラメータである。
 依存度が大きいものを選択すると、未決定の処理モジュールに依存する数が大きくなる傾向がある。一方、被依存度の大きいものを選択すると、残りの処理モジュールで依存する総数が減少する傾向があるため、それ以降の割り当てで未決定の処理モジュールに依存する数が減少すると期待できる。従って、式(1)においてαは負の数、βは正の数が望ましい。
 式(1)において、Kを十分大きな正の値として、α=-Kβ(βを正の数)とすると、優先度評価部36の処理内容は実施の形態1の優先度評価部16の処理内容と等価になる。
 図17は優先度評価部36による優先度決定例を表形式で示す説明図である。図17で示す例は、式(1)において、例えば、K=100、β=1としたとき、図2~図4で示す処理モジュール群について行った場合の優先度を示している。図17で示す優先度は、処理モジュールF,C,D,E,A,Bの順となり、この優先度順序は、図6で示す実施の形態1の優先度評価部16による優先度順序と同一順序となる。
 このように、実施の形態3の実行順序決定装置は、優先度評価部36は依存度及び被依存度に基づきパラメータ(α,β)の値を変更可能な評価式(式(1))を用いて、処理モジュール群内における各処理モジュールの優先度を決定することができるため、実施の形態1及び実施の形態2以上に柔軟性良く実行順序を決定することができる効果を奏する。
 すなわち、実施の形態3の実行順序決定装置の実行順序割当ユニット33における優先度評価部36は、依存度及び被依存度と、依存度及び被依存度用のパラメータα及びβ(第1及び第2のパラメータ)とを含む式(1)(所定の多項式)に基づき、評価対象の所定数の処理モジュール間における優先度を求めるため、弾力性に富み精度の高い優先度を求めることができる。その結果、実施の形態3の実行順序決定装置は、複数の処理モジュールに対して効率的な実行手順を決定することができる効果を奏する。
 また、式(1)のα、βを適宜変更して、実施の形態3の実行順序決定装置により実行順序を決定することにより、実行順序を複数得ることができる。そして、それぞれについて未決定の処理モジュールに依存する総数を比較し、その比較結果に基づき、パラメータα,βの値を設定するより、効率的でかつ的確な実行順序を決定することができる。
 なお、実施の形態3における実行順序割当ユニット33内に、実施の形態2の逆実行順割当部19に相当する構成部を加える態様も考えられる。
 <実施の形態4>
 図18はこの発明の実施の形態4であるの実行順序決定装置の構成を示すブロック図である。同図に示すように、実施の形態4の実行順序決定装置は、処理モジュール記憶ユニット11、依存関係抽出ユニット12、実行順序割当ユニット43及び実行順序記録ユニット18から構成される。
 実行順序割当ユニット43は依存度評価部14、被依存度評価部15、優先度評価部46、及び実行順割当部17から構成される。
 なお、処理モジュール記憶ユニット11、依存関係抽出ユニット12、及び実行順序記録ユニット18の処理、並びに実行順序割当ユニット43内の依存度評価部14、被依存度評価部15、及び実行順割当部17の処理内容は基本的に実施の形態1と同様であるため、同一符号を付して説明を適宜省略する。
 優先度評価部46は、実施の形態3の優先度評価部36と同様、依存度及び被依存度の多項式で表される評価式(式(1))を用いて優先度の評価を行う。
 この際、実行順序割当ユニット43は、優先度評価部46において式(1)のパラメータα,βのうち少なくとも一方を複数回変更することにより得られる、複数種の評価式それぞれを用いて、依存度評価部14、被依存度評価部15、優先度評価部46及び実行順割当部17を制御することにより、処理モジュール群に対し複数種の評価式に基づく複数種の実行順序候補を仮決定する。
 そして、実行順序割当ユニット43は、仮決定した複数種の実行順序候補から「未決定の処理手順に異存する数」が最も少ない候補を、最終決定された実行順序として採用する。なお、仮決定した複数種の実行順序候補を実行順序記録ユニット18に一時的に記録するようにしても良い。
 このように、実施の形態4の実行順序決定装置の実行順序割当ユニット43は、依存度及び被依存度に基づきパラメータ(α,β)変更可能な評価式(式(1))を用いて、複数種の評価式(多項式)に基づき仮決定した複数種の実行順序候補から、「未決定の処理手順に異存する数」が最も少ない候補を、最終決定した実行順序として採用している。その結果、実施の形態4の実行順序決定装置は、より効率的な実行順序を決定することができる効果を奏する。
 すなわち、実施の形態4の実行順序決定装置の実行順序割当ユニット43は、仮決定した複数種の実行順序候補のうち、「未決定の処理手順に異存する数」が最も少ない候補(最も効率的な実行順序と判断される候補)を複数の処理モジュールの実行順序として最終決定するため、より効率的な実行手順を決定することができる効果を奏する。
 なお、優先度評価部46による評価基準を変更して実行順序割当ユニット43により複数種の実行順序候補を得る方法として以下のような方法も考えられる。処理モジュール群の仕様(処理モジュール数、平均入出力数)に対応して、評価式(式(1))について複数セットからなるパラメータセット(各セットがそれぞれ複数種のα,βの組合せを有している)を集合データベースとして予め準備しておく。
 そして、集合データベースにおける複数のパラメータセットから、処理モジュール群の仕様に適合するによるパラメータセットを読み出し、読み出したパラメータセットにより評価式を変更しながら、複数種の実行順序候補を仮決定する。
 また、実行順序の決定を所望する処理モジュール群に関し、入出力依存関係の密度(平均入出力数)や処理モジュールの数などの傾向が分かっている場合は、予めそれに似た処理モジュール群の集合モデルを生成し、集合モデルに対し最適なパラメータセットを集合データベースとして優先度評価部46に設定しておけば、効率的で的確な実行順序を決定することが期待できる。
 また、実行順序を迅速に決定すべく一の評価式を予め設定したい場合は、以下の事前処理により最適なパラメータを持つ一の評価式を優先度評価部46に設定しておくことも可能である。すなわち、処理モジュール群の集合における処理モジュール群それぞれに対して複数種の評価式を用いて実行順序を取得し、複数種の評価式のうち、多数決等の処理により平均して最適な実行順位を決定した一の評価式を優先度評価部46用の一の評価式として予め設定しておくことが可能である。
 なお、実施の形態4における実行順序割当ユニット43内に、実施の形態2の逆実行順割当部19に相当する構成部を加える態様も考えられる。
 <その他>
 なお、実施の形態1~実施の形態4で述べた実行順序決定装置は、例えば、主記憶装置、演算装置、入力装置、二次記憶装置及び出力装置等から構成され、これらの装置がと問えば共通バスを介して共通に接続されるような構成のコンピュータ装置により実現することができる。
 このようなコンピュータ装置において、依存関係抽出ユニット12及び実行順序割当ユニット13,23,33,43は、例えば、演算装置がコンピュータを機能させるプログラムに基づき動作することによって実現可能である。上記プログラムは主記憶装置あるいは二次記憶装置に格納可能である。
 また、処理モジュール記憶ユニット11及び実行順序記録ユニット18は、主記憶装置あるいは二次記憶装置によって実現可能である。
 この発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。

Claims (6)

  1.  各々がデータ入力及びデータ出力のうち少なくとも一方の機能を有する複数の処理モジュールに対し、前記複数の処理モジュールの実行順序を決定する実行順序決定装置であって、
     前記複数の処理モジュールの内容を規定した処理モジュール群データを記憶する処理モジュール記憶ユニット(11)と、
     前記処理モジュール群データから、前記複数の処理モジュール間の入出力依存関係を抽出する入出力依存関係抽出ユニット(12)と、
     前記複数の処理モジュール間の入出力依存関係から、前記複数の処理モジュールそれぞれの他の処理モジュールに対する依存度及び被依存度を求め、該依存度及び被依存度に基づき、前記複数の処理モジュールの実行順序を決定する実行順序割当ユニット(13,23,33,43)と、
    を備えた実行順序決定装置。
  2.  請求項1記載の実行順序決定装置であって、
     前記実行順序割当ユニット(13,23,33,43)は、所定数の処理モジュールに対して実行順序を順次決定し、前記所定数の処理モジュールは初期状態時に前記複数の処理モジュールを含み、
     前記実行順序割当ユニットは、前記処理モジュールの実行順序を割り当てると、実行順序決定済みの処理モジュールを除外して、新たな前記所定数の処理モジュールとして再設定する対象処理モジュール再設定処理を行い、
     前記実行順序割当ユニットは、
     前記所定数の処理モジュール間の入出力依存関係に基づき、前記所定数の処理モジュールそれぞれの他の処理モジュールに対する依存度を求める依存度評価部(14)と、
     前記所定数の処理モジュール間の入出力依存関係に基づき、前記所定数の処理モジュールそれぞれの他の処理モジュールに対する被依存度を求める被依存度評価部(15)と、
     前記依存度評価部及び前記被依存度評価部で求めた前記依存度及び前記被依存度に基づき、前記所定数の処理モジュール間における優先度を求める優先度評価部(16,36,46)と、
     前記所定数の処理モジュールに対し、優先度が最も高い一の処理モジュールの実行順序を前記所定数の処理モジュール間で最先順位に割り当てる実行順割当部(17)とを含み、
     前記実行順序割当ユニットは、前記依存度評価部、前記被依存度評価部、前記優先度評価部及び前記実行順割当部それぞれが、前記対象処理モジュール再設定処理後、新たに設定された前記所定数の処理モジュールに対する処理を行うように制御する、
    実行順序決定装置。
  3.  請求項2記載の実行順序決定装置であって、
     前記実行順序割当ユニット(23)は、
     前記被依存度評価部で求めた前記被依存度に基づき、前記被依存度が所定の条件を満足する時、前記実行順割当部による割り当てに優先して、前記被依存度が前記所定の条件を満足する処理モジュールを前記所定数の処理モジュール間で最終順位に割り当てる逆実行順割当部(19)をさらに含む、
    実行順序決定装置。
  4.  請求項2あるいは請求項3記載の実行順序決定装置であって、
     前記優先度評価部(36,46)は、
     前記依存度評価部及び前記被依存度評価部で求めた前記依存度及び前記被依存度と、前記依存度及び前記被依存度用の第1及び第2のパラメータとを含む所定の多項式に基づき、前記所定数の処理モジュール間における優先度を求める、
    実行順序決定装置。
  5.  請求項4記載の実行順序決定装置であって、
     前記所定の多項式は前記第1及び第2のパラメータの値の少なくとも一方を変えた複数種の多項式を含み、
     前記実行順序割当ユニット(43)は、
     前記優先度評価部(46)により、前記複数種の多項式それぞれに基づき、前記所定数の処理モジュール間における優先度を求めさせながら、前記依存度評価部、前記被依存度評価部、及び前記実行順割当部の処理を実行させることにより、前記複数の処理モジュールにおける複数種の実行順序候補を仮決定し、
     前記複数種の実行順序候補のうち、最も効率的な実行順序と判断される候補を前記複数の処理モジュールの実行順序として決定する、
    実行順序決定装置。
  6.  請求項1ないし請求項5のうち、いずれか1項に記載の実行順序決定装置であって、
     前記実行順序割当ユニットで決定した前記複数の処理モジュールの実行順序を記録する実行順序記録ユニット(18)をさらに備える、
    実行順序決定装置。
PCT/JP2009/056597 2009-03-31 2009-03-31 実行順序決定装置 WO2010113242A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2011506869A JP5172009B2 (ja) 2009-03-31 2009-03-31 実行順序決定装置
PCT/JP2009/056597 WO2010113242A1 (ja) 2009-03-31 2009-03-31 実行順序決定装置
US13/144,941 US8677367B2 (en) 2009-03-31 2009-03-31 Execution order decision device
CN200980157508.XA CN102334101B (zh) 2009-03-31 2009-03-31 执行顺序决定装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/056597 WO2010113242A1 (ja) 2009-03-31 2009-03-31 実行順序決定装置

Publications (1)

Publication Number Publication Date
WO2010113242A1 true WO2010113242A1 (ja) 2010-10-07

Family

ID=42827574

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/056597 WO2010113242A1 (ja) 2009-03-31 2009-03-31 実行順序決定装置

Country Status (4)

Country Link
US (1) US8677367B2 (ja)
JP (1) JP5172009B2 (ja)
CN (1) CN102334101B (ja)
WO (1) WO2010113242A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014112324A (ja) * 2012-12-05 2014-06-19 Toyota Motor Corp ソフトウェア複雑度測定装置及び方法並びにプログラム
WO2017163592A1 (ja) * 2016-03-24 2017-09-28 富士フイルム株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
JPWO2017017836A1 (ja) * 2015-07-30 2017-11-09 株式会社日立製作所 運用自動化装置及び方法並びに記憶媒体
KR20210093796A (ko) * 2020-01-20 2021-07-28 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 정보 생성 방법 및 장치
JPWO2021152802A1 (ja) * 2020-01-30 2021-08-05
WO2022180815A1 (ja) * 2021-02-26 2022-09-01 富士通株式会社 情報処理プログラム、情報処理方法及び情報処理装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5880451B2 (ja) * 2011-02-09 2016-03-09 日本電気株式会社 解析エンジン制御装置
CN108616410B (zh) * 2016-12-09 2021-05-25 北京京东尚科信息技术有限公司 信息校验方法及装置
CN112528460B (zh) * 2020-10-20 2024-02-02 中国人民解放军63919部队 用于空间站机械臂任务的路径依赖度计算方法、装置
CN113448989B (zh) * 2021-07-08 2024-02-06 京东科技控股股份有限公司 数据的处理方法、装置、电子设备及计算机存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0588869A (ja) * 1991-09-30 1993-04-09 Hitachi Ltd プログラム自動生成方法及び装置
JPH07334466A (ja) * 1994-06-14 1995-12-22 Hitachi Ltd 分散システムおよび分散システムの自動運転スケジュールの作成方法
JP2002149405A (ja) * 2000-11-07 2002-05-24 Fujitsu Ltd オブジェクト連携装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0792761B2 (ja) * 1985-07-31 1995-10-09 株式会社日立製作所 仮想計算機システムの入出力制御方法
JPH04252336A (ja) 1991-01-29 1992-09-08 Fujitsu Ltd プログラム最適化処理装置
JP2806182B2 (ja) * 1992-10-15 1998-09-30 日本電気株式会社 部分網抽出装置
JPH0896018A (ja) 1994-09-26 1996-04-12 Matsushita Electric Ind Co Ltd Cadツール管理方法および回路の自動設計システム
JPH08272626A (ja) * 1995-03-30 1996-10-18 Hitachi Software Eng Co Ltd バッチジョブ処理方法
JPH10214195A (ja) * 1997-01-30 1998-08-11 Nec Corp 複数のジョブステップを並列に実行するジョブ制御文生 成装置、ジョブ制御文生成方法およびジョブ制御文生成 プログラムを記録した記録媒体
US20060129531A1 (en) * 2004-12-09 2006-06-15 International Business Machines Corporation Method and system for suggesting search engine keywords
JP2007226526A (ja) 2006-02-23 2007-09-06 Ns Solutions Corp 情報処理装置、情報処理方法、プログラム及び記憶媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0588869A (ja) * 1991-09-30 1993-04-09 Hitachi Ltd プログラム自動生成方法及び装置
JPH07334466A (ja) * 1994-06-14 1995-12-22 Hitachi Ltd 分散システムおよび分散システムの自動運転スケジュールの作成方法
JP2002149405A (ja) * 2000-11-07 2002-05-24 Fujitsu Ltd オブジェクト連携装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014112324A (ja) * 2012-12-05 2014-06-19 Toyota Motor Corp ソフトウェア複雑度測定装置及び方法並びにプログラム
JPWO2017017836A1 (ja) * 2015-07-30 2017-11-09 株式会社日立製作所 運用自動化装置及び方法並びに記憶媒体
WO2017163592A1 (ja) * 2016-03-24 2017-09-28 富士フイルム株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
JPWO2017163592A1 (ja) * 2016-03-24 2019-01-24 富士フイルム株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
US10878526B2 (en) 2016-03-24 2020-12-29 Fujifilm Corporation Image processing apparatus, image processing method, and image processing program
JP2021114278A (ja) * 2020-01-20 2021-08-05 北京百度网▲訊▼科技有限公司Beijing Baidu Netcom Science And Technology Co., Ltd. 情報を生成するための方法及び装置
KR20210093796A (ko) * 2020-01-20 2021-07-28 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 정보 생성 방법 및 장치
JP7090131B2 (ja) 2020-01-20 2022-06-23 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 情報を生成するための方法及び装置
US11474856B2 (en) 2020-01-20 2022-10-18 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for generating information
KR102545045B1 (ko) * 2020-01-20 2023-06-20 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 정보 생성 방법 및 장치
JPWO2021152802A1 (ja) * 2020-01-30 2021-08-05
WO2021152802A1 (ja) * 2020-01-30 2021-08-05 富士通株式会社 サービス設計装置、サービス設計方法およびサービス設計プログラム
JP7367783B2 (ja) 2020-01-30 2023-10-24 富士通株式会社 サービス設計装置、サービス設計方法およびサービス設計プログラム
WO2022180815A1 (ja) * 2021-02-26 2022-09-01 富士通株式会社 情報処理プログラム、情報処理方法及び情報処理装置

Also Published As

Publication number Publication date
JP5172009B2 (ja) 2013-03-27
CN102334101A (zh) 2012-01-25
US20110276976A1 (en) 2011-11-10
CN102334101B (zh) 2014-10-08
JPWO2010113242A1 (ja) 2012-10-04
US8677367B2 (en) 2014-03-18

Similar Documents

Publication Publication Date Title
JP5172009B2 (ja) 実行順序決定装置
EP3413197B1 (en) Task scheduling method and device
CN108665277B (zh) 一种信息处理方法及装置
CN112596898A (zh) 一种任务执行器调度的方法及装置
JP5320985B2 (ja) 予測システム、予測方法および予測プログラム
CN116680062B (zh) 一种基于大数据集群的应用调度部署方法及存储介质
KR101709314B1 (ko) 태스크 우선순위 조정 장치 및 방법
JP6902487B2 (ja) 機械学習システム
JP2019053474A (ja) クラウドベースサービスのデータ保護方法
JP4908363B2 (ja) 情報処理装置、並列処理最適化方法およびプログラム
CN111727420A (zh) 触控屏温度状态的检测方法、装置、触控芯片及电子设备
US10048938B2 (en) Arithmetic control device, memory system including the same, information processing device, and arithmetic control method
JP6511333B2 (ja) 意思決定支援システム及び意思決定支援方法
JP7193701B2 (ja) 障害対処プログラム及び障害対処方法
US20210279575A1 (en) Information processing apparatus, information processing method, and storage medium
CN110908342B (zh) 融合算子的多工序制造质量损失预测o-gert方法
JP6929485B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
Park et al. Scheduling and control co-design under end-to-end response time constraints in cyber-physical systems
WO2023073837A1 (ja) データ修正プログラム、装置、及び方法
JP7247422B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
TWI713823B (zh) 模型構築系統及模型構築方法
WO2023248414A1 (ja) 求解装置、求解方法および求解プログラム
JP2019144789A (ja) 機械学習装置、判定装置、機械学習方法及び判定方法
JP7481962B2 (ja) ネットワーク装置及び通信フローの送信制御方法
JP2011003052A (ja) データ処理装置及び制御方法及びプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980157508.X

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09842598

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2011506869

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13144941

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09842598

Country of ref document: EP

Kind code of ref document: A1