WO2011002052A1 - Task-graph analyzing device and task-graph analyzing program - Google Patents

Task-graph analyzing device and task-graph analyzing program Download PDF

Info

Publication number
WO2011002052A1
WO2011002052A1 PCT/JP2010/061237 JP2010061237W WO2011002052A1 WO 2011002052 A1 WO2011002052 A1 WO 2011002052A1 JP 2010061237 W JP2010061237 W JP 2010061237W WO 2011002052 A1 WO2011002052 A1 WO 2011002052A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
tasks
information
path
critical path
Prior art date
Application number
PCT/JP2010/061237
Other languages
French (fr)
Japanese (ja)
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 株式会社多様性総合研究所
Publication of WO2011002052A1 publication Critical patent/WO2011002052A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • 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 a task graph analysis apparatus and a task graph analysis program, and more particularly to a technique for analyzing a task graph including a plurality of tasks constituting a schedule using a critical path.
  • task graphs also called PERT diagrams, arrow diagrams, clinical paths, care maps, etc.
  • PERT diagrams arrow diagrams, clinical paths, care maps, etc.
  • this task graph the longest sequence of tasks that have no time margin is called a critical path, and the task of scheduling is to focus on the tasks on the critical path.
  • Evaluation for each task on the critical path is performed for the required processing time of each task (see, for example, Patent Documents 1 to 4), and evaluation for probabilistic statistical calculation of tasks appearing on the critical path (for example, (See Non-Patent Document 1).
  • JP-A-6-19998 Japanese Patent Publication No. 6-42253 JP 2008-171153 A JP 2008-287509 A
  • the present invention has been made to solve such problems, and each task can be evaluated not only for the critical path but also for the semi-critical path without executing the entire task system many times.
  • the purpose is to do so.
  • n tasks ⁇ v 1 , v 2 ,..., V n ⁇ to be scheduled and a start temporarily set at the beginning and end of the n tasks.
  • the present invention configured as described above, not only the critical path of the entire system from the start task v 0 to the end task v n + 1 but also the partial critical path from the task v i to the task v j is calculated. so that the evaluation value of the task v i by the number of tasks included on all of the critical path that starts the task v i is counted is calculated. For this reason, unlike the conventional technology that only evaluates the tasks included in the path for only the critical path of the entire system, in addition to the tasks on the critical path of the entire system, it is not on the critical path of the entire system. Evaluation values can also be obtained for tasks.
  • each task can be evaluated not only for the critical path but also for the semi-critical path without executing the entire task system many times.
  • group which has many tasks. It is a figure which shows the example of the task graph displayed when n 2 and a some critical path exists. It is a figure which shows an example regarding task arrangement
  • FIG. 1 is a block diagram illustrating a functional configuration example of a task graph analysis apparatus according to the present embodiment.
  • the task graph analysis apparatus 10 of this embodiment analyzes a schedule composed of n tasks (n is an integer of 1 or more), and includes a task information input unit as its functional configuration. 1, a temporary task setting unit 2, a critical path calculation unit 3, an evaluation value calculation unit 4, and a map display unit 5.
  • n is an integer of 1 or more
  • each of the functional configurations 1 to 5 included in the task graph analysis apparatus 10 can be realized by any of a hardware configuration, a DSP, an MPU, and software.
  • the task graph analysis apparatus 10 of the present embodiment is actually configured with a computer CPU or MPU, RAM, ROM, and the like, and a program stored in the RAM or ROM operates. realizable.
  • a program that causes the computer to perform the above-described functions on a recording medium such as a CD-ROM and causing the computer to read the program.
  • a recording medium for recording the program a flexible disk, a hard disk, a magnetic tape, an optical disk, a magneto-optical disk, a DVD, a nonvolatile memory card, a semiconductor memory, and the like can be used in addition to the CD-ROM. It can also be realized by downloading the program to a computer via a network such as the Internet.
  • the task graph analyzer 10 is connected to an input device 20 such as a keyboard and a mouse, and a display device 30 such as a liquid crystal display.
  • the task information input unit 1 of the task graph analysis device 10 inputs task information regarding n tasks from the input device 20.
  • the task information input here includes task identification information for identifying n tasks, order information indicating the processing order on the schedule of n tasks, and time information indicating the required processing time of n tasks ( Corresponding to the load information of the present invention).
  • FIG. 2 is a diagram illustrating an example of task information according to the present embodiment.
  • the task identification information may be a unique ID for each task or a task name.
  • other information may be used as long as each task can be uniquely identified.
  • FIG. 2 shows an example of using task name v 1, v 2, ⁇ ⁇ , a v n as a task identification information.
  • the order information is information representing the preceding / following relationship of tasks. For example, for each task, a set of task identification information of a task that is processed one before and the task identification information of a task that is processed one after is used as order information.
  • a set of task identification information of a task that is processed one before and the task identification information of a task that is processed one after is used as order information.
  • the succeeding other task is task v 2 . It shows that there is. Further, it is indicated that the immediately preceding other task preceding task v 2 is task v 1 and the succeeding immediately following other task is task v 3 .
  • the task identification information of the two or more tasks is stored in the item of the preceding task.
  • the task identification information of the two or more tasks is stored in the item of the subsequent task.
  • the time information is information representing the time required to process each task.
  • the required processing time of task v 1 is t 1 and the required processing time of task v 2 is t 2 .
  • the time information is the required processing time of the task, but a set of processing start time and end time may be the time information.
  • time information is used here, it is not limited to this.
  • Information other than time can be used as long as the information indicates the task load. For example, as information other than time, information such as the cost required for processing the task, the physical distance of the information transmission path within the task, the influence level of the environment affected by the task, indirect observation values and index values related to the task, etc. It may be used.
  • attributes shown in parentheses can be used as task load information.
  • Project management time, cost
  • processor development time, wiring distance
  • computer system time, cost
  • medical care time, cost, impact on the human body, indirect observations such as weight and dosage
  • education Education effect index such as deviation value
  • administration time, cost, disaster recovery priority
  • chemistry time, cost
  • communication time, equipment load index
  • logistics time, cost, luggage weight
  • manufacturing time
  • the temporary task setting unit 2 temporarily sets the 0th task information as the start task v 0 at the head of n tasks v 1 to v n for which task information has been input by the task information input unit 1, and includes n items
  • the (n + 1) th task information is provisionally set as the end task v n + 1 at the end of the task.
  • the contents of the task information temporarily set here are the same as the task information as shown in FIG. 2 input by the task information input unit 1.
  • the start task v 0 and ending tasks v n + 1 of the required processing time t 0, t n + 1 is respectively a predetermined value.
  • the critical path calculation unit 3 calculates a critical path according to the following procedure. First, the earliest start time and earliest end time of the start task v 0 are calculated based on the time information included in the task information. Next, the earliest start time and earliest end time of the subsequent task following the start task v 0 are calculated in order according to the preceding / following relationship between the tasks indicated by the order information. Then, when it reaches the end tasks v n + 1, we calculate the latest end time and latest start time in reverse order toward the preceding task from its termination task v n + 1.
  • the difference between the earliest start time and the latest start time is defined as slack
  • the critical path is obtained by tracing back the path without slack, that is, the path without margin time, from task v i or task v j. .
  • L all is a set representing the tasks of the entire system
  • n is the total number of tasks.
  • the logical operator “ ⁇ ” representing the meaning of “negation” is used as a set for the symbol “ ⁇ ” representing the set, but in this specification, for convenience, “ ⁇ ” is not used as the logical operator. It is used as a symbol that negates the meaning of the set symbol.
  • “L cp i ⁇ L cp j ” means “a subset of L cp j does not become L cp i ”.
  • the set L p i, j of each task included from the start task v 0 over portions critical path to any task v j, to the previous leading relationship any tasks v i from the start task v 0
  • the set L p i, j represents a set of tasks included on the partial critical path from the arbitrary task v i to the arbitrary task v j .
  • the critical path calculation unit 3 performs a partial critical from the arbitrary task v i to the arbitrary task v j in addition to the set L p 0,2 of each task included in the entire critical path from the start task v 0 to the end task v 2.
  • L p 0,0 , L p 0,1 , L p 1,0 , L p 1,1 , L p 1,2 , L p 2,0 , L p 2,1 , L p 2,2 is obtained.
  • the evaluation value calculation unit 4 calculates the total number of tasks included in each critical path starting from the task v i (the same task is one count) is calculated as the evaluation value of the task v i.
  • the evaluation value of each task corresponding to the task set L all of the entire system is called a superimposed path score S, and the superimposed path score S is defined as the following (Equation 1).
  • s i is a superimposed path score in the set L all for an arbitrary task v i .
  • s 0
  • 3
  • s 1
  • 2
  • 1
  • superimposed path scores s i to the task v i if there is shortened or extended any changes, such as processing time for the task v i, corresponding to the number of corresponding superimposed path scores s i task Means being affected. For this reason, the superimposed path score s i calculated by the evaluation value calculation unit 4 of the present embodiment can be positioned as an index representing the importance of the task v i in each critical path.
  • the map display unit 5 includes task information of n tasks v 1 to v n input by the task information input unit 1 and tasks of start task v 0 and end task v n + 1 temporarily set by the task temporary setting unit 2. Based on the task identification information and the order information included in the information, the preceding and succeeding relationship of each of the tasks v 0 to v n + 1 is displayed on the display device 30 as a task graph (in this embodiment, this is referred to as “superimposed path score map”). To do.
  • the time map display unit 5 in accordance with the magnitude of the calculated superimposed path scores S (superimposed path scores s i of each task v i) by the evaluation value calculation unit 4, prior followss outputted from the task v i
  • the display mode for example, thickness, hue, density
  • the map display unit 5 draws each task v 0 , v 1 , v 2 with a circle, displays the task name v 0 , v 1 , v 2 in each circle, and displays the superimposed path score s 0 , s 1. , S 2 are indicated by numbers.
  • the map display unit 5 displays the line thickness of the preceding / following relationship connecting the tasks by changing the thickness depending on the superimposed path scores s 1 and s 2 of the task having the following relationship. Yes. Specifically, the larger the superimposed path scores s 1 and s 2 are, the thicker the line is displayed.
  • the pattern 2 shown in FIG. 5 (b) it takes two paths branching from the start task v 0, respectively connected to the task v 1 and task v 2.
  • tasks surrounded by a frame indicate tasks that constitute the entire critical path.
  • a broken-line arrow indicates a state in which there is a slack and there is a slack and a partial critical path is searched from the subsequent task, but not included in the route, although there is a preceding / following relationship between tasks connected by the broken line.
  • n 2
  • starting superimposed path scores tasks v 0 Task v 1 branching from, v superimposed path scores s 1 corresponding to 2, s 2 also started task v 0 associated with these s 0 to appear distinctive appearance.
  • the calculation process of the superimposed path scores s 0 , s 1 , s 2 , and s 3 corresponding to the tasks v 0 , v 1 , v 2 , and v 3 in the pattern 2 is shown below.
  • s 0
  • 4
  • s 1
  • the map display unit 5 displays the preceding / following relationship of each of the tasks v 0 to v 3 on the display device 30 as a superimposed path score map.
  • the preceding / following relationship of the four tasks v 0 , v 1 , v 2 , v 3 is the same as that in FIG.
  • the map display unit 5 draws each task v 0 , v 1 , v 2 , v 3 with a circle, displays the task name v 0 , v 1 , v 2 , v 3 in each circle, and also displays a superimposed path
  • the scores s 0 , s 1 , s 2 , and s 3 are displayed as numbers.
  • the map display unit 5 displays the thickness of the line of the preceding / following relationship between tasks depending on the superimposed path scores s 1 , s 2 , s 3 of the tasks in the following relationship.
  • Pattern 1 in FIG. 8A shows a state in which a plurality of tasks v 3 and v 4 are arranged in a nested manner.
  • Pattern 2 in FIG. 8B shows a state in which a plurality of tasks v 3 and v 4 are arranged in series after branching.
  • a task v 4 has a preceding relationship of a plurality of tasks v 1 and v 3 and a partial critical path is in the preceding relationship.
  • 1, v by either related to either 3 shows how the task v 1, v superimposed path scores s 1 3, s 3 is changed.
  • pattern 5 in FIG. 8E shows an example in which the task arrangement becomes more complicated.
  • the map display unit 5 as in the present embodiment is provided, it is preferable to display the visually superimposed path score map form in accordance with the nature of the superposed path scores s i.
  • FIG. 9 is a diagram illustrating an example of a superimposed path score map of a system having a large number of tasks.
  • the seven tasks v 0 to v 6 have a preceding / following relationship in which two branches are taken.
  • the superimposed path scores s 0 to s 15 in such a task arrangement configuration are as shown in FIG. 9, and the superimposed path score s i tends to increase in a series from the end task v 15 to the start task v 0. I understand that there is.
  • the subsequent task is, for example, v j .
  • a relationship of s i > s j is established for the tasks v i and v j on the partial critical path.
  • connection line indicating the preceding / following relationship between the task v 2 and the task v 3 was not a broken line but a solid line (there was no slack between the task v 2 and the task v 3 ).
  • subsequent tasks v 1, v 2 for the tasks v 0 is diagram that is connected from the same task as shown in FIG. 10 Since it is not different from the case of 6, the superimposition pass score s 0 has no change in the net value.
  • task v 2 compared with FIG. 6, in the case of FIG. 10, one task v 3 is added as a subsequent task on the partial critical path, so that the value of the superimposed path score s 2 increases by one. Yes.
  • the superimposed path score S can be calculated without contradiction.
  • the task graph analysis apparatus 10 of the present embodiment includes n tasks v 1 to v n, and a start task v 0 and an end task v n + 1 temporarily set at the beginning and end thereof.
  • the critical path from task v i belonging to task system to the task v j is calculated, to calculate the total number of tasks included on each critical path that starts from the task v i as a superposition path scores S tasks v i ing.
  • the calculation of the superimposed path score S may be algorithmized as follows.
  • Equation 3 ⁇ v j
  • the characteristic function ⁇ is defined as in (Equation 5).
  • the deformation of the (Equation 4) is a modification to be made from the started task v 0 on the assumption that parts critical path to task v i is present only one. If there are a plurality of partial critical paths, the last transformation to (Equation 4) is denied. For this reason, the calculated superimposed path score s i can be used as an evaluation value for comparison with the peripheral task, but the superimposed path score s i of any task v i is the number of nets on the subsequent partial critical path. The feature of the same number is lost. Therefore, when the critical path calculation unit 3 detects a plurality of partial critical paths, the fact may be displayed on the display device 30 as a warning.
  • the superimposed path score S can be easily obtained.
  • the present invention is applied to a task graph analysis apparatus and a task graph analysis program, and in particular, applied to a technique for analyzing a task graph including a plurality of tasks constituting a schedule using a critical path.

Abstract

Provided is a task-graph analyzing device, wherein evaluation of each of the tasks is enabled not only for critical paths, but also for semi-critical paths, and without executing the whole task system many times. The task-graph analyzing device is provided with: a critical-path calculating unit (3) that calculates each of the critical paths, task-vi to task-vj, which belong to a task system that includes n pieces of tasks, task-v1 to task-vn, and a starting task-v0 and an ending task-vn+1 that are temporarily set at the front end and rear end of those tasks; and an evaluation-value calculating unit (4) that calculates the total number of tasks included in each of the critical paths, starting from task-vi, as an evaluation value of task-vi. The task-graph analyzing device is also made to be capable of obtaining evaluation values not only for tasks existing on the critical paths of the whole system, but also for tasks existing on partial critical paths and not on the critical paths of the whole system, with a counting calculation of the number of tasks, not with complex calculations such as stochastic statistics.

Description

タスクグラフ解析装置およびタスクグラフ解析プログラムTask graph analysis apparatus and task graph analysis program
 本発明はタスクグラフ解析装置およびタスクグラフ解析プログラムに関し、特に、スケジュールを構成する複数のタスクから成るタスクグラフをクリティカルパスを用いて解析する技術に関するものである。 The present invention relates to a task graph analysis apparatus and a task graph analysis program, and more particularly to a technique for analyzing a task graph including a plurality of tasks constituting a schedule using a critical path.
 従来、複数のタスクから成るクリティカルパスを解析する手段として、タスクグラフ(PERT図、アローダイヤグラム、クリニカルパス、ケアマップ等とも呼ばれる)が用いられている。このタスクグラフ上、時間的にまったく余裕がない最長のタスクの連なりはクリティカルパスと呼ばれ、クリティカルパス上のタスクを重点的に管理することがスケジューリングの定石とされている。クリティカルパス上の各タスクに対する評価は、各タスクの所要処理時間について行うもの(例えば、特許文献1~4を参照)と、クリティカルパス上に出現するタスクの確率的統計計算について行うもの(例えば、非特許文献1を参照)とに大別される。 Conventionally, task graphs (also called PERT diagrams, arrow diagrams, clinical paths, care maps, etc.) have been used as means for analyzing a critical path consisting of a plurality of tasks. In this task graph, the longest sequence of tasks that have no time margin is called a critical path, and the task of scheduling is to focus on the tasks on the critical path. Evaluation for each task on the critical path is performed for the required processing time of each task (see, for example, Patent Documents 1 to 4), and evaluation for probabilistic statistical calculation of tasks appearing on the critical path (for example, (See Non-Patent Document 1).
特開平6-19998号公報JP-A-6-19998 特公平6-42253号公報Japanese Patent Publication No. 6-42253 特開2008-171153号公報JP 2008-171153 A 特開2008-287509号公報JP 2008-287509 A
 ところで、大規模タスク系では一般に、クリティカルパス上のタスクは全タスクの20%以内であると言われている。このため、全体の2割程度の重要とされるタスクは少なくともしっかりと着目しなければならない。また、スケジュールの時間短縮を図りたい場合、クリティカルパス上のタスクに注目し、当該タスクの時間短縮を行う必要がある。 By the way, in large-scale task systems, it is generally said that tasks on the critical path are within 20% of all tasks. For this reason, at least about 20% of the tasks that are considered important must be carefully focused. Also, when it is desired to shorten the schedule time, it is necessary to pay attention to the task on the critical path and reduce the time of the task.
 一方、大規模タスク系の8割を占めることになる、クリティカルパスに含まれないタスクには、並行パスが数多く存在する。また、これら並行パスの確率変動、あるいは計時経過による純増等に伴う干渉は、第2クリティカルパス、第3クリティカルパスのような準クリティカルパスを生み出す。このため、クリティカルパスに含まれないタスクの適切な取り扱いがスケジューリングにおいて重要性を増している。 On the other hand, tasks that do not fall within the critical path, which accounts for 80% of large-scale task systems, have many parallel paths. Further, the interference due to the probability variation of these parallel paths or the net increase due to the passage of time or the like generates quasi-critical paths such as the second critical path and the third critical path. For this reason, appropriate handling of tasks not included in the critical path is becoming more important in scheduling.
 しかしながら、上記従来の技術では、最もクリティカルなタスクに対してのみ評価が行われるため、それ以外にどの程度クリティカルなタスクがどれくらい存在するのかを即座に把握できないという問題があった。また、確率的統計によりタスクの評価値を算出する場合、タスク系全体を多数回実行する必要があり、計算に多くの時間がかかってしまうという問題もあった。 However, in the conventional technique described above, only the most critical task is evaluated, so there is a problem that it is impossible to immediately grasp how many other critical tasks exist. Further, when calculating an evaluation value of a task by probabilistic statistics, it is necessary to execute the entire task system many times, and there is a problem that it takes a lot of time for the calculation.
 すなわち、クリティカルパスのみに基づいてタスクを評価する方法では、系全体に関しての情報が欠落するため、準クリティカルパスについて評価を正しく行うことができない。これを防ぐためには、タスク系全体の多数回実行を要する。このことから、例えば、大規模なプロジェクトでタスクの全数が非常に多い場合、全数調査が余力により不可能な場合、あるいは、ミッションクリティカルなシステムなどでそもそも情報を取得する回数に制限がある場合など、タスクの情報取得に関して制約が存在するような場合は、充分な評価を行うことができない。 That is, in the method of evaluating a task based only on the critical path, information on the entire system is lost, and therefore, the semi-critical path cannot be evaluated correctly. In order to prevent this, the entire task system needs to be executed many times. For this reason, for example, when the total number of tasks is very large in a large-scale project, the total number survey is impossible due to the remaining capacity, or the number of times information is acquired in a mission critical system is limited in the first place. When there is a restriction regarding task information acquisition, sufficient evaluation cannot be performed.
 本発明は、このような問題を解決するために成されたものであり、タスク系全体を多数回実行することなく、クリティカルパスのみならず準クリティカルパスについても各タスクの評価を行うことができるようにすることを目的とする。 The present invention has been made to solve such problems, and each task can be evaluated not only for the critical path but also for the semi-critical path without executing the entire task system many times. The purpose is to do so.
 上記した課題を解決するために、本発明では、スケジュール対象とするn個のタスク{v,v,・・,v}と、当該n個のタスクの先頭および末尾に仮設定した開始タスクvおよび終了タスクvn+1とを含むタスク系に属するタスクv(i=0,1,・・,n,n+1)からタスクv(j=0,1,・・,n,n+1)までのクリティカルパスをそれぞれ算出し、タスクv(i=0,1,・・,n,n+1)のそれぞれについて、当該タスクvから始まるそれぞれのクリティカルパス上に含まれるタスクの総数をタスクvの評価値として算出するようにしている。 In order to solve the above-described problem, in the present invention, n tasks {v 1 , v 2 ,..., V n } to be scheduled and a start temporarily set at the beginning and end of the n tasks. Task v i (i = 0, 1,..., N, n + 1) to task v i (j = 0, 1,..., N, n + 1) belonging to the task system including task v 0 and end task v n + 1 Each of the critical paths up to and including task v i (i = 0, 1,..., N, n + 1) is calculated as the total number of tasks included in each critical path starting from task v i. It is calculated as an evaluation value of i .
 上記のように構成した本発明によれば、開始タスクvから終了タスクvn+1までの系全体のクリティカルパスのみならず、タスクvからタスクvまでの部分的なクリティカルパスも算出され、タスクvを始点とする全てのクリティカルパス上に含まれるタスクの数がカウントされることによってタスクvの評価値が算出されることとなる。このため、系全体のクリティカルパスのみを対象としてそのパス上に含まれるタスクの評価だけを行っていた従来技術と異なり、系全体のクリティカルパス上のタスクに加え、系全体のクリティカルパス上にないタスクについても評価値を得ることが可能となる。しかも、確率的統計のような複雑な演算によるのではなく、単に上述のようなタスク数のカウント演算によって評価値が算出されるので、タスク系全体を多数回実行させることなく評価値を得ることができる。これにより、本発明によれば、タスク系全体を多数回実行することなく、クリティカルパスのみならず準クリティカルパスについても各タスクの評価を行うことができるようになる。 According to the present invention configured as described above, not only the critical path of the entire system from the start task v 0 to the end task v n + 1 but also the partial critical path from the task v i to the task v j is calculated. so that the evaluation value of the task v i by the number of tasks included on all of the critical path that starts the task v i is counted is calculated. For this reason, unlike the conventional technology that only evaluates the tasks included in the path for only the critical path of the entire system, in addition to the tasks on the critical path of the entire system, it is not on the critical path of the entire system. Evaluation values can also be obtained for tasks. Moreover, since the evaluation value is calculated simply by counting the number of tasks as described above rather than by a complicated calculation such as probabilistic statistics, the evaluation value can be obtained without executing the entire task system many times. Can do. Thus, according to the present invention, each task can be evaluated not only for the critical path but also for the semi-critical path without executing the entire task system many times.
本実施形態によるタスクグラフ解析装置の機能構成例を示すブロック図である。It is a block diagram which shows the function structural example of the task graph analyzer by this embodiment. 本実施形態によるタスク情報の一例を示す図である。It is a figure which shows an example of the task information by this embodiment. n=1の場合における各タスクの先行後続関係を示す図である。It is a figure which shows the preceding / following relationship of each task in case of n = 1. n=1の場合に表示されるタスクグラフの例を示す図である。It is a figure which shows the example of the task graph displayed when n = 1. n=2の場合における各タスクの先行後続関係を示す図である。It is a figure which shows the preceding / following relationship of each task in the case of n = 2. n=2の場合に表示されるタスクグラフの例を示す図である。It is a figure which shows the example of the task graph displayed when n = 2. n=3の場合に表示されるタスクグラフの例を示す図である。It is a figure which shows the example of the task graph displayed when n = 3. n=4の場合に表示されるタスクグラフの例を示す図である。It is a figure which shows the example of the task graph displayed when n = 4. 多数のタスクを有する系のタスクグラフの例を示す図である。It is a figure which shows the example of the task graph of the type | system | group which has many tasks. n=2で複数のクリティカルパスが存在する場合に表示されるタスクグラフの例を示す図である。It is a figure which shows the example of the task graph displayed when n = 2 and a some critical path exists. タスク配置に関する一例を示す図である。It is a figure which shows an example regarding task arrangement | positioning.
 以下、本発明の一実施形態を図面に基づいて説明する。図1は、本実施形態によるタスクグラフ解析装置の機能構成例を示すブロック図である。図1に示すように、本実施形態のタスクグラフ解析装置10は、n個(nは1以上の整数)のタスクから成るスケジュールを解析するものであって、その機能構成として、タスク情報入力部1、タスク仮設定部2、クリティカルパス算出部3、評価値算出部4およびマップ表示部5を備えて構成されている。なお、以下では説明の便宜上、n個のタスクをv,v,・・,vで表すものとする。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram illustrating a functional configuration example of a task graph analysis apparatus according to the present embodiment. As shown in FIG. 1, the task graph analysis apparatus 10 of this embodiment analyzes a schedule composed of n tasks (n is an integer of 1 or more), and includes a task information input unit as its functional configuration. 1, a temporary task setting unit 2, a critical path calculation unit 3, an evaluation value calculation unit 4, and a map display unit 5. In the following is assumed for the sake of convenience that represents the n-number of tasks v 1, v 2, · ·, in v n.
 なお、タスクグラフ解析装置10が備える各機能構成1~5は、ハードウェア構成、DSP、MPU、ソフトウェアの何れによっても実現することが可能である。例えばソフトウェアによって実現する場合、本実施形態のタスクグラフ解析装置10は、実際にはコンピュータのCPUあるいはMPU、RAM、ROMなどを備えて構成され、RAMやROMに記憶されたプログラムが動作することによって実現できる。 Note that each of the functional configurations 1 to 5 included in the task graph analysis apparatus 10 can be realized by any of a hardware configuration, a DSP, an MPU, and software. For example, when implemented by software, the task graph analysis apparatus 10 of the present embodiment is actually configured with a computer CPU or MPU, RAM, ROM, and the like, and a program stored in the RAM or ROM operates. realizable.
 したがって、コンピュータが上記各機能を果たすように動作させるプログラムを例えばCD-ROMのような記録媒体に記録し、コンピュータに読み込ませることによって実現できるものである。当該プログラムを記録する記録媒体としては、CD-ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光ディスク、光磁気ディスク、DVD、不揮発性メモリカード、半導体メモリ等を用いることができる。また、当該プログラムをインターネット等のネットワークを介してコンピュータにダウンロードすることによっても実現できる。 Therefore, it can be realized by recording a program that causes the computer to perform the above-described functions on a recording medium such as a CD-ROM and causing the computer to read the program. As a recording medium for recording the program, a flexible disk, a hard disk, a magnetic tape, an optical disk, a magneto-optical disk, a DVD, a nonvolatile memory card, a semiconductor memory, and the like can be used in addition to the CD-ROM. It can also be realized by downloading the program to a computer via a network such as the Internet.
 タスクグラフ解析装置10には、キーボードやマウス等から成る入力装置20が接続されるとともに、液晶ディスプレイ等の表示装置30が接続されている。タスクグラフ解析装置10のタスク情報入力部1は、n個のタスクに関するタスク情報を入力装置20から入力する。ここで入力するタスク情報は、n個のタスクを識別するタスク識別情報と、n個のタスクのスケジュール上での処理順序を表す順序情報と、n個のタスクの所要処理時間を表す時間情報(本発明の負荷情報に相当する)とを含んでいる。 The task graph analyzer 10 is connected to an input device 20 such as a keyboard and a mouse, and a display device 30 such as a liquid crystal display. The task information input unit 1 of the task graph analysis device 10 inputs task information regarding n tasks from the input device 20. The task information input here includes task identification information for identifying n tasks, order information indicating the processing order on the schedule of n tasks, and time information indicating the required processing time of n tasks ( Corresponding to the load information of the present invention).
 図2は、本実施形態によるタスク情報の一例を示す図である。タスク識別情報は、タスク毎に固有のIDであってもよいし、タスク名であってもよい。その他、各タスクをユニークに識別できる情報であれば、これ以外の情報であってもよい。図2では、タスク名v,v,・・,vをタスク識別情報として用いる例を示している。 FIG. 2 is a diagram illustrating an example of task information according to the present embodiment. The task identification information may be a unique ID for each task or a task name. In addition, other information may be used as long as each task can be uniquely identified. FIG. 2 shows an example of using task name v 1, v 2, · ·, a v n as a task identification information.
 順序情報は、タスクの先行後続関係を表す情報である。例えば、個々のタスク毎に、先行して1つ前に処理されるタスクのタスク識別情報および後続して1つ後に処理されるタスクのタスク識別情報の組を順序情報とする。図2の例では、タスクvに先行する1つ前の他タスクは存在せず(すなわち、タスクvが最先に処理される)、後続する1つ後の他タスクがタスクvであることを示している。また、タスクvに先行する1つ前の他タスクがタスクvで、後続する1つ後の他タスクがタスクvであることを示している。 The order information is information representing the preceding / following relationship of tasks. For example, for each task, a set of task identification information of a task that is processed one before and the task identification information of a task that is processed one after is used as order information. In the example of FIG. 2, there is no previous task preceding task v 1 (that is, task v 1 is processed first), and the succeeding other task is task v 2 . It shows that there is. Further, it is indicated that the immediately preceding other task preceding task v 2 is task v 1 and the succeeding immediately following other task is task v 3 .
 なお、先行して1つ前に処理されるタスクが2つ以上ある場合は、先行タスクの項目には当該2つ以上のタスクのタスク識別情報が格納される。同様に、後続して1つ後に処理されるタスクが2つ以上ある場合は、後続タスクの項目には当該2つ以上のタスクのタスク識別情報が格納される。ここでは順序情報として先行タスクおよび後続タスクの組を用いる例について説明したが、何れか一方のみとしても良い。 Note that when there are two or more tasks to be processed one preceding in advance, the task identification information of the two or more tasks is stored in the item of the preceding task. Similarly, when there are two or more tasks to be processed one after, the task identification information of the two or more tasks is stored in the item of the subsequent task. Here, an example in which a set of a preceding task and a succeeding task is used as the order information has been described, but only one of them may be used.
 時間情報は、個々のタスクを処理するのに要する時間を表す情報である。図2の例では、タスクvの所要処理時間がt、タスクvの所要処理時間がtであることを示している。なお、ここでは時間情報をタスクの所要処理時間としているが、処理の開始時刻および終了時刻のセットを時間情報としてもよい。また、ここでは時間情報を用いているが、これに限定されない。タスクの負荷の大きさを表す情報であれば、時間以外の情報を用いることが可能である。例えば、時間以外の情報として、タスクの処理に要する費用、タスク内の情報伝達経路の物理的距離、タスクの影響を受ける周囲の影響度、タスクに関する間接的な観測値や指標値などの情報を用いてもよい。 The time information is information representing the time required to process each task. In the example of FIG. 2, the required processing time of task v 1 is t 1 and the required processing time of task v 2 is t 2 . Here, the time information is the required processing time of the task, but a set of processing start time and end time may be the time information. Moreover, although time information is used here, it is not limited to this. Information other than time can be used as long as the information indicates the task load. For example, as information other than time, information such as the cost required for processing the task, the physical distance of the information transmission path within the task, the influence level of the environment affected by the task, indirect observation values and index values related to the task, etc. It may be used.
 より具体的には、以下に述べるような様々な分野を対象としたタスクグラフによるスケジューリングにおいて、それぞれ括弧内に示すような属性をタスクの負荷情報として用いることが可能である。プロジェクトマネージメント(時間、費用)、プロセッサ開発(時間、配線距離)、コンピュータシステム(時間、費用)、医療(時間、費用、人体への影響度、体重や投薬量などの間接的観測値)、教育(偏差値等教育効果指標)、行政(時間、費用、災害復旧優先度)、化学(時間、費用)、通信(時間、機材負荷指標)、物流(時間、費用、荷物重量)、製造(時間、費用、部品使用点数、部品在庫点数)。 More specifically, in the task graph scheduling for various fields as described below, attributes shown in parentheses can be used as task load information. Project management (time, cost), processor development (time, wiring distance), computer system (time, cost), medical care (time, cost, impact on the human body, indirect observations such as weight and dosage), education (Education effect index such as deviation value), administration (time, cost, disaster recovery priority), chemistry (time, cost), communication (time, equipment load index), logistics (time, cost, luggage weight), manufacturing (time) , Cost, number of parts used, number of parts in stock).
 タスク仮設定部2は、タスク情報入力部1によりタスク情報が入力されたn個のタスクv~vの先頭に開始タスクvとして0番目のタスク情報を仮設定するとともに、n個のタスクの末尾に終了タスクvn+1としてn+1番目のタスク情報を仮設定する。ここで仮設定するタスク情報の中身は、タスク情報入力部1が入力する図2のようなタスク情報と同様である。なお、開始タスクvおよび終了タスクvn+1の所要処理時間t,tn+1はそれぞれ所定の値とする。 The temporary task setting unit 2 temporarily sets the 0th task information as the start task v 0 at the head of n tasks v 1 to v n for which task information has been input by the task information input unit 1, and includes n items The (n + 1) th task information is provisionally set as the end task v n + 1 at the end of the task. The contents of the task information temporarily set here are the same as the task information as shown in FIG. 2 input by the task information input unit 1. The start task v 0 and ending tasks v n + 1 of the required processing time t 0, t n + 1 is respectively a predetermined value.
 クリティカルパス算出部3は、タスク情報入力部1により入力されたn個のタスクv~vのタスク情報と、タスク仮設定部2により仮設定された開始タスクvおよび終了タスクvn+1のタスク情報とに基づいて、タスクv(i=0,1,・・,n,n+1)からタスクv(j=0,1,・・,n,n+1)までのクリティカルパスをそれぞれ算出し、それぞれのクリティカルパス毎にパス上に含まれるタスクの集合を求める。 The critical path calculation unit 3 includes the task information of the n tasks v 1 to v n input by the task information input unit 1, and the start task v 0 and the end task v n + 1 temporarily set by the task temporary setting unit 2. Based on the task information, the critical paths from the task v i (i = 0, 1,..., N, n + 1) to the task v j (j = 0, 1,..., N, n + 1) are respectively calculated. For each critical path, a set of tasks included on the path is obtained.
 クリティカルパスの算出方法自体は公知の技術を適用することが可能である。本実施形態では、クリティカルパス算出部3は以下のような手順によってクリティカルパスを算出するものとする。まず、タスク情報に含まれる時間情報に基づいて、開始タスクvの最早開始時刻と最早終了時刻を計算する。次に、順序情報により示されるタスクとタスクとの先行後続関係に従い、開始タスクvに続く後続タスクの最早開始時刻と最早終了時刻を順番に計算していく。そして、終了タスクvn+1まで到達したら、その終了タスクvn+1から先行タスクに向かって逆順に最遅終了時刻と最遅開始時刻を計算していく。ここで、最早開始時刻と最遅開始時刻との差をスラックと定義し、タスクvまたはタスクvから遡ってスラックがない経路、すなわち余裕時間のない経路を都度辿ることでクリティカルパスを求める。 A known technique can be applied to the critical path calculation method itself. In the present embodiment, it is assumed that the critical path calculation unit 3 calculates a critical path according to the following procedure. First, the earliest start time and earliest end time of the start task v 0 are calculated based on the time information included in the task information. Next, the earliest start time and earliest end time of the subsequent task following the start task v 0 are calculated in order according to the preceding / following relationship between the tasks indicated by the order information. Then, when it reaches the end tasks v n + 1, we calculate the latest end time and latest start time in reverse order toward the preceding task from its termination task v n + 1. Here, the difference between the earliest start time and the latest start time is defined as slack, and the critical path is obtained by tracing back the path without slack, that is, the path without margin time, from task v i or task v j. .
 ここで、クリティカルパスを求めるクリティカルパス算出部3の演算内容について詳しく説明する。まず、タスク情報入力部1が入力したタスクとタスク仮設定部2が仮設定した開始タスクvおよび終了タスクvn+1を含む系全体をLall={v,v,v,・・,v,vn+1}とする。Lallは系全体のタスクを表す集合、v(i=0,1,・・,n,n+1)は個々のタスク、nは総タスク数である。このとき、開始タスクvから終了タスクvn+1までの系全体のクリティカルパスがただ1つ存在する。これとは別に、任意のiを選択してタスクvを終了タスクと仮定すると、開始タスクvから任意タスクvまでのクリティカルパスがただ1つ存在する。以下では、開始タスクvから任意タスクvまでの系全体のクリティカルパスを「全体クリティカルパス」と呼び、それ以外の部分的なクリティカルパスを「部分クリティカルパス」と呼ぶ。また、単に「クリティカルパス」というときは、全体クリティカルパスおよび部分クリティカルパスの両方を含むものとする。 Here, the calculation contents of the critical path calculation unit 3 for obtaining the critical path will be described in detail. First, the entire system including the task input by the task information input unit 1 and the start task v 0 and the end task v n + 1 temporarily set by the task temporary setting unit 2 is expressed as L all = {v 0 , v 1 , v 2 ,. , V n , v n + 1 }. L all is a set representing the tasks of the entire system, v i (i = 0, 1,..., N, n + 1) is an individual task, and n is the total number of tasks. At this time, there is only one critical path of the entire system from the start task v 0 to the end task v n + 1 . Separately from this, when an arbitrary i is selected and the task v i is assumed to be an end task, there is only one critical path from the start task v 0 to the arbitrary task v i . Hereinafter, the critical path of the entire system from the start task v 0 to the arbitrary task v i is referred to as “total critical path”, and the other partial critical paths are referred to as “partial critical paths”. In addition, when the term “critical path” is simply used, it includes both the entire critical path and the partial critical path.
 ここでは、開始タスクvから任意タスクvまでの部分クリティカルパス上に含まれる各タスクの集合として、Lcp ={v,・・,v}⊂Lallをとることができる。集合Lcp はi=0やi=n+1のときに関しても拡張でき、それぞれ、Lcp ={v}⊂Lall、Lcp n+1={v,・・,v,・・,vn+1}⊂Lallとなる。 Here, L cp i = {v 0 ,..., V i } ⊂L all can be taken as a set of tasks included on the partial critical path from the start task v 0 to the arbitrary task v i . The set L cp i can also be expanded for i = 0 and i = n + 1, where L cp 0 = {v 0 } ⊂L all , L cp n + 1 = {v 0 ,..., V i ,. v n + 1 } ⊂L all .
 さらに、任意のj(j=0,1,・・,n,n+1)を選択してタスクvを終了タスクと仮定した部分クリティカルパス上にタスクvが含まれるような集合Lcp をとったとき、当該部分クリティカルパス上に含まれるタスクの集合L i,jを次のように定義する。
 Lcp ⊆Lcp  ⇒ L i,j=(Lcp xorLcp )∪{v
 Lcp ¬⊆Lcp  ⇒ L i,j=φ(空集合)
なお、ここでは集合を表す記号「⊆」に対して“否定”の意味を表す論理演算子「¬」を組みとして用いているが、本明細書では便宜上、「¬」を論理演算子としてではなく、集合記号の意味を否定する記号として用いるものとする。例えば「Lcp ¬⊆Lcp 」の場合は、「Lcp の部分集合がLcp とならない」ことを意味するものとする。
Further, a set L cp j is selected such that task v i is included on a partial critical path where arbitrary j (j = 0, 1,..., N, n + 1) is selected and task v j is assumed to be an end task. Then, a set L p i, j of tasks included on the partial critical path is defined as follows.
L cp i ⊆L cp j ⇒ L p i, j = (L cp i xorL cp j) ∪ {v i}
L cp i ¬⊆L cp j ⇒ L p i, j = φ ( empty set)
Here, the logical operator “¬” representing the meaning of “negation” is used as a set for the symbol “⊆” representing the set, but in this specification, for convenience, “¬” is not used as the logical operator. It is used as a symbol that negates the meaning of the set symbol. For example, “L cp i ¬⊆L cp j ” means “a subset of L cp j does not become L cp i ”.
 すなわち、集合L i,jは、開始タスクvから任意タスクvまでの部分クリティカルパス上に含まれる各タスクのうち、開始タスクvから任意タスクvの1つ前の先行関係にあるタスクまでの部分クリティカルパス上に含まれる各タスクを取り去ったタスクの集合である。言い換えれば、集合L i,jは、任意タスクvから任意タスクvまでの部分クリティカルパス上に含まれる各タスクの集合を表している。 That is, the set L p i, j, of each task included from the start task v 0 over portions critical path to any task v j, to the previous leading relationship any tasks v i from the start task v 0 This is a set of tasks in which each task included in the partial critical path to a certain task is removed. In other words, the set L p i, j represents a set of tasks included on the partial critical path from the arbitrary task v i to the arbitrary task v j .
 例えば、n=1の場合、系全体のタスクの集合はLall={v,v,v}、開始タスクはv、終了タスクはvである。このとき、これら3つのタスクの先行後続関係は、図3のようにv→v→vとなる(n=1の場合、これ以外の接続関係はあり得ない)。クリティカルパス算出部3は、開始タスクvから終了タスクvまでの全体クリティカルパス上に含まれる各タスクの集合L 0,2に加え、任意タスクvから任意タスクvまでの部分クリティカルパス上に含まれる各タスクの集合L 0,0,L 0,1,L 1,0,L 1,1,L 1,2,L 2,0,L 2,1,L 2,2を求める。 For example, when n = 1, the set of tasks of the entire system is L all = {v 0 , v 1 , v 2 }, the start task is v 0 , and the end task is v 2 . At this time, the preceding / following relationship of these three tasks is v 0 → v 1 → v 2 as shown in FIG. 3 (when n = 1, there can be no other connection relationship). The critical path calculation unit 3 performs a partial critical from the arbitrary task v i to the arbitrary task v j in addition to the set L p 0,2 of each task included in the entire critical path from the start task v 0 to the end task v 2. L p 0,0 , L p 0,1 , L p 1,0 , L p 1,1 , L p 1,2 , L p 2,0 , L p 2,1 , L p 2,2 is obtained.
 ここで、クリティカルパス算出部3により求められるそれぞれの集合L i,j(i=0,1,2、j=0,1,2)は以下の通りである。
 L 0,0=(Lcp xorLcp )∪{v}={v
 L 0,1=(Lcp xorLcp )∪{v}={v,v
 L 0,2=(Lcp xorLcp )∪{v}={v,v,v
 L 1,0=φ
 L 1,1=(Lcp xorLcp )∪{v}={v
 L 1,2=(Lcp xorLcp )∪{v}={v,v
 L 2,0=φ
 L 2,1=φ
 L 2,2=(Lcp xorLcp )∪{v}={v
Here, the respective sets L p i, j (i = 0, 1, 2, j = 0, 1, 2) obtained by the critical path calculation unit 3 are as follows.
L p 0,0 = (L cp 0 xorL cp 0 ) ∪ {v 0 } = {v 0 }
L p 0,1 = (L cp 0 xorL cp 1 ) ∪ {v 0 } = {v 0 , v 1 }
L p 0,2 = (L cp 0 xorL cp 2 ) ∪ {v 0 } = {v 0 , v 1 , v 2 }
L p 1,0 = φ
L p 1,1 = (L cp 1 xorL cp 1 ) ∪ {v 1 } = {v 1 }
L p 1,2 = (L cp 1 xorL cp 2 ) ∪ {v 1 } = {v 1 , v 2 }
L p 2,0 = φ
L p 2,1 = φ
L p 2,2 = (L cp 2 xorL cp 2 ) ∪ {v 2 } = {v 2 }
 評価値算出部4は、タスクv(i=0,1,・・,n,n+1)のそれぞれについて、当該タスクvから始まるそれぞれのクリティカルパス上に含まれるタスクの総数(同一のタスクは1つとカウント)をタスクvの評価値として算出する。本実施形態では、系全体のタスクの集合Lallに対応した各タスクの評価値を重畳パススコアSと呼び、当該重畳パススコアSを次の(式1)のように定義する。ここで、sは任意のタスクvに対する集合Lall内の重畳パススコアである。 For each task v i (i = 0, 1,..., N, n + 1), the evaluation value calculation unit 4 calculates the total number of tasks included in each critical path starting from the task v i (the same task is one count) is calculated as the evaluation value of the task v i. In the present embodiment, the evaluation value of each task corresponding to the task set L all of the entire system is called a superimposed path score S, and the superimposed path score S is defined as the following (Equation 1). Here, s i is a superimposed path score in the set L all for an arbitrary task v i .
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
 例えば、n=1の場合、評価値算出部4は重畳パススコアS={s,s,s}を以下のように算出する。
 s=|L 0,0∪L 0,1∪L 0,2
   =|{v}∪{v,v}∪{v,v,v}|
   =|{v,v,v}|=3
 s=|L 1,0∪L 1,1∪L 1,2
   =|φ∪{v}∪{v,v}|
   =|{v,v}|=2
 s=|L 2,0∪L 2,1∪L 2,2
   =|φ∪φ∪{v}|
   =|{v}|=1
For example, when n = 1, the evaluation value calculation unit 4 calculates the superimposed path score S = {s 0 , s 1 , s 2 } as follows.
s 0 = | L p 0,0 ∪L p 0,1 ∪L p 0,2 |
= | {V 0 } ∪ {v 0 , v 1 } ∪ {v 0 , v 1 , v 2 } |
= | {V 0 , v 1 , v 2 } | = 3
s 1 = | L p 1,0 ∪L p 1,1 ∪L p 1,2, |
= | Φ∪ {v 1 } ∪ {v 1 , v 2 } |
= | {V 1 , v 2 } | = 2
s 2 = | L p 2,0 ∪L p 2,1 ∪L p 2,2 |
= | Φ∪φ∪ {v 2 } |
= | {V 2 } | = 1
 ここで、タスクvに対する重畳パススコアsは、当該タスクvに対して処理時間の短縮や延長など何か変更があった場合に、対応する重畳パススコアsの数に相当するタスクが影響を受けることを意味している。このため、本実施形態の評価値算出部4が算出する重畳パススコアsは、各クリティカルパスにおけるタスクvの重要性を表す指標として位置付けることができる。 Here, superimposed path scores s i to the task v i, if there is shortened or extended any changes, such as processing time for the task v i, corresponding to the number of corresponding superimposed path scores s i task Means being affected. For this reason, the superimposed path score s i calculated by the evaluation value calculation unit 4 of the present embodiment can be positioned as an index representing the importance of the task v i in each critical path.
 マップ表示部5は、タスク情報入力部1により入力されたn個のタスクv~vのタスク情報と、タスク仮設定部2により仮設定された開始タスクvおよび終了タスクvn+1のタスク情報とに含まれるタスク識別情報および順序情報に基づいて、各タスクv~vn+1の先行後続関係をタスクグラフ(本実施形態ではこれを「重畳パススコアマップ」という)として表示装置30に表示する。このときマップ表示部5は、評価値算出部4により算出された重畳パススコアS(各タスクvの重畳パススコアs)の大きさに応じて、タスクvから出力される先行後続関係を表す線の表示態様(例えば、太さや色相、濃度)を異ならせるようにする。 The map display unit 5 includes task information of n tasks v 1 to v n input by the task information input unit 1 and tasks of start task v 0 and end task v n + 1 temporarily set by the task temporary setting unit 2. Based on the task identification information and the order information included in the information, the preceding and succeeding relationship of each of the tasks v 0 to v n + 1 is displayed on the display device 30 as a task graph (in this embodiment, this is referred to as “superimposed path score map”). To do. The time map display unit 5 in accordance with the magnitude of the calculated superimposed path scores S (superimposed path scores s i of each task v i) by the evaluation value calculation unit 4, prior Follows outputted from the task v i The display mode (for example, thickness, hue, density) of the line representing the difference is made different.
 図4は、n=1の場合にマップ表示部5により表示される重畳パススコアマップの例を示す図である。n=1の場合、3つのタスクv,v,vの先行後続関係は、図4のようにv→v→vとなる。マップ表示部5は、各タスクv,v,vを円で描画し、それぞれの円内にタスク名v,v,vを表示するとともに、重畳パススコアs,s,sを数字で表示している。また、マップ表示部5は、タスクとタスクとを接続している先行後続関係の線の太さを、後続関係にあるタスクの重畳パススコアs,sに依存して変えて表示している。具体的には、重畳パススコアs,sが大きいほど線を太く表示するようにしている。 FIG. 4 is a diagram illustrating an example of the superimposed path score map displayed by the map display unit 5 when n = 1. When n = 1, the preceding / following relationship of the three tasks v 0 , v 1 , v 2 is v 0 → v 1 → v 2 as shown in FIG. The map display unit 5 draws each task v 0 , v 1 , v 2 with a circle, displays the task name v 0 , v 1 , v 2 in each circle, and displays the superimposed path score s 0 , s 1. , S 2 are indicated by numbers. Further, the map display unit 5 displays the line thickness of the preceding / following relationship connecting the tasks by changing the thickness depending on the superimposed path scores s 1 and s 2 of the task having the following relationship. Yes. Specifically, the larger the superimposed path scores s 1 and s 2 are, the thicker the line is displayed.
 次に、n=2の場合について説明する。n=2のときは、図5のようにタスクの先行後続関係として2通りの配置方法が考えられる。図5(a)に示すパターン1では、n=1の場合と同様に各タスクv,v,v,vを直線的に接続している。一方、図5(b)に示すパターン2では、開始タスクvから分岐した2つの経路をとり、それぞれタスクvとタスクvに接続している。なお、図5において、枠に囲まれたタスクは全体クリティカルパスを構成するタスクを示す。また、破線の矢印は、破線で繋がったタスク間に先行後続関係があるものの、スラックがあり、後続タスクから部分クリティカルパスを探索した場合に経路に含まれない状態を示している。 Next, the case where n = 2 will be described. When n = 2, as shown in FIG. 5, two arrangement methods are conceivable as the preceding / following relationship of tasks. In the pattern 1 shown in FIG. 5A, the tasks v 0 , v 1 , v 2 , v 3 are connected linearly as in the case of n = 1. On the other hand, in the pattern 2 shown in FIG. 5 (b), it takes two paths branching from the start task v 0, respectively connected to the task v 1 and task v 2. In FIG. 5, tasks surrounded by a frame indicate tasks that constitute the entire critical path. A broken-line arrow indicates a state in which there is a slack and there is a slack and a partial critical path is searched from the subsequent task, but not included in the route, although there is a preceding / following relationship between tasks connected by the broken line.
 n=2のパターン1の場合は、n=1の場合と全く同様に重畳パススコアS={s,s,s,s}を算出することができる。一方、n=2のパターン2の場合は、開始タスクvから分岐したタスクv,vに対応する重畳パススコアs,s、またこれらに関係する開始タスクvの重畳パススコアsに特徴的な様相が現れる。以下に、パターン2におけるタスクv,v,v,vに対応する重畳パススコアs,s,s,sの算出プロセスを示す。 In the case of pattern 1 with n = 2, the superimposed path score S = {s 0 , s 1 , s 2 , s 3 } can be calculated in the same manner as in the case of n = 1. On the other hand, n = 2 If the pattern 2, starting superimposed path scores tasks v 0 Task v 1 branching from, v superimposed path scores s 1 corresponding to 2, s 2, also started task v 0 associated with these s 0 to appear distinctive appearance. The calculation process of the superimposed path scores s 0 , s 1 , s 2 , and s 3 corresponding to the tasks v 0 , v 1 , v 2 , and v 3 in the pattern 2 is shown below.
 n=2のパターン2の場合、クリティカルパス算出部3は、開始タスクvから終了タスクvまでの全体クリティカルパス、および任意タスクvから任意タスクv(i=0,1,2,3、j=0,1,2,3)までの部分クリティカルパス上に含まれる各タスクの集合L 0,0,L 0,1,L 0,2,L 0,3,L 1,0,L 1,1,L 1,2,L 1,3,L 2,0,L 2,1,L 2,2,L 2,3,L 3,0,L 3,1,L 3,2,L 3,3を以下のように求める。 In the case of pattern 2 where n = 2, the critical path calculation unit 3 performs the entire critical path from the start task v 0 to the end task v 3 and the arbitrary task v i to the arbitrary task v j (i = 0, 1, 2, 3, j = 0, 1, 2, 3) a set of tasks L p 0,0 , L p 0,1 , L p 0,2 , L p 0,3 , L included in the partial critical path p 1,0 , L p 1,1 , L p 1,2 , L p 1,3 , L p 2,0 , L p 2,1 , L p 2,2 , L p 2,3 , L p 3 , 0 , L p 3,1 , L p 3,2 , L p 3,3 are determined as follows.
 L 0,0=(Lcp xorLcp )∪{v}={v
 L 0,1=(Lcp xorLcp )∪{v}={v,v
 L 0,2=(Lcp xorLcp )∪{v}={v,v
 L 0,3=(Lcp xorLcp )∪{v}={v,v,v
 L 1,0=φ
 L 1,1=(Lcp xorLcp )∪{v}={v
 L 1,2=φ
 L 1,3=(Lcp xorLcp )∪{v}={v,v
 L 2,0=φ
 L 2,1=φ
 L 2,2=(Lcp xorLcp )∪{v}={v
 L 2,3=φ
 L 3,0=φ
 L 3,1=φ
 L 3,2=φ
 L 3,3=(Lcp xorLcp )∪{v}={v
L p 0,0 = (L cp 0 xorL cp 0 ) ∪ {v 0 } = {v 0 }
L p 0,1 = (L cp 0 xorL cp 1 ) ∪ {v 0 } = {v 0 , v 1 }
L p 0,2 = (L cp 0 xorL cp 2 ) ∪ {v 0 } = {v 0 , v 2 }
L p 0,3 = (L cp 0 xorL cp 3 ) ∪ {v 0 } = {v 0 , v 1 , v 3 }
L p 1,0 = φ
L p 1,1 = (L cp 1 xorL cp 1 ) ∪ {v 1 } = {v 1 }
L p 1,2 = φ
L p 1,3 = (L cp 1 xorL cp 3 ) ∪ {v 1 } = {v 1 , v 3 }
L p 2,0 = φ
L p 2,1 = φ
L p 2,2 = (L cp 2 xorL cp 2 ) ∪ {v 2 } = {v 2 }
L p 2,3 = φ
L p 3,0 = φ
L p 3,1 = φ
L p 3,2 = φ
L p 3,3 = (L cp 3 xorL cp 3 ) ∪ {v 3 } = {v 3 }
 また、評価値算出部4は、重畳パススコアS={s,s,s,s}を以下のように算出する。
 s=|L 0,0∪L 0,1∪L 0,2∪L 0,3
   =|{v}∪{v,v}∪{v,v}∪{v,v,v}|
   =|{v,v,v,v}|=4
 s=|L 1,0∪L 1,1∪L 1,2∪L 1,3
   =|φ∪{v}∪φ∪{v,v}|
   =|{v,v}|=2
 s=|L 2,0∪L 2,1∪L 2,2∪L 2,3
   =|φ∪φ∪{v}∪φ|
   =|{v}|=1
 s=|L 3,0∪L 3,1∪L 3,2∪L 3,3
   =|φ∪φ∪φ∪{v}|
   =|{v}|=1
Further, the evaluation value calculation unit 4 calculates the superimposed path score S = {s 0 , s 1 , s 2 , s 3 } as follows.
s 0 = | L p 0,0 ∪L p 0,1 ∪L p 0,2 ∪L p 0,3 |
= | {V 0 } ∪ {v 0 , v 1 } ∪ {v 0 , v 2 } ∪ {v 0 , v 1 , v 3 } |
= | {V 0 , v 1 , v 2 , v 3 } | = 4
s 1 = | L p 1,0 ∪L p 1,1 ∪L p 1,2 ∪L p 1,3 |
= | Φ∪ {v 1 } ∪φ∪ {v 1 , v 3 } |
= | {V 1 , v 3 } | = 2
s 2 = | L p 2,0 ∪L p 2,1 ∪L p 2,2 ∪L p 2,3 |
= | Φ∪φ∪ {v 2 } ∪φ |
= | {V 2 } | = 1
s 2 = | L p 3,0 ∪L p 3,1 ∪L p 3,2 ∪L p 3,3 |
= | Φ∪φ∪φ∪ {v 3 } |
= | {V 3 } | = 1
 マップ表示部5は、各タスクv~vの先行後続関係を重畳パススコアマップとして表示装置30に表示する。図6は、n=2のパターン2の場合にマップ表示部5により表示される重畳パススコアマップの例を示す図である。この場合、4つのタスクv,v,v,vの先行後続関係は図5(b)と同様である。マップ表示部5は、各タスクv,v,v,vを円で描画し、それぞれの円内にタスク名v,v,v,vを表示するとともに、重畳パススコアs,s,s,sを数字で表示する。また、マップ表示部5は、タスク間の先行後続関係の線の太さを、後続関係にあるタスクの重畳パススコアs,s,sに依存して変えて表示する。 The map display unit 5 displays the preceding / following relationship of each of the tasks v 0 to v 3 on the display device 30 as a superimposed path score map. FIG. 6 is a diagram illustrating an example of a superimposed path score map displayed by the map display unit 5 in the case of pattern 2 where n = 2. In this case, the preceding / following relationship of the four tasks v 0 , v 1 , v 2 , v 3 is the same as that in FIG. The map display unit 5 draws each task v 0 , v 1 , v 2 , v 3 with a circle, displays the task name v 0 , v 1 , v 2 , v 3 in each circle, and also displays a superimposed path The scores s 0 , s 1 , s 2 , and s 3 are displayed as numbers. In addition, the map display unit 5 displays the thickness of the line of the preceding / following relationship between tasks depending on the superimposed path scores s 1 , s 2 , s 3 of the tasks in the following relationship.
 n≧3の場合についても同様にして重畳パススコアSを算出し、重畳パススコアマップを表示することができる。図7は、n=3の場合に求められる各種パターンの重畳パススコアマップの例を示す図である。図7(a)に示すパターン1はn=1の場合と同様であるが、図7(b)~(d)に示すパターン2~4では、分岐したタスクvが全体クリティカルパス上のどのタスクに接続されるかによって周辺環境が変化し、それが重畳パススコアSに表れていることが分かる。 In the case of n ≧ 3, the superimposed path score S can be calculated in the same manner and the superimposed path score map can be displayed. FIG. 7 is a diagram illustrating an example of a superimposed path score map of various patterns obtained when n = 3. The pattern 1 shown in FIG. 7A is the same as the case of n = 1, but in the patterns 2 to 4 shown in FIGS. 7B to 7D, the branched task v 3 is located on the entire critical path. It can be seen that the surrounding environment changes depending on whether it is connected to the task, and this appears in the superimposed path score S.
 また、図7(e)に示すパターン5では、重畳パススコアSの特徴として、開始タスクvから分岐した2つのタスクv,vが全体クリティカルパス上に位置するかどうかにかかわらず同じ評価値をとっている(s=2,s=2)。また、図7(f)のパターン6では、全体クリティカルパス以外のタスクv,vが同じ評価値をとっている(s=1,s=1)。これらのことから、あるタスクvの重畳パススコアsは後続の部分クリティカルパス上のタスク数に依存する重要性指標であり、全体クリティカルパスに影響を受けつつも周辺環境を表現していることが分かる。 In the pattern 5 shown in FIG. 7 (e), as a characteristic of the superimposed path score S, the same regardless of whether the two tasks v 1 and v 2 branched from the start task v 0 are located on the entire critical path. Evaluation values are taken (s 1 = 2 and s 2 = 2). In the pattern 6 of FIG. 7F, the tasks v 2 and v 3 other than the entire critical path have the same evaluation value (s 2 = 1, s 3 = 1). From these, superimposed path scores s i of a task v i is important index that depends on the number of tasks on the subsequent partial critical path expresses the surrounding environment while influenced the overall critical path I understand that.
 図8は、n=4の場合に求められる各種パターンの重畳パススコアマップの例を示す図である。図8(a)のパターン1は、複数のタスクv,vが入れ子状に配置された状態を示している。図8(b)のパターン2は、分岐後に複数のタスクv,vが直列に配置された状態を示している。また、図8(c)(d)のパターン3とパターン4は、タスクvに対して複数のタスクv,vの先行関係が存在し、部分クリティカルパスが当該先行関係にあるタスクv,vのどちらに関係するかにより、タスクv,vの重畳パススコアs,sが変化する様子を示している。さらに、図8(e)のパターン5は、タスクの配置が更に複雑となった場合の例を示している。 FIG. 8 is a diagram illustrating an example of a superimposed path score map of various patterns obtained when n = 4. Pattern 1 in FIG. 8A shows a state in which a plurality of tasks v 3 and v 4 are arranged in a nested manner. Pattern 2 in FIG. 8B shows a state in which a plurality of tasks v 3 and v 4 are arranged in series after branching. In patterns 3 and 4 in FIGS. 8C and 8D, a task v 4 has a preceding relationship of a plurality of tasks v 1 and v 3 and a partial critical path is in the preceding relationship. 1, v by either related to either 3 shows how the task v 1, v superimposed path scores s 1 3, s 3 is changed. Furthermore, pattern 5 in FIG. 8E shows an example in which the task arrangement becomes more complicated.
 この図8からも分かるとおり、複数のタスクから成るスケジュールの系全体を表現する場合、各タスクの配置には多様性が存在する。そのため、系に含まれるタスク数が多くなればなるほど、重畳パススコアsの値のみの提示では系を理解するのに混乱を生ずる可能性がある。そこで、本実施形態のようにマップ表示部5を設け、重畳パススコアsの性質に従った形で視覚的に重畳パススコアマップを表示するのが好ましい。 As can be seen from FIG. 8, when the entire schedule system composed of a plurality of tasks is expressed, there is diversity in the arrangement of each task. Therefore, as the number of tasks included in the system increases, presentation of only the value of the superimposed path score s i may cause confusion in understanding the system. Therefore, the map display unit 5 as in the present embodiment is provided, it is preferable to display the visually superimposed path score map form in accordance with the nature of the superposed path scores s i.
 一般に、1つの系に属する個々のタスクは、分岐を基準に配置されることも多い。図9は、多数のタスクを有する系の重畳パススコアマップの例を示す図である。この図9に示す系では、7つのタスクv~vが二分岐をとるような先行後続関係を有している。このようなタスク配置構成における重畳パススコアs~s15は図9 の通りであり、終了タスクv15から開始タスクvに向けて重畳パススコアsが級数的に増加していく傾向があることが分かる。 In general, individual tasks belonging to one system are often arranged based on a branch. FIG. 9 is a diagram illustrating an example of a superimposed path score map of a system having a large number of tasks. In the system shown in FIG. 9, the seven tasks v 0 to v 6 have a preceding / following relationship in which two branches are taken. The superimposed path scores s 0 to s 15 in such a task arrangement configuration are as shown in FIG. 9, and the superimposed path score s i tends to increase in a series from the end task v 15 to the start task v 0. I understand that there is.
 そこで、全ての重畳パススコアsが1以上の値であるという性質を利用し、各重畳パススコアsの対数値(=logs)をとり、さらにその対数値を系内における重畳パススコアsの最大値の対数値で割ることで、終了タスクv15から開始タスクvに向けて値が一次直線的に増加していくような重畳パススコアs’を設定することができる。この重畳パススコアs’は、0≦s’≦1となるような値である。これを重畳パススコアマップにおいて先行後続関係を示す線の太さや色相、濃度に反映することで、重畳パススコアs’の大きさに応じて線の太さや色相、濃度が視覚的にほぼ均一に変化するように見せることができる。
  s’=logs/log{max(S)}
Therefore, by utilizing the property that all the superimposed path scores s i are values of 1 or more, logarithmic values (= logs i ) of the respective superimposed path scores s i are taken, and the logarithmic values thereof are superimposed path scores in the system. By dividing by the logarithmic value of the maximum value of s i , a superimposed path score s i ′ in which the value increases linearly from the end task v 15 toward the start task v 0 can be set. The superimposed path score s i ′ is a value such that 0 ≦ s i ′ ≦ 1. By reflecting this in the thickness, hue, and density of the line indicating the preceding / following relationship in the superimposed path score map, the line thickness, hue, and density are visually substantially uniform according to the size of the superimposed path score s i ′. Can appear to change.
s i ′ = logs i / log {max (S)}
 線の太さを例にとると、後続関係のある任意のタスクvに対し、後続のタスクを例えばvとする。このとき、先行後続関係を示す線の太さをb、当該線の太さbを調節する段階をk+1段階とすると、次の式が定義できる。
  b=1+k・s
ここで、重畳パススコアSの定義により、部分クリティカルパス上のタスクvとタスクvに対してはs>sという関係が成立する。そこで、s>sのときは先行後続関係を示す線の太さをbとする一方、s≦sのときはクリティカルパスとして辿られないことを意味するため、1番細い太さの破線にて重畳パススコアマップに表現する。
Taking the thickness of the line as an example, for a task v i having a subsequent relationship, the subsequent task is, for example, v j . In this case, prior subsequent relationships thickness of the line showing the b i, if the step of adjusting the thickness b i of the line and k + 1 stage, can be defined the following equation.
b i = 1 + k · s i
Here, due to the definition of the superimposed path score S, a relationship of s i > s j is established for the tasks v i and v j on the partial critical path. Therefore, one when the s i> s j to the thickness of the line showing the previous trailing relationship with b i, it means that not followed as the critical path when the s i ≦ s j, 1 No. thin thickness This is expressed in a superimposed path score map with a broken line.
 この重畳パススコアマップは、系全体を表現するときだけでなく、系の一部を表現したい場合にも使用できる。系の一部を表現するときは、表示対象となるタスクに対応した重畳パススコアS”を以下のように算出すると便利である。
  s”=logs/log{max(S’)}
This superimposed path score map can be used not only when expressing the entire system but also when expressing a part of the system. When expressing a part of the system, it is convenient to calculate the superimposed path score S ″ corresponding to the task to be displayed as follows.
s i ″ = logs i / log {max (S ′)}
 なお、これまでの説明の仮定として、開始タスクvから任意のタスクvまでの部分クリティカルパスはただ1つのみ存在するとしていたが、同条件の部分クリティカルパスが複数存在する場合にも重畳パススコアSを算出できることは明らかである。例として、図5(b)に示したn=2のパターン2における重畳パススコアs,sを用いて検証してみる。 It is assumed that there is only one partial critical path from the start task v 0 to an arbitrary task v i as an assumption of the description so far, but it is also superimposed when there are a plurality of partial critical paths with the same condition. It is clear that the pass score S can be calculated. As an example, verification is performed using the superimposed path scores s 0 and s 2 in the pattern 2 with n = 2 shown in FIG.
 n=2の場合における系全体のタスクの集合Lallにおいて、タスクvから部分クリティカルパスを辿るとき、タスクvだけでなく、タスクvも部分クリティカルパスとして探索されたとする。つまり、図10に示すように、タスクvとタスクvとの先行後続関係を示す接続線が破線ではなく、実線だった(タスクvとタスクvとの間にスラックがなかった)とする。  Assume that not only the task v 1 but also the task v 2 is searched as a partial critical path when the partial critical path is traced from the task v 3 in the task set L all of the system in the case of n = 2. That is, as shown in FIG. 10, the connection line indicating the preceding / following relationship between the task v 2 and the task v 3 was not a broken line but a solid line (there was no slack between the task v 2 and the task v 3 ). And
 この場合、タスクvの重畳パススコアsとタスクvの重畳パススコアsについては図5(b)の場合と比べて算出環境に変更がないが、タスクvの重畳パススコアsとタスクvの重畳パススコアsについては算出環境に変化が生じ、各重畳パススコアs,sは以下のよう算出される。
 s=|L 0,0∪L 0,1∪L 0,2∪L 0,3
   =|{v}∪{v,v}∪{v,v}∪{v,v,v,v}|
   =|{v,v,v,v}|=4
 s=|L 2,0∪L 2,1∪L 2,2∪L 2,3
   =|φ∪φ∪{v}∪{v,v}|
   =|{v,v}|=2
In this case, although there is no change in the calculated environment as compared with the case of FIG. 5 (b) for superimposing path scores s 1 and superimposed path scores s 3 tasks v 3 tasks v 1, superimposed path scores s task v 0 Regarding the superimposed path score s 2 of 0 and task v 2 , a change occurs in the calculation environment, and the superimposed path scores s 0 and s 2 are calculated as follows.
s 0 = | L p 0,0 ∪L p 0,1 ∪L p 0,2 ∪L p 0,3 |
= | {V 0 } ∪ {v 0 , v 1 } ∪ {v 0 , v 2 } ∪ {v 0 , v 1 , v 2 , v 3 } |
= | {V 0 , v 1 , v 2 , v 3 } | = 4
s 2 = | L p 2,0 ∪L p 2,1 ∪L p 2,2 ∪L p 2,3 |
= | Φ∪φ∪ {v 2 } ∪ {v 2 , v 3 } |
= | {V 2 , v 3 } | = 2
 以上のような算出の結果から分かるように、図10のように同一のタスクから接続される複数の部分クリティカルパスが存在する場合でも、タスクvについては後続のタスクv,vが図6の場合と変わらないため、重畳パススコアsは正味の値に変化がない。一方、タスクvに関しては、図6と比較して図10の場合は後続タスクとして1つのタスクvが部分クリティカルパス上に加わるため、重畳パススコアsはその値が1つ増加している。このように、後続のタスクからの部分クリティカルパスが複数存在する場合でも、重畳パススコアSを矛盾なく算出することができる。 As can be seen from the results of calculation as described above, even when a plurality of partial critical path exists, subsequent tasks v 1, v 2 for the tasks v 0 is diagram that is connected from the same task as shown in FIG. 10 Since it is not different from the case of 6, the superimposition pass score s 0 has no change in the net value. On the other hand, as for task v 2 , compared with FIG. 6, in the case of FIG. 10, one task v 3 is added as a subsequent task on the partial critical path, so that the value of the superimposed path score s 2 increases by one. Yes. Thus, even when there are a plurality of partial critical paths from the subsequent task, the superimposed path score S can be calculated without contradiction.
 以上詳しく説明したように、本実施形態のタスクグラフ解析装置10では、n個のタスクv~vと、それらの先頭および末尾に仮設定した開始タスクvおよび終了タスクvn+1とを含むタスク系に属するタスクvからタスクvまでのクリティカルパスをそれぞれ算出し、タスクvから始まるそれぞれのクリティカルパス上に含まれるタスクの総数をタスクvの重畳パススコアSとして算出するようにしている。 As described above in detail, the task graph analysis apparatus 10 of the present embodiment includes n tasks v 1 to v n, and a start task v 0 and an end task v n + 1 temporarily set at the beginning and end thereof. the critical path from task v i belonging to task system to the task v j is calculated, to calculate the total number of tasks included on each critical path that starts from the task v i as a superposition path scores S tasks v i ing.
 このように構成した本実施形態のタスクグラフ解析装置10によれば、系全体の全体クリティカルパス上に存在するタスクに加え、当該全体クリティカルパス上にはない部分クリティカルパス上のタスクについても重畳パススコアSを得ることが可能となる。しかも、確率的統計のような複雑な演算によるのではなく、単にタスク数のカウント演算によって重畳パススコアSが算出されるので、タスク系全体を多数回実行することなく重畳パススコアSを得ることができる。これにより、タスク系全体を多数回実行することなく、全体クリティカルパスのみならず準クリティカルパスについても各タスクの評価を行うことができる。 According to the task graph analysis apparatus 10 of the present embodiment configured as described above, in addition to tasks existing on the entire critical path of the entire system, superimposing paths are also applied to tasks on partial critical paths that are not on the entire critical path. A score S can be obtained. Moreover, since the superimposed path score S is calculated not simply by a complicated calculation such as probabilistic statistics but simply by counting the number of tasks, the superimposed path score S can be obtained without executing the entire task system many times. Can do. Thus, each task can be evaluated not only for the entire critical path but also for the semi-critical path without executing the entire task system many times.
 また、本実施形態では、算出した重畳パススコアSを重畳パススコアマップという形に加工したタスクグラフに表わすことにより、タスクの影響の範囲や度合いを視覚的に認識しやすくすることができる。 Also, in the present embodiment, by representing the calculated superimposed path score S in a task graph processed in the form of a superimposed path score map, it is possible to easily recognize the range and degree of task influence visually.
 なお、上記実施形態では、集合Lallの全体に渡って重畳パススコアSを算出するために、集合L i,jとして採り得る全てのタスクを求める必要があり、クリティカルパス算出部3は全てのi(i=0,1,・・,n+1)に対応した部分クリティカルパスを解明しておかなければならない。これに対して、重畳パススコアSの算出を以下のようにアルゴリズム化するようにしても良い。 In the above embodiment, in order to calculate the superimposed path score S over the entire set L all , it is necessary to obtain all the tasks that can be taken as the set L p i, j , and all the critical path calculation units 3 The partial critical path corresponding to i (i = 0, 1,..., N + 1) must be elucidated. On the other hand, the calculation of the superimposed path score S may be algorithmized as follows.
 まず、タスクv,v,v,v,v,vn+1を考え、これらのタスクの部分クリティカルパスには次の関係が成り立つものとする。
        Lcp ⊂Lcp  ,Lcp ⊂Lcp
 Lcp ¬⊂Lcp ,Lcp ¬⊂Lcp ,Lcp ¬⊂Lcp
 Lcp ¬⊂Lcp ,Lcp ¬⊂Lcp ,Lcp ¬⊂Lcp
このときのタスク配置に関する一例を図11に示す。
First, consider the tasks v 0 , v i , v x , v y , v z , and v n + 1, and assume that the following relations hold in the partial critical paths of these tasks.
L cp i ⊂L cp x , L cp i ⊂L cp y
L cp z ¬⊂L cp i , L cp z ¬⊂L cp x , L cp z ¬⊂L cp y
L cp i ¬⊂L cp z , L cp x ¬⊂L cp z , L cp y ¬⊂L cp z
An example of task placement at this time is shown in FIG.
 以上の関係が成り立つとき、タスクvから始まる部分クリティカルパス上におけるタスクの集合L i,0,L i,i,L i,x,L i,y,L i,z,L i,n+1は、それぞれ次のように記述することができる。
 L i,0=φ
 L i,i=(Lcp xorLcp )∪{v}={v
 L i,x=(Lcp xorLcp )∪{v}={v,・・,v
 L i,y=(Lcp xorLcp )∪{v}={v,・・,v
 L i,z=φ
 L i,n+1=(Lcp xorLcp n+1)∪{v}={v,・・,v,・・,vn+1
When the above relationship holds, a set of tasks L p i, 0 , L p i, i , L p i, x , L p i, y , L p i, z , on the partial critical path starting from task v i , L p i, n + 1 can be described as follows.
L p i, 0 = φ
L p i, i = (L cp i xorL cp i) ∪ {v i} = {v i}
L p i, x = (L cp i xorL cp x) ∪ {v i} = {v i, ··, v x}
L p i, y = (L cp i xorL cp y) ∪ {v i} = {v i, ··, v y}
L pi , z = φ
L p i, n + 1 = (L cp i xorL cp n + 1) ∪ {v i} = {v i, ··, v x, ··, v n + 1}
 さらに、これら集合L i,0,L i,i,L i,x,L i,y,L i,z,L i,n+1どうしの集合和を考えると、次の計算ができる。
  L i,0∪L i,i∪L i,x∪L i,y∪L i,z∪L i,n+1
 =φ∪{v}∪{v,・・,v}∪{v,・・,v}∪φ∪{v,・・,v,・・,vn+1
 ={v,・・,v,・・,v,・・,vn+1
すなわち、タスクvの重畳パススコアsを算出する式は、次の(式2)のように変形できる。
Further, considering the set sum of these sets L p i, 0 , L p i, i , L p i, x , L p i, y , L p i, z , L p i, n + 1 , the following calculation is performed. Can do.
L p i, 0 ∪L p i , i ∪L p i, x ∪L p i, y ∪L p i, z ∪L p i, n + 1
= Φ∪ {v i } ∪ {v i ,..., V x } ∪ {v i ,..., V y } ∪φ∪ {v i , ..., v x , ..., v n + 1 }
= {V i, ··, v x, ··, v y, ··, v n + 1}
In other words, the formula for calculating the superposed path scores s i task v i can be modified as follows: (Equation 2).
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000002
 さらに、タスクvからの部分クリティカルパスがただ1つ存在すると仮定した場合、任意の0≦j≦n+1について、0≦x≦n+1、0≦y≦n+1、x≠yとなる全てのxとyを考えたとき、{v|v∈Lcp }∩{v|v∈Lcp }=φの条件を加味して(式2)を変形することができる。この条件は有限加法性が成り立つことを意味しているため、(式2)は次の(式3)のように変形することができる。 Furthermore, assuming that there moiety one critical path is only from the task v i, for any 0 ≦ j ≦ n + 1, and all x such that 0 ≦ x ≦ n + 1,0 ≦ y ≦ n + 1, x ≠ y When y is considered, (Formula 2) can be modified in consideration of the condition of {v x | v x εL cp x } ∩ {v y | v y εL cp y } = φ. Since this condition means that finite additivity holds, (Equation 2) can be transformed into the following (Equation 3).
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000003
 こうして得られた(式3)に使用される{v|v∈Lcp ,Lcp ⊃Lcp }はそもそも集合L i,jの中にタスクvが存在することで得られるものである。集合L i,jの中にタスクvがあるということは、集合L i,jの中にタスクvもあるということであり、v∈Lcp となることでもある。単純にタスクvの0≦j≦n+1での存在数の合計というのであれば、タスクvの基数をカウントしても同じことになる。よって、(式3)は更に(式4)のように変形できる。ここで、特性関数χは(式5)のように定義する。 Is used to thus obtained (Equation 3) {v j | v j ∈L cp j, L cp j ⊃L cp i} is that the task v j exists originally set L p i, in j It is obtained. That there are tasks v j in the set L p i, j is a set L p i, it means that there is also a task v i in the j, also means a v i ∈L cp j. If it is simply the total number of tasks v j in the range 0 ≦ j ≦ n + 1, the same is true even if the radix of task v i is counted. Therefore, (Equation 3) can be further transformed into (Equation 4). Here, the characteristic function χ is defined as in (Equation 5).
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000004
 ただし、(式4)への変形は、開始タスクvからタスクvまでの部分クリティカルパスがただ1つ存在するという仮定のもとになされる変形である。部分クリティカルパスが複数存在する場合には(式4)への最後の変形が否定される。そのため、算出される重畳パススコアsは、周辺タスクとの比較を行うための評価値としては使用できるものの、任意のタスクvの重畳パススコアsが後続の部分クリティカルパス上のネット数と同数であるという特徴は失われる。そこで、クリティカルパス算出部3が複数の部分クリティカルパスを検出した場合に、その旨を警告として表示装置30に表示するようにしても良い。 However, the deformation of the (Equation 4) is a modification to be made from the started task v 0 on the assumption that parts critical path to task v i is present only one. If there are a plurality of partial critical paths, the last transformation to (Equation 4) is denied. For this reason, the calculated superimposed path score s i can be used as an evaluation value for comparison with the peripheral task, but the superimposed path score s i of any task v i is the number of nets on the subsequent partial critical path. The feature of the same number is lost. Therefore, when the critical path calculation unit 3 detects a plurality of partial critical paths, the fact may be displayed on the display device 30 as a warning.
 上述した(式4)への変形をもとに、次のようなアルゴリズムにより、全体集合Lallに対応した重畳パススコアSを求めることができる。
(1) まず、0≦i≦n+1となる重畳パススコアSの要素sを全て0に初期化する。また、部分クリティカルパスを保存しておく集合Lcpをφに初期化する。
(2) 次に、i=0とし、開始タスクvに対応する重畳パススコアsに1を代入する。
Based on the above-described modification to (Equation 4), the superimposed path score S corresponding to the entire set L all can be obtained by the following algorithm.
(1) First, all elements s i of the superimposed path score S satisfying 0 ≦ i ≦ n + 1 are initialized to zero. Also, the set L cp for storing the partial critical path is initialized to φ.
(2) Next, i = 0 is set, and 1 is substituted into the superimposed path score s 0 corresponding to the start task v 0 .
(3) iを1インクリメントし、タスクvから遡って部分クリティカルパスを探索し、得られたパス上のタスク集合Lcp をLcpに保存する。ただし、部分クリティカルパスの探索中、タスクvに対応するLcp が集合Lcp中に存在した場合、それ以上探索は行わず、探索済みのタスクと共にLcp の要素であるタスクもLcp の要素として加える。
(4) 重畳パススコアSの要素中、タスク集合Lcp に対応する全ての要素sについて1インクリメントする。
(5) 上記(3)~(4)の手順を繰り返し、i=n+1に達したところでそのときの重畳パススコアSの値を全体集合Lallに対応した重畳パススコアとする。
(3) Increment i by 1, search a partial critical path retroactively from task v i, and store task set L cp i on the obtained path in L cp . However, if L cp k corresponding to task v k exists in the set L cp during the search for the partial critical path, no further search is performed, and the task that is an element of L cp k together with the searched task is also L Add as element of cp i .
(4) Among the elements of the superimposed path score S, all the elements s i corresponding to the task set L cp i are incremented by one.
(5) The steps (3) to (4) are repeated, and when i = n + 1 is reached, the value of the superimposed path score S at that time is set as the superimposed path score corresponding to the entire set L all .
 このように、重畳パススコアSの算出を重畳パススコアマップのクリティカルパス探索に適した形にアルゴリズム化することにより、重畳パススコアSを容易に得ることができる。 As described above, by superimposing the calculation of the superimposed path score S into a form suitable for the critical path search of the superimposed path score map, the superimposed path score S can be easily obtained.
 その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。 In addition, each of the above-described embodiments is merely an example of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed in a limited manner. In other words, the present invention can be implemented in various forms without departing from the spirit or main features thereof.
 本発明はタスクグラフ解析装置およびタスクグラフ解析プログラムに適用され、特に、スケジュールを構成する複数のタスクから成るタスクグラフをクリティカルパスを用いて解析する技術に適用される。 The present invention is applied to a task graph analysis apparatus and a task graph analysis program, and in particular, applied to a technique for analyzing a task graph including a plurality of tasks constituting a schedule using a critical path.
 1 タスク情報入力部
 2 タスク仮設定部
 3 クリティカルパス算出部
 4 評価値算出部
 5 マップ表示部
1 Task information input part 2 Task temporary setting part 3 Critical path calculation part 4 Evaluation value calculation part 5 Map display part

Claims (4)

  1.  スケジュールを構成するn個(nは1以上の整数)のタスク{v,v,・・,v}から成るタスクグラフを解析するタスクグラフ解析装置であって、
     上記n個のタスクを識別するタスク識別情報、上記n個のタスクの上記スケジュール上での処理順序を表す順序情報、および上記n個のタスクの負荷の大きさを表す負荷情報を含むタスク情報を入力するタスク情報入力部と、
     上記タスク情報入力部により上記タスク情報が入力された上記n個のタスクの先頭に開始タスクvとして0番目のタスク情報を仮設定するとともに、上記n個のタスクの末尾に終了タスクvn+1としてn+1番目のタスク情報を仮設定するタスク仮設定部と、
     上記タスク情報入力部により入力された上記n個のタスクの上記タスク情報と上記タスク仮設定部により仮設定された上記開始タスクおよび上記終了タスクの上記タスク情報とに基づいて、タスクv(i=0,1,・・,n,n+1)からタスクv(j=0,1,・・,n,n+1)までのクリティカルパスをそれぞれ算出し、それぞれのクリティカルパス毎にパス上に含まれるタスクを求めるクリティカルパス算出部と、
     上記タスクv(i=0,1,・・,n,n+1)のそれぞれについて、当該タスクvから始まるそれぞれのクリティカルパス上に含まれるタスクの総数を上記タスクvの評価値として算出する評価値算出部とを備えたことを特徴とするタスクグラフ解析装置。
    A task graph analysis device that analyzes a task graph composed of n tasks (n is an integer of 1 or more) {v 1 , v 2 ,.
    Task identification information including task identification information for identifying the n tasks, order information indicating the processing order of the n tasks on the schedule, and load information indicating the load size of the n tasks. A task information input section to be input;
    The 0th task information is temporarily set as the start task v 0 at the beginning of the n tasks to which the task information is input by the task information input unit, and the end task v n + 1 is set at the end of the n tasks. a temporary task setting unit for temporarily setting the (n + 1) th task information;
    Based on the task information of the n tasks input by the task information input unit and the task information of the start task and the end task temporarily set by the task temporary setting unit, the task v i (i = 0, 1,..., N, n + 1) to task v j (j = 0, 1,..., N, n + 1) are calculated, and each critical path is included in the path. A critical path calculation unit for obtaining a task;
    The task v i (i = 0,1, ·· , n, n + 1) for each, to calculate the total number of tasks included on each critical path that starts from the task v i as the evaluation value of the task v i A task graph analysis device comprising an evaluation value calculation unit.
  2.  上記タスク情報に含まれる上記タスク識別情報および上記順序情報に基づいて、上記各タスクの先行後続関係をタスクグラフとして表示装置に表示するマップ表示部を更に備え、
     上記マップ表示部は、上記評価値算出部により算出された評価値の大きさに応じて、上記タスクvから出力される上記先行後続関係を表す線の表示態様を異ならせるようにしたことを特徴とする請求項1に記載のタスクグラフ解析装置。
    Based on the task identification information and the order information included in the task information, further comprising a map display unit that displays the preceding and succeeding relationship of each task as a task graph on a display device,
    The map display section, in accordance with the magnitude of the evaluation value calculated by the evaluation value calculation unit, that it has to vary the display mode of the line representing the prior Follows output from the task v i The task graph analysis apparatus according to claim 1, wherein
  3.  スケジュールを構成するn個(nは1以上の整数)のタスク{v,v,・・,v}から成るタスクグラフを解析するためのコンピュータ読み取り可能なプログラムであって、
     上記n個のタスクを識別するタスク識別情報、上記n個のタスクの上記スケジュール上での処理順序を表す順序情報、および上記n個のタスクの負荷の大きさを表す負荷情報を含むタスク情報を入力するタスク情報入力手段、
     上記タスク情報入力手段により上記タスク情報が入力された上記n個のタスクの先頭に開始タスクvとして0番目のタスク情報を仮設定するとともに、上記n個のタスクの末尾に終了タスクvn+1としてn+1番目のタスク情報を仮設定するタスク仮設定手段、
     上記タスク情報入力手段により入力された上記n個のタスクの上記タスク情報と上記タスク仮設定手段により仮設定された上記開始タスクおよび上記終了タスクの上記タスク情報とに基づいて、タスクv(i=0,1,・・,n,n+1)からタスクv(j=0,1,・・,n,n+1)までのクリティカルパスをそれぞれ算出し、それぞれのクリティカルパス毎にパス上に含まれるタスクを求めるクリティカルパス算出手段、および
     上記タスクv(i=0,1,・・,n,n+1)のそれぞれについて、当該タスクvから始まるそれぞれのクリティカルパス上に含まれるタスクの総数を上記タスクvの評価値として算出する評価値算出手段、
    としてコンピュータを機能させるためのコンピュータ読み取り可能なタスクグラフ解析プログラム。
    A computer readable program for analyzing a task graph comprising n (n is an integer of 1 or more) tasks {v 1 , v 2 ,..., V n } constituting a schedule,
    Task identification information including task identification information for identifying the n tasks, order information indicating the processing order of the n tasks on the schedule, and load information indicating the load size of the n tasks. Task information input means to input,
    Together temporarily sets the 0 th task information as a starting task v 0 at the beginning of the task information the n-number of input task by the task information input means, as the end task v n + 1 to the end of the n-number of tasks temporary task setting means for temporarily setting the (n + 1) th task information;
    Based on the task information of the n tasks input by the task information input unit and the task information of the start task and the end task temporarily set by the task temporary setting unit, the task v i (i = 0, 1,..., N, n + 1) to task v j (j = 0, 1,..., N, n + 1) are calculated, and each critical path is included in the path. For each of the critical path calculation means for obtaining a task and the tasks v i (i = 0, 1,..., N, n + 1), the total number of tasks included in each critical path starting from the task v i is described above. evaluation value calculating means for calculating an evaluation value of the task v i,
    A computer-readable task graph analysis program for making a computer function as a computer.
  4.  上記タスク情報に含まれる上記タスク識別情報および上記順序情報に基づいて、各タスクの先行後続関係をタスクグラフとして表示装置に表示するマップ表示手段であって、上記評価値算出部により算出された評価値の大きさに応じて、上記タスクvから出力される上記先行後続関係を表す線の表示態様を異ならせるように表示するマップ表示手段としてコンピュータを更に機能させるための請求項3に記載のコンピュータ読み取り可能なタスクグラフ解析プログラム。 Based on the task identification information and the order information included in the task information, map display means for displaying a predecessor / success relationship of each task as a task graph on a display device, the evaluation calculated by the evaluation value calculation unit 4. The computer according to claim 3, wherein the computer further functions as map display means for displaying the lines representing the preceding and succeeding relationships output from the task v i in different manners according to the magnitude of the value. Computer-readable task graph analysis program.
PCT/JP2010/061237 2009-07-01 2010-07-01 Task-graph analyzing device and task-graph analyzing program WO2011002052A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009156588A JP5458350B2 (en) 2009-07-01 2009-07-01 Task graph analysis device and task graph analysis program
JP2009-156588 2009-07-01

Publications (1)

Publication Number Publication Date
WO2011002052A1 true WO2011002052A1 (en) 2011-01-06

Family

ID=43411120

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/061237 WO2011002052A1 (en) 2009-07-01 2010-07-01 Task-graph analyzing device and task-graph analyzing program

Country Status (2)

Country Link
JP (1) JP5458350B2 (en)
WO (1) WO2011002052A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115375045A (en) * 2022-10-26 2022-11-22 山东捷瑞数字科技股份有限公司 Invalid path detection method and system of engineering network graph based on three-dimensional engine

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001290796A (en) * 2000-04-04 2001-10-19 Nec Corp Method and device for reordering matrix, and method and device for simulating electronic circuit
JP2004110564A (en) * 2002-09-19 2004-04-08 Mitsubishi Heavy Ind Ltd Period of construction work and cost evaluation system
JP2007334855A (en) * 2006-05-17 2007-12-27 Nagaoka Univ Of Technology Schedule preparation method, schedule preparation device, and computer program
JP2009043188A (en) * 2007-08-10 2009-02-26 Nippon Shoken Technology Kk Operation management support system, and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001290796A (en) * 2000-04-04 2001-10-19 Nec Corp Method and device for reordering matrix, and method and device for simulating electronic circuit
JP2004110564A (en) * 2002-09-19 2004-04-08 Mitsubishi Heavy Ind Ltd Period of construction work and cost evaluation system
JP2007334855A (en) * 2006-05-17 2007-12-27 Nagaoka Univ Of Technology Schedule preparation method, schedule preparation device, and computer program
JP2009043188A (en) * 2007-08-10 2009-02-26 Nippon Shoken Technology Kk Operation management support system, and program

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHANAS, S.: "Critical path analysis in the network with fuzzy activity times", FUZZY SETS AND SYSTEMS, vol. 122, no. 2, September 2001 (2001-09-01), pages 195 - 204, XP004248129, DOI: doi:10.1016/S0165-0114(00)00076-2 *
GHOMI, S.M.T.F.: "Path critical index and activity critical index in PERT networks", EUROPEAN JOURNAL OF OPERATIONAL RESEARCH, vol. 141, no. 1, August 2002 (2002-08-01), pages 147 - 152 *
MASAHIRO MIGITA: "Parallel Algorithm for Determining Critical Paths in PERT Chart", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 47, no. 7, 15 July 2006 (2006-07-15), pages 2212 - 2223 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115375045A (en) * 2022-10-26 2022-11-22 山东捷瑞数字科技股份有限公司 Invalid path detection method and system of engineering network graph based on three-dimensional engine

Also Published As

Publication number Publication date
JP2011013874A (en) 2011-01-20
JP5458350B2 (en) 2014-04-02

Similar Documents

Publication Publication Date Title
Maggi et al. Efficient discovery of understandable declarative process models from event logs
Campbell et al. The orienteering problem with stochastic travel and service times
Thorleuchter et al. A compared R&D-based and patent-based cross impact analysis for identifying relationships between technologies
Etemadpour et al. Perception-based evaluation of projection methods for multidimensional data visualization
US20060195444A1 (en) System and method for mining of temporal data
Legrain et al. A rotation-based branch-and-price approach for the nurse scheduling problem
KR20160124895A (en) Diagnosis and optimization of cloud release pipelines
Crama et al. Power indices and the measurement of control in corporate structures
US11210673B2 (en) Transaction feature generation
Maggi Discovering metric temporal business constraints from event logs
Cardoso Business process quality metrics: Log-based complexity of workflow patterns
US7475400B2 (en) Database system and information processing system with process code information
US20130013244A1 (en) Pattern based test prioritization using weight factors
JP5458350B2 (en) Task graph analysis device and task graph analysis program
CN112883196A (en) Case allocation method, system, medium and electronic device based on knowledge graph
Schreiber et al. Validating agent interactions in construct against empirical communication networks using the calibrated grounding technique
Zhang et al. Pathway identification via process mining for patients with multiple conditions
D’Amico et al. Valuation of R&D compound option using Markov chain approach
Derrien et al. A global constraint for a tractable class of temporal optimization problems
US8739115B2 (en) Using infeasible nodes to select branching variables
Van Den Berg et al. Computing response time distributions using iterative probabilistic model checking
CN116089809B (en) Financial characteristic data screening method and device, electronic equipment and storage medium
US20100017244A1 (en) Method for organizing processes
Prescher et al. The projected TAR and its application to conformance checking
Bano et al. Database-Less Extraction of Event Logs from Redo Logs

Legal Events

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

Ref document number: 10794220

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10794220

Country of ref document: EP

Kind code of ref document: A1