JP5458350B2 - Task graph analysis device and task graph analysis program - Google Patents
Task graph analysis device and task graph analysis program Download PDFInfo
- Publication number
- JP5458350B2 JP5458350B2 JP2009156588A JP2009156588A JP5458350B2 JP 5458350 B2 JP5458350 B2 JP 5458350B2 JP 2009156588 A JP2009156588 A JP 2009156588A JP 2009156588 A JP2009156588 A JP 2009156588A JP 5458350 B2 JP5458350 B2 JP 5458350B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- tasks
- information
- path
- critical path
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000004458 analytical method Methods 0.000 title claims description 13
- 238000004364 calculation method Methods 0.000 claims description 32
- 238000011156 evaluation Methods 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Software Systems (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Description
本発明はタスクグラフ解析装置およびタスクグラフ解析プログラムに関し、特に、スケジュールを構成する複数のタスクから成るタスクグラフをクリティカルパスを用いて解析する技術に関するものである。 The present invention relates to a task graph analysis device and a task graph analysis program, and more particularly to a technique for analyzing a task graph composed of 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.) are used as means for analyzing a critical path composed 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,
ところで、大規模タスク系では一般に、クリティカルパス上のタスクは全タスクの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, there are many parallel paths for tasks not included in the critical path that occupy 80% of the large-scale task system. 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 above conventional technique, since evaluation is performed only for the most critical task, there is a problem in that it is impossible to immediately grasp how many other critical tasks exist. In addition, when calculating an evaluation value of a task using 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 correctly evaluated. 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個のタスク{v1,v2,・・,vn}と、当該n個のタスクの先頭および末尾に仮設定した開始タスクv0および終了タスクvn+1とを含むタスク系に属するタスクvi(i=0,1,・・,n,n+1)からタスクvj(j=0,1,・・,n,n+1)までのクリティカルパスをそれぞれ算出し、タスクvi(i=0,1,・・,n,n+1)のそれぞれについて、当該タスクviから始まるそれぞれのクリティカルパス上に含まれるタスクの総数をタスクviの評価値として算出するようにしている。 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 j (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 .
上記のように構成した本発明によれば、開始タスクv0から終了タスクvn+1までの系全体のクリティカルパスのみならず、タスクviからタスクvjまでの部分的なクリティカルパスも算出され、タスクviを始点とする全てのクリティカルパス上に含まれるタスクの数がカウントされることによってタスクviの評価値が算出されることとなる。このため、系全体のクリティカルパスのみを対象としてそのパス上に含まれるタスクの評価だけを行っていた従来技術と異なり、系全体のクリティカルパス上のタスクに加え、系全体のクリティカルパス上にないタスクについても評価値を得ることが可能となる。しかも、確率的統計のような複雑な演算によるのではなく、単に上述のようなタスク数のカウント演算によって評価値が算出されるので、タスク系全体を多数回実行させることなく評価値を得ることができる。これにより、本発明によれば、タスク系全体を多数回実行することなく、クリティカルパスのみならず準クリティカルパスについても各タスクの評価を行うことができるようになる。 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.
以下、本発明の一実施形態を図面に基づいて説明する。図1は、本実施形態によるタスクグラフ解析装置の機能構成例を示すブロック図である。図1に示すように、本実施形態のタスクグラフ解析装置10は、n個(nは1以上の整数)のタスクから成るスケジュールを解析するものであって、その機能構成として、タスク情報入力部1、タスク仮設定部2、クリティカルパス算出部3、評価値算出部4およびマップ表示部5を備えて構成されている。なお、以下では説明の便宜上、n個のタスクをv1,v2,・・,vnで表すものとする。
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
なお、タスクグラフ解析装置10が備える各機能構成1〜5は、ハードウェア構成、DSP、MPU、ソフトウェアの何れによっても実現することが可能である。例えばソフトウェアによって実現する場合、本実施形態のタスクグラフ解析装置10は、実際にはコンピュータのCPUあるいはMPU、RAM、ROMなどを備えて構成され、RAMやROMに記憶されたプログラムが動作することによって実現できる。
The
したがって、コンピュータが上記各機能を果たすように動作させるプログラムを例えば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
図2は、本実施形態によるタスク情報の一例を示す図である。タスク識別情報は、タスク毎に固有のIDであってもよいし、タスク名であってもよい。その他、各タスクをユニークに識別できる情報であれば、これ以外の情報であってもよい。図2では、タスク名v1,v2,・・,vnをタスク識別情報として用いる例を示している。 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の例では、タスクv1に先行する1つ前の他タスクは存在せず(すなわち、タスクv1が最先に処理される)、後続する1つ後の他タスクがタスクv2であることを示している。また、タスクv2に先行する1つ前の他タスクがタスクv1で、後続する1つ後の他タスクがタスクv3であることを示している。 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.
時間情報は、個々のタスクを処理するのに要する時間を表す情報である。図2の例では、タスクv1の所要処理時間がt1、タスクv2の所要処理時間がt2であることを示している。なお、ここでは時間情報をタスクの所要処理時間としているが、処理の開始時刻および終了時刻のセットを時間情報としてもよい。また、ここでは時間情報を用いているが、これに限定されない。タスクの負荷の大きさを表す情報であれば、時間以外の情報を用いることが可能である。例えば、時間以外の情報として、タスクの処理に要する費用、タスク内の情報伝達経路の物理的距離、タスクの影響を受ける周囲の影響度、タスクに関する間接的な観測値や指標値などの情報を用いてもよい。 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 scheduling based on task graphs for various fields as described below, attributes as 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個のタスクv1〜vnの先頭に開始タスクv0として0番目のタスク情報を仮設定するとともに、n個のタスクの末尾に終了タスクvn+1としてn+1番目のタスク情報を仮設定する。ここで仮設定するタスク情報の中身は、タスク情報入力部1が入力する図2のようなタスク情報と同様である。なお、開始タスクv0および終了タスクvn+1の所要処理時間t0,tn+1はそれぞれ所定の値とする。
The temporary
クリティカルパス算出部3は、タスク情報入力部1により入力されたn個のタスクv1〜vnのタスク情報と、タスク仮設定部2により仮設定された開始タスクv0および終了タスクvn+1のタスク情報とに基づいて、タスクvi(i=0,1,・・,n,n+1)からタスクvj(j=0,1,・・,n,n+1)までのクリティカルパスをそれぞれ算出し、それぞれのクリティカルパス毎にパス上に含まれるタスクの集合を求める。
Critical
クリティカルパスの算出方法自体は公知の技術を適用することが可能である。本実施形態では、クリティカルパス算出部3は以下のような手順によってクリティカルパスを算出するものとする。まず、タスク情報に含まれる時間情報に基づいて、開始タスクv0の最早開始時刻と最早終了時刻を計算する。次に、順序情報により示されるタスクとタスクとの先行後続関係に従い、開始タスクv0に続く後続タスクの最早開始時刻と最早終了時刻を順番に計算していく。そして、終了タスクvn+1まで到達したら、その終了タスクvn+1から先行タスクに向かって逆順に最遅終了時刻と最遅開始時刻を計算していく。ここで、最早開始時刻と最遅開始時刻との差をスラックと定義し、タスクviまたはタスクvjから遡ってスラックがない経路、すなわち余裕時間のない経路を都度辿ることでクリティカルパスを求める。
A known technique can be applied to the critical path calculation method itself. In the present embodiment, it is assumed that the critical
ここで、クリティカルパスを求めるクリティカルパス算出部3の演算内容について詳しく説明する。まず、タスク情報入力部1が入力したタスクとタスク仮設定部2が仮設定した開始タスクv0および終了タスクvn+1を含む系全体をLall={v0,v1,v2,・・,vn,vn+1}とする。Lallは系全体のタスクを表す集合、vi(i=0,1,・・,n,n+1)は個々のタスク、nは総タスク数である。このとき、開始タスクv0から終了タスクvn+1までの系全体のクリティカルパスがただ1つ存在する。これとは別に、任意のiを選択してタスクviを終了タスクと仮定すると、開始タスクv0から任意タスクviまでのクリティカルパスがただ1つ存在する。以下では、開始タスクv0から任意タスクviまでの系全体のクリティカルパスを「全体クリティカルパス」と呼び、それ以外の部分的なクリティカルパスを「部分クリティカルパス」と呼ぶ。また、単に「クリティカルパス」というときは、全体クリティカルパスおよび部分クリティカルパスの両方を含むものとする。
Here, the calculation contents of the critical
ここでは、開始タスクv0から任意タスクviまでの部分クリティカルパス上に含まれる各タスクの集合として、Lcp i={v0,・・,vi}⊂Lallをとることができる。集合Lcp iはi=0やi=n+1のときに関しても拡張でき、それぞれ、Lcp 0={v0}⊂Lall、Lcp n+1={v0,・・,vi,・・,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 . Set L cp i can also be extended with respect to when i = 0 and i = n + 1, respectively, L cp 0 = {v 0 } ⊂L all, L cp n + 1 = {
さらに、任意のj(j=0,1,・・,n,n+1)を選択してタスクvjを終了タスクと仮定した部分クリティカルパス上にタスクviが含まれるような集合Lcp jをとったとき、当該部分クリティカルパス上に含まれるタスクの集合Lp i,jを次のように定義する。
Lcp i⊆Lcp j ⇒ Lp i,j=(Lcp ixorLcp j)∪{vi}
Lcp i¬⊆Lcp j ⇒ Lp i,j=φ(空集合)
なお、ここでは集合を表す記号「⊆」に対して“否定”の意味を表す論理演算子「¬」を組みとして用いているが、本明細書では便宜上、「¬」を論理演算子としてではなく、集合記号の意味を否定する記号として用いるものとする。例えば「Lcp i¬⊆Lcp j」の場合は、「Lcp jの部分集合がLcp iとならない」ことを意味するものとする。
Furthermore, 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)
Note that 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, in the case of "L cp i ¬⊆L cp j", it is intended to mean that the "subset of L cp j is not an L cp i".
すなわち、集合Lp i,jは、開始タスクv0から任意タスクvjまでの部分クリティカルパス上に含まれる各タスクのうち、開始タスクv0から任意タスクviの1つ前の先行関係にあるタスクまでの部分クリティカルパス上に含まれる各タスクを取り去ったタスクの集合である。言い換えれば、集合Lp i,jは、任意タスクviから任意タスクvjまでの部分クリティカルパス上に含まれる各タスクの集合を表している。 That is, the set L p i, j is in the preceding relationship of the previous task from the start task v 0 to the arbitrary task v i among the tasks included in the partial critical path from the start task v 0 to the arbitrary task v j. 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={v0,v1,v2}、開始タスクはv0、終了タスクはv2である。このとき、これら3つのタスクの先行後続関係は、図3のようにv0→v1→v2となる(n=1の場合、これ以外の接続関係はあり得ない)。クリティカルパス算出部3は、開始タスクv0から終了タスクv2までの全体クリティカルパス上に含まれる各タスクの集合Lp 0,2に加え、任意タスクviから任意タスクvjまでの部分クリティカルパス上に含まれる各タスクの集合Lp 0,0,Lp 0,1,Lp 1,0,Lp 1,1,Lp 1,2,Lp 2,0,Lp 2,1,Lp 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
ここで、クリティカルパス算出部3により求められるそれぞれの集合Lp i,j(i=0,1,2、j=0,1,2)は以下の通りである。
Lp 0,0=(Lcp 0xorLcp 0)∪{v0}={v0}
Lp 0,1=(Lcp 0xorLcp 1)∪{v0}={v0,v1}
Lp 0,2=(Lcp 0xorLcp 2)∪{v0}={v0,v1,v2}
Lp 1,0=φ
Lp 1,1=(Lcp 1xorLcp 1)∪{v1}={v1}
Lp 1,2=(Lcp 1xorLcp 2)∪{v1}={v1,v2}
Lp 2,0=φ
Lp 2,1=φ
Lp 2,2=(Lcp 2xorLcp 2)∪{v2}={v2}
Here, the respective sets L p i, j (i = 0, 1, 2, j = 0, 1, 2) obtained by the critical
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は、タスクvi(i=0,1,・・,n,n+1)のそれぞれについて、当該タスクviから始まるそれぞれのクリティカルパス上に含まれるタスクの総数(同一のタスクは1つとカウント)をタスクviの評価値として算出する。本実施形態では、系全体のタスクの集合Lallに対応した各タスクの評価値を重畳パススコアSと呼び、当該重畳パススコアSを次の(式1)のように定義する。ここで、siは任意のタスクviに対する集合Lall内の重畳パススコアである。
For each task v i (i = 0, 1,..., N, n + 1), the evaluation
例えば、n=1の場合、評価値算出部4は重畳パススコアS={s0,s1,s2}を以下のように算出する。
s0=|Lp 0,0∪Lp 0,1∪Lp 0,2|
=|{v0}∪{v0,v1}∪{v0,v1,v2}|
=|{v0,v1,v2}|=3
s1=|Lp 1,0∪Lp 1,1∪Lp 1,2|
=|φ∪{v1}∪{v1,v2}|
=|{v1,v2}|=2
s2=|Lp 2,0∪Lp 2,1∪Lp 2,2|
=|φ∪φ∪{v2}|
=|{v2}|=1
For example, when n = 1, the evaluation
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
ここで、タスクviに対する重畳パススコアsiは、当該タスクviに対して処理時間の短縮や延長など何か変更があった場合に、対応する重畳パススコアsiの数に相当するタスクが影響を受けることを意味している。このため、本実施形態の評価値算出部4が算出する重畳パススコアsiは、各クリティカルパスにおけるタスクviの重要性を表す指標として位置付けることができる。
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
マップ表示部5は、タスク情報入力部1により入力されたn個のタスクv1〜vnのタスク情報と、タスク仮設定部2により仮設定された開始タスクv0および終了タスクvn+1のタスク情報とに含まれるタスク識別情報および順序情報に基づいて、各タスクv0〜vn+1の先行後続関係をタスクグラフ(本実施形態ではこれを「重畳パススコアマップ」という)として表示装置30に表示する。このときマップ表示部5は、評価値算出部4により算出された重畳パススコアS(各タスクviの重畳パススコアsi)の大きさに応じて、タスクviから出力される先行後続関係を表す線の表示態様(例えば、太さや色相、濃度)を異ならせるようにする。
図4は、n=1の場合にマップ表示部5により表示される重畳パススコアマップの例を示す図である。n=1の場合、3つのタスクv0,v1,v2の先行後続関係は、図4のようにv0→v1→v2となる。マップ表示部5は、各タスクv0,v1,v2を円で描画し、それぞれの円内にタスク名v0,v1,v2を表示するとともに、重畳パススコアs0,s1,s2を数字で表示している。また、マップ表示部5は、タスクとタスクとを接続している先行後続関係の線の太さを、後続関係にあるタスクの重畳パススコアs1,s2に依存して変えて表示している。具体的には、重畳パススコアs1,s2が大きいほど線を太く表示するようにしている。
FIG. 4 is a diagram illustrating an example of the superimposed path score map displayed by the
次に、n=2の場合について説明する。n=2のときは、図5のようにタスクの先行後続関係として2通りの配置方法が考えられる。図5(a)に示すパターン1では、n=1の場合と同様に各タスクv0,v1,v2,v3を直線的に接続している。一方、図5(b)に示すパターン2では、開始タスクv0から分岐した2つの経路をとり、それぞれタスクv1とタスクv2に接続している。なお、図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
n=2のパターン1の場合は、n=1の場合と全く同様に重畳パススコアS={s0,s1,s2,s3}を算出することができる。一方、n=2のパターン2の場合は、開始タスクv0から分岐したタスクv1,v2に対応する重畳パススコアs1,s2、またこれらに関係する開始タスクv0の重畳パススコアs0に特徴的な様相が現れる。以下に、パターン2におけるタスクv0,v1,v2,v3に対応する重畳パススコアs0,s1,s2,s3の算出プロセスを示す。
In the case of
n=2のパターン2の場合、クリティカルパス算出部3は、開始タスクv0から終了タスクv3までの全体クリティカルパス、および任意タスクviから任意タスクvj(i=0,1,2,3、j=0,1,2,3)までの部分クリティカルパス上に含まれる各タスクの集合Lp 0,0,Lp 0,1,Lp 0,2,Lp 0,3,Lp 1,0,Lp 1,1,Lp 1,2,Lp 1,3,Lp 2,0,Lp 2,1,Lp 2,2,Lp 2,3,Lp 3,0,Lp 3,1,Lp 3,2,Lp 3,3を以下のように求める。
In the case of
Lp 0,0=(Lcp 0xorLcp 0)∪{v0}={v0}
Lp 0,1=(Lcp 0xorLcp 1)∪{v0}={v0,v1}
Lp 0,2=(Lcp 0xorLcp 2)∪{v0}={v0,v2}
Lp 0,3=(Lcp 0xorLcp 3)∪{v0}={v0,v1,v3}
Lp 1,0=φ
Lp 1,1=(Lcp 1xorLcp 1)∪{v1}={v1}
Lp 1,2=φ
Lp 1,3=(Lcp 1xorLcp 3)∪{v1}={v1,v3}
Lp 2,0=φ
Lp 2,1=φ
Lp 2,2=(Lcp 2xorLcp 2)∪{v2}={v2}
Lp 2,3=φ
Lp 3,0=φ
Lp 3,1=φ
Lp 3,2=φ
Lp 3,3=(Lcp 3xorLcp 3)∪{v3}={v3}
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={s0,s1,s2,s3}を以下のように算出する。
s0=|Lp 0,0∪Lp 0,1∪Lp 0,2∪Lp 0,3|
=|{v0}∪{v0,v1}∪{v0,v2}∪{v0,v1,v3}|
=|{v0,v1,v2,v3}|=4
s1=|Lp 1,0∪Lp 1,1∪Lp 1,2∪Lp 1,3|
=|φ∪{v1}∪φ∪{v1,v3}|
=|{v1,v3}|=2
s2=|Lp 2,0∪Lp 2,1∪Lp 2,2∪Lp 2,3|
=|φ∪φ∪{v2}∪φ|
=|{v2}|=1
s2=|Lp 3,0∪Lp 3,1∪Lp 3,2∪Lp 3,3|
=|φ∪φ∪φ∪{v3}|
=|{v3}|=1
Further, the evaluation
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は、各タスクv0〜v3の先行後続関係を重畳パススコアマップとして表示装置30に表示する。図6は、n=2のパターン2の場合にマップ表示部5により表示される重畳パススコアマップの例を示す図である。この場合、4つのタスクv0,v1,v2,v3の先行後続関係は図5(b)と同様である。マップ表示部5は、各タスクv0,v1,v2,v3を円で描画し、それぞれの円内にタスク名v0,v1,v2,v3を表示するとともに、重畳パススコアs0,s1,s2,s3を数字で表示する。また、マップ表示部5は、タスク間の先行後続関係の線の太さを、後続関係にあるタスクの重畳パススコアs1,s2,s3に依存して変えて表示する。
The
n≧3の場合についても同様にして重畳パススコアSを算出し、重畳パススコアマップを表示することができる。図7は、n=3の場合に求められる各種パターンの重畳パススコアマップの例を示す図である。図7(a)に示すパターン1はn=1の場合と同様であるが、図7(b)〜(d)に示すパターン2〜4では、分岐したタスクv3が全体クリティカルパス上のどのタスクに接続されるかによって周辺環境が変化し、それが重畳パススコア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. Although the
また、図7(e)に示すパターン5では、重畳パススコアSの特徴として、開始タスクv0から分岐した2つのタスクv1,v2が全体クリティカルパス上に位置するかどうかにかかわらず同じ評価値をとっている(s1=2,s2=2)。また、図7(f)のパターン6では、全体クリティカルパス以外のタスクv2,v3が同じ評価値をとっている(s2=1,s3=1)。これらのことから、あるタスクviの重畳パススコアsiは後続の部分クリティカルパス上のタスク数に依存する重要性指標であり、全体クリティカルパスに影響を受けつつも周辺環境を表現していることが分かる。
In the
図8は、n=4の場合に求められる各種パターンの重畳パススコアマップの例を示す図である。図8(a)のパターン1は、複数のタスクv3,v4が入れ子状に配置された状態を示している。図8(b)のパターン2は、分岐後に複数のタスクv3,v4が直列に配置された状態を示している。また、図8(c)(d)のパターン3とパターン4は、タスクv4に対して複数のタスクv1,v3の先行関係が存在し、部分クリティカルパスが当該先行関係にあるタスクv1,v3のどちらに関係するかにより、タスクv1,v3の重畳パススコアs1,s3が変化する様子を示している。さらに、図8(e)のパターン5は、タスクの配置が更に複雑となった場合の例を示している。
FIG. 8 is a diagram illustrating an example of a superimposed path score map of various patterns obtained when n = 4.
この図8からも分かるとおり、複数のタスクから成るスケジュールの系全体を表現する場合、各タスクの配置には多様性が存在する。そのため、系に含まれるタスク数が多くなればなるほど、重畳パススコアsiの値のみの提示では系を理解するのに混乱を生ずる可能性がある。そこで、本実施形態のようにマップ表示部5を設け、重畳パススコアsiの性質に従った形で視覚的に重畳パススコアマップを表示するのが好ましい。
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
一般に、1つの系に属する個々のタスクは、分岐を基準に配置されることも多い。図9は、多数のタスクを有する系の重畳パススコアマップの例を示す図である。この図9に示す系では、7つのタスクv0〜v6が二分岐をとるような先行後続関係を有している。このようなタスク配置構成における重畳パススコアs0〜s15は図9 の通りであり、終了タスクv15から開始タスクv0に向けて重畳パススコアsiが級数的に増加していく傾向があることが分かる。 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 series from the end task v 15 to the start task v 0. I understand that there is.
そこで、全ての重畳パススコアsiが1以上の値であるという性質を利用し、各重畳パススコアsiの対数値(=logsi)をとり、さらにその対数値を系内における重畳パススコアsiの最大値の対数値で割ることで、終了タスクv15から開始タスクv0に向けて値が一次直線的に増加していくような重畳パススコアsi’を設定することができる。この重畳パススコアsi’は、0≦si’≦1となるような値である。これを重畳パススコアマップにおいて先行後続関係を示す線の太さや色相、濃度に反映することで、重畳パススコアsi’の大きさに応じて線の太さや色相、濃度が視覚的にほぼ均一に変化するように見せることができる。
si’=logsi/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)}
線の太さを例にとると、後続関係のある任意のタスクviに対し、後続のタスクを例えばvjとする。このとき、先行後続関係を示す線の太さをbi、当該線の太さbiを調節する段階をk+1段階とすると、次の式が定義できる。
bi=1+k・si’
ここで、重畳パススコアSの定義により、部分クリティカルパス上のタスクviとタスクvjに対してはsi>sjという関係が成立する。そこで、si>sjのときは先行後続関係を示す線の太さをbiとする一方、si≦sjのときはクリティカルパスとして辿られないことを意味するため、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, to mean that it is 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”を以下のように算出すると便利である。
si”=logsi/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 ′)}
なお、これまでの説明の仮定として、開始タスクv0から任意のタスクviまでの部分クリティカルパスはただ1つのみ存在するとしていたが、同条件の部分クリティカルパスが複数存在する場合にも重畳パススコアSを算出できることは明らかである。例として、図5(b)に示したn=2のパターン2における重畳パススコアs0,s2を用いて検証してみる。
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
n=2の場合における系全体のタスクの集合Lallにおいて、タスクv3から部分クリティカルパスを辿るとき、タスクv1だけでなく、タスクv2も部分クリティカルパスとして探索されたとする。つまり、図10に示すように、タスクv2とタスクv3との先行後続関係を示す接続線が破線ではなく、実線だった(タスクv2とタスクv3との間にスラックがなかった)とする。 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 set L all of the tasks in the entire system when 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
この場合、タスクv1の重畳パススコアs1とタスクv3の重畳パススコアs3については図5(b)の場合と比べて算出環境に変更がないが、タスクv0の重畳パススコアs0とタスクv2の重畳パススコアs2については算出環境に変化が生じ、各重畳パススコアs0,s2は以下のよう算出される。
s0=|Lp 0,0∪Lp 0,1∪Lp 0,2∪Lp 0,3|
=|{v0}∪{v0,v1}∪{v0,v2}∪{v0,v1,v2,v3}|
=|{v0,v1,v2,v3}|=4
s2=|Lp 2,0∪Lp 2,1∪Lp 2,2∪Lp 2,3|
=|φ∪φ∪{v2}∪{v2,v3}|
=|{v2,v3}|=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のように同一のタスクから接続される複数の部分クリティカルパスが存在する場合でも、タスクv0については後続のタスクv1,v2が図6の場合と変わらないため、重畳パススコアs0は正味の値に変化がない。一方、タスクv2に関しては、図6と比較して図10の場合は後続タスクとして1つのタスクv3が部分クリティカルパス上に加わるため、重畳パススコアs2はその値が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個のタスクv1〜vnと、それらの先頭および末尾に仮設定した開始タスクv0および終了タスクvn+1とを含むタスク系に属するタスクviからタスクvjまでのクリティカルパスをそれぞれ算出し、タスクviから始まるそれぞれのクリティカルパス上に含まれるタスクの総数をタスクviの重畳パススコアSとして算出するようにしている。
As described above in detail, the task
このように構成した本実施形態のタスクグラフ解析装置10によれば、系全体の全体クリティカルパス上に存在するタスクに加え、当該全体クリティカルパス上にはない部分クリティカルパス上のタスクについても重畳パススコアSを得ることが可能となる。しかも、確率的統計のような複雑な演算によるのではなく、単にタスク数のカウント演算によって重畳パススコアSが算出されるので、タスク系全体を多数回実行することなく重畳パススコアSを得ることができる。これにより、タスク系全体を多数回実行することなく、全体クリティカルパスのみならず準クリティカルパスについても各タスクの評価を行うことができる。
According to the task
また、本実施形態では、算出した重畳パススコアSを重畳パススコアマップという形に加工したタスクグラフに表わすことにより、タスクの影響の範囲や度合いを視覚的に認識しやすくすることができる。 Further, in the present embodiment, by representing the calculated superimposed path score S in a task graph processed into a superimposed path score map, the range and degree of task influence can be easily recognized visually.
なお、上記実施形態では、集合Lallの全体に渡って重畳パススコアSを算出するために、集合Lp 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 tasks that can be taken as the set L p i, j , and the critical
まず、タスクv0,vi,vx,vy,vz,vn+1を考え、これらのタスクの部分クリティカルパスには次の関係が成り立つものとする。
Lcp i⊂Lcp x ,Lcp i⊂Lcp y
Lcp z¬⊂Lcp i,Lcp z¬⊂Lcp x,Lcp z¬⊂Lcp y
Lcp i¬⊂Lcp z,Lcp x¬⊂Lcp z,Lcp y¬⊂Lcp z
このときのタスク配置に関する一例を図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.
以上の関係が成り立つとき、タスクviから始まる部分クリティカルパス上におけるタスクの集合Lp i,0,Lp i,i,Lp i,x,Lp i,y,Lp i,z,Lp i,n+1は、それぞれ次のように記述することができる。
Lp i,0=φ
Lp i,i=(Lcp ixorLcp i)∪{vi}={vi}
Lp i,x=(Lcp ixorLcp x)∪{vi}={vi,・・,vx}
Lp i,y=(Lcp ixorLcp y)∪{vi}={vi,・・,vy}
Lp i,z=φ
Lp i,n+1=(Lcp ixorLcp n+1)∪{vi}={vi,・・,vx,・・,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 p i, z = φ
L p i, n + 1 = (L cp i xorL cp n + 1) ∪ {v i} = {v i, ··, v x, ··, v n + 1}
さらに、これら集合Lp i,0,Lp i,i,Lp i,x,Lp i,y,Lp i,z,Lp i,n+1どうしの集合和を考えると、次の計算ができる。
Lp i,0∪Lp i,i∪Lp i,x∪Lp i,y∪Lp i,z∪Lp i,n+1
=φ∪{vi}∪{vi,・・,vx}∪{vi,・・,vy}∪φ∪{vi,・・,vx,・・,vn+1}
={vi,・・,vx,・・,vy,・・,vn+1}
すなわち、タスクviの重畳パススコアsiを算出する式は、次の(式2)のように変形できる。
Further, when 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 , Can be calculated.
L p i, 0 ∪L p i , i ∪L p i, x ∪L p i, y ∪L p i, z ∪L p i,
= Φ∪ {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).
さらに、タスクviからの部分クリティカルパスがただ1つ存在すると仮定した場合、任意の0≦j≦n+1について、0≦x≦n+1、0≦y≦n+1、x≠yとなる全てのxとyを考えたとき、{vx|vx∈Lcp x}∩{vy|vy∈Lcp y}=φの条件を加味して(式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).
こうして得られた(式3)に使用される{vj|vj∈Lcp j,Lcp j⊃Lcp i}はそもそも集合Lp i,jの中にタスクvjが存在することで得られるものである。集合Lp i,jの中にタスクvjがあるということは、集合Lp i,jの中にタスクviもあるということであり、vi∈Lcp jとなることでもある。単純にタスクvjの0≦j≦n+1での存在数の合計というのであれば、タスクviの基数をカウントしても同じことになる。よって、(式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
ただし、(式4)への変形は、開始タスクv0からタスクviまでの部分クリティカルパスがただ1つ存在するという仮定のもとになされる変形である。部分クリティカルパスが複数存在する場合には(式4)への最後の変形が否定される。そのため、算出される重畳パススコアsiは、周辺タスクとの比較を行うための評価値としては使用できるものの、任意のタスクviの重畳パススコアsiが後続の部分クリティカルパス上のネット数と同数であるという特徴は失われる。そこで、クリティカルパス算出部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
上述した(式4)への変形をもとに、次のようなアルゴリズムにより、全体集合Lallに対応した重畳パススコアSを求めることができる。
(1) まず、0≦i≦n+1となる重畳パススコアSの要素siを全て0に初期化する。また、部分クリティカルパスを保存しておく集合Lcpをφに初期化する。
(2) 次に、i=0とし、開始タスクv0に対応する重畳パススコアs0に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インクリメントし、タスクviから遡って部分クリティカルパスを探索し、得られたパス上のタスク集合Lcp iをLcpに保存する。ただし、部分クリティカルパスの探索中、タスクvkに対応するLcp kが集合Lcp中に存在した場合、それ以上探索は行わず、探索済みのタスクと共にLcp kの要素であるタスクもLcp iの要素として加える。
(4) 重畳パススコアSの要素中、タスク集合Lcp iに対応する全ての要素siについて1インクリメントする。
(5) 上記(3)〜(4)の手順を繰り返し、i=n+1に達したところでそのときの重畳パススコアSの値を全体集合Lallに対応した重畳パススコアとする。
(3) i is incremented by 1, a partial critical path is searched retroactively from task v i, and the task set L cp i on the obtained path is stored in L cp . However, if L cp k corresponding to the 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 is also L with the searched task. Add as element of cp i .
(4) Increment path score S is incremented by 1 for all elements s i corresponding to task set L cp i .
(5) The above 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を容易に得ることができる。 In this way, 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.
1 タスク情報入力部
2 タスク仮設定部
3 クリティカルパス算出部
4 評価値算出部
5 マップ表示部
1 Task information input
Claims (4)
上記n個のタスクを識別するタスク識別情報、上記n個のタスクの上記スケジュール上での処理順序を表す順序情報、および上記n個のタスクの負荷の大きさを表す負荷情報を含むタスク情報を入力するタスク情報入力部と、
上記タスク情報入力部により上記タスク情報が入力された上記n個のタスクの先頭に開始タスクv0として0番目のタスク情報を仮設定するとともに、上記n個のタスクの末尾に終了タスクvn+1としてn+1番目のタスク情報を仮設定するタスク仮設定部と、
上記タスク情報入力部により入力された上記n個のタスクの上記タスク情報と上記タスク仮設定部により仮設定された上記開始タスクおよび上記終了タスクの上記タスク情報とに基づいて、タスクvi(i=0,1,・・,n,n+1)からタスクvj(j=0,1,・・,n,n+1)までのクリティカルパスをそれぞれ算出し、それぞれのクリティカルパス毎にパス上に含まれるタスクを求めるクリティカルパス算出部と、
上記タスクvi(i=0,1,・・,n,n+1)のそれぞれについて、当該タスクviから始まるそれぞれのクリティカルパス上に含まれるタスクの総数を上記タスクviの評価値として算出する評価値算出部とを備えたことを特徴とするタスクグラフ解析装置。 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.
上記マップ表示部は、上記評価値算出部により算出された評価値の大きさに応じて、上記タスクviから出力される上記先行後続関係を表す線の表示態様を異ならせるようにしたことを特徴とする請求項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
上記n個のタスクを識別するタスク識別情報、上記n個のタスクの上記スケジュール上での処理順序を表す順序情報、および上記n個のタスクの負荷の大きさを表す負荷情報を含むタスク情報を入力するタスク情報入力手段、
上記タスク情報入力手段により上記タスク情報が入力された上記n個のタスクの先頭に開始タスクv0として0番目のタスク情報を仮設定するとともに、上記n個のタスクの末尾に終了タスクvn+1としてn+1番目のタスク情報を仮設定するタスク仮設定手段、
上記タスク情報入力手段により入力された上記n個のタスクの上記タスク情報と上記タスク仮設定手段により仮設定された上記開始タスクおよび上記終了タスクの上記タスク情報とに基づいて、タスクvi(i=0,1,・・,n,n+1)からタスクvj(j=0,1,・・,n,n+1)までのクリティカルパスをそれぞれ算出し、それぞれのクリティカルパス毎にパス上に含まれるタスクを求めるクリティカルパス算出手段、および
上記タスクvi(i=0,1,・・,n,n+1)のそれぞれについて、当該タスクviから始まるそれぞれのクリティカルパス上に含まれるタスクの総数を上記タスクviの評価値として算出する評価値算出手段、
としてコンピュータを機能させるためのコンピュータ読み取り可能なタスクグラフ解析プログラム。 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.
Priority Applications (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 |
PCT/JP2010/061237 WO2011002052A1 (en) | 2009-07-01 | 2010-07-01 | Task-graph analyzing device and task-graph analyzing program |
Applications Claiming Priority (1)
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 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011013874A JP2011013874A (en) | 2011-01-20 |
JP5458350B2 true JP5458350B2 (en) | 2014-04-02 |
Family
ID=43411120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009156588A Active JP5458350B2 (en) | 2009-07-01 | 2009-07-01 | Task graph analysis device and task graph analysis program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5458350B2 (en) |
WO (1) | WO2011002052A1 (en) |
Families Citing this family (1)
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 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3768375B2 (en) * | 2000-04-04 | 2006-04-19 | Necエレクトロニクス株式会社 | Computer apparatus and electronic circuit simulation apparatus |
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 |
JP5255796B2 (en) * | 2007-08-10 | 2013-08-07 | 日本証券テクノロジー株式会社 | Operation management support system, program |
-
2009
- 2009-07-01 JP JP2009156588A patent/JP5458350B2/en active Active
-
2010
- 2010-07-01 WO PCT/JP2010/061237 patent/WO2011002052A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2011002052A1 (en) | 2011-01-06 |
JP2011013874A (en) | 2011-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Reynolds et al. | Revisiting enumerative instantiation | |
Polančič et al. | Complexity metrics for process models–A systematic literature review | |
Maggi et al. | Parallel algorithms for the automated discovery of declarative process models | |
Bose et al. | Enhancing declare maps based on event correlations | |
US20140019941A1 (en) | Data selection | |
JP2003526158A (en) | Synthesis and deletion processing method and system for optimized result derivation workflow | |
KR20160124895A (en) | Diagnosis and optimization of cloud release pipelines | |
US20100088684A1 (en) | Calculating Resource Bounds Of Programs Manipulating Recursive Data Structures And Collections | |
Maggi | Discovering metric temporal business constraints from event logs | |
Verbeek et al. | Merging alignments for decomposed replay | |
JP5458350B2 (en) | Task graph analysis device and task graph analysis program | |
US20130013244A1 (en) | Pattern based test prioritization using weight factors | |
Grosskreutz et al. | A relevance criterion for sequential patterns | |
Zhang et al. | Pathway identification via process mining for patients with multiple conditions | |
CN112883196A (en) | Case allocation method, system, medium and electronic device based on knowledge graph | |
Meseguer | Generalized rewrite theories and coherence completion | |
Van Den Berg et al. | Computing response time distributions using iterative probabilistic model checking | |
CN113419964B (en) | Test case generation method and device, computer equipment and storage medium | |
Li et al. | InterVA4: An R package to analyze verbal autopsy data | |
US8739114B2 (en) | Using infeasible nodes to select branching variables | |
Han et al. | Control-flow pattern based transformation from uml activity diagram to yawl | |
Arnold et al. | Progress determination of a bpm tool with ad-hoc changes: An empirical study | |
JP6604032B2 (en) | Evaluation support device, evaluation support program, and evaluation support system | |
Bano et al. | Database-Less Extraction of Event Logs from Redo Logs | |
CN110704697A (en) | Method for improving business process efficiency based on selection branch construction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120626 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131224 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5458350 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |