(57)【要約】【課題】複数のタスクを含んだ工程の計画モデルを受け取ることと、計画モデルを表すネットワーク図（２００）を含んだレイアウトを生成することとを含む方法を提供すること。【解決手段】この方法はまた、計画モデルの実行をシミュレーションすることと、ネットワーク図（２００）を動的に更新して、シミュレーション中の各タスクに対して追跡される実際のタスク所要期間を反映することとを含む。ネットワーク図（２００）は、時間軸（２０２）に沿って、それぞれのタスクを表す複数のタスクノード（６０４、６０６）を含み、各タスクノード（６０４）が軸に沿った寸法がそれぞれのタスクのタスク所要期間に従ったサイズの輪郭を有する第１の多次元形状として表される。更新されたネットワーク図（２００）において、次に各バッファノード（１１０４、１１０６）が、それぞれの輪郭と同じ第１の多次元形状の、しかし軸に沿った寸法がそれぞれのタスクの実際のタスク所要期間に従ったサイズの塗りつぶし（８１６）をさらに含む。【選択図】図１
2014157602.tif 000002
【特許請求の範囲】
【請求項１】
それぞれの内部製品を生産するための複数のタスクを含んだ工程の計画モデルを受け取り、前記計画モデルを表すネットワーク図（２００）を含むレイアウトを生成するように構成されたレイアウトエンジン（５０２）であって、前記ネットワーク図（２００）が時間軸（２０２）に沿って、工程のそれぞれのタスクを表す複数のタスクノード（２０６、２０８）を含み、各タスクノードが軸（８０２）に沿った寸法がそれぞれのタスクのタスク所要期間に従ったサイズの輪郭を有する第１の多次元形状として表される、レイアウトエンジン（５０２）と、
前記レイアウトエンジン（５０２）に結合され、前記計画モデルの実行をシミュレーションするように構成されたシミュレータ（５０４）とを含み、
前記シミュレータ（５０４）は、前記シミュレーション中の各タスクの実際のタスク所要期間を前記レイアウトエンジン（５０２）に追跡して伝えるように構成され、前記レイアウトエンジン（５０２）は前記ネットワーク図（２００）を動的に更新して前記実際のタスク所要期間を反映するように構成され、更新された前記ネットワーク図（２００）では、各タスクノードが前記それぞれの輪郭と同じ第１の多次元形状の、しかし前記軸（８０２）に沿った寸法が前記それぞれのタスクの前記実際のタスク所要期間に従ったサイズの塗りつぶし（８１６）をさらに含む、
計画エグゼキュータ（１１０）。
【請求項２】
各タスクノード（１１０４、１１０６）が、前記軸（８０２）に沿った長さが前記それぞれのタスクの前記タスク所要期間に従ったサイズの輪郭を有する直方体として表され、
各タスクノード（１１０４、１１０６）が、前記それぞれの輪郭と同じ直方体形状の、しかし前記軸（８０２）に沿った長さが前記それぞれのタスクの前記実際のタスク所要期間に従ったサイズの塗りつぶし（８１６）をさらに含み、前記塗りつぶし（８１６）の前記長さが前記輪郭の前記長さと一致する、
請求項１に記載の計画エグゼキュータ（１１０）。
【請求項３】
前記ネットワーク図（２００）が、前記タスクが配置されるそれぞれの１つまたは複数のチェーンのそれぞれのバッファを表す１つまたは複数のバッファノード（６０８、６１０）をさらに含み、各バッファノードが、前記軸（８０２）に沿った寸法がそれぞれのバッファのサイズに従ったサイズの輪郭を有する第２の多次元形状として表され、
前記シミュレータ（５０４）がさらに、前記シミュレーション中の各バッファのバッファ消費量を前記レイアウトエンジン（５０２）に追跡して伝えるように構成され、前記レイアウトエンジン（５０２）が、前記ネットワーク図（２００）を動的に更新して前記バッファ消費量を反映するように構成され、
前記更新されたネットワーク図（２００）において、各バッファノードが、前記それぞれの輪郭と同じ第２の多次元形状の、しかし前記軸（８０２）に沿った寸法が前記それぞれのバッファの前記バッファ消費量に従ったサイズの塗りつぶし（８１６）をさらに含む、
請求項１に記載の計画エグゼキュータ（１１０）。
【請求項４】
各バッファノードが、前記軸（８０２）に沿った直径が前記それぞれのバッファの前記サイズに従ったサイズの輪郭を有する球として表され、
各バッファノードが、前記それぞれの輪郭と同じ形状の、しかし前記軸（８０２）に沿った前記直径がそれぞれのバッファの前記バッファ消費量に従ったサイズの塗りつぶし（８１６）をさらに含み、前記塗りつぶし（８１６）の中心が前記輪郭の中心と一致する、
請求項３に記載の計画エグゼキュータ（１１０）。
【請求項５】
前記シミュレータ（５０４）が、１つまたは複数の入力を使用する、または必要とする前記タスクの少なくとも一部に対して、各タスクが開始される前にタスクの入力のすべてを利用できる必要がある、データ駆動型の構成で前記計画モデルの実行をシミュレーションするように構成された、請求項１に記載の計画エグゼキュータ（１１０）。
【請求項６】
前記シミュレータ（５０４）が、１つまたは複数の入力を使用する、または必要とする前記タスクの少なくとも一部に対して、各タスクがたとえタスクの入力のすべてが利用できるようになる前でもスケジュールに従って開始できる、スケジュール駆動型の構成で前記計画モデルの実行をシミュレーションするように構成された、請求項１に記載の計画エグゼキュータ（１１０）。
【請求項７】
前記塗りつぶし（８１６）が、タスクがタスクの入力のすべてが利用できるようになった後に開始されるインスタンスでは前記タスクの前記実際のタスク所要期間を表す第１の塗りつぶし（８１６）を含み、
前記塗りつぶし（８１６）が、タスクの入力のすべてが利用できるようになる前に順番を外れて実行されるタスクの前記実際のタスク所要期間を表す第２の塗りつぶし（１１１６ａ）と、前記タスクがタスクの入力のすべてが利用できるようになる前に開始されるインスタンスでは、タスクの入力のすべてが利用できるようになった後に手戻りされる前記タスクの前記実際のタスク所要期間を表す第３の塗りつぶし（１１１６ｂ）とを含む、
請求項６に記載の計画エグゼキュータ（１１０）。
【請求項８】
それぞれの内部製品を生産するための複数のタスクを含む工程の計画モデルを受け取ることと、
時間軸（２０２）に沿って、前記工程のそれぞれのタスクを表す複数のタスクノード（２０６、２０８）を含み、各タスクノード（１１０４、１１０６）が前記軸に沿った寸法がそれぞれのタスクのタスク所要期間に従ったサイズの輪郭を有する第１の多次元形状として表される、前記計画モデルを表すネットワーク図（２００）を含むレイアウトを生成することと、
前記計画モデルの実行をシミュレーションすることであって、前記シミュレーション中に各タスクの実際のタスク所要期間を追跡することを含むことと、
前記ネットワーク図（２００）を動的に更新して、前記実際のタスク所要期間を反映することであって、前記更新されたネットワーク図（２００）において、各タスクノード（１１０４、１１０６）が、前記それぞれの輪郭と同じ第１の多次元形状の、しかし前記軸に沿った寸法が前記それぞれのタスクの前記実際のタスク所要期間に従ったサイズの塗りつぶし（８１６）をさらに含むことと
を含む、方法。
【請求項９】
各タスクノード（１１０４、１１０６）が、前記軸に沿った長さが前記それぞれのタスクの前記タスク所要期間に従ったサイズの輪郭を有する直方体として表され、
各タスクノード（１１０４、１１０６）が、前記それぞれの輪郭と同じ直方体形状の、しかし前記軸に沿った長さが前記それぞれのタスクの前記実際のタスク所要期間に従ったサイズの塗りつぶし（８１６）をさらに含み、前記塗りつぶし（８１６）の長さが前記輪郭の前記長さと一致する、
請求項８に記載の方法。
【請求項１０】
前記ネットワーク図（２００）が、前記タスクが配置されるそれぞれの１つまたは複数のチェーンのそれぞれのバッファを表す１つまたは複数のバッファノード（６０８、６１０）をさらに含み、各バッファノードが、前記軸に沿った寸法がそれぞれのバッファのサイズに従ったサイズの輪郭を有する第２の多次元形状として表され、
実際のタスク所要期間を追跡することが、前記シミュレーション中の各バッファのバッファ消費量を追跡することをさらに含み、前記ネットワーク図（２００）が動的に更新されて前記バッファ消費量を反映し、
前記更新されたネットワーク図（２００）において、各バッファノードが、前記それぞれの輪郭と同じ第２の多次元形状の、しかし前記軸に沿った寸法が前記それぞれのバッファの前記バッファ消費量に従ったサイズの塗りつぶし（８１６）をさらに含む、
請求項８に記載の方法。
【請求項１１】
各バッファノードが、前記軸に沿った直径が前記それぞれのバッファの前記サイズに従ったサイズの輪郭を有する球として表され、
各バッファノードが、前記それぞれの輪郭と同じ球形の、しかし前記軸に沿った直径が前記それぞれのバッファの前記バッファ消費量に従ったサイズの塗りつぶし（８１６）をさらに含むことができ、前記塗りつぶし（８１６）の中心が前記輪郭の中心と一致する、
請求項１０に記載の方法。
【請求項１２】
前記計画モデルの実行をシミュレーションすることが、１つまたは複数の入力を使用する、または必要とする前記タスクの少なくとも一部に対して、各タスクが開始される前にタスクの入力のすべてを利用できる必要がある、データ駆動型の構成で前記計画モデルの実行をシミュレーションすることを含む、請求項８に記載の方法。
【請求項１３】
前記計画モデルの実行をシミュレーションすることが、１つまたは複数の入力を使用する、または必要とする前記タスクの少なくとも一部に対して、各タスクがたとえタスクの入力のすべてが利用できるようになる前でもスケジュールに従って開始できる、スケジュール駆動型の構成で前記計画モデルの実行をシミュレーションすることを含む、請求項８に記載の方法。
【請求項１４】
前記塗りつぶし（８１６）が、タスクがタスクの入力のすべてが利用できるようになった後に開始されるインスタンスでは、前記タスクの前記実際のタスク所要期間を表す第１の塗りつぶし（８１６）を含み、
前記塗りつぶし（８１６）が、タスクの入力のすべてが利用できるようになる前に順番を外れて実行されるタスクの前記実際のタスク所要期間を表す第２の塗りつぶし（１１１６ａ）と、前記タスクがタスクの入力のすべてが利用できるようになる前に開始されるインスタンスでは、タスクの入力のすべてが利用できるようになった後に手戻りされる前記タスクの前記実際のタスク所要期間を表す第３の塗りつぶし（１１１６ｂ）とを含む、
請求項１３に記載の方法。
【請求項１５】
プロセッサによる実行に応じて、装置に少なくとも
それぞれの内部製品を生産するための複数のタスクを含む工程の計画モデルを受け取らせ、
時間軸（２０２）に沿って、前記工程のそれぞれのタスクを表す複数のタスクノード（６０４、６０６）を含み、各タスクノード（６０４）が前記軸に沿った寸法がそれぞれのタスクのタスク所要期間に従ったサイズの輪郭を有する第１の多次元形状として表される、前記計画モデルを表すネットワーク図（２００）を含むレイアウトを生成させ、
前記計画モデルの実行をシミュレーションさせ、前記シミュレーション中に各タスクの実際のタスク所要期間を追跡させることを含み、
前記ネットワーク図（２００）を動的に更新させて、前記実際のタスク所要期間を反映し、前記更新されたネットワーク図（２００）において、各タスクノード（１１０４、１１０６）が、前記それぞれの輪郭と同じ第１の多次元形状の、しかし前記軸に沿った寸法が前記それぞれのタスクの前記実際のタスク所要期間に従ったサイズの塗りつぶし（８１６）をさらに含む、
コンピュータ可読プログラムコード部分を格納したコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して工程計画に関し、詳細には、確率的処理計画モデルのための工程計画の実行の表示に関する。
【背景技術】
【０００２】
大型の商用または軍用航空機の計画および生産のような複雑なプロジェクトは、複数の資源のスケジューリングおよび調整を必要とする。調整される資源には、他の資源に加えて、材料、部品、人材、機械、および工場の床面積が含まれる。高次効果および相互作用が、プロジェクトのコスト、プロジェクトの完了に必要とされる時間、および必要とされる内容を供給できない危険性に悪影響を与える可能性があるので、複雑なプロジェクトにおいて統合および調整は、特に重要である。さらに、プロジェクトの全体的な効率のような他の変数がモデル化され、測定される必要がある。
【０００３】
いくつかの知られている方法では、計画工程は一般的に、タスク依存関係および推定されるタスク所要期間を定義する入力データの処理を含む。タスク依存関係は一般的に、様々なタスクが適切に順序付けられるように、様々なタスク間の関係を表現する。例えば、大型の商用航空機の組立てでは、胴体パネルを生産する前に、アルミニウムシートなどの材料を調達しなければならない。入力データをいくつかの異なる技術に従って処理し、様々なタスクを順序集合（ｏｒｄｅｒｅｄ  ｓｅｔ）に並べることができる。場合によっては、入力データを処理した結果として、非常に多数の異なるパスが生じる可能性があり、入力データがクリティカルと識別される可能性がある多数のパスを含む可能性がある。クリティカルパスは、プロジェクトの所要期間を決定する、プロジェクト全体を通したタスクの配列であり、最小量のスケジューリングの柔軟性（フロート）を有するパスである。したがって、クリティカルパスは、必要な資源の供給に遅れが発生すると必ずプロジェクト全体を遅延させるパスであり、ゆえに、プロジェクト実行において最も重要である。生産工程はしたがって、工程を含む様々な個々のタスク間の関係に基づいて、および工程のクリティカルパスに基づいて、分析することができる。クリティカルパスは、資源の遅れが発生する、および／またはタスク所要期間が推定された値から変わるとき、第１のタスク集合から別のタスク集合に移る可能性がある。したがって、クリティカルパスは固定しておらず、変化する可能性がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第７，８７３，９２０号
【特許文献２】米国特許出願第２０１２／００５０２８７号
【特許文献３】米国特許出願第１３／７５８，４０９号
【特許文献４】米国特許出願第１３／７５８，３５３号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
既存の工程計画方法は有用であるが、それでもやはり欠点を示す。工程の経過中に生産される製品の全順序付け（ｔｏｔａｌ−ｏｒｄｅｒｉｎｇ）により、工程の効率的な実行を可能にすることができる。既存の方法は、全順序を決定することに対応しておらず、順序の基準としてスケジューリングを使用することにより、かなりの順番を外れた手戻り（ｒｅｗｏｒｋ）を発現させている。全順序情報が、現在の方法によって課されているスケジュールの制約を無効にすべきであることを示して、順序付けの制約を課すことによってもたらされるより優れた一貫性（ｃｏｎｓｉｓｔｅｎｃｙ）を実現することができる。スケジューリングを使用する制御の現在の方法は、タスクの完了を制限する工程を過度に制約する（ｏｖｅｒ−ｃｏｎｓｔｒａｉｎ）恐れがある。さらに、大型の製品開発を管理する現在の方法は、望まれるよりも多くの時間を消費し、コストのかかるものとなる恐れがある。したがって、上記の問題、ならびに他の考えられる問題の少なくとも一部を考慮に入れた方法およびシステムを持つことが望ましい。
【課題を解決するための手段】
【０００６】
本開示の例示的実施は、一般的には、確率的処理計画モデルのための工程計画の実行の表示のための、システム、ならびに対応する方法およびコンピュータ可読記憶媒体に向けられる。既存のソリューションは、財務上のビジネスケース正当化に必要であった最初のコストおよびスケジュール要件内で大型の製品開発プログラムを管理するための必要条件を提供できないことを示す。例示的実施は、コスト／スケジュールの超過の主要な根本的原因に対処する情報を提供することができ、救済手段を支援する情報を生み出すことができる。例示的実施は、既存のソリューションを使用することによって引き起こされたコストおよびスケジュール超過の原因および影響を再現する能力を支援する情報を提供することができる。例示的実施はさらに、実行中の計画の状態を表す動的レイアウトを提供することができ、いかなる順序の入れ替わり動作の結果も強調して明示することができる。
【０００７】
例示的実施の１つの態様によれば、複数のタスクを含んだ工程の計画モデルを受け取ることと、計画モデルを表すネットワーク図を含んだレイアウトを生成することとを含む方法が提供される。この方法はまた、計画モデルの実行をシミュレーションすることと、ネットワーク図を動的に更新して、シミュレーション中に各タスクに対して追跡される実際のタスク所要期間を反映することとを含む。ネットワーク図は、時間軸に沿って、それぞれのタスクを表す複数のタスクノードを含み、各タスクノードが、軸に沿った寸法がそれぞれのタスクのタスク所要期間に従ったサイズの輪郭を有する第１の多次元形状として表される。更新されたネットワーク図では、各タスクノードが、それぞれの輪郭と同じ第１の多次元形状の、しかし軸に沿った寸法がそれぞれのタスクの実際のタスク所要期間に従ったサイズの塗りつぶし（ｆｉｌｌ）をさらに含む。
【０００８】
一例では、各タスクノードを、軸に沿った長さがそれぞれのタスクのタスク所要期間に従ったサイズの輪郭を有する直方体として表すことができる。この例では、各タスクノードが、それぞれの輪郭と同じ直方体形状の、しかし軸に沿った長さがそれぞれのタスクの実際のタスク所要期間に従ったサイズの塗りつぶしをさらに含むことができ、塗りつぶしの長さが輪郭の長さと一致する。
【０００９】
一例では、ネットワーク図はさらに、タスクが配置された（１つまたは複数の）それぞれのチェーンのそれぞれのバッファを表す（１つまたは複数の）バッファノードを含む。各バッファノードは、軸に沿った寸法がそれぞれのバッファのサイズに従ったサイズの輪郭を有する第２の多次元形状として表すことができる。この例では、実際のタスク所要期間の追跡はさらに、シミュレーション中の各バッファのバッファ消費量の追跡を含むことができ、ネットワーク図が動的に更新されてバッファ消費量を反映する。更新されたネットワーク図では、各バッファノードがさらに、それぞれの輪郭と同じ第２の多次元形状の、しかし軸に沿った寸法がそれぞれのバッファのバッファ消費量に従ったサイズの塗りつぶしを含むことができる。
【００１０】
さらなる例では、各バッファノードを、軸に沿った直径がそれぞれのバッファのサイズに従ったサイズの輪郭を有する球として表すことができる。このさらなる例では、各バッファノードが、それぞれの輪郭と同じ球形の、しかし軸に沿った直径がそれぞれのバッファの実際のバッファ消費量に従ったサイズの塗りつぶしをさらに含むことができ、塗りつぶしの中心が輪郭の中心と一致する。
【００１１】
１つの例では、１つまたは複数の入力を使用するまたは必要とするタスクの少なくとも一部について、各タスクが開始される前にその入力のすべてを利用できることを必要とする、データ駆動型の構成で、計画モデルの実行をシミュレーションすることができる。追加的に、または代替的に、一例では、１つまたは複数の入力を使用するまたは必要とするタスクの少なくとも一部について、各タスクがたとえタスクの入力のすべてが利用可能になる前であってもスケジュールに従って開始可能である、スケジュール駆動型の構成で、計画モデルの実行をシミュレーションすることができる。
【００１２】
スケジュール駆動型の例では、タスクノードの塗りつぶしは、タスクがタスクの入力のすべてが利用できるようになった後に開始されるインスタンスにおいてタスクの実際のタスク所要期間を表す第１の塗りつぶしを含むことができる。タスクがタスクの入力のすべてが利用できるようになる前に開始される別のインスタンスでは、タスクノードの塗りつぶしは、タスクの入力のすべてが利用できるようになる前に順番を外れて実行されるタスクの実際のタスク所要期間を表す第２の塗りつぶしと、タスクの入力のすべてが利用できるようになった後に手戻りされた（ｒｅｗｏｒｋｅｄ）タスクの実際のタスク所要期間を表す第３の塗りつぶしとを含むことができる。
【００１３】
例示的実施の他の態様では、計画エグゼキュータおよびコンピュータ可読記憶媒体が提供される。本明細書に記載する特徴、機能、および利点は、様々な例示的実施において独立して実現されることが可能であり、またはさらに他の例示的実施において組み合わされることが可能であり、これらのさらなる詳細については、次の説明および図面を参照して理解することができる。
【００１４】
開示の例示的実施について一般的な言葉で説明したが、次に、必ずしも一定の縮尺に応じて描かれていない添付の図面を参照する。
【図面の簡単な説明】
【００１５】
【図１】例示的実施に従った工程計画システムを示す図である。
【図２】例示的実施に従ったフィードフォワードネットワークを示す図である。
【図３】例示的実施に従ったフィードフォワードネットワークを示す図である。
【図４】例示的実施に従った全順序付けシステムの一例を示す図である。
【図５】例示的実施に従った計画エグゼキュータの一例を示す図である。
【図６】例示的実施に従ったレイアウトを示す図である。
【図７】例示的実施に従った状態図である。
【図８】例示的実施に従ったレイアウトを示す図である。
【図９】例示的実施に従ったレイアウトを示す図である。
【図１０】例示的実施に従った状態図である。
【図１１】例示的実施に従ったレイアウトを示す図である。
【図１２】例示的実施に従ったレイアウトを示す図である。
【図１３】例示的実施に従ったレイアウトを示す図である。
【図１４】例示的実施に従ったレイアウトを示す図である。
【発明を実施するための形態】
【００１６】
次に本開示のいくつかの実施について、開示のすべての実施ではないが、一部の実施を示す、添付の図面を参照して以下にさらに十分に説明する。実際には、開示の様々な実施は、多くの異なる形式で具体化することができるが、本明細書に示す実施に限定されるものと解釈されるべきではなく、むしろこれらの例示的実施は、本開示が徹底した、完全なものとなるように、および当業者に本開示の範囲を十分に伝えるように、提供される。例えば、別に指示がない限り、第１、第２などとして何かに言及することは、特定の順序を暗示すると解釈されるべきではない。また、他の何かの上にあると説明される何かは、（別に指示がない限り）代わりに下にある場合もあり、逆もまたしかりであり、同様に、何かの左側にあると説明される何かは、代わりに右側にある場合もあり、逆もまたしかりである。同じ参照符号は、全体を通して同じ要素を指す。
【００１７】
次に図１を参照すると、本開示の例示的実施に従って、工程計画システム１００が示されている。このシステムは、（それぞれ個々のシステムに）１つまたは複数の機能または操作を行うためのいくつかの異なるサブシステムのいずれかを含むことができる。図に示すように、例えばシステムは、工程構築システム１０２、全順序付けシステム１０４、スケジュールモデラー１０６、計画モデラー１０８含、および／または計画エグゼキュータ１１０を含むことができる。工程構築システムは、一般的には、製品の生産の工程を構築するように構成することができる。全順序付けシステムは、一般的には、工程構築システムによって構築された工程のような工程において全順序付けを確立するように構成することができる（時には整列（ｗｅｌｌ−ｏｒｄｅｒｉｎｇ）が互換的に使用されるが、より詳細には、すべての非空の部分集合が最小要素を有する全順序付けされた集合を指す）。スケジュールモデラーは、一般的には、全順序付けシステムからの工程のような全順序付けされた工程に従って工程スケジュールを構築するように構成することができる。次に計画モデラーは、工程およびそのスケジュールに基づいて計画モデルを構築するように構成することができる。また計画エグゼキュータは、一般的には、計画モデルの実行をシミュレーションし、その実行中の計画の状態を表す動的レイアウトを生成するように構成することができ、順番を外れたいかなる動作の結果も強調して、明示することができる。
【００１８】
工程計画システム１００の一部として示しているが、工程構築システム１０２、全順序付けシステム１０４、スケジュールモデラー１０６、計画モデラー１０８、および／または計画エグゼキュータ１１０の１つまたは複数は、代わりに工程計画システムから分離し、しかし工程計画システムと通信している場合もある。サブシステムの１つまたは複数が、サブシステムの他のものを意識することなく別個のシステムとして機能するまたは動作する場合があることもまた理解すべきである。またさらに、工程計画システムは、図１に示すサブシステム以外の１つまたは複数の追加的サブシステムまたは代替的サブシステムを含む場合があることも理解すべきである。
【００１９】
上に示すように、工程構築システム１０２は、製品の生産の工程を構築するように構成することができる。物質的製品（例えば、物）および非物質的製品（例えば、情報）などの製品は、製品の構成要素の階層的分類（以下「階層」と呼ぶ）の観点から説明することができる。「工程」は、各構成要素の作成と関連するタスクおよび優先順位（ｐｒｅｃｅｄｅｎｃｅ）を定義することによって、製品の生産を記述するように適合することができる。例えば、優先順位は、特定のタスクが完了された後に、別のタスクが行われるべきであることを示すことができる。様々な例では、タスクが、構成要素の作成中に行われる活動または一連の活動を指すことがある。
【００２０】
複雑な工程は、１つまたは複数のサブ工程を含むことができ、そのそれぞれが時には、複雑な工程またはサブ工程の他のものを意識することのない個々の工程と考えられることがある。一例では、工程構築システム１０２によって構築される工程は、ネットワークとして表現できるものであることがある。工程構築システムは、いくつかの異なる方法のいずれかで、好適なネットワークを構築することができる。一例では、工程構築システムは、前述の’７６８特許に記載される技術に従ってネットワークを構築することができる。一例では、工程、ひいてはそのネットワーク表現は、フィードフォワードの制約を維持して、工程内にサイクルまたはループが含まれないように適合することができる。工程およびそのネットワーク表現は、他の工程と結合してより大型の工程を生成することができるように拡張可能（ｓｃａｌａｂｌｅ）とすることもできる。
【００２１】
本明細書で使用する「製品」は、ネットワークにおいて工程に入力されるもの、または工程によって生産されるものを指すことができる。例示の工程は、商用航空機開発工程とすることができる。一例では、商用航空機開発工程の製品は、航空機、または航空機の一部（例えば、胴体セクション、翼、着陸装置、エンジンなど）を含むことができる。別の例では、製品は、型式証明（ｔｙｐｅ  ｃｅｒｔｉｆｉｃａｔｅ）または航空機の合法利用に関連する他の関係書類を含むことができる。さらに別の例では、製品は、設計仕様書または設計および／または組立てに関連する他のデータセットを含むことができる。製品の他のいくつかの例は、翼中央セクション、操縦コラムおよび車輪、頭上収納棚（ｏｖｅｒｈｅａｄ  ｓｔｏｗａｇｅ  ｂｉｎ）、乗客配置のレイアウト、前桁境界面の荷重（ｆｒｏｎｔ  ｓｐａｒ  ｉｎｔｅｒｆａｃｅ  ｌｏａｄｓ）、ピッチングモーメント曲線などを含むことができる。
【００２２】
製品は、「内部製品」または「外部製品」のいずれかとすることができる。内部製品は、ネットワークにおける１つまたは複数のタスクによって生産できるものとすることができる（様々なインスタンスにおけるそれぞれの１つまたは複数のタスクがサブ工程と考えられる）。１つの例では、内部製品が、セグメントと考えられることがあり、これは、別の内部製品の構成要素ではなく、代わりにより詳細な構成要素に分かれた内部製品である可能性がある。内部製品は、外部製品および／または内部製品を入力として受け取ることができる。商用航空機開発工程における内部製品のいくつかの例は、航空電子機器（ａｖｉｏｎｉｃｓ）、推進システム、エンジン固有の燃料消費曲線などを含むことができる。各内部製品は、１つまたは複数の「内部入力」を含むことができ、内部製品を生産するためにこれを利用するまたは必要とする可能性がある。
【００２３】
内部入力は、「内部構成要素（ｉｎｔｅｒｎａｌ  ｃｏｍｐｏｎｅｎｔ）」と、「構成要素入力（ｃｏｍｐｏｎｅｎｔ  ｉｎｐｕｔ）」を含むことができる。内部構成要素は、内部製品と同じセグメントの部分ではない非外部入力の部分集合を指すことができる。構成要素入力は、内部製品と同じセグメントの部分ではない非外部入力の部分集合を指すことができる。各構成要素入力は、複数の「構成要素製品」含むことができ、その集合体が構成要素入力を形成する。例示の内部製品は、サブアセンブリとすることができる。サブアセンブリについては、例示的構成要素入力が、サブアセンブリの部品であることが可能であり、例示的内部構成要素が、部品を組み立ててサブアセンブリを生産するツールであることが可能である。この場合、部品は集まってサブアセンブリを形成する。したがって、部品は、サブアセンブリと同じセグメントにおいて検討される。対照的に、部品を組み立てるツールは、サブアセンブリ内に含まれない。したがって、ツールは、サブアセンブリと同じセグメントの部分ではないと考えられる。
【００２４】
外部製品は、ネットワーク中の工程の外側で生産することができる。内部製品とは対照的に、外部製品への入力は、工程またはそのネットワーク表現の中で表すことができない。商用航空機開発工程における外部製品のいくつかの例には、規制上の要件、顧客の要求、会社のグラウンドルール、既存の設備などが含まれる。外部製品は、複数の構成要素を含むことができ、その集合体が外部製品を形成する。外部製品を形成するこのような各構成要素を、本明細書では「外部構成要素」と呼ぶことがある。内部製品、外部製品、内部構成要素、構成要素入力、および／または外部構成要素は、所与の内部製品を生産するように適合された工程への一連の入力を形成することができる。
【００２５】
各内部製品は、構成要素とすることができる。各構成要素は、複数の入れ子になった構成要素を含むことができ、さらに、階層のより深いレベルにさらなる入れ子になった構成要素を含むことができる。商用航空機開発工程では、セグメント構成要素のいくつかの例には、技術評価、試験的な設計、概念設計、予備設計、生産システム、インフラストラクチャ、詳細生産計画、車両製品（ｖｅｈｉｃｌｅ  ｐｒｏｄｕｃｔ）、製品検証などが含まれる。例示的構成要素「インフラストラクチャ」は、入れ子になった構成要素「生産設備」を含むことができ、「生産設備」はさらに、入れ子になった構成要素「主要アセンブリ」を含む。構成要素「主要アセンブリ」は、入れ子になった構成要素「翼中央セクション」を含むことができ、「翼中央セクション」はさらに、入れ子になった構成要素「上パネル」を含む。構成要素「上パネル」から、さらなる入れ子になった構成要素が続くことがある。
【００２６】
本明細書で使用する「入力」は、別の製品を生産するためにタスクが使用するまたは必要とすることがある、内部製品または外部製品のような製品を指すことができる。すなわち、第１の製品が第２の製品への入力であると述べることは、第２の製品を生産するためにタスクが第１の製品を使用する、または必要とすることを指すことができる。例えば、内部製品が、航空機翼の設計仕様書であることがある。外部製品が、詳細な設計の作成に使用される、または必要とされる留め具の仕様書であることがある。この場合、航空機翼の設計仕様書は、留め具の仕様書を使用する、または必要とするので、留め具の仕様書は、航空機翼の設計仕様書への外部入力と呼ぶこともできる。いくつかの例示的実施によれば、内部製品が入力を受け取ることはできるが、外部製品が入力を受け取ることはできない。入力を選択するための例示的技術は、上記の、組み込まれている’７６８特許に説明されている。
【００２７】
工程構築システム１０２によって構築された工程は、１つまたは複数の外部製品および２つ以上のセグメントを含むフィードフォワードネットワークによって表すことができる。１つの例では、’７６８特許においてより詳細に説明されるように、工程構築は、工程の最終製品として１つまたは複数のセグメントを選択することを含むことができる。セグメントレベルでは、フィードフォワードネットワークは、その入力として最終セグメントの生成に必要とされる他のセグメントを選択することによって初期化することができる。次いで、フィードフォワードネットワークの順序を乱さない入力を指定し、フィードフォワードネットワークをさらに増大させることができる。セグメントがその製品を生産するために入力として外部製品のみを必要とする場合、これは、初期製品とすることができる。工程構築のこの、セグメントレベルの段階を完了するには、初期製品を最終製品につなげ、ネットワークのすべてのセグメントを含んだフィードフォワードネットワークの確立が必要である。様々な例では、フィードフォワードネットワークへの適切なつながりを確立する新しい外部製品およびセグメントを追加することができる。これは、すべてのセグメントが少なくとも１つの指定された内部入力または外部入力を有することを意味することができる。
【００２８】
上述のように、セグメントは、より詳細な構成要素に分割されることを意図された工程の内部製品であることがある。同様に、外部製品は、より詳細な外部構成要素に分割されることがある。内部製品および外部製品は、工程を根とする階層を形成することができる。フィードフォワードネットワークの新しい、下位レベルを作成するとき、この階層は、この新しいレベルでネットワークにつなげられる構成要素および外部製品を追加することによって一様に拡張することができる。各セグメントに２つ以上の構成要素を定義して次のレベルのネットワークを作成することができる。同様に、工程に必要とされる外部製品のそれぞれが、それを構成する少なくとも２つの詳細な外部製品を有することがあり、これを定義することができる。
【００２９】
構成要素への入力の選択は、セグメントへの入力の選択よりも制限的である可能性がある。やはりフィードフォワードであって、単一セグメントの構成要素のみをつなげるサブネットワークを、例えば各構成要素の構成要素入力を指定することによって、各セグメントに対して確立することができる。さらに、含んでいるセグメントの入力の構成要素は、構成要素への唯一の可能な内部入力とすることができる。構成要素への外部入力を、同様に抑制することができる。構成要素への内部入力および外部入力の追加は、その構成要素および構成要素のサブネットワークを構成要素のレベルでフィードフォワードネットワークに統合することができる。セグメントの構成要素の少なくとも１つは、そのセグメントの内部入力のそれぞれの構成要素の少なくとも１つを入力することができ、同様に、セグメントの外部入力からの構成要素に対して外部入力を指定するためである。
【００３０】
工程階層は、構成要素および外部製品のレベルを追加することによってさらに分類することができる。含んでいる各構成要素の構成要素入力は、セグメントの内部入力がその構成要素の内部入力を制約するのと同じ方法で、含まれている構成要素の内部入力を抑制することができる。その他の場合は、構成要素のレベルおよびその結果として生じるサブネットワークは、セグメントの構成要素の第１のレベルと同じ方法で指定することができる。
【００３１】
同じレベルの階層的分類が上記のように構築された２つの工程は、工程の一方の製品を他方の外部入力にマッピングすることができる場合、結合することができる。同様に、同じセグメントレベルの２つのフィードフォワードネットワークは、一方の外部入力要求が、他方への外部入力要求に優先せず、ネットワークを単一工程に結合することができるものである。
【００３２】
図２は、１つの例示的実施の工程構築システム１０２によって構築される工程を表すことができる好適なネットワーク図２００の例示的レイアウトを示す。レイアウトにおいて標準的なネットワーク特性を使用して、表示されたデータに意味を追加することができる。図のように、例えばネットワークは、中心時間軸２０２と、工程のそれぞれの製品を表す複数のネットワークノード２０４とを含む。ノードは、ノード間の、およびこれに対応して工程のそれぞれの製品間の、先行関係（ｐｒｅｃｅｄｅｎｃｅ  ｒｅｌａｔｉｏｎｓｈｉｐｓ）を反映するエッジによってつなげることができる。ネットワークノードのそれぞれは、中心時間軸からのネットワークノードの距離を決定するために使用することができる関連するスラックパラメータ（ｓｌａｃｋ  ｐａｒａｍｅｔｅｒ）を含むことができる。この点において、ゼロスラック値を有するノード２０６は、軸上に、または軸付近にあるように選択することができ、より高いスラック値を有する他のノード２０８は、軸の周囲に位置付けることができる。１つの例では、ノード２０６は、その順序に柔軟性がなく（直線的に制約された）厳密に順序付けられたノードとすることができ、軸は、直線の、厳密に順序付けられた軸とすることができる。この例では、他のノード２０８は、その順序にいくらか柔軟性のある並列ノードとすることができる。以下により詳細に説明するように、ノード２０６は、第１のチェーンまたはアルファチェーン（ａｌｐｈａ  ｃｈａｉｎ）を形成することができ、他のノード２０８は、１つまたは複数の第２のチェーンまたは第２のアルファチェーンを形成することができる。
【００３３】
図３は、図２００と同様の好適なネットワーク図３００を示すが、これはより複雑な工程を表すことができる。図のように、図２の図と同様に、図３の複数のネットワークノード３０２のネットワーク図は、エッジでつないでノード間の先行関係を反映することができ、差し込み図３０４にその一部をさらに強調している。図２および３のレイアウト、ならびに例示的実施に従った他の好適なレイアウトに関するさらなる情報については、２０１１年１月１８日に発行された、「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｄｉｓｐｌａｙｉｎｇ  Ｎｅｔｗｏｒｋ  Ｉｎｆｏｒｍａｔｉｏｎ」という名称の、米国特許第７，８７３，９２０号を参照する。好適なネットワーク図の他の例示的レイアウトについては、２０１２年３月１日に発行された、「Ｔｈｒｅｅ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｄｉｓｐｌａｙ  ｏｆ  Ｓｐｅｃｉｆｉｃａｔｉｏｎｓ  ｉｎ  ａ  Ｓｃａｌａｂｌｅ  Ｆｅｅｄ−Ｆｏｒｗａｒｄ  Ｎｅｔｗｏｒｋ」という名称の米国特許出願第２０１２／００５０２８７号を参照する。
【００３４】
図２および図３のネットワーク図２００、３００のようなネットワーク図では、ノード２０４、３０２は、内部製品を生産するためのタスクを表すことができる。ノードをつなぐエッジは、したがって内部製品を表し、タスク間の先行関係を反映することができる。例えば、別の内部製品の生産に使用される、または必要とされる内部製品は、それぞれの内部製品および他の内部製品を生産するためのタスクを表すノードをつなぐエッジで表すことができる。この例では、内部製品を生産するためのタスクは先行作業（ｐｒｅｄｅｃｅｓｓｏｒ）と考えることができ、他の内部製品を生産するためのタスクは後続作業（ｓｕｃｃｅｓｓｏｒ）と考えることができる。この方法では、ネットワークによって表される工程の内部製品を生産するためのタスク（ノード）は、これらをつなぐ内部製品（エッジ）に従って適切に順序付けることができる。
【００３５】
１つの例では、内部製品の全順序付けは、工程の効率的な実行を可能にすることができる。この点において、全順序付けのような順序付けの制約が、個々の内部製品が工程実行の実績および資源に及ぼす可能性のある影響力の程度を差別化することができる。統合の制約を守ることにより、工程の効率的な実行が可能になる。図４は、１つの例では図１の全順序付けシステム１０４に対応することができる、全順序付けシステム４００を示す。図のように、全順序付けシステム４００は一般的に、工程構築システムによって構築される工程のような工程において全順序付けを確立するように構成することができる。図のように、全順序付けシステムは、セグメントレベルの全順序付けモジュール４０２と、１つまたは複数の下位レベルの全順序付けモジュール４０４と、最下位レベルの全順序付けモジュール４０６とを含むことができる。様々な例では、全順序付けシステムは、単にセグメントレベルの全順序付けモジュールを含むことがある、または単にセグメントレベルの全順序付けモジュールと、下位レベルの全順序付けモジュールとを含むことができる。またはより詳細については、全順序付けシステムは、セグメントレベルの全順序付けモジュールと、１つまたは複数の下位レベルの全順序付けモジュールと、最下位レベルの全順序付けモジュールとを含むことができる。
【００３６】
セグメントレベルの全順序付けモジュール４０２は、工程構築システム１０２によって構築された工程のような、階層フィードフォワード工程においてセグメントレベルで全順序付けを確立するように構成することができる。セグメントレベルの全順序付けモジュールはまた、内容の一貫性を実現するために、ネットワークモデル構造の確立中に詳細レベルのバランスを取り戻すように構成することができる。下位レベルの全順序付けモジュール４０４は、工程を１つまたは複数の下位レベルに分解することを通して全順序付けが満たされたかどうかを判断するように構成することができ、分解中に詳細レベルのバランスを取り戻すこともできる。同様に、最下位レベルの全順序付けモジュール４０６は、工程の下位レベルを通して工程の全順序付けを確認するように構成することができる。様々な例では、下位レベルの全順序付けモジュールは、全順序を満たすように最下位レベルの構成要素の内容を調整するように構成することもできる。様々な例では、全順序付けシステム４００は、各階層レベルにある詳細な内容に一貫性を有する、拡張可能な階層フィードフォワードネットワークとして表すことができる全順序付け工程を生成することができる。セグメントレベルの全順序付けモジュール、下位レベルの全順序付けモジュール、および最下位レベルの全順序付けモジュールなど、好適な全順序システムに関するさらなる情報については、その１つの例では全順序付けシステム４００、および図４のセグメントレベルの全順序付けモジュール４０２、下位レベルの全順序付けモジュール４０４、および最下位レベルの全順序付けモジュール４０６のそれぞれの１つに対応することができるが、２０１３年２月４日に出願された、「Ｔｏｔａｌ−Ｏｒｄｅｒｉｎｇ  ｉｎ  Ｐｒｏｃｅｓｓ  Ｐｌａｎｎｉｎｇ」という名称の米国特許出願第１３／７５８，４０９号を参照されたい。
【００３７】
工程構築システム１０２によって構築された工程、および／または全順序付けシステム１０４によって全順序付けされた工程のような工程は、工程関連情報で記述することができ、好適な全順序付けネットワークで表すことができる。工程関連情報は、工程の、内部製品、外部製品、内部構成要素、構成要素入力、および／または外部構成要素を記述することができる。工程関連情報は、内部製品を生産するためのタスク、およびタスク間の先行関係（先行作業、後続作業）を記述することができる。さらにまた、工程関連情報は、工程の内部製品を生産するためのそれぞれのタスクのタスク所要期間を含むことができる。タスク所要期間は、単一推定値、複数の推定値のいくつかの組合せ、または統計的量によるなど、いくつかの異なる方法のいずれかで表すことができる。１つの例では、タスク所要期間は、確率分布で表すことができる。
【００３８】
工程の内部製品を生産するためのタスクは、タスクのそれぞれを工程の生成中にスケジュールすることができる論理的に配列されたタスクの１つまたは複数のパスまたはチェーンに配置することができる（本明細書では一般的に「チェーン」と呼ぶ）。図２および３について上述したように、厳密に順序付けられたタスクを含むチェーンは、第１のチェーンまたはアルファチェーンと考えることができ、その他のチェーンは、第２のチェーンまたは第２のアルファチェーンと考えることができる。１つの例では、各チェーンはさらに、チェーンのタスクのタスク所要期間における不確実性の主要因となる可能性がある所要期間のバッファを含むことがある。アルファチェーンについては、バッファは時には、第１のバッファ、プロジェクトバッファ、またはアルファバッファと呼ばれることがあり、各第２のアルファチェーンについては、バッファは時には、第２のバッファ、または第２のアルファバッファと呼ばれることがある。
【００３９】
例示の実施の工程は、そのタスクの実行が、タスクのそれぞれの入力があることまたは利用できること（一般的には「利用できる」）に依存する可能性があるデータ駆動型（またはデータに基づく）として構成することができる。上記のように、内部製品を生産するためのタスクは、１つまたは複数の内部製品および／または外部製品のような、１つまたは複数の入力を利用する、または必要とする可能性がある。これらの入力は、同時に、または異なる時に、利用できる可能性があり、少なくとも最後の入力を一時的に含む可能性がある。１つの例では、データ駆動型工程のタスクは、タスクが開始される前に、最後の入力を含むタスクの入力のすべてを必要とし、したがって、順次に行われなければならない。
【００４０】
次に一時的に図１に戻ると、工程構築システム１０２によって構築され、および／または全順序付けシステム１０４によって全順序付けされた工程のような工程を表すネットワークは、工程の内部製品を生産するためのタスクの論理的順番を説明することができる。次に工程計画システム１００のスケジュールモデラー１０６は、一般的には、全順序付け工程の工程関連情報を受け取り、この情報から、工程のタスクの少なくとも一部を実行するために工程スケジュールを構築するように構成することができる。好適なスケジュールモデラーおよび工程スケジュールを構築できる方法に関するさらなる情報については、２０１３年２月４日に出願された、「Ａｌｐｈａ−Ｃｈａｉｎ  Ｃｏｎｓｔｒａｉｎｔｓ  ｆｏｒ  Ｐｒｏｃｅｓｓ  Ｐｌａｎｎｉｎｇ」という名称の、米国特許出願第１３／７５８，３５３号を参照されたい。
【００４１】
１つの例では、スケジュールモデラー１０６は、タスクの入力依存関係に基づいてタスクをスケジュールするように構成することができ、個別の期日または個別のタスク所要期間を必要としないことがある。上に説明するように、工程の内部製品を生産するためのタスクは、アルファチェーンおよび場合によっては１つまたは複数の第２のアルファチェーンなどのチェーンに配置することができ、そのそれぞれが、それぞれのプロジェクトまたは第２のバッファを含むことができる。１つの例では、各チェーンについて、スケジュールモデラーは、チェーンのタスクの平均所要期間を計算するように構成することができ、１つの例では、それぞれのチェーンのバッファサイズ（所要期間）を計算するように構成することができる。スケジュールモデラーは、いくつかの異なる方法のいずれかで、平均所要期間およびバッファを計算するように構成することができる。好適な方法の１つの例は、やはり、「Ａｌｐｈａ−Ｃｈａｉｎ  Ｃｏｎｓｔｒａｉｎｔｓ  ｆｏｒ  Ｐｒｏｃｅｓｓ  Ｐｌａｎｎｉｎｇ」という名称の、前述の’３５３出願に開示されている。
【００４２】
スケジュールモデラー１０６は、アルファチェーンに対して、平均タスク所要期間およびプロジェクトバッファのサイズを計算することができ、同様に、１つまたは複数の第２のアルファチェーンに対して、平均タスク所要期間および第２のバッファのサイズを計算することができる。スケジュールモデラーはさらに、アルファチェーンおよび任意の第２のアルファチェーンに対して、タスクに基づいて、およびそれぞれのチェーンの平均タスク所要期間およびバッファサイズに基づいて、工程スケジュールを構築するように構成することができる。１つの例では、スケジュールモデラーは、各チェーンのタスクおよびバッファを、タスクの平均所要期間およびバッファサイズに従って、バッファがチェーンの最後のタスクの後に（一時的に）配列されるように、配列することができる
【００４３】
上記のように、工程計画システム１００はさらに、工程およびそのスケジュールに基づいて計画モデルを構築するように構成された計画モデラー１０８を含むことができる。１つの例では、全順序付けシステム１０４またはスケジュールモデラー１０６は、全順序付けされた工程のための工程関連情報（例えば、ネットワーク）を、計画モデラーに伝えることができ、スケジュールモデラーは、工程スケジュールを計画モデラーに伝えることができる。次に計画モデラーは、工程関連情報、計画スケジュール、およびその他の適切な情報を計画モデルにコンパイルすることができる。１つの例では、この他の適切な情報は、資源および工程に対するポリシー制約を記述するリソース関連情報を含むことができる。資源関連情報には、例えば、必要な人員、労働力、工場の床面積可用度、必要な生産設備、および／または工程の実行に必要とされるその他の資源が含まれる。様々な例では、計画モデラーは、工程を実行するために資源を割り当てることができ、潜在的な競合または工程の実行中に発生する可能性がある他の問題を特定することができる。例えば、計画モデラーは、タスクが、現在利用できる量よりも多くの特定の資源の量を必要とするかどうかを判断することができる。別の例では、計画モデラーは、あらかじめ決定された終了日（例えば、マイルストーン（ｍｉｌｅｓｔｏｎｅ））を超過する工程に対して完了日を予想することができる。こうした競合／問題は、適切な人員に伝えられて、容易に判断を下し、様々な是正措置をとることができるようにする。
【００４４】
図５は、１つの例では図１の計画エグゼキュータ１１０に対応することができる計画エグゼキュータ５００を示す。計画エグゼキュータ５００は、一般的には計画モデルの実行をシミュレーションし、その実行中に計画の状態を表す動的レイアウトを生成するように構成することができる。図のように、計画エグゼキュータは、レイアウトエンジン５０２と、計画モデラー（例えば、計画モデラー１０８）によって構築された計画モデルのような計画モデルを受け取るように構成されたシミュレータ５０４とを含むことができる。レイアウトエンジンは、計画モデルを表すことができる好適なネットワーク図を含んだレイアウトを生成するように構成することができる。好適なネットワーク図の１つの例を図６に示す。図のように、例えばネットワーク図６００は、中心時間軸６０２を含む。軸に沿って、ネットワーク図は、工程の内部製品を生産するためのそれぞれのタスクを表すタスクノード６０４、６０６を含む複数のネットワークノードを含む。タスクは、１つまたは複数のチェーンに配置することができ、各チェーンに対してネットワークノードは、チェーンのバッファを表すバッファノード６０８、６１０を含むことができる。より明確にするために図示していないが、ネットワークノードは、ネットワークノード間、およびそれに対応して工程のそれぞれのタスク間の先行関係を反映するエッジでつなぐことができる。
【００４５】
タスクノード６０４、６０６のそれぞれは、中心時間軸６０２からのそれぞれのノードの距離を決定するために使用することができる関連するスラックパラメータを含むことができる。この点において、ゼロスラック値を有するタスクノード６０４は、軸上または軸付近にあるように選択することができ、アルファチェーンを形成することができる。アルファチェーンにおける最後のタスクノード後に、ネットワーク図６００は、プロジェクトバッファを表すバッファノード６０８を含むことができる。より高いスラック値を有する他のノード６０６は、軸の周りに配置することができ、１つまたは複数の第２のアルファチェーンを形成することができる。これらの第２のアルファチェーンのそれぞれの後に、ネットワーク図は、第２のバッファを表すそれぞれのバッファノード６１０を含むことができる。
【００４６】
１つの例では、ネットワークノードは、ノードの平均所要期間またはバッファサイズに従ったサイズの軸６０２に沿った寸法の輪郭を有することができる多次元形状として表すことができる。図６への差し込み図６１２にさらに詳細に示す１つの例では、タスクノード６０４、６０６を、長方形（二次−２Ｄ）または直方体（三次元−３Ｄ）のような第１の多次元形状として表すことができる。そして次にバッファノード６０８、６１０を、円（２Ｄ）または球（３Ｄ）のような異なる第２の多次元形状として表すことができる。１つの例では、タスクノードを表す長方形または直方体は、それぞれのタスクの平均所要期間に従ったサイズの軸に沿った長さで輪郭を描くことができる。同様に、バッファノードを表す円または球は、直径をそれぞれのバッファサイズに従ったサイズにして輪郭を描くことができる。さらに図に示すように、多次元形状は、最初に特定の色で輪郭を描き、塗りつぶしなしとすることができ、これが実行前の計画モデルを表すことができる。
【００４７】
シミュレータ５０４は、計画モデルの実行をシミュレーションするように構成することができ、シミュレータはこれを、そのデータ駆動型構成の計画モデルで実行することができる。シミュレーションは、例えばモンテカルロ解析（Ｍｏｎｔｅ−Ｃａｒｌｏ  ａｎａｌｙｓｉｓ）によるなど、いくつかの異なる方法で実行することができる。１つの例では、シミュレータは、例えば分布から値を無作為に、または擬似的無作為に選択するための方法（例えば、モンテカルロ）に従って、それぞれのタスクのタスク所要期間を、それらのそれぞれの確率分布から予想する、または選択するように構成することができる。シミュレータは次に、複数の時間ステップのそれぞれに対して各タスクを調べ、計画モデルにおけるタスクのライフサイクルを通してタスクの状態を評価することができる。
【００４８】
各タスクは、シミュレータ５０４が各タスクを開始することができる「待ち」状態から始まるいくつかの状態を通して進化することができる。タスクが置かれる可能性のある他の状態は、「資源待ち」、「開始」、「終了」などを含むことができる。シミュレーション中、タスクの状態は、シミュレータが例えば瞬間的におよび／または累積的に追跡する変数の数によって決まる。これらの変数は、例えば、先行タスクからのその入力の可用性、タスクを実行するために必要とされる資源の可用性および／または使用量を含むことができる。１つの例では、シミュレータは、計画モデルのタスクを、タスクがすべて、終了状態とすることができるタスクのライフサイクルの終わりに達するまで調べることができる。
【００４９】
図７は、データ駆動型の場合のタスクのライフサイクルの状態図７００を示す。図のように、データ駆動型タスクのライフサイクルは、待ち状態７０２から始まり、その入力を生成するためのタスクがすべて終了状態に達すると、資源待ち状態７０４に移ることができる。これは、タスクの入力のすべてが利用できることを示すことができる。タスクを実行するために必要とされる資源が利用できるようになると、タスクは資源待ち状態から開始状態７０６に移ることができ、このとき、開始時間を記録することができる。様々なインスタンスにおいて、資源が利用できるようになった後にタスクの入力が利用できるようになり、こうしたインスタンスでは、１つの例ではシミュレーションは、タスクを待ち状態から資源待ち状態を経て開始状態に、即座に移すことができる。開示状態になると、その後の各時間ステップに対してタスク所要期間をデクリメントすることができ、その後タスク所要期間がゼロに到達すると、この時点でタスクは完了し、終了状態７０８に移ることができる。
【００５０】
シミュレータ５０４が計画モデルの実行をシミュレートするとき、シミュレータは、記録された開始時間から始まって、タスクが終了状態に移る時に終わる、開始状態の各タスクの実際のタスク所要期間を追跡することができる。同様に、シミュレータは、タスクの各チェーンについてバッファ消費量を追跡することができ、バッファ消費量は、チェーンにおけるそれぞれの平均タスク所要期間を超える実際のタスク所要期間の合計を含むことができる。シミュレータは、実際のタスク所要期間およびバッファ消費量をレイアウトエンジン５０２に伝えることができ、レイアウトエンジン５０２は、計画モデルを表すネットワーク図を動的に更新して、情報を反映することができる。様々な例では、計画モデルの実行およびタスクの進行および実行中のバッファ消費量を反映することは、シミュレーション中に１回または複数回行われることがある。
【００５１】
シミュレータ５０４が計画モデルの実行をシミュレーションした後の好適なネットワーク図の１つの例を、図８に示す。図のように、例えばネットワーク図８００は、（図６および８は同じネットワークを示していない可能性があるが）図６の軸６０２と同様の中心時間軸８０２を含む。軸に沿って、ネットワーク図はまた、図６のそれぞれのタスクノード６０４、６０６およびバッファノード６０８、６１０と同様の、タスクノード８０４、８０６およびバッファノード８０８、８１０を含む。１つの例では、図８のネットワーク図８００は、図６のネットワーク図とは色および／または塗りつぶしが異なることがある。上に説明するように、図６においてネットワークノードを表す多次元形状は、最初に特定の色で輪郭を描き、塗りつぶしなしとすることができ、これが実行前の計画モデルを表すことができる。一方、図８では、ネットワークノードは、他の色で輪郭を描く、および／または、計画モデルの実行中または実行後に実際のタスク所要期間およびバッファ消費量を表すことができる塗りつぶし（一様またはパターン入り）を有することができる。
【００５２】
１つの例では、実際のタスク所要期間およびバッファ消費量は、それぞれの輪郭と同じ第１または第２の多次元形状の、しかし軸８０２に沿った寸法が実際のタスク所要期間またはバッファ消費量に従ったサイズの塗りつぶしとして表すことができる。図８への差し込み図８１２にさらに詳細に示す１つの例では、各タスクノード８０４、８０６を、軸に沿った長さをそれぞれのタスクの平均所要期間に従ったサイズにして輪郭を描かれた第１の多次元形状（例えば、直方体）として表すことができる。タスクノードはさらに、輪郭と同じ第１の多次元形状の、しかし軸に沿った長さがそれぞれのタスクの実際の所要期間に従ったサイズの塗りつぶし８１４を含むことができる。塗りつぶしの長さは、その形状の輪郭の長さと一致して始まり、軸に沿って拡大することができる。実際のタスク所要期間が平均所要期間以下であるインスタンスでは、塗りつぶしは、第１の多次元形状の輪郭内に含むことができる。実際のタスク所要期間が平均所要期間を超える他の例では、塗りつぶしは、軸に沿った第１の多次元形状の輪郭を越えて延びることがある。
【００５３】
また図８に示すように、各バッファノード８０８、８１０を、直径をそれぞれのバッファのサイズに従ったサイズにして輪郭を描かれた第２の多次元形状（例えば、球）として表すことができる。バッファはさらに、輪郭と同じ第２の多次元形状の、しかし直径がそれぞれのバッファの消費量に従ったサイズの塗りつぶし８１６を含むことができる。塗りつぶしの中心は、形状の中心と一致することができる。バッファ消費量がバッファサイズ以下であるインスタンスでは、塗りつぶしは、第２の多次元形状の輪郭内に含むことができる。バッファ消費量が平均所要期間を超える他のインスタンスでは、塗りつぶしは、ある色から別の色に変わることがあり、かつ／または輪郭は、ある色から別の色に変わることがある。
【００５４】
様々な例では、ノード８０８、８１０の塗りつぶし８１６は、最初に第１の色（例えば、青色）とし、バッファ消費量と共に直径が増大するにつれて第１の色から第２の色（例えば、赤色）に移行し、バッファ消費量がバッファサイズに等しくなる、またはこれを超えるとき、塗りつぶしが完全に第２の色に至ることが可能である。この時点において、１つの例では輪郭は、輪郭の最初の色（例えば、灰色）から別の色（例えば、黄色）に変化することができる。様々な例では、バッファノードの塗りつぶしの色は、そのチェーンのタスクが終了状態に達するとき、変化することすら可能である。この点において、塗りつぶしの色は、そのサイズ以下の完了したバッファ消費量を表すためのある色（例えば、明るい青色）に、またはそのサイズより大きい完了したバッファ消費量を表すための別の色（例えば、明るい赤）に、変わることができる。
【００５５】
上述のように、シミュレータ５０４が計画モデルのシミュレート実行をシミュレーションするとき、シミュレータは、例えば瞬間的におよび／または累積的に変数の数を追跡することができる。１つの例では、シミュレータはさらに、これらの追跡した変数の１つまたは複数をレイアウトエンジン５０２に伝えることができる。レイアウトエンジンは、それぞれの追跡した変数を反映するレイアウト、ならびにネットワーク図を生成し、動的に更新することができる。シミュレータが計画モデルの実行をシミュレーションした後の好適なレイアウトの１つの例を、図９に示す。図のように、例えばレイアウト９００は、図８に示すものと同様のネットワーク図８００を含むが、さらに折れ線グラフ９０２を含む。折れ線グラフは、ネットワーク図の軸８０２と一致するまたは軸８０２から間隔を置かれる場合がある中心時間軸９０４を含むことができる。軸に沿って、折れ線グラフは、それぞれの追跡される変数を表す１つまたは複数のトレースも含む。図のように、例えば折れ線グラフは、瞬間的資源使用量を表すあるトレース９０６、および／または累積的資源使用量を表す別のトレース９０８を含むことができる。
【００５６】
様々な例では、データ駆動型の構成における計画モデルのシミュレーションに加えて、またはこれの代わりに、対応するスケジュール駆動型の構成で計画モデルをシミュレーションすることが望ましいことがある。スケジュール駆動型の構成では、タスクの実行は、個別のスケジュール推定によって決まる可能性があり、様々な例では、タスクの入力のすべてが利用できるようになる前でも、タスクのスケジュール推定に従って開始される可能性がある。こうした例では、シミュレータは、工程のタスクに対してスケジュールされる開始時間を計算するように構成することができる。この点において、シミュレータは、複数のインスタンスに対して上記と同様の工程をシミュレーションし、各インスタンスに対して、各タスクの開始時間を記録するように構成することができる。シミュレータは次に、複数のインスタンスにわたって各タスクの記録した開始時間を平均化して、各タスクの平均開始時間を計算することができ、１つの例では次にこれを、スケジュール駆動型の場合、タスクのスケジュールされる開始時間に使用することができる。
【００５７】
１つの例では、レイアウトエンジン５０２は、少なくともシミュレータ５０４が計画モデルの実行をシミュレーションする前に、データ駆動型の場合のネットワーク図と同様にスケジュール駆動型の場合のネットワーク図を生成することができる。シミュレータは、そのスケジュール駆動型の構成で、そのデータ駆動型の構成のモデルのそれと同様の方法で計画モデルの実行をシミュレーションするように構成することができる。１つの例では、シミュレータは、例えば分布から値を無作為に、または擬似的無作為に選択するための方法（例えば、モンテカルロ）に従って、それぞれのタスクのタスク所要期間を、それらのそれぞれの確率分布から予想する、または選択するように構成することができる。シミュレータは次に、複数の時間ステップのそれぞれに対して各タスクを調べ、計画モデルにおけるタスクのライフサイクルを通してタスクの状態を評価することができる。
【００５８】
図１０は、タスクのライフサイクルがデータ駆動型の場合のライフサイクルと同様とすることができるが、さらなる状態を含むことができる、スケジュール駆動型の場合についてタスクのライフサイクルの状態図１０００を示すこれらのさらなる状態は、スケジュール駆動型の場合に発生することがある他の可能性を構成する、「早期資源待ち」１００２、「早期開始」１００４、「手戻り終了（ｆｉｎｉｓｈｅｄ−ｒｅｗｏｒｋ）」１００６などを含むことができる。この点において、スケジュール駆動型の場合は、待ち状態７０２でありながら、シミュレーション時間は、タスクの入力のすべてが利用できるようになる、または（順番を外れて）早期に開始された少なくとも１つの先行タスクが終了する前に、タスクのスケジュールされた開始時間を過ぎる可能性を引き起こすことがある。これらのインスタンスでは、タスクは異なるパスをとり、待ち状態から、資源待ち状態７０４の代わりに早期資源待ち状態へ移ることができる。タスクは次に、タスクの入力のすべてが利用できるようになる前に、タスクの実行に必要とされる資源が利用できるようになる場合、早期資源待ち状態から早期開始状態へ移ることができる、またはその反対に、タスクの入力のすべてが利用できるようになった後に、必要とされる資源が利用できるようになる場合、タスクは開始状態７０６に移ることができる。どちらのインスタンスでも、タスクに対して開始時間を記録することができる。
【００５９】
開始状態７０６において、タスクは、そのタスク所要期間を経ると、次に、先のデータ駆動型の場合と同様に、終了状態７０８に移る。早期開始状態１００４では、タスクは同様に、そのタスク所要期間を経ることができる。すなわち、早期開始状態に入ると、後続の各時間ステップに対してタスク所要期間を、ゼロになるまでデクリメントすることができる。この時点においてタスクは、手戻り終了状態１００６に移ることができる。タスクは次に、タスクの入力のすべてが利用できるようになると、手戻り終了状態から資源待ち状態７０４に移ることができる。そして資源待ち状態から、タスクは、データ駆動型の場合と同様に、タスクのライフサイクルを完了することができる。
【００６０】
データ駆動型の場合と同様に、シミュレータ５０４は、実際のタスク所要期間およびバッファ消費量をレイアウトエンジン５０２に追跡して伝えることができ、レイアウトエンジン５０２は、計画モデルを表すネットワーク図を動的に更新して、情報を反映することができる。様々な例では、計画モデルの実行ならびにタスクの進行および実行中のバッファ消費量を反映することは、シミュレーション中に１回または数回行われることがある。
【００６１】
図１１は、シミュレータ５０４が図８と同様であるが、スケジュール駆動型の場合の計画モデルの実行をシミュレーションした後の好適なネットワーク図の１つの例を示す。図のように、例えばネットワーク図１１００は、（図８および１１は同じネットワークを示さない可能性があるが）図８の軸８０２と同様の中心時間軸１１０２を含む。軸に沿って、ネットワーク図はまた、図８のそれぞれのタスクノード８０４、８０６およびバッファノード８０８、８１０と同様の、タスクノード１１０４、１１０６およびバッファノード１１０８、１１１０を含む。また図８と同様に、図１１では、ネットワークノードは、他の色で輪郭を描く、および／または、計画モデルの実行中または実行後にタスク所要期間およびバッファ消費量を表すことができる塗りつぶし（一様またはパターン入り）を有することができる。
【００６２】
図８とさらに同様に、図１１への差し込み図１１１２にさらに詳細に示すように、各タスクノード１１０４、１１０６およびバッファノード１１０８、１１１０は、輪郭を描かれた第１の多次元形状（例えば、直方体）、または第２の多次元形状（例えば、球）として表すことができる。データ駆動型の場合のノードと同様に、スケジュール駆動型の場合のノードは、輪郭と同様の形状の、しかしそれぞれのタスクの実際の所要期間またはバッファ消費量を反映するサイズのそれぞれの塗りつぶし１１１４、１１１６を含むことができる。
【００６３】
しかしながら、スケジュール駆動型の場合のタスクノードは、その場合のさらなる状態を表すさらなる塗りつぶし（一様またはパターン入り）を含むことができる。例えば、タスクノード１１０４、１１０６は、タスクの入力のすべてが利用できるようになった後にタスクが開始される場合のタスクの実際の所要期間を表す第１の塗りつぶし（例えば、明るい青色）を含むことができる。タスクノードはしかしながら、タスクの入力のすべてが利用できるようになる、または（順番を外れて）早期に開始された少なくとも１つの先行タスクが終了する前に、シミュレーション時間がタスクのスケジュールされた開始時間を過ぎるインスタンスでは、他の塗りつぶしを含むことができる。このようなインスタンスでは、タスクノードは、タスクの入力のすべてが利用できるようになる前の順番を外れて実行された（早期に開始された）タスクの実際の所要期間を表す第２の塗りつぶし１１１６ａ（例えば、赤色）と、タスクの入力のすべてが利用できるようになった後の手戻りのためのタスクの実際の所要期間を表す第３の塗りぶつし１１１６ｂ（例えば、暗い青色）とを含むことができる。
【００６４】
データ駆動型の場合と同様に、スケジュール駆動型の場合に、シミュレータ５０４は、例えば瞬間的におよび／または累積的にいくつかの変数を追跡することができ、これらの追跡した変数の１つまたは複数をレイアウトエンジン５０２に伝えて、ネットワーク図も含むレイアウトに反映することができる。シミュレータがスケジュール駆動型の場合について計画モデルの実行をシミュレーションした後の好適なレイアウトの１つの例を、図１２に示す。図のように、例えばレイアウト１２００は、図１１に示すものと同様のネットワーク図１１００を含むが、さらに折れ線グラフ１２０２を含む。折れ線グラフは、ネットワーク図の軸１１０２と一致するまたは軸１１０２から間隔を置いた場合がある中心時間軸１２０４を含むことができる。軸に沿って、折れ線グラフはまた、それぞれの追跡される変数を表す１つまたは複数のトレースを含む。図のように、例えば折れ線グラフは、瞬間的資源使用量を表すあるトレース１２０６、および／または累積的資源使用量を表す別のトレース１２０８を含むことができる。
【００６５】
他の例では、計画エグゼキュータ５００は、データ駆動型の場合と、スケジュール駆動型の場合の両方で計画モデルの実行をシミュレーションし、その実行中に計画の状態を表すそれぞれの動的レイアウトを生成するように構成することができる。図１３は、シミュレータ５０４が、データ駆動型の場合とスケジュール駆動型の場合の両方で計画モデルの実行をシミュレーションした後の好適なネットワーク図の１つの例を含んだ例示的レイアウト１３００を示す。このレイアウトは、データ駆動型のネットワーク図８００、ならびにスケジュール駆動型のネットワーク図１１００を含むことができるが、それぞれの図の全体像は異なる。図１４は、データ駆動型の場合のレイアウト９００、およびスケジュール駆動型の場合のレイアウト１２００を示す例示的レイアウト１４００を示す。このレイアウトは、ネットワーク図８００、１１００を含むが、さらに、データ駆動型の場合およびスケジュール駆動型の場合の瞬間的または累積的資源使用量についてのトレース９０６、９０８および１２０６、１２０８と共に中心時間軸１４０４を含んだ折れ線グラフ１４０２を含む。
【００６６】
本開示の例示的実施によれば、工程計画システム１００と、工程構築システム１０２、全順序付けシステム１０４、スケジュールモデラー１０６、計画モデラー１０８、および計画エグゼキュータ１１０を含むそのサブシステムとは、様々な手段によって実施することができる。同様に、全順序付けシステム４００および計画エグゼキュータ５００の例は、それぞれの要素を１つ１つ含み、例示的実施により様々な手段によって実施することができる。システム、サブシステム、およびそれらのそれぞれの要素を実施するための手段は、ハードウェアを単独で、または１つまたは複数のコンピュータプログラムコード命令、プログラム命令またはコンピュータ可読記憶媒体からの実行可能コンピュータ可読プログラムコード命令の指示の下で、含むことができる。
【００６７】
１つの例では、システム、サブシステム、および本明細書に示して説明するそれぞれの要素として機能する、または他の場合はこれらを実施する１つまたは複数の装置を提供することができる。２つ以上の装置を含んだ例では、それぞれの装置をつなげることができ、その他の場合は、例えば有線または無線のネットワークなどを介して直接的にまたは間接的に、いくつかの異なる方法で互いと通信することができる。
【００６８】
概して、本開示の例示的実施の装置は、１つまたは複数の固定または携帯式電子機器を備える、含む、またはこれに具体化されることがある。好適な電子機器の例には、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーションコンピュータ、サーバコンピュータなどが含まれる。装置は、例えばメモリ（例えば、記憶装置）に接続されたプロセッサ（例えば、プロセッサユニット）のようないくつかの構成要素のそれぞれの１つまたは複数を含むことができる。
【００６９】
プロセッサは、一般的には例えばデータ、コンピュータ可読プログラムコード、命令のような情報（一般的には「コンピュータプログラム」、例えばソフトウェア、ファームウェアなど）、および／または他の好適な電子情報を処理することができる任意のハードウェアである。より詳細には、例えばプロセッサは、コンピュータプログラムを実行するように構成することができ、コンピュータプログラムは、プロセッサ上に格納されることがある、または他の場合は（同じまたは別の装置の）メモリに格納されることがある。プロセッサは、特定の実施に応じて、いくつかのプロセッサ、マルチプロセッサコア（ｍｕｌｔｉ−ｐｒｏｃｅｓｓｏｒ  ｃｏｒｅ）、またはいくつかの他のタイプのプロセッサとすることができる。さらにプロセッサは、単一チップ上に１つまたは複数のセカンダリプロセッサと共にメインプロセッサが存在する、いくつかの異種プロセッサシステムを使用して実装することができる。別の説明的な例では、プロセッサは、同じ型の複数のプロセッサを含んだ対称型マルチプロセッサシステムとすることができる。さらに別の例では、プロセッサは、１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）などとして具体化される、または他の場合はこれらを含むことができる。したがって、プロセッサは、コンピュータプログラムを実行して１つまたは複数の機能を行うことができる場合があるが、様々な例のプロセッサは、コンピュータプログラムの支援なしで１つまたは複数の機能を行うことができる場合がある。
【００７０】
メモリは、一般的には、例えばデータ、コンピュータプログラムおよび／または他の好適な情報のような情報を一時的におよび／または永久的に格納することができる任意のハードウェアである。メモリは、揮発性および／または不揮発性メモリを含むことができ、固定式または取外し可能なものとすることができる。好適なメモリの例には、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、ハードドライブ、フラッシュメモリ、サムドライブ、取外し可能コンピュータディスケット、光ディスク、磁気テープ、または上記のいくつかの組合せが含まれる。光ディスクは、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−リード／ライト（ＣＤ−Ｒ／Ｗ）、ＤＶＤなどを含むことができる。様々なインスタンスでは、メモリは、情報を格納することができる非一時的デバイスとして、ある場所から別の場所へ情報を搬送することができる一時的電子信号のようなコンピュータ可読伝送媒体とは区別することができるコンピュータ可読記憶媒体と呼ばれることがある。本明細書に記載するコンピュータ可読媒体は、一般的には、コンピュータ可読記憶媒体またはコンピュータ可読伝送媒体を指すことができる。
【００７１】
メモリに加えて、プロセッサもまた、情報を表示する、送信する、および／または受信するために１つまたは複数のインタフェースに接続することができる。インタフェースは、通信インタフェース（例えば通信ユニット）および／または１つまたは複数のユーザインタフェースを含むことができる。通信インタフェースは、例えば（１つまたは複数の）他の装置、（１つまたは複数の）ネットワークなどへおよび／またはこれらから、情報を送信および／または受信するように構成することができる。通信インタフェースは、物理的（有線）通信リンクおよび／または無線通信リンクによって情報を送信および／または受信するように構成することができる。好適な通信インタフェースの例には、ネットワークインタフェースコントローラ（ＮＩＣ）、無線ＮＩＣ（ＷＮＩＣ）などが含まれる。
【００７２】
ユーザインタフェースは、ディスプレイおよび／または１つまたは複数のユーザ入力インタフェース（例えば、入力／出力ユニット）を含むことができる。ディスプレイは、情報をユーザに提示する、または他の場合は表示するように構成することができ、その好適な例には、液晶ディスプレイ（ＬＣＤ）、発光ダイオードディスプレイ（ＬＥＤ）、プラズマディスプレイパネル（ＰＤＰ）などが含まれる。ユーザ入力インタフェースは、有線または無線とすることができ、例えば処理、格納、および／または表示のために、ユーザから装置へ情報を受信するように構成することができる。ユーザ入力インタフェースの好適な例には、マイク、画像またはビデオキャプチャデバイス、キーボードまたはキーパッド、ジョイスティック、（タッチスクリーンとは別の、またはタッチスクリーンに組み込まれた）タッチセンサ式表面、生体認証センサなどが含まれる。ユーザインタフェースはさらに、プリンタ、スキャナなどの周辺装置と通信するための１つまたは複数のインタフェースを含むことができる。
【００７３】
上記のように、プログラムコード命令をメモリに格納し、プロセッサにより実行して、本明細書に記載するシステム、サブシステム、およびこれらのそれぞれの要素の機能を実施することができる。理解されるであろうが、任意の好適なプログラムコード命令を、コンピュータ可読記憶媒体からコンピュータまたは他のプログラマブル装置にロードして特定の機械を作り出し、この特定の機械が本明細書に詳細に述べる機能を実施するための手段となるようにすることができる。これらのプログラムコード命令はまた、コンピュータ、プロセッサ、または他のプログラマブル装置に、特定の方法で機能するように命令して、それによって特定の機械または特定の製品を生成することができるコンピュータ可読記憶媒体に格納することもできる。コンピュータ可読伝送媒体に格納される命令は、本明細書に記載する機能を実施するための手段となる製品を作り出すことができる。プログラムコード命令は、コンピュータ可読記憶媒体から検索し、コンピュータ、プロセッサ、または他のプログラマブル装置にロードして、コンピュータ、プロセッサ、または他のプログラマブル装置上で、またはこれらによって行われるべき動作を実行するように、コンピュータ、プロセッサ、または他のプログラマブル装置を構成することができる。
【００７４】
プログラムコード命令の検索、ロード、および実行は、１度に１つの命令が検索され、ロードされ、および実行されるように、順次的に行うことができる。いくつかの例示的実施では、検索、ロード、および／または実行は、複数の命令が同時に検索され、ロードされ、および／または実行されるように、並行して行うことができる。プログラムコード命令の実行は、コンピュータ、プロセッサ、または他のプログラマブル装置よって実行される命令が本明細書に記載する機能を実施するための動作をもたらすように、コンピュータ実施工程を作り出すことができる。
【００７５】
プロセッサにより命令を実行すること、またはコンピュータ可読記憶媒体に命令を格納することが、特定の機能を実行するために動作を組み合わせることを支援する。１つまたは複数の機能、および機能の組合せは、特殊用途のハードウェアベースのコンピュータシステムおよび／もしくは特定の機能を行うプロセッサ、または特殊用途のハードウェアとプログラムコード命令の組合せによって、実施可能であることもまた理解されるであろう。
【００７６】
上記の説明のように、複雑な製品開発プログラムの間の多額のコストおよびスケジュール超過の問題は、大型の製品開発に使用される現在の管理方法によって引き起こされている可能性がある。結果を管理するためのメカニズムとしてコストおよびスケジュール制御に最も重点を置くことは、問題の主要な根本的原因となっている可能性がある。本開示の例示的実施は、内部製品および外部製品の相互依存関係により実行の必要な順序を要求する、内部製品および外部製品の簡明な集合の作成として問題をモデル化することができる。例示的実施はさらに、実行性能への各成果物の影響を判別するために必要な十分な情報の可用性を判断する能力を可能にすることができる。必要な情報が利用できる場合、大型の複雑な製品開発の全順序付けが決定できるものとなる可能性がある。
【００７７】
大型の複雑な製品開発の統合は、主として順序の問題である。適切な順序が乱される場合、大型開発プログラムにおける順番を外れた挙動の結果生じた不一致を調整するために必要な手戻りの量は、最初の計画された作業記述の要素（ｆａｃｔｏｒ）において大きくなる可能性がある。コストおよび／またはスケジュールのコントロールは、順番を外れた手戻りの量が資源制約を圧倒するために失われる可能性がある。大型の製品開発に使用される現在の方法および実践は、順序付けまたは一貫性のような制約が、あらかじめ決定されたスケジュール要件と競合する場合に、これらを無視することによって、問題を軽減するよりもむしろ増幅している。本開示の例示的実施は、この状態を改善する機会を提供する。物質的製品および非物質的製品（例えば、物、情報）の生産中に活用される全順序の適応性により、一貫性の条件を満たすことなく前に進むことを回避できるようになり、このため順番を外れた手戻りを回避することにより作業記述を大幅に削減することができる。例示的実施、および実行の順序の基準としてではなく、単に製品の完了の状態を反映するためにスケジューリングを使用することにより、製品開発の管理に使用される現在の方法によって引き起こされる問題を正すことができる。
【００７８】
さらにこの開示は、次の節による実施形態を含む：
第１５節  プロセッサによる実行に応じて、装置に少なくとも
それぞれの内部製品を生産するための複数のタスクを含む工程の計画モデルを受け取らせ、
時間軸（２０２）に沿って、工程のそれぞれのタスクを表す複数のタスクノード（６０４、６０６）を含み、各タスクノード（６０４）が軸に沿った寸法がそれぞれのタスクのタスク所要期間に従ったサイズの輪郭を有する第１の多次元形状として表される、計画モデルを表すネットワーク図（２００）を含むレイアウトを生成させ、
シミュレーション中に装置に各タスクの実際のタスク所要期間を追跡させることを含む、計画モデルの実行をシミュレーションさせ、
ネットワーク図（２００）を動的に更新させて、実際のタスク所要期間を反映し、更新されたネットワーク図（２００）において、各タスクノード（１１０４、１１０６）が、それぞれの輪郭と同じ第１の多次元形状の、しかし軸に沿った寸法がそれぞれのタスクの実際のタスク所要期間に従ったサイズの塗りつぶし（８１６）をさらに含む、
コンピュータ可読プログラムコード部分を格納したコンピュータ可読記憶媒体。
第１６節  各タスクノード（１１０４、１１０６）が、軸に沿った長さがそれぞれのタスクのタスク所要期間に従ったサイズの輪郭を有する直方体として表され、
各タスクノード（１１０４、１１０６）が、それぞれの輪郭と同じ直方体形状の、しかし軸に沿った長さがそれぞれのタスクの実際のタスク所要期間に従ったサイズの塗りつぶし（８１６）をさらに含み、塗りつぶし（８１６）の長さが輪郭の長さと一致する、
第１５節に記載のコンピュータ可読記憶媒体。
第１７節  ネットワーク図がさらに、タスクが配置されるそれぞれの１つまたは複数のチェーンに対するそれぞれのバッファを表す１つまたは複数のバッファノード（６０８、６１０）を含み、各バッファノードが、軸に沿った寸法がそれぞれのバッファのサイズに従ったサイズの輪郭を有する第２の多次元形状として表され、
装置がさらに、シミュレーション中の各バッファのバッファ消費量を追跡するようにされ、ネットワーク図（２００）がバッファ消費量を反映するように動的に更新され、
更新されたネットワーク図（２００）では、各バッファノードがさらに、それぞれの輪郭と同じ第２の多次元形状の、しかし軸に沿った寸法がそれぞれのバッファのバッファ消費量に従ったサイズの塗りつぶし（８１６）を含む、
第１５節に記載のコンピュータ可読記憶媒体。
第１８節  各バッファノードが、軸に沿った直径がそれぞれのバッファのサイズに従ったサイズの輪郭を有する球として表され、
各バッファノードが、それぞれの輪郭と同じ球形であるが、軸に沿った直径がそれぞれのバッファの実際のバッファ消費量に従ったサイズの塗りつぶし（８１６）をさらに含み、塗りつぶし（８１６）の中心が輪郭の中心と一致する、
第１７条に記載のコンピュータ可読記憶媒体。
第１９節  １つまたは複数の入力を使用する、または必要とするタスクの少なくとも一部について、各タスクが開始される前にタスクの入力のすべてを利用できることを必要とするデータ駆動型の構成で、装置に計画モデルの実行をシミュレーションさせる、第１５節に記載のコンピュータ可読記憶媒体。
第２０節  １つまたは複数の入力を使用する、または必要とするタスクの少なくとも一部について、各タスクがたとえタスクの入力のすべてが利用できるようになる前でもスケジュールに従って開始できるスケジュール駆動型の構成で、装置に計画モデルの実行をシミュレーションさせる、第１５節に記載のコンピュータ可読記憶媒体。
第２１節  塗りつぶし（８１６）が、タスクの入力のすべてが利用できるようになった後にタスクが開始されるインスタンスではタスクの実際のタスク所要期間を表す第１の塗りつぶし（８１６）を含み、
塗りつぶしが、タスクの入力のすべてが利用できるようになる前に、順番を外れて実行されるタスクの実際のタスク所要期間を表す第２の塗りつぶし（１１１６ａ）と、タスクの入力のすべてが利用できるようになる前に、タスクが開始されるインスタンスでは、タスクの入力のすべてが利用できるようになった後に手戻りされるタスクの実際のタスク所要期間を表す第３の塗りつぶし（１１１６ｂ）とを含む、
第２０節に記載のコンピュータ可読記憶媒体。
【００７９】
前述の説明および関連する図面に示した教示の利益を有し、本開示が関係する当業者には、本明細書に示した開示の多くの変更形態および他の実施形態が思い浮かぶであろう。したがって、本開示は、本明細書で提供した特定の例示的実施形態に限定されるべきではなく、変更形態および他の実施形態が添付の特許請求の範囲内に含まれるものとすることを理解されたい。さらに、前述の説明および関連する図面は、要素および／または機能のある例示的組合せという文脈で例示的実施形態を説明するが、要素および／または機能の様々な組合せは、添付の特許請求の範囲の範囲から逸脱することなく代替形態によって提供可能であることを理解すべきである。この点において、例えば、上に明示した要素および／または機能以外の要素および／または機能の様々な組合せもまた、添付の特許請求の範囲の一部に示すことができると考えられる。本明細書では特定の用語が使用されているが、これらは単に一般的、説明的意味で使用されており、限定のためではない。
【符号の説明】
【００８０】
１００  工程計画システム
１０２  工程構築
１０４  全順序付け
１０６  工程スケジュール
１０８  計画モデラー
１１０  計画エグゼキュータ
２００  ネットワーク図
２０２  中心時間軸
２０４  ネットワークノード
２０６  タスクノード
２０８  タスクノード
３００  ネットワーク図
３０２  ネットワークノード
３０４  差し込み図
４００  全順序付けシステム
４０２  セグメントレベルの全順序付けモジュール
４０４  下位レベルの全順序付けモジュール
４０６  最下位レベルの全順序付けモジュール
５００  計画エグゼキュータ
５０２  レイアウトエンジン
５０４  シミュレータ
６００  ネットワーク図
６０２  中心時間軸
６０４  タスクノード
６０６  タスクノード
６０８  バッファノード
６１０  バッファノード
６１２  差し込み図
７００  データ駆動型の場合のタスクのライフサイクルの状態図
７０２  待ち状態
７０４  資源待ち状態
７０６  開始状態
７０８  終了状態
８００  ネットワーク図
８０２  中心時間軸
８０４  タスクノード
８０６  タスクノード
８０８  バッファノード
８１０  バッファノード
８１２  差し込み図
８１４  塗りつぶし
８１６  塗りつぶし
９００  レイアウト
９０２  折れ線グラフ
９０４  中心時間軸
９０６  トレース
９０８  トレース
１０００  スケジュール駆動型の場合のタスクのライフサイクルの状態図
１００２  早期資源待ち
１００４  早期開始
１００６  手戻り終了
１１００  ネットワーク図
１１０２  中心時間軸
１１０４  タスクノード
１１０６  タスクノード
１１０８  バッファノード
１１１０  バッファノード
１１１２  差し込み図
１１１６  塗りつぶし
１１１６ａ  第２の塗りつぶし
１１１６ｂ  第３の塗りつぶし
１２００  レイアウト
１２０２  折れ線グラフ
１２０４  中心時間軸
１２０６  トレース
１２０８  トレース
１３００  レイアウト
１４００  レイアウト
１４０２  折れ線グラフ
１４０４  中心時間軸
【図１】
2014157602.tif 000003
【図２】
2014157602.tif 000004
【図３】
2014157602.tif 000005
【図４】
2014157602.tif 000006
【図５】
2014157602.tif 000007
【図６】
2014157602.tif 000008
【図７】
2014157602.tif 000009
【図８】
2014157602.tif 000010
【図９】
2014157602.tif 000011
【図１０】
2014157602.tif 000012
【図１１】
2014157602.tif 000013
【図１２】
2014157602.tif 000014
【図１３】
2014157602.tif 000015
【図１４】
2014157602.tif 000016
【外国語明細書】
2014157602000001.pdf
2014157602000002.pdf
2014157602000003.pdf
2014157602000004.pdf