(57)【要約】      （修正有）【課題】プロセスのそれぞれの内部製品を作るタスクの論理シーケンスを含み、製品を生産するプロセスを記述するプロセス関連情報を受け取ることを含む方法を提供する。【解決手段】プロセススケジュールは、それぞれが時間的に最後の入力を含む入力を利用しまたは要求するタスク９０２のうちの少なくともいくつかの実行のためのものであり、プロセススケジュールの構築は、それぞれのタスク９０２のうちの少なくともいくつかのそれぞれを、開始される前にそのタスクの最後の入力を使用できることを必要とするクロージャ部分と、それぞれの最後の入力が使用可能になる前に開始可能な別個のプリカーサ部分９０６とに分離することを含む。クロージャ部分９０４を、介在するプリカーサ部分９０６を伴わずに時間的にシーケンシングすることができ、プリカーサ部分９０６を、それぞれの時間的にシーケンシングされたクロージャ部分９０４の前に付加することができる。【選択図】図９
2014154152.tif 000002
【特許請求の範囲】
【請求項１】
製品を生産するプロセスを記述するプロセス関連情報を受け取るように構成されたスケジュールモデラ（３０６）であって、前記プロセス関連情報は、前記プロセスのそれぞれの内部製品を作るタスク（９０２）の論理シーケンスを記述し、前記タスク（９０２）のうちの少なくともいくつかは先行関係を有し、それによって、あるタスク（９０２）によって作られる前記内部製品が、別のタスク（９０２）によって利用されまたは要求される入力となる、スケジュールモデラ（３０６）
を含み、前記スケジュールモデラ（３０６）は、前記プロセス関連情報に基づいて前記プロセスのスケジュールを構築するようにも構成され、前記プロセススケジュールは、それぞれが時間的に少なくとも最後の入力を含む１つまたは複数の入力を利用しまたは要求する前記タスク（９０２）のうちの少なくともいくつかの実行のためのものであり、前記スケジュールモデラ（３０６）は、
それぞれの前記タスク（９０２）のうちの少なくともいくつかのそれぞれを、開始される前にそのタスクの前記最後の入力を使用できることを必要とするクロージャ部分（９０４）と、前記それぞれの最後の入力が使用可能になる前に開始可能な別個のプリカーサ部分（９０６）とに分離するように構成されたタスクセパレータ（８０２）と、
介在するプリカーサ部分（９０６）を伴わずにそれぞれの前記タスク（９０２）の前記クロージャ部分（９０４）を時間的にシーケンシングし、それぞれの時間的にシーケンシングされたクロージャ部分（９０４）の前に前記プリカーサ部分（９０６）を付加するように構成されたスケジューラコンストラクタと
を含む、プロセスプランニングシステム（３００）。
【請求項２】
前記スケジュールモデラ（３０６）は、時間枠制約に基づいて前記クロージャ部分（９０４）の平均持続時間を計算するように構成された持続時間カリキュレータ（８０４）をさらに含み、
前記スケジューラコンストラクタは、前記計算された平均持続時間に従って前記クロージャ部分（９０４）を時間的にシーケンシングするように構成される
請求項１に記載のプロセスプランニングシステム（３００）。
【請求項３】
前記持続時間カリキュレータ（８０４）は、その持続時間に対応するバッファのサイズを計算するようにも構成され、
スケジューラコンストラクタは、前記クロージャ部分（９０４）の最後の後に前記バッファを時間的にシーケンシングするようにさらに構成される
請求項２に記載のプロセスプランニングシステム（３００）。
【請求項４】
前記クロージャ部分（９０４）は、前記平均持続時間がそれに基づいて計算されるそれぞれの持続時間を有し、前記持続時間は、未知の確率分布として表される、請求項２に記載のプロセスプランニングシステム（３００）。
【請求項５】
前記タスク（９０２）は、論理的にシーケンシングされたタスクの複数のチェーンに配置され、
前記タスクセパレータ（８０２）は、それぞれの前記タスク（９０２）を分離するように構成され、スケジュールコンストラクタ（８０６）は、前記チェーンのそれぞれについて、前記クロージャ部分（９０４）を時間的にシーケンシングし、前記プリカーサ部分（９０６）を前に付加するように構成される
請求項１に記載のプロセスプランニングシステム（３００）。
【請求項６】
少なくとも前記プロセス関連情報およびプランスケジュールをプランモデルへと編集するように構成されたプランモデラ（３０８）
をさらに含む、請求項１に記載のプロセスプランニングシステム（３００）。
【請求項７】
前記スケジュールモデラ（３０６）に結合され、前記プロセス内で全順序を確立するように構成された全順序付けシステム（３０４）をさらに含み、それに基づいて前記スケジュールが構築される前記受け取られたプロセス関連情報は、前記全順序付きプロセスに関する、請求項１に記載のプロセスプランニングシステム（３００）。
【請求項８】
製品を生産するプロセスを記述するプロセス関連情報を受け取ることを含み、前記プロセス関連情報は、前記プロセスのそれぞれの内部製品を作るタスク（９０２）の論理シーケンスを記述し、前記タスク（９０２）のうちの少なくともいくつかは先行関係を有し、それによって、あるタスクによって作られる前記内部製品が、別のタスクによって利用されまたは要求される入力となり、
前記プロセス関連情報に基づいて前記プロセスのスケジュールを構築することを含み、前記プロセススケジュールは、それぞれが時間的に少なくとも最後の入力を含む１つまたは複数の入力を利用しまたは要求する前記タスク（９０２）のうちの少なくともいくつかの実行のためのものであり、前記プロセススケジュールの構築は、
それぞれの前記タスク（９０２）のうちの少なくともいくつかのそれぞれを、開始される前にそのタスクの前記最後の入力を使用できることを必要とするクロージャ部分（９０４）と、前記それぞれの最後の入力が使用可能になる前に開始可能な別個のプリカーサ部分（９０６）とに分離することと、
介在するプリカーサ部分（９０６）を伴わずにそれぞれの前記タスク（９０２）の前記クロージャ部分（９０４）を時間的にシーケンシングすることと、
それぞれの時間的にシーケンシングされたクロージャ部分（９０４）の前に前記プリカーサ部分（９０６）を付加することと
を含む、方法。
【請求項９】
前記プロセススケジュールを構築することは、時間枠制約に基づいて前記クロージャ部分（９０４）の平均持続時間を計算することをさらに含み、
前記クロージャ部分（９０４）は、前記計算された平均持続時間に従って時間的にシーケンシングされる
請求項８に記載の方法。
【請求項１０】
前記平均持続時間を計算することは、その持続時間に対応するバッファのサイズを計算することをも含み、
前記クロージャ部分（９０４）を時間的にシーケンシングすることは、前記クロージャ部分（９０４）の最後の後に前記バッファを時間的にシーケンシングすることをさらに含む
請求項９に記載の方法。
【請求項１１】
前記クロージャ部分（９０４）は、前記平均持続時間がそれに基づいて計算されるそれぞれの持続時間を有し、前記持続時間は、未知の確率分布として表される、請求項９に記載の方法。
【請求項１２】
前記タスク（９０２）は、論理的にシーケンシングされたタスク（９０２）の複数のチェーンに配置され、
前記プロセススケジュールの構築は、それぞれの前記タスク（９０２）を分離することと、前記チェーンのそれぞれについて、前記クロージャ部分（９０４）を時間的にシーケンシングし、前記プリカーサ部分（９０６）を前に付加することとを含む
請求項８に記載の方法。
【請求項１３】
少なくとも前記プロセス関連情報およびプランスケジュールをプランモデルへと編集すること
をさらに含む、請求項８に記載の方法。
【請求項１４】
前記プロセス内で全順序を確立することをさらに含み、それに基づいて前記スケジュールが構築される前記受け取られたプロセス関連情報は、前記全順序付きプロセスに関する、請求項８に記載の方法。
【請求項１５】
コンピュータ可読プログラムコード部分を格納したコンピュータ可読記憶媒体であって、前記コンピュータ可読プログラムコード部分は、プロセッサによる実行に応答して、装置に、少なくとも
製品を生産するプロセスを記述するプロセス関連情報を受け取ることを含み、前記プロセス関連情報は、前記プロセスのそれぞれの内部製品を作るタスク（９０２）の論理シーケンスを記述し、前記タスク（９０２）のうちの少なくともいくつかは先行関係を有し、それによって、あるタスクによって作られる前記内部製品が、別のタスクによって利用されまたは要求される入力となり、
前記プロセス関連情報に基づいて前記プロセスのスケジュールを構築することを含み、前記プロセススケジュールは、それぞれが時間的に少なくとも最後の入力を含む１つまたは複数の入力を利用しまたは要求する前記タスク（９０２）のうちの少なくともいくつかの実行のためのものであり、前記プロセススケジュールの構築は、前記装置に、少なくとも
それぞれの前記タスク（９０２）のうちの少なくともいくつかのそれぞれを、開始される前にそのタスクの前記最後の入力を使用できることを必要とするクロージャ部分（９０４）と、前記それぞれの最後の入力が使用可能になる前に開始可能な別個のプリカーサ部分（９０６）とに分離させ、
介在するプリカーサ部分（９０６）を伴わずにそれぞれの前記タスク（９０２）の前記クロージャ部分（９０４）を時間的にシーケンシングさせ、
それぞれの時間的にシーケンシングされたクロージャ部分（９０４）の前に前記プリカーサ部分（９０６）を付加させる、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、プロセスプランニングに関し、詳細には、確率処理プランニングモデルの制約基礎（ｃｏｎｓｔｒａｉｎｔ  ｂａｓｉｓ）の提供に関する。
【背景技術】
【０００２】
大型の商用または軍用の航空機のプランニングおよび生産などの複雑なプロジェクトは、複数のリソースのスケジューリングおよび調整を必要とする。調整されるリソースは、他のリソースに加えて、材料、構成部品、人員、機械類および工場フロアスペースを含む可能性がある。統合および調整は、より高次の影響および相互作用がプロジェクトのコスト、プロジェクトの完了に必要な時間、および要求される内容を引き渡せないリスクに悪影響を及ぼし得るので、複雑なプロジェクトにとっては特に重要である。さらに、プロジェクトの全体的な効率などの重要な他の変数をモデル化し、測定する必要がある。
【０００３】
複数の既知の方法では、プランニングプロセスは、一般に、タスク依存性および推定タスク持続時間を定義する入力データの処理を含む。タスク依存性は、一般に、さまざまなタスクの間の関係を表し、その結果、さまざまなタスクを正しく順序付けられるようにする。たとえば、大型商用航空機の建造では、胴体パネルを製造できる前に、アルミニウムシート材料などの材料が調達されなければならない。入力データを、複数の異なる技法に従って処理して、さまざまなタスクを順序付き集合に配置することができる。いくつかの場合に、多数の異なるパスが、入力データの処理から生じる場合があり、これらのパスが、最終的にクリティカルになり得る可能性がある複数のパスを含む場合がある。クリティカルパスは、プロジェクトの持続時間を決定する、プロジェクト全体にわたるタスクのシーケンスとすることができ、最小量のスケジューリング柔軟性（フロート期間）を有するパスとすることができる。したがって、クリティカルパスは、必要なリソースの提供の遅延が、プロジェクト全体を遅延させずにそれに沿って発生し得るパスであり、したがって、プロジェクト実行において最も重要である。したがって、製造プロセスを、プロセスを構成するさまざまな個々のタスクの間の関係およびプロセスのクリティカルパスに基づいて分析することができる。クリティカルパスは、リソース遅延が発生する時および／またはタスク持続時間がその推定値から変化する時に、第１のタスク集合から別のタスク集合にシフトすることができる。したがって、クリティカルパスは、固定されておらず、変化する可能性がある。
【０００４】
既存のプロセスプランニング方法は、有用ではあるが、複数の欠点を示し、したがって、選択されたプロセスを正確に表すことができない。プロセスプランニングの既存の方法は、引渡し可能なもののネットワーク内のデータ駆動関係ではなく、別個のスケジュール推定値およびタスク先行関係に頼る。したがって、プロセスプランニングの既存の方法は、スケジュールベースの（プロセスベースではなく）プランニング手法に帰する。これらの既存の方法に基づくプランまたはモデルは、計画されたアクティビティの持続時間の変動への適合およびアクティビティの間の相互作用がどのようにモデル化されるのかにおいて、より非頑健である。たとえば、スケジューリングの目的に利用される異なる推定方法が、そのような変動の１つの源になる可能性がある。アクティビティが実行される時に、変動の複合する源が、計画された持続時間の逸脱に寄与する場合がある。さらに、スケジュール性能のみに焦点を合わせるように設計された管理ポリシは、アクティビティの相互作用がモデル化される形の変化をも駆動する場合がある。不確実性および変動のこれらの複数の複合する源の結果として、伝統的なプランニングモデルは、複雑なプロセスプランニングおよび管理のためのコンピュータモデルの自動生成での適用に不適切である。また、データ駆動制約を認識し、分析する能力がなければ、現在の方法は、リスク査定をサポートし、最良の可能な結果をもたらす意思決定を知らせる頑健で予測可能なモデルを作ることができない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第７，８９９，７６８号
【特許文献２】米国特許第７，８７３，９２０号
【特許文献３】米国特許出願第２０１２／００５０２８７号
【発明の概要】
【課題を解決するための手段】
【０００６】
本開示の例の実施態様は、一般に、全順序付きとすることもできるスケーラブル階層フィードフォワードネットワークからの情報の使用など、確率プランニングモデルの制約基礎を提供するシステムと、対応する方法およびコンピュータ可読記憶媒体とを対象とする。既存のプロセスプランニング技法とは異なって、本開示の例の実施態様は、ベースラインプロセスでの制約を区別するプロセスベースのプランニングモデルの自動化生成をサポートできるものとすることができる。これらのモデルを、スケジュールベースのプランをむしばむ変動および不確実性の源に関して頑健とすることができる。
【０００７】
例の実施態様は、複雑なプロセスプランニングおよび管理の問題によく適する複数の能力を提供することができる。例の実施態様は、それぞれがそのタスクを開始できる前にそのタスクの最後の入力を使用できることを必要とするタスクセグメントまたはタスク部分の部分集合（「クロージャ（ｃｌｏｓｕｒｅ）」部分と称する）に関するフィードフォワードネットワークの性能を制約する主要な関係を定義する能力を提供することができる。機能タスクのクロージャ部分に関するファーストオーダーシステム制約を定義するこの能力は、確率システムのプランニングおよび管理に関する奥深い意味を有する可能性がある。たとえば、この能力は、仮想のスケジュールベースの関係ではなく必要な入力要件に基づくプランニングを容易にすることができる。
【０００８】
例の実施態様は、プロジェクトおよびプログラム管理を超えた多数の分野（たとえば、コンピューティングのマイクロ処理ルーチン）で有用な利益を有することができる、終了−開始関係（ｆｉｎｉｓｈ−ｔｏ−ｓｔａｒｔ  ｒｅｌａｔｉｏｎｓｈｉｐ）だけを使用して並列処理をモデル化する能力を提供することができる。
【０００９】
さらに、例の実施態様は、それぞれをその最後のタスク入力が使用可能になる前に開始できる他のタスクセグメントまたはタスク部分（「プリカーサ（ｐｒｅｃｕｒｓｏｒ）」部分と称する）を介してタスク不確実性の大部分を考慮に入れる能力を提供することができる。より多くの不確実性を、プリカーサ部分で取り込むことができるので、クロージャ部分のアルファチェーン（ａｌｐｈａ  ｃｈａｉｎ）によって定義される制約パスの混乱を回避することができる。この能力は、多数のリソース管理およびプランニングの衝突に対処することができ、ターゲット時間枠内でのリソース管理シナリオプランニングを容易にする。
【００１０】
さらに、例の実施態様は、あるプランで要求される詳細のレベルにわたって衝突を解決する能力を提供することができる。これに関して、例の実施態様を、リンクされたタスクセグメントまたはタスク部分を使用するローリングウェーブ計画法への階層手法において使用することができる。この手法によれば、プロジェクトを、現在のフェーズを実行するのに必要な詳細までのみのローリングのフェーズに基づいて計画することができる。当初は未知である可能性がある、より後のフェーズの詳細は、後に出現した時に、ローリングウェーブ手法を使用して追加される。後のフェーズを、依存性のフィードフォワードネットワークからの適当なデータ関係を使用して、より前のフェーズに戻って結び付けることができる。
【００１１】
例の実施態様の一態様によれば、製品を生産するプロセスを記述するプロセス関連情報を受け取ることを含む方法が提供される。プロセス関連情報は、プロセスのそれぞれの内部製品を作るタスクの論理シーケンスを記述し、タスクのうちの少なくともいくつかは、先行関係を有し、それによって、あるタスクによって作られる内部製品が、別のタスクによって利用されまたは要求される入力となる。この方法は、プロセス関連情報に基づいてプロセスのスケジュールを構築することをも含み、プロセススケジュールは、それぞれが時間的に少なくとも最後の入力を含む１つまたは複数の入力を利用しまたは要求するタスクのうちの少なくともいくつかの実行のためのものである。
【００１２】
この態様によれば、プロセススケジュールの構築は、それぞれのタスクのうちの少なくともいくつかのそれぞれを、開始される前にそのタスクの最後の入力を使用できることを必要とするクロージャ部分と、それぞれの最後の入力が使用可能になる前に開始可能な別個のプリカーサ部分とに分離することを含む。それぞれのタスクのクロージャ部分を、介在するプリカーサ部分を伴わずに時間的にシーケンシングすることができ、プリカーサ部分を、それぞれの時間的にシーケンシングされたクロージャ部分の前に付加することができる。
【００１３】
一例では、プロセススケジュールを構築することは、時間枠制約に基づいてクロージャ部分の平均持続時間を計算することをさらに含むことができる。この例では、クロージャ部分は、計算された平均持続時間に従って時間的にシーケンシングされ得る。また、この例では、平均持続時間を計算することは、その持続時間に対応するバッファのサイズを計算することをも含むことができる。クロージャ部分の時間的シーケンシングは、クロージャ部分の最後の後にバッファを時間的にシーケンシングすることをさらに含むことができる。この例に加えて、クロージャ部分は、平均持続時間がそれに基づいて計算されるそれぞれの持続時間を有することができ、持続時間は、未知の確率分布として表される。
【００１４】
一例では、タスクは、論理的にシーケンシングされたタスクの複数のチェーンに配置され得る。この例では、プロセススケジュールの構築は、それぞれのタスクを分離することと、チェーンのそれぞれについて、クロージャ部分を時間的にシーケンシングし、プリカーサ部分を前に付加することとを含むことができる。
【００１５】
一例では、この方法は、少なくともプロセス関連情報およびプランスケジュールをプランモデルへと編集することをさらに含むことができる。
【００１６】
一例では、この方法は、プロセス内で全順序を確立することをさらに含むことができる。この例では、それに基づいてスケジュールが構築される受け取られたプロセス関連情報は、全順序付きプロセスからのものであるものとすることができる。
【００１７】
例の実施態様の他の態様では、プロセスを計画する、プロセスプランニングシステムおよびコンピュータ可読記憶媒体が提供される。本明細書で議論される特徴、機能、および利益を、さまざまな例の実施態様で独立に達成することができ、あるいは、他の例の実施態様で組み合わせることができ、そのさらなる詳細は、次の説明および図面を参照して知ることができる。
【００１８】
一般的な用語で本開示の例の実施態様をこのように説明したので、これから添付図面を参照するが、添付図面は、必ずしも原寸通りには描かれていない。
【図面の簡単な説明】
【００１９】
【図１】例の実施態様によるプロセスのタスクの完了に関する確率分布を示す図である。
【図２】クリティカルチェーンプロジェクト管理によるスケジューリングを示す図である。
【図３】例の実施態様によるプロセスプランニングシステムを示す図である。
【図４】および
【図５】例の実施態様によるフィードフォワードネットワークを示す図である。
【図６】例の実施態様による全順序付けシステムの一例を示す図である。
【図７】例の実施態様による全順序付けシステムのより特定の例を示す図である。
【図８】例の実施態様によるスケジュールモデラの一例を示す図である。
【図９】１つの例の実施態様による、タスクのチェーンの一部ならびにクロージャ部分とプリカーサ部分との間の入力依存性を示す図である。
【図１０】１つの例の実施態様による、クロージャ部分およびプリカーサ部分を含むタスクのアルファチェーンの１つの適切なガントチャートを示す図である。
【図１１】１つの例の実施態様による、フェーズドローリングウェーブ計画法の文脈でのタスクのアルファチェーンの１つの適切なガントチャートを示す図である。
【発明を実施するための形態】
【００２０】
本開示のいくつかの実施形態を、これから、添付図面を参照してより十分に説明するが、図面には、本開示のすべてではなくいくつかの実施態様が示されている。実際に、本開示のさまざまな実施態様を、多数の異なる形で実施することができ、本明細書に示される実施態様に対する限定と解釈してはならず、これらの例の実施態様は、本開示を完全なものにするために提供され、本開示の範囲を当業者に完全に伝えるものである。たとえば、そうではないと示されない限り、第１、第２、または類似物としてのあるものの参照を、特定の順序を暗示すると解釈してはならない。また、別のものの上にあるものとして説明されるあるものが、（そうではないと示されない限り）その代わりに下にあることができ、逆も同様であり、同様に別のものの左にあるものとして説明されるものが、その代わりに、右にあることができ、逆も同様である。同様の符号は、常に同様の要素を参照する。
【００２１】
プロセスプランニングの既存の方法は、通常、スケジュールまたはネットワークのどちらに基づくのかに依存して、２つのカテゴリのうちの１つに含まれる。最も単純で能力の低いプランニング方法は、重要な達成または条件のフェーズドビューを表すのに、タイムライン上にレイアウトされたマイルストーンを使用する。もう１つの一般的なスケジュールベースのプランニング手法は、先行関係を介してタスクを関係付け、リソース割当、リソースレベル、および労力または持続時間推定値を使用して、ネットワーク化されたプロジェクトスケジュールを確立する。
【００２２】
多くのネットワークベースのプランニング方法は、タスク持続時間の推定値およびタスク先行関係へのネットワーク関係の変換を介してスケジュールを展開する。これらのタスク関係は、終了−開始、終了−終了（ｆｉｎｉｓｈ−ｔｏ−ｆｉｎｉｓｈ）、開始−開始（ｓｔａｒｔ−ｔｏ−ｓｔａｒｔ）、または開始−終了（ｓｔａｒｔ−ｔｏ−ｆｉｎｉｓｈ）として特徴を表すことができる。時々、これらの関係は、スケジュール内の２つのタスクのフェージングを調整するために、リードタイムまたはラグタイムを含む。これらのプランニング方法は、通常、リソース可用性に関する仮定に基づくリソース割当およびスケジュール調整を含む。より複雑なプランニング問題では、タスクを、階層タスク分解またはサブプロジェクトを使用して副分割することができる。
【００２３】
ネットワーク関係に基づく既存の方法は、スケジュールを作るために、プロジェクトネットワーク内のタスクのそれぞれのタスク持続時間の査定（推定値）を利用するか要求することができる。たとえば、クリティカルパス法（ＣＰＭ）は、通常、最小量のスラックまたはフロート期間を有するパスの判定の基礎として、各タスク持続時間の単一の値を使用するが、この手法は、ほとんどのタスクの確率的性質を表さない。もう１つの例では、プログラム管理法（ＰＥＲＴ）は、終了−開始タスク関係に基づき、スケジューリング目的で式ｄ＝（ａ＋４ｂ＋ｃ）／６によって単一の値に変換される３つの推定値すなわちａ）楽天的、ｂ）最尤、およびｃ）悲観的を使用することによって、タスクの確率的性質に対処する。
【００２４】
もう１つの例では、クリティカルチェーンプロジェクトマネジメント（ＣＣＰＭ）は、各タスクの完全な分布を１つの分布によって表すことができるという仮定を使用する。図１に、タスクの完了に関する例の確率分布（時間の関数としての完了の確率）を示す。この例に示されているように、分布には、多くのプロジェクトアクティビティの不確実性の特性を反映するために、正のスキューを与えることができる。中間スケジュールコミットメントを満足する確率を改善し、補正アクションプロセスに関連する追加の計画されない作業を避けるために、８０〜９０％信頼性レベルを有する「現実的な」推定値に向かって固有に引き付けることができる。「現実的な」推定値（８０〜９０％信頼性レベル）と平均推定値（５０％信頼性レベル）との間の差を、安全時間と定義することができる。計画されない作業から保護することに加えて、この安全時間は、プロジェクトスケジュールおよび引渡し可能なものを不確実性から保護するのに使用される唯一の機能である可能性がある。
【００２５】
推定値に安全時間を含めることは、２倍以上プロジェクト持続時間を増やす可能性がある。しかし、推定値から安全時間を除外することは、リソース管理リスクがそのコミットメントを満足しないことを意味する可能性がある。その結果は、プロジェクトスケジュール内の推定値の表現にわたる絶え間ない衝突である可能性がある。この衝突の結果は、不満足である可能性があり、労力は、プロジェクトプランニングのより重要な態様からエネルギを奪う非付加価値アクティビティである可能性がある。
【００２６】
ＣＣＰＭは、より高い成功の確率を伴ってプロジェクトをよりすばやく計画し、完了する形として、Ｅｌｉｙａｈｕ  Ｍ．Ｇｏｌｄｒａｔｔによって開発された。図２を参照すると、スケジュールに関して、ＣＣＰＭは、通常は個々のタスク推定値に埋め込まれる安全時間を、バッファと称する集計された安全時間のプールに置換する。これらのバッファを、プロジェクトネットワーク内の従属イベントの各チェーンの終りに配置して、チェーン内の不確実性の影響から下流イベントを保護することができる。依存性のチェーンは、タスク依存性とリソース依存性との両方を含むことができる。スケジュール制約は、クリティカルチェーンとすることができ、このクリティカルチェーンを、最短の可能なスケジュールを与えるプロジェクトネットワーク内の、リソースとタスクとの両方の依存性の最長のチェーンと定義することができる。プロジェクトバッファを、クリティカルチェーンの後に付加して、引渡し可能なもの、スケジュール、およびバジェットを含むプロジェクトコミットメントを保護することができる。特筆すべきことに、バッファをしばしば、金銭（管理積立金）およびリソースの可用性（保護能力）によってバックアップすることができ、さもなければ、バッファは、スケジュールリスクの表示だけを提供することができる。
【００２７】
クリティカルチェーンスケジューリング手法が成功するためには、プロセス所有者は、一般に、プロセスの性能を支配する尺度を変更するように働かなければならない。タスク納期遵守報告を、５０％信頼性レベルでタスクを完了する推定時間に基づくアクティブタスクに関する状況レポートに置換することができる。
【００２８】
既存の方法は、適当なプロセスモデルを作ることができるが、そのモデルが、依存性の実際のシステムを表さない場合がある。既存の方法は、タスク先行に関する仮定、タスク持続時間に関する仮定、およびこれらの仮定を反映したスケジュールを展開するためのリソースに関する仮定に頼る可能性がある。これらの仮定の多くが、誤りの多いものである。
【００２９】
タスク先行に関する仮定は、品質、コスト、およびスケジュールのビジネスケース要件を満足するために望ましい順序の派生物である。通常、これらの先行関係は、全順序に基づく可能性があるスケーラブルなフィードフォワードプロセスを作る分析方法によってサポートされない。その結果、タスク先行の仮定を介して作られる計画は、所望の結果を実現するために広範囲の変更を必要とする可能性が高い。計画に対するこれらの変更は、成功のために必要なバジェット条件およびスケジュール条件に違反する、高価で時間を消費するリワークとして現れる。大スケールで複雑な問題は、この形の誤りのある仮定に特に影響されやすい。
【００３０】
これらの推定値に達するのに必要な仮定は、タスクがその下で完了される条件と一貫することがほとんどない。下記を含む不確実性および変動の複数の源からの影響を、タスク持続時間推定が行われる時に知ることはできない。
・リソースレベル（容量）
・リソースのスキルレベル（能力）
・先行物からの入力の品質
・リソースのリードタイムに対する仕掛りの在庫の影響（他のプロジェクトからの衝突する優先順位）
・リソースマネージャとプロジェクトマネージャとの間の推定値に対する衝突
・従属タスクに対する並列作業によって引き起こされる計画されていないリワーク
・必要な入力が欠けている時にスケジューリング要件を遵守することによって引き起こされる計画されていないリワーク
変動および不確実性のこれらの源にもかかわらず、タスク持続時間（またはマイルストーン完了日付）およびリソース可能性の推定値は、依存性のシステムのスケジュール制約を定義する際に、疑問のある先行関係に適用される。
【００３１】
開発プロジェクトなどのより大きくより複雑なシステムは、複数のマルチプロジェクトサブシステムからなる。この場合に、依存性のネットワークは、結果のプランで表される機能タスクの先行関係よりはるかに詳細であり、これが、前述の状況をさらに悪化させる可能性がある。
【００３２】
さらに、プロセスプランを作成するのに必要な詳細のレベル上での追加の衝突がある場合がある。一般に、タスク定義の詳細でのさらなる分解は、相互関係がより複雑になるので、さらなる不確実性をもたらす。この非常に詳細なタスク定義の相互関係の変動に対する感度は、結果のデータの未知の値に従属するはずである。その一方で、通常は機能的責任として定義されるより詳細でないタスクは、先行ネットワークによって表されるプロセスを制約する主要な関係を評価するのに十分な情報を含まない。したがって、結果のプランは、性能を予測せず、制約関係または大スケール並列性の機会を解決しない、悪い妥協である。予測し解決するのではなく、この結果のプランは、要求されるプロセスの真の性質をマスクするスケジュール制約を置換する。
【００３３】
既存のプロセスプランニング方法は、大スケールで複雑な問題の確率依存性のシステムを表さない。既存のプロセスプランニング方法は、改善された性能を容易にせず、その使用によって引き起こされる高コストで時間を消費するリワークを予測しない。したがって、本開示の例の実施態様は、タスクの確率的性質をモデル化する構造を使用してプランニング環境へのプロセス（たとえば、全順序付きプロセス）からの制約を確立するシステムおよび方法を提供する。これに関して、例の実施態様は、全順序付きプロセスなどの適当なプロセスからの情報を使用して確率プランニングモデルの制約基礎を提供することができる。下で説明するように、これらの制約を、「アルファチェーン」制約と称する場合がある。
【００３４】
例の実施態様を、主に、スケーラブルな階層フィードフォワードプロセスに関連して説明するが、例の実施態様を、複数の他のタイプのプロセスのいずれにも同等に適用可能とすることができることを理解されたい。また、例の実施態様を、主に航空機生産に関連して説明する。しかし、やはり、例の実施態様を、航空機産業内と航空機産業の外部との両方のさまざまな他の応用例に関連して利用できることを理解されたい。
【００３５】
ここで図３を参照すると、本開示の例の実施態様によるプロセスプランニングシステム３００が示されている。このシステムは、１つまたは複数の機能または動作を実行する複数の異なるサブシステム（それぞれが個々のシステム）のいずれをも含むことができる。図示されているように、たとえば、このシステムは、プロセス構築システム３０２、全順序付けシステム３０４、スケジュールモデラ３０６、および／またはプランモデラ３０８を含むことができる。プロセス構築システムは、一般に、製品の生産のプロセスを構築するように構成され得る。全順序付けシステムは、一般に、プロセス構築システムによって構築されるプロセスなどのプロセスでの全順序付け（時々、整列（ｗｅｌｌ−ｏｒｄｅｒｉｎｇ）が交換可能に使用されるが、すべての空ではない部分集合が最小限の要素を有する全順序集合をより具体的に指す）を確立するように構成され得る。スケジュールモデラは、一般に、全順序付けシステムからのプロセスなどの全順序付けされたプロセスに従ってプロセススケジュールを構築するように構成され得る。プランモデラは、プロセスおよびそのスケジュールに基づいてプランモデルを構築するように構成され得る。プロセスプランニングシステムの一部として示されているが、プロセス構築システム、全順序付けシステム、スケジュールモデラ、および／またはプランモデラのうちの１つまたは複数を、その代わりに、プロセスプランニングシステムとは別々だがプロセスプランニングシステムと通信しているものとすることができる。サブシステムのうちの１つまたは複数が、他のサブシステムに関わりなく別々のシステムとして機能しまたは動作することができることをも理解されたい。さらに、プロセスプランニングシステムが、図３に示されたサブシステム以外の１つまたは複数の追加サブシステムまたは代替サブシステムを含むことができることを理解されたい。
【００３６】
上で示したように、プロセス構築システム３０２を、製品の生産のプロセスを構築するように構成することができる。物理的製品（たとえば、物体）および非物理的製品（たとえば、情報）を含む製品を、製品の構成要素の階層分解（以下では「階層」と称する）に関して記述することができる。「プロセス」を、各構成要素の作成に関連するタスクおよび先行を定義することによって、製品の生産を記述するように適合させることができる。たとえば、先行は、特定のタスクが、別のタスクが実行される前に完了されなければならないことを示すことができる。さまざまな例で、タスクは、構成要素の作成中に実行されるアクティビティまたはアクティビティの集合を指すことができる。
【００３７】
複雑なプロセスは、時々それぞれを複雑なプロセスまたは他のサブプロセスに関わりなく別々のプロセスと考えることのできる１つまたは複数のサブプロセスを含むことができる。一例では、プロセス構築システム３０２によって構築されるプロセスを、ネットワークとして表現可能とすることができる。プロセス構築システムは、複数の異なる形のいずれであっても適切なネットワークを構築することができる。一例では、プロセス構築システムは、２０１１年３月１日に発行された米国特許第７，８９９，７６８号、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｃｏｎｓｔｒｕｃｔｉｎｇ  ａ  Ｓｃａｌａｂｌｅ  Ｈｉｅｒａｒｃｈｉｃａｌ  Ｆｅｅｄ−Ｆｏｒｗａｒｄ  Ｍｏｄｅｌ  ｆｏｒ  Ｆａｂｒｉｃａｔｉｎｇ  ａ  Ｐｒｏｄｕｃｔ」に記載の技術に従ってネットワークを構築することができる。一例では、プロセスを、したがってそのネットワーク表現を、サイクルまたはループがプロセス内に含まれないように、フィードフォワード制約を維持するように適合させることができる。プロセスおよびそのネットワーク表現を、より大きいプロセスを生成するために他のプロセスと組み合わせることができるように、スケーラブルとすることもできる。
【００３８】
本明細書で使用される時に、「製品」は、ネットワーク内のプロセスに入力されるものまたはネットワーク内のプロセスによって作られるものを指すことができる。例示的なプロセスを、商用航空機開発プロセスとすることができる。一例では、商用航空機開発プロセスの製品は、航空機または航空機の部品（たとえば、胴体セクション、翼、脚、エンジンなど）を含むことができる。もう１つの例では、製品は、型式証明または航空機の合法的使用に関係する関連文書を含むことができる。もう１つの例では、製品は、航空機の設計および／または建造に関係する設計仕様または他のデータセットを含むことができる。製品のいくつかの他の例は、中央翼、操縦桿および操縦輪、オーバーヘッドストウェッジビン（ｏｖｅｒｈｅａｄ  ｓｔｏｗａｇｅ  ｂｉｎ）、乗客配置のレイアウト、前桁界面荷重、ピッチングモーメント曲線、および類似物を含むことができる。
【００３９】
製品は、「内部製品」または「外部製品」のいずれかとすることができる。内部製品は、ネットワーク内の１つまたは複数のタスク（さまざまな場合にそれぞれの１つまたは複数のタスクはサブプロセスと考えられる）によって製造可能とすることができる。一例では、内部製品を、セグメントと考えることができ、このセグメントは、別の内部製品の構成要素ではなく、より詳細な構成要素に分解されることを意図された内部製品とすることができる。内部製品は、入力として、外部製品および／または内部製品を受け取ることができる。商用航空機開発プロセスでの内部製品のいくつかの例は、アビオニクス、推進系、エンジン固有燃料消費曲線、および類似物を含むことができる。各内部製品は、その内部製品を作るのに利用されまたは必要である可能性がある１つまたは複数の「内部入力」を含むことができる。
【００４０】
内部入力は、「内部構成要素」および「構成要素入力」を含むことができる。内部構成要素は、内部製品と同一のセグメントの一部ではない非外部入力の部分集合を指すことができる。構成要素入力は、内部製品と同一のセグメントの一部である非外部入力の部分集合を指すことができる。各構成要素入力は、複数の「構成要素製品」を含むことができ、この構成要素製品の集合体が、構成要素入力を形成する。例示的な内部製品は、サブアセンブリとすることができる。サブアセンブリについて、例の構成要素入力は、サブアセンブリの部品とすることができ、例の内部構成要素は、サブアセンブリを作るために部品を組み立てる工具とすることができる。この場合に、部品は、サブアセンブリを形成するために組み立てられる。したがって、部品は、サブアセンブリと同一のセグメントに含まれると考えられる。対照的に、部品を組み立てる工具は、サブアセンブリには含まれない。したがって、工具は、サブアセンブリと同一のセグメントの一部ではないと考えられる。
【００４１】
外部製品を、ネットワーク内のプロセスの外部で作ることができる。内部製品とは異なって、外部製品への入力は、プロセスの文脈またはそのネットワーク表現では表すことができない。商用航空機開発プロセスでの外部製品のいくつかの例は、規制要件、顧客要件、会社の基本原則、既存の施設、および類似物を含むことができる。外部製品は、複数の構成要素を含むことができ、この構成要素製品の集合体が、外部製品を形成する。外部製品を形成する各そのような構成要素を、本明細書では「外部構成要素」と称する場合がある。内部製品、外部製品、内部構成要素、構成要素入力、および／または外部構成要素は、任意の所与の内部製品を作るように適合されたプロセスへの入力の集合を形成することができる。
【００４２】
各内部製品を、構成要素とすることができる。各構成要素は、複数の入れ子になった構成要素を含むことができ、さらに、階層のより深いレベルで追加の入れ子になった構成要素を含むことができる。商用航空機開発プロセスでは、セグメント構成要素のいくつかの例は、技術査定、探索的設計（ｅｘｐｌｏｒａｔｏｒｙ  ｄｅｓｉｇｎ）、概念設計、初期設計、生産システム、インフラストラクチャ、詳細な製造計画、媒介製品（ｖｅｈｉｃｌｅ  ｐｒｏｄｕｃｔ）、製品検証、および類似物を含むことができる。例の構成要素「インフラストラクチャ」は、入れ子になった構成要素「生産施設」を含むことができ、この生産施設は、さらに、入れ子になった構成要素「大組」を含む。構成要素「大組」は、入れ子になった構成要素「中央翼」を含み、この中央翼は、さらに、入れ子になった構成要素「上パネル」を含む。追加の入れ子になった構成要素が、構成要素「上パネル」から続くものとすることができる。
【００４３】
本明細書で使用される時に、「入力」は、別の製品を作るためにタスクによって利用されまたは要求され得る、内部製品または外部製品などの製品を指すことができる。すなわち、第１製品が第２製品に入力されるという陳述は、第２製品を作るためのタスクによる第１製品の利用または要求を指すことができる。たとえば、内部製品を、航空機の翼の設計仕様とすることができる。外部製品を、詳細な設計の生産に利用されまたは要求されるファスナの仕様とすることができる。この場合に、航空機の翼の設計仕様が、ファスナの仕様を利用しまたは要求するので、ファスナの仕様を、航空機の翼の設計仕様への外部入力と称することもできる。いくつかの例の実施態様によれば、内部製品は、入力を受け取ることができるが、外部製品は、入力を受け取ることができない。入力を選択する例の技術は、上で参照し組み込んだ’７６８特許に記載されている。
【００４４】
プロセス構築システム３０２によって構築されるプロセスを、１つまたは複数の外部製品および複数のセグメントを含むフィードフォワードネットワークによって表すことができる。一例では、’７６８特許でより詳細に説明されるように、プロセス構築は、プロセスの最終製品としての１つまたは複数のセグメントの選択を含むことができる。セグメントレベルでは、フィードフォワードネットワークを、その入力としての最終セグメントの生産に必要な他のセグメントの選択によって開始することができる。その後、フィードフォワードネットワークの順序に違反しない任意の入力を指定し、フィードフォワードネットワークをさらに増補することができる。あるセグメントが、その製品を作るための入力として外部製品だけを要求する場合には、そのセグメントを初期製品とすることができる。初期製品を最終製品に接続し、ネットワークのすべてのセグメントを含むフィードフォワードネットワークの確立は、プロセス構築のこのセグメントレベルフェーズを完了するのに必要である可能性がある。さまざまな例では、フィードフォワードネットワークへの正しい接続を確立する新しい外部製品およびセグメントを追加することができる。これは、すべてのセグメントが、少なくとも１つの指定された内部入力または外部入力を有することを暗示する。
【００４５】
上で示したように、セグメントは、より詳細な構成要素に分解されることを意図されたプロセスの内部製品とすることができる。同様に、外部製品を、より詳細な外部製品に分解することができる。内部製品および外部製品は、プロセスを根とする階層を形成することができる。フィードフォワードネットワークの新しい下位レベルを作成する時には、この階層を、この新しいレベルでネットワークに接続される構成要素および外部製品を追加することによって、均一に拡張することができる。複数の構成要素を、ネットワークの次のレベルを作成するためにセグメントごとに定義することができる。同様に、プロセスに必要な外部製品のそれぞれは、それを構成する少なくとも２つの外部製品を有することができ、この少なくとも２つの外部製品は、定義され得る。
【００４６】
構成要素への入力の選択を、セグメントへの入力の選択より制限的とすることができる。やはりフィードフォワードであり、単一のセグメントの構成要素だけを接続するサブネットワークを、各構成要素の構成要素入力を指定することによるなど、セグメントごとに確立することができる。さらに、含むセグメントの入力の構成要素を、構成要素への唯一の可能な内部入力とすることができる。構成要素への外部入力を、同様に制約することができる。構成要素への内部入力または外部入力の追加は、その構成要素および構成要素サブネットワークを構成要素のレベルでフィードフォワードネットワークに統合することができる。セグメントの構成要素のうちの少なくとも１つが、そのセグメントの内部入力のそれぞれの構成要素のうちの少なくとも１つを入力することができ、同様に、セグメントの外部入力からの構成要素の外部入力を指定するために入力することができる。
【００４７】
プロセス階層を、さらに、構成要素および外部製品のレベルを追加することによって分解することができる。各含む構成要素の構成要素入力は、セグメントの内部入力がその構成要素の内部入力を制約するのと同一の形で、含まれる構成要素の内部入力を制約することができる。それ以外は、構成要素のレベルおよびその結果のサブネットワークを、セグメントの構成要素の第１レベルと同一の形で指定することができる。
【００４８】
上のように構築された階層分解の同一のレベルを有する２つのプロセスは、プロセスの一方の製品を他方の外部入力にマッピングできる場合に、組み合わせることができる。同様に、セグメントレベルの２つのフィードフォワードネットワークは、一方の外部入力要件が他方への外部入力要件に先行しない場合に、ネットワークを単一のプロセスに組み合わせることができるようになっている。
【００４９】
図４に、１つの例の実施態様のプロセス構築システム３０２によって構築されるプロセスを表すことができる適切なネットワーク図４００の例のレイアウトを示す。標準的なネットワーク特性をレイアウト内で使用して、表示されるデータに意味を追加することができる。たとえば、図示されているように、ネットワークは、中央の時間方向の軸４０２と、プロセスのそれぞれの製品を表す複数のネットワークノード４０４とを含む。ノードを、ノードの間および対応してプロセスのそれぞれの製品の間の先行関係を反映するエッジによって接続することができる。ネットワークノードのそれぞれは、中央の時間方向の軸からのネットワークノードの距離を判定するのに使用できる、関連するスラックパラメータを含むことができる。これに関して、０のスラック値を有するノード４０６を選択して、軸またはその付近に置くことができ、より大きいスラック値を有する他のノード４０８を、軸の上側に位置決めすることができる。一例では、ノード４０６を、その順序の柔軟性を有しない厳密に順序付けられたノード（線形に制約される）とすることができ、軸を、線形の厳密に順序付けられた軸とすることができる。この例では、他のノード４０８は、その順序のある柔軟性を有する並列ノードとすることができる。下でより詳細に説明するように、ノード４０６は、第１チェーンまたはアルファチェーンを形成することができ、他のノード４０８は、１つまたは複数の第２チェーンのまたは第２アルファチェーンを形成することができる。
【００５０】
図５に、図４００に似ているが、より複雑なプロセスを表すことができる、類似するネットワーク図５００を示す。図示されているように、図４の図に似て、図５のネットワーク図は、その一部が挿入画５０４内でさらに強調表示されている、ノードの間の先行関係を反映するエッジによって接続できる複数のネットワークノード５０２を含む。図４および５のレイアウトならびに例の実施態様による他の適切なレイアウトに関するさらなる情報については、２０１１年１月１８日に発行された米国特許第７，８７３，９２０号、名称「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｄｉｓｐｌａｙｉｎｇ  Ｎｅｔｗｏｒｋ  Ｉｎｆｏｒｍａｔｉｏｎ」を参照されたい。適切なネットワーク図の他の例のレイアウトについては、２０１２年３月１日に公告された米国特許出願第２０１２／００５０２８７号、名称「Ｔｈｒｅｅ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｄｉｓｐｌａｙ  ｏｆ  Ｓｐｅｃｉｆｉｃａｔｉｏｎｓ  ｉｎ  ａ  Ｓｃａｌａｂｌｅ  Ｆｅｅｄ−Ｆｏｒｗａｒｄ  Ｎｅｔｗｏｒｋ」を参照されたい。
【００５１】
図４および５のネットワーク図４００、５００などのネットワーク図では、ノード４０４、５０２は、内部製品を作るタスクを表すことができる。ノードを接続するエッジは、内部製品を表し、タスクの間の先行関係を反映することができる。たとえば、別の内部製品の生産に利用されるか要求される内部製品を、それぞれの内部製品および他の内部製品を作るタスクを表すノードを接続するエッジによって表すことができる。この例では、内部製品を作るタスクを、先行物と考えることができ、他の内部製品を作るタスクを、後継物と考えることができる。この形で、ネットワークによって表されるプロセスの内部製品を作るタスク（ノード）を、それらを接続する内部製品（エッジ）に従って、正しく順序付けることができる。
【００５２】
一例では、内部製品の全順序付けは、プロセスの効率的実行を可能にすることができる。これに関して、全順序付けなどの順序付け制約は、個々の内部製品がプロセス実行性能およびリソースに対して有する可能性がある影響の度合の区別を可能にすることができる。統合制約の遵守は、プロセスの効率的な実行を可能にすることができる。図６に、一例で図３の全順序付けシステム３０４に対応することができる全順序付けシステム６００を示す。図示されているように、全順序付けシステム６００を、一般に、プロセス構築システムによって構築されるプロセスなどのプロセス内の全順序を確立するように構成することができる。図示されているように、全順序付けシステムは、セグメントレベル全順序付けモジュール６０２、１つまたは複数の下位レベル全順序付けモジュール６０４、および最下位レベル全順序付けモジュール６０６を含むことができる。さまざまな例で、全順序付けシステムは、セグメントレベル全順序付けモジュールだけを含むことができ、あるいは、セグメントレベル全順序付けモジュールおよび下位レベル全順序付けモジュールだけを含むことができる。あるいは、さらなる詳細のために、全順序付けシステムは、セグメントレベル全順序付けモジュール、１つまたは複数の下位レベル全順序付けモジュール、および最下位レベル全順序付けモジュールを含むことができる。
【００５３】
下でより詳細に説明するように、セグメントレベル全順序付けモジュール６０２を、プロセス構築システム３０２によって構築されるプロセスなどの階層フィードフォワードプロセス内のセグメントレベルで全順序付けを確立するように構成することができる。セグメントレベル全順序付けモジュールを、内容の一貫性を達成するためにネットワークモデル構造の確立中に詳細のレベルのバランスをとりなおすように構成することもできる。下位レベル全順序付けモジュール６０４を、全順序付けが１つまたは複数の下位レベルへのプロセスの分解を介して満足されたかどうかを判定するように構成することができ、下位レベル全順序付けモジュール６０４は、分解中に詳細のレベルのバランスをとりなおすこともできる。同様に、最下位レベル全順序付けモジュール６０６を、プロセスの全順序をその最下位レベルを介して確認するように構成することができる。さまざまな例で、最下位レベル全順序付けモジュールを、全順序を満足するために最下位レベル構成要素の内容を調整するように構成することもできる。さまざまな例で、全順序付けシステム６００は、各階層レベルに存在する詳細内容の一貫性を有するスケーラブルな階層フィードフォワードネットワークとして表すことができる全順序付けされたプロセスを作ることができる。
【００５４】
ここで図７を参照されたく、図７は、セグメントレベル全順序付けモジュール７０２、下位レベル全順序付けモジュール７０４、および最下位レベル全順序付けモジュール７０６を含む適切な全順序付けシステム７００のより特定の例を示す。一例では、システムおよびそのモジュールは、図６の全順序付けシステム６００と、セグメントレベル全順序付けモジュール６０２、下位レベル全順序付けモジュール６０４、および最下位レベル全順序付けモジュール６０６のうちのそれぞれの１つとに対応することができる。
【００５５】
図示されているように、セグメントレベル全順序付けモジュール７０２は、お互いに結合されたセグメントパーティショナ（ｐａｒｔｉｔｉｏｎｅｒ）７０８、構成要素パーティショナ７１０、および一貫性チェッカ７１２を含むことができる。セグメントパーティショナを、適切なネットワークによって表すことができるなど、セグメントレベルで特定の階層プロセスを全般的に記述できるプロセス関連情報を受け取るように構成することができる。すなわち、セグメントパーティショナを、先行関係を有する複数のセグメントを含むプロセスのプロセス関連情報を受け取るように構成することができ、セグメントのうちの少なくともいくつかのそれぞれは、そのうちの少なくともいくつかがセグメントにまたがる先行関係を有する複数のセグメント構成要素を含む。
【００５６】
プロセス関連情報は、セグメントレベルでプロセスの内部製品、外部製品、内部構成要素、構成要素入力、および／または外部構成要素を記述することができる。プロセス関連情報は、内部製品を作るタスクと、タスクの間の先行関係（先行物、後継物）とを記述することができる。一例では、プロセス関連情報を、プロセス構築システム３０２などのプロセス構築システムから受け取ることができる。プロセス関連情報は、セグメントパーティショナ７０８が最も早い可用性に基づいて互いに素の集合によって区分するように構成され得る、プロセスのセグメントを記述することができる。
【００５７】
セグメントレベル全順序付けモジュール７０２を、セグメント構成要素が全順序付けされる場合を判定するように構成することができる。一例では、特定のプロセスのネットワーク表現に関して、セグメントパーティショナ７０８を、セグメントを並列ノードの集合（それぞれのセグメントごとに各ノード）に区分するように構成することができる。セグメントパーティショナは、ネットワーク内のどのエッジの後継物でもないすべてのノードを選択することによって、並列ノードの第１集合を判定することができる。並列ノードの第２集合は、その先行物がノードの第１集合に含まれるエッジの後継物のみであるノードを含む。後続の集合を、その先行物が並列ノードの前の集合に含まれるエッジの後継物のみであるノードを選択することによって形成することができる。これを、ネットワークが並列ノードの集合に区分されるまで繰り返すことができる。並列ノードの集合を、構造の順次順序で維持することができる。
【００５８】
並列ノードの集合ごとに、セグメントパーティショナ７０８は、力の印加をシミュレートすることができる。セグメントパーティショナは、これによって、そのノードの空間的配置を判定し、ノードごとに、そのノードが先行物であり、そのエッジの後継ノードが、エッジの結果の集合が空ではない並列ノードの最も近い続く集合に含まれるエッジを判定する。その結果は、ネットワーク内のノードごとの、最も早い続くノードの集合（空である場合がある）とすることができる。本明細書で説明するように、並列ノードの集合を、時々、パーティションと称する場合がある。
【００５９】
セグメントを区分した後に、セグメントパーティショナ７０８は、各パーティション内のセグメントの個数と、各パーティションが１つのセグメントのみまたは複数のセグメントのどちらを含むのかとを判定することができる。各パーティションが１つのセグメントのみを含む場合には、プロセスのセグメントを、全順序付きと考えることができる。その一方で、あるパーティションが複数のセグメントを含む場合には、セグメントパーティショナは、同一のパーティション内のセグメントを単一のセグメントに同化させまたは他の形で合併することができる。一例では、パーティショナは、複数のパーティションへのメンバシップを有するセグメントを、同一の最も早い可能なパーティションへのメンバシップを有するセグメントに合併することができる。その後、パーティショナは、プロセス（今は、合併されたセグメントを同一のパーティション内に含む）のセグメントを再区分することができる。その後、セグメントパーティショナは、各パーティション内のセグメントの個数と、各パーティションが１つのセグメントのみまたは複数のセグメントのどちらを含むのかとをもう一度判定することができる。これを、各パーティションが１つのセグメントのみを含み、プロセスのセグメントがこれによって全順序付けられるまで、繰り返すことができる。セグメントパーティショナを、これによって、プロセスのセグメントが全順序付けられる場合を判定するように構成することができる。
【００６０】
セグメントレベル全順序付けモジュール７０２の構成要素パーティショナ７１０を、全順序付きセグメントの構成要素を全般的に記述できるさらなるプロセス関連情報を受け取るように構成することができる。これは、順序付けられたセグメントの、それぞれの構成要素への分解を表す。前と同様に、一例では、さらなるプロセス関連情報を、プロセス構築システム３０２などのプロセス構築システムから受け取ることができる。構成要素パーティショナを、最も早い使用可能なパーティションを作るための最も早い可用性に基づき、最新の使用可能なパーティションを作るために最新の可用性に別々に基づいて、互いに素な集合によって全順序付けられたセグメントの構成要素を区分するように構成することができる。たとえば、最も早い可用性に基づく区分について、構成要素パーティショナは、上で説明したものに似た形で構成要素を区分することができる。最新の可用性に基づく区分は、同様に、上と同様に行われるが、ノードごとに、そのノードが先行物であり、そのエッジの後継物ノードが、エッジの結果の集合が空ではない並列ノードの最も遠い続く集合に含まれるエッジを判定することができる。これは、ネットワーク内のノードごとの、最新の続くノードの集合（空である場合がある）をもたらすことができる。前者のセグメントパーティションから区別するために、これらのパーティションを、セグメント構成要素パーティションと称する場合がある。
【００６１】
構成要素パーティショナ７１０は、最も早く使用可能なパーティションと最新の使用可能なパーティションとの両方へのメンバシップに基づいて、セグメント構成要素ごとの順序柔軟性を識別することができる。セグメント構成要素が、同一の最も早く使用可能なパーティションおよび最新の使用可能なパーティションへのメンバシップを有する場合には、製品セグメントが、順序柔軟性を有しない可能性がある（すなわち、順序非柔軟である可能性がある）。その一方で、セグメント構成要素が、異なる最も早く使用可能なパーティションおよび最新の使用可能なパーティションへのメンバシップを有する場合には、製品セグメントが、順序柔軟性を有する可能性がある。その後、構成要素パーティショナは、最も早く使用可能なパーティションと最新の使用可能なパーティションとの両方の各パーティションが、１つの順序非柔軟セグメント構成要素のみを含むかどうかを判定することができる。この場合に、パーティションを順序付けることができ、各パーティションの構成要素メンバシップの上境界および下境界を判定することができる。プロセスのセグメント構成要素を、これによって、全順序付きと考えることができる。
【００６２】
いくつかの場合に、最も早く使用可能なパーティションと最新の使用可能なパーティションとの両方の各パーティションが、複数の順序非柔軟セグメント構成要素を含む場合がある。セグメントレベル全順序付けモジュール７０２の一貫性チェッカ７１２は、これらの場合に、複数の境界になるパーティションにまたがってセグメント構成要素のあるレベルの内容詳細の一貫性チェックを実行することができる。さまざまな例で、一貫性の問題は、集計構成要素のセグメントの個数が、他のセグメントの個数と数において大きく異なる場合に問題になる可能性がある。一貫性の問題は、セグメント構成要素の内容詳細の大きい差が境界になるパーティションにまたがって発生する場合にも存在する可能性がある。これの例を、副構成要素レベルであるセグメント構成要素（たとえば、空調ダクトブラケットまたはグラウンドカート油圧継手）を有する、システムレベルであるセグメント構成要素（たとえば、航空機または工場）のパーティション境界にまたがる関係の識別とすることができる。
【００６３】
一貫性チェックが失敗する場合に、一貫性チェッカ７１２は、過剰に固有の内容詳細を有するセグメント構成要素を同一セグメントの他のセグメント構成要素と同化させまたは他の形で合併することができる。この合併は、同化された構成要素の定義内容をより適当な一般化にすることができる。セグメント構成要素が内容の十分な定義を含まない（境界になるパーティション内の構成要素に適当に関係付けるのに不十分に固有）場合には、一貫性チェッカは、それぞれのセグメント構成要素の内容詳細により固有の特性を追加するために、同一セグメントのセグメント構成要素を改訂することができる。
【００６４】
前述の合併または改訂のいずれかまたは両方の後に、一貫性チェッカ７１２は、構成要素パーティショナ７１０に戻って通信することができ、構成要素パーティショナ７１０は、セグメント構成要素（今は、合併されかつ／または改訂されたセグメント構成要素を含む）を再区分することができる。その後、構成要素パーティショナは、セグメント構成要素をもう一度区分し、各セグメント構成要素の順序柔軟性を識別し、最も早く使用可能なパーティションと最新の使用可能なパーティションとの両方の各パーティションが、１つの順序非柔軟セグメント構成要素だけを含むかどうかを判定することができる。
【００６５】
構成要素パーティショナ７１０および一貫性チェッカ７１２の前述の動作を、最も早く使用可能なパーティションと最新の使用可能なパーティションとの両方の各パーティションが１つの順序非柔軟セグメント構成要素だけを含むか一貫性チェックが満足されるまで、繰り返すことができる。やはり、最も早く使用可能なパーティションと最新の使用可能なパーティションとの両方の各パーティションが、１つの順序非柔軟セグメント構成要素だけを含む場合には、パーティションを順序付けることができ、各パーティションの構成要素メンバシップの上境界および下境界を判定することができ、プロセスのセグメント構成要素は、これによって全順序付けられる。
【００６６】
下位レベル全順序付けモジュール７０４は、お互いに結合される全順序チェッカ７１４、下位レベル構成要素パーティショナ７１６、および第２一貫性チェッカ７１８を含むことができる。一例では、全順序チェッカを、プロセスのセグメント構成要素が全順序付けられ、パーティションが全順序付けられ、各パーティションの構成要素メンバシップの上境界および下境界が判定される場合を判定するように構成することができる。全順序チェッカは、ネットワークがプロセスの特性を正しく表すのに十分なレベルの詳細を公開するかどうかをも判定することができる。さらなる詳細が不要である場合には、プロセスを、全順序付けられていると考えることができる。そうではなく、さらなる詳細が望まれるか、他の形で要求される可能性がある場合には、全順序チェッカは、下位レベル構成要素パーティショナと通信して、ネットワークの分解を継続することができる。一例では、一貫性チェッカ７１２は、同様に、最も早く使用可能なパーティションと最新の使用可能なパーティションとの両方の各セグメントパーティションが、複数の順序非柔軟セグメント構成要素を含むが、一貫性チェックが満足される場合に、下位レベル構成要素パーティショナと通信することができる。
【００６７】
下位レベル全順序付けモジュール７０４を、下位レベル構成要素が全順序付けされる場合を判定するように構成することができる。一例では、下位レベル構成要素パーティショナ７１６を、セグメント構成要素の下位レベル構成要素を全般的に記述できるさらなるプロセス関連情報を受け取るように構成することができる。これに関して、プロセス内で、セグメント構成要素のうちの少なくともいくつかのそれぞれは、そのうちの少なくともいくつかがセグメント構成要素にまたがる先行関係を有する複数の下位レベル構成要素を含む。さまざまな例では、プロセスは、最下位レベルを含む階層の１つまたは複数の下位レベルで下位レベル構成要素を含むことができる。最下位レベルの下位レベル構成要素は、そのうちの少なくともいくつかが階層の親レベルの親構成要素にまたがる先行関係を有する最下位レベル構成要素とすることができる。やはり、これは、それぞれの最下位レベル構成要素へのセグメント構成要素の分解を表すことができる。やはり、プロセス関連情報を、プロセス構築システム３０２などのプロセス構築システムから受け取ることができる。
【００６８】
下位レベル構成要素パーティショナ７１６を、セグメント構成要素を処理するように構成された構成要素パーティショナ７１０に似た形で下位レベル構成要素を処理するように構成することができる。これに関して、下位レベル構成要素パーティショナは、下位レベルの最も早く使用可能なパーティションを作るために最も早い可用性に基づき、下位レベルの最新の使用可能なパーティションを作るために最新の可用性に別々に基づいて、互いに素な集合によってセグメント構成要素の下位レベル構成要素を区分することができる。下位レベル構成要素パーティショナは、それぞれの下位レベルの最も早く使用可能なパーティションおよび下位レベルの最新の使用可能なパーティションへのメンバシップを介して下位レベル構成要素ごとに順序柔軟性を識別することもできる。一例では、区分および順序柔軟性の識別を、構成要素パーティショナ７１０に関して上で説明したものに類似する形で行うことができる。前と同様に、下位レベル構成要素が、同一の下位レベルの最も早く使用可能なパーティションおよび下位レベルの最新の使用可能なパーティションへのメンバシップを有する場合に、セグメント構成要素は、順序柔軟性を有しない可能性がある（すなわち、順序非柔軟性を有する可能性がある）。その一方で、下位レベル構成要素が、異なる下位レベルの最も早く使用可能なパーティションおよび下位レベルの最新の使用可能なパーティションへのメンバシップを有する場合に、セグメント構成要素は、順序柔軟性を有する可能性がある。
【００６９】
下位レベル構成要素パーティショナ７１６は、下位レベルの最も早く使用可能なパーティションと下位レベルの最新の使用可能なパーティションとの両方の各パーティションが１つの順序非柔軟な下位レベル構成要素だけを含むかどうかを判定することができる。この場合に、パーティションを順序付けることができ、各パーティションの下位レベル構成要素メンバシップの上境界および下境界を判定することができる。プロセスの下位レベル構成要素を、これによって、全順序付きと考えることができる。その後、下位レベル構成要素パーティショナは、ネットワークが今、プロセスの特性を正しく表すのに十分なレベルの詳細を公開するかどうかを判定するために、全順序チェッカ７１４に戻って通信することができる。そうでない場合には、下位レベル構成要素パーティショナは、ネットワークのさらなる分解を受け取り、その動作を繰り返すことができる。
【００７０】
いくつかの場合に、下位レベルの最も早く使用可能なパーティションと下位レベルの最新の使用可能なパーティションとの両方の構成要素の各パーティションは、複数の順序非柔軟な下位レベル構成要素を含むことができる。下位レベル構成要素パーティショナ７１６は、この場合に、ネットワークの親レベル（たとえば、セグメントレベル）が全順序付きであるかどうかを判定することができる。そうでない場合には、第２一貫性チェッカ７１８は、一貫性チェッカ７１２について上で説明したものに似た形でなど、複数の境界になるパーティションにまたがって下位レベル構成要素のあるレベルの内容詳細の一貫性チェックを実行することができる。前と同様に、一貫性チェックが失敗する場合に、第２一貫性チェッカは、上で説明したものに似た形でなど、下位レベル構成要素を合併し、かつ／または改訂することができる。
【００７１】
合併もしくは改訂のいずれかもしくは両方の後に、または一貫性チェックが満足される場合に、第２一貫性チェッカ７１８は、下位レベル構成要素パーティショナ７１６に戻って通信することができ、下位レベル構成要素パーティショナ７１６は、下位レベル構成要素（今は、合併されかつ／または改訂された、下位レベル構成要素を含む）を区分することができる。その後、下位レベル構成要素パーティショナは、下位レベル構成要素をもう一度区分し、下位レベル構成要素ごとに順序柔軟性を識別し、下位レベルの最も早く使用可能なパーティションと下位レベルの最新の使用可能なパーティションとの両方の各パーティションが、１つの順序非柔軟な下位レベル構成要素だけを含むかどうかを判定することができる。下位レベル構成要素パーティショナおよび第２一貫性チェッカは、ネットワークの所与の下位レベルの親レベルが全順序付けられるまで、その動作を繰り返すことができる。
【００７２】
上で提案されるように、最下位レベル全順序付けモジュール７０６を、全順序付けがプロセスの分解の最下位レベルを通って満足されたかどうかを判定するように構成することができる。最下位レベル全順序付けモジュール７０６は、お互いに結合されるアセッサ（ａｓｓｅｓｓｏｒ）７２０、リストラクチャラ（ｒｅｓｔｒｕｃｔｕｒｅｒ）７２２、および最下位レベル構成要素パーティショナ７２４を含むことができる。
【００７３】
大スケールで複雑なプロセスが、プロセスのより上のレベルで全順序付けを達成した後に所望のまたは要求されるレベルの詳細まで分解され続ける時に、プロセスの全順序の判定が、変更から利益を得ることができる状況が存在する可能性がある。たとえば、いくつかの場合に、ネットワークの最下位レベルが、全順序付けられていない可能性があるが、その親レベルが、全順序付けられている場合がある。この場合に、アセッサ７２０は、ネットワークが、プロセスの特性を正しく表すのに十分なレベルの詳細を公開するかどうかを判定することができる。
【００７４】
さらなる詳細（分解）が要求されない場合に、アセッサ７２０は、複数の最下位レベルの順序非柔軟な構成要素を含む互いに素なパーティションを識別し、複数の先行するおよび／または後継のパーティション境界にまたがる最下位レベルの順序非柔軟な構成要素の入出力スレッドを定義することができる。その後、アセッサは、そのパーティション内の最下位レベルの順序非柔軟な構成要素のうちの１つだけが、その入出力スレッド内に対応する最下位レベルの順序非柔軟な構成要素のみを有するという条件が存在するかどうかを判定することができる。そうである場合には、そのパーティションを順序付けることができ、各パーティションの最下位レベル構成要素メンバシップの上境界および下境界を判定することができ、これによって、プロセスの最下位レベル構成要素が全順序付けられる。やはり、いくつかの場合に、最下位レベルの親コンポーネントが、順序非柔軟である可能性があるが、追加の詳細について分解される時に、その子が、複数の順序非柔軟構成要素に分解される場合がある。これらの複数の順序非柔軟構成要素の入出力スレッドのパーティションにまたがって調べることによって、全順序を満足するために適当な子構成要素の選択の識別を解決することができる。これは、自然な形態学的分解の通常の条件ではない可能性があるが、プロセスの最下位レベルで仕様断片を設計する形に現れる可能性があり、したがって、パーティションを個別に調べるのではなく、パーティションのグループを用いることによって処理され得る。
【００７５】
そのパーティション内の最下位レベルの順序非柔軟な構成要素のうちの１つだけが、その入出力スレッド内に対応する最下位レベルの順序非柔軟な構成要素だけを有するという条件が存在しない場合には、リストラクチャラ７２２を、プロセスの最下位レベル構成要素のうちの少なくともいくつかを再編成するように構成することができる。一例では、リストラクチャラ７２２は、一貫性チェッカ７１２について上で説明したものに類似する形でなど、下位レベル構成要素を合併し、かつ／または改訂することができる。すなわち、リストラクチャラは、パーティションにまたがる詳細のレベルのバランスをとりなおすために、詳細内の固有すぎる最下位レベル構成要素を、同一セグメントの下位レベル構成要素集合体内の最下位レベル構成要素に同化させることができる。それに加えてまたはその代わりに、リストラクチャラは、プロセスまたはむしろそのネットワーク表現のバランスをとりなおすために最下位レベル構成要素内の要求される詳細を公開できる、詳細の不十分な特性を有するセグメントの下位レベル構成要素集合体内の最下位レベル構成要素を改訂することができる。その後、リストラクチャラは、プロセス構築システム３０２などのプロセス構築システムによって実行される構築方法に従うなど、ネットワークのバランスをとりなおすために１つまたは複数の調整を実行することができる。
【００７６】
リストラクチャラ７２２がネットワークのバランスをとりなおした後に、最下位レベル構成要素パーティショナ７２４は、構成要素パーティショナ７１０がセグメント構成要素を処理する形および／または下位レベル構成要素パーティショナ７１６が下位レベル構成要素を処理するのに似た形で、最下位レベル構成要素を処理することができる。最下位レベル構成要素パーティショナは、最下位レベルの最も早く使用可能なパーティションを作るために最も早い可用性に基づき、最下位レベルの最新の使用可能なパーティションを作るために最新の可用性に別々に基づいて、互いに素な集合によって最下位レベル構成要素を区分することができる。最下位レベル構成要素パーティショナは、それぞれの最下位レベルの最も早く使用可能なパーティションおよび最下位レベルの最新の使用可能なパーティションへのメンバシップを介して最下位レベル構成要素ごとに順序柔軟性を識別することもできる。
【００７７】
最下位レベル構成要素パーティショナ７２４は、最下位レベルの最も早く使用可能なパーティションと最下位レベルの最新の使用可能なパーティションとの両方の各パーティションが、１つの順序非柔軟な最下位レベル構成要素だけを含むかどうかを判定することができる。この場合に、パーティションを順序付けることができ、各パーティションの最下位レベル構成要素メンバシップの上境界および下境界を判定することができる。プロセスの最下位レベル構成要素を、これによって、全順序付きと考えることができる。いくつかの場合に、ネットワークは、プロセスの特性を正しく表すのに十分なレベルの詳細を公開することができる。しかし、他の場合に、ネットワークが、十分な詳細を公開しない場合がある。これらの他の場合に、最下位レベル構成要素パーティショナは、さらに、ネットワークの親レベルが全順序付きであるかどうかを判定することができ、そうである場合には、必要な詳細は、性質において局所化され、前と同様に、リストラクチャラ７２２が同一構成要素の下位レベル構成要素を改訂することによって、達成され得る。リストラクチャラは、ネットワークのバランスをとりなおすために、もう一度、１つまたは複数の調整を実行することもできる。その後、最下位レベル構成要素パーティショナは、もう一度、前と同様の形で、最下位レベル構成要素を処理することができる。これを、プロセスの最下位レベル構成要素が全順序付きになるまで繰り返すことができる。
【００７８】
ここで短く図３に戻ると、プロセス構築システム３０２によって構築され、かつ／または全順序付けシステム３０４によって全順序付けされるものなどのプロセスを表すネットワークは、プロセスの内部製品を作るタスクの論理シーケンスを記述することができる。プロセスプランニングシステム３００のスケジュールモデラ３０６を、全般的に、プロセスのタスクのうちの少なくともいくつかの実行のためにプロセススケジュールを構築するように構成することができる。図８に、一例で図３のスケジュールモデラ３０６に対応することのできるスケジュールモデラ８００を示す。図示されているように、スケジュールモデラ８００を、全般的に、全順序付けシステムからなど、全順序付きプロセスのプロセス関連情報を受け取るように構成することができる。
【００７９】
スケジュールモデラ８００によって受け取られるプロセス関連情報は、一般に、適切な全順序付きネットワークによって表せるものなど、特定のプロセスを記述することができる。上で提案したように、プロセス関連情報は、プロセスの内部製品、外部製品、内部構成要素、構成要素入力、および／または外部構成要素を記述することができる。プロセス関連情報は、内部製品を作るタスクと、タスクの間の先行関係（先行物、後継物）とを記述することができる。さらに、プロセス関連情報は、それぞれのタスクがプロセスの内部製品を作るためのタスク持続時間を含むことができる。タスク持続時間を、単一の推定値、複数の推定値のある組合せ、または統計的量によるなど、複数の異なる形のいずれかで表すことができる。一例では、タスク持続時間を、図１に示されたものなどの確率分布によって表すことができる。
【００８０】
プロセスの内部製品を作るタスクを、それぞれをプロセススケジュールの産出中にスケジューリングできる論理シーケンシングされたタスクの１つまたは複数のパスまたはチェーン（本明細書では一般に「チェーン」と称する）内に配置することができる。図４および５に関して上で提案したように、厳密に順序付けられたタスクを含むチェーンを、第１チェーンまたはアルファチェーンと考えることができ、任意の他のチェーンを、第２チェーンまたは第２アルファチェーンと考えることができる。一例では、各チェーンは、さらに、チェーンのタスクのタスク持続時間の不確実性を考慮に入れることができる、持続時間のバッファを含むことができる。アルファチェーンについて、バッファを、時々、第１バッファ、プロジェクトバッファ、またはアルファバッファと称する場合があり、各第２アルファチェーンについて、バッファを、時々、第２バッファまたは第２アルファバッファと称する場合がある。
【００８１】
例の実施態様のプロセスを、そのタスクの実行がそのそれぞれの入力の存在または可用性に依存するものとすることができるという点で、データ駆動と考えることができる。上で示したように、内部製品を作るタスクは、１つまたは複数の内部製品および／または外部製品など、１つまたは複数の入力を利用しまたは必要とするものとすることができる。これらの入力は、同時にまたは異なる時に使用可能とすることができ、時間的に、少なくとも最後の入力を含むことができる。一部のタスクは、そのタスクを開始できる前に最後の入力を含む入力のすべてを必要とし、したがって、順次実行されなければならない。しかし、他のタスクは、そのタスクを開始できる前に最後の入力を使用できることを必要とする１つのセグメントを含むことができるが、最後の入力が使用可能になる前に開始できる別のセグメントをも含む。これらの他のタスクについて、最後の入力を使用できることを必要とするセグメントは、順次実行されなければならないが、最後の入力を使用できることを必要としないセグメントは、並列に実行され得る。プロセスの内部製品とする子ができる前述のセグメントとの混乱を避けるために、タスクのセグメントを、時々、タスクの「部分」と称する場合がある。
【００８２】
商用航空機開発プロセスは、たとえば、大組の詳細部品レイアウトを作るタスクを含む場合がある。タスクは、時間的に入手可能になる可能性がある順番で、内部荷重データ、ビルドプラン（ｂｕｉｌｄ−ｐｌａｎ）情報、供給業者情報、ツーリング情報、大組統合レイアウト、ならびに界面荷重およびサイジングデータを含む入力を使用できることに依存するものとすることができる。この例では、タスクは、開始できる前に最後の入力（界面荷重およびサイジングデータ）の可用性を必要とする部分を含むことができるが、最後の入力が使用可能になる前に開始できる別の部分を含むこともできる。
【００８３】
「クロージャ」部分は、タスクのうちで、開始される前にタスクの最後の入力を使用できることを必要とし、したがって、順次実行されなければならない部分とすることができる。その一方で、「プリカーサ」部分は、タスクのうちで、タスクの最後の入力が使用可能になる前に開始され得、したがって、並列に実行され得る部分とすることができる。したがって、クロージャ部分は、タスクの入力のすべてが使用可能になった時に限って開始され得る。プリカーサ部分は、タスクの入力のすべてが使用可能になる前に開始され得る。一例では、プリカーサ部分を、時間的に最初の入力であってもなくてもよいが、タスクの最後の入力以外の、その入力のうちの最初の有効な１つが使用可能である時に開始することができる。さまざまな例では、クロージャ部分またはプリカーサ部分は、そのクロージャ部分および／またはプリカーサ部分によって作られる内部製品を入力として受け取ることができる。同様に、クロージャ部分またはプリカーサ部分は、クロージャ部分および／またはプリカーサ部分に入力され得る内部製品を作ることができる。図９に、１つの例の実施態様による、タスク９０２のチェーンの一部９００ならびにそのクロージャ部分９０４とプリカーサ部分９０６との間の入力依存性を示す。
【００８４】
一般に、プリカーサ部分は、クロージャ部分より多くの不確実性を含む可能性がある。したがって、クロージャ部分は、プロセスの進行を支配する依存性をより表す可能性がある。さまざまな例の実施態様では、スケジュールモデラ８００は、タスクの入力依存性に基づいてタスクをスケジューリングすることができ、別々の日付または別々のタスク持続時間を必要としないものとすることができる。図８に示されているように、スケジューラモデラは、プロセスの内部製品を作る１つまたは複数のタスクのそれぞれを別個のクロージャ部分およびプリカーサ部分に分離するように構成されたタスクセパレータ８０２を含むことができる（一部のタスクは、別個のプリカーサ部分を含まない場合がある）。一例では、タスクセパレータは、たとえばアルファチェーンから始めて、チェーンを基礎としてタスクを分離することができる。その後、タスクセパレータは、クロージャ部分を持続時間カリキュレータ８０４に通信することができる。
【００８５】
持続時間カリキュレータ８０４を、チェーンのクロージャ部分の平均持続時間を受け取るか計算するように構成することができ、一例では、持続時間カリキュレータ８０４は、それぞれのチェーンのバッファサイズ（持続時間）を計算することができる。一例では、持続時間カリキュレータは、ターゲット時間枠（Ｌ’）以内のプロセスの実行のための所定の終了日付（たとえば、マイルストーン）などの時間枠制約に基づいて、平均持続時間およびバッファを計算することができる。タスク持続時間に似て、クロージャ部分持続時間を、図１でモデル化されたものなど、既知のまたは未知の確率分布を有する統計量として表すことができる。一例では、持続時間カリキュレータは、平均クロージャ部分持続時間（Ａ）およびバッファサイズ（Ｂ）を、時間枠（Ｌ）およびチェーン内のクロージャ部分の個数（ｎ）の関数として表すことができる。一例では、時間枠（Ｌ）を、次のように表すことができる。
Ｌ＝ｎＡ＋Ｂ    （１）
さまざまな例で、バッファサイズ（Ｂ）を、安全持続時間（Ｓ）と平均持続時間（Ａ）との間の差の二乗の和の平方根を使用して統計的分散として導出することができ、この２つの持続時間は、一例では仮定によって関係付けることができる。これらの関係は、クロージャ部分の平均タスク持続時間を計算するのに使用できる多項式をもたらすことができ、このクロージャ部分の平均タスク持続時間は、一例では、整数値に丸めることができる（たとえば、１日単位で）。
【００８６】
Ｓ＝２Ａである一例では、バッファサイズ（Ｂ）を、次のように、自乗平均関数に従って計算することができる。
【００８７】
【数１】
2014154152.tif 000003
式（１）および（２）を組み合わせて、次の二次式を得ることができる。
（ｎ２−ｎ）Ａ２−２ＬｎＡ＋Ｌ２＝０    （３）
その後、式（３）の式を次の関数について解くことができ、この関数から、平均持続時間（Ａ）を計算することができる。
【００８８】
【数２】
2014154152.tif 000004
【００８９】
もう１つの例では、関係Ｓ＝３Ａが、次の二次式（ｎ２−４ｎ）Ａ２−２ＬｎＡ＋Ｌ２＝０をもたらすことができ、この二次式を、平均持続時間（Ａ）の次の関数について解くことができる。
【００９０】
【数３】
2014154152.tif 000005
また、もう１つの例では、関係Ｓ＝１．５Ａが、次の二次式（ｎ２−．２５ｎ）Ａ２−２ＬｎＡ＋Ｌ２＝０をもたらすことができ、この二次式を、次式について解くことができる。
【００９１】
【数４】
2014154152.tif 000006
【００９２】
タスクセパレータ８０２および持続時間カリキュレータ８０４は、アルファチェーンならびに任意の第２アルファチェーンについて機能を実行することができる。したがって、タスクセパレータおよび持続時間カリキュレータは、クロージャ部分の平均持続時間およびアルファチェーンのプロジェクトバッファのサイズを計算することができる。タスクセパレータおよび持続時間カリキュレータは、同様に、クロージャ部分の平均持続時間および１つまたは複数の第２アルファチェーンのそれぞれの第２バッファのサイズを計算することができる。
【００９３】
スケジュールモデラ８００は、さらに、アルファチェーンおよび任意の第２アルファチェーンの、クロージャ部分およびプリカーサ部分を含むタスクに基づき、それぞれのチェーンのクロージャ部分平均持続時間およびバッファサイズに基づいて、プロセススケジュールを構築するように構成されたスケジュールコンストラクタ８０６を含むことができる。タスクセパレータ８０２は、アルファチェーンおよび任意の第２アルファチェーンのクロージャ部分およびプリカーサ部分をスケジューラモデラに通信することができ、持続時間カリキュレータ８０４は、それぞれのチェーンのクロージャ部分平均持続時間およびバッファサイズを通信することができる。
【００９４】
一例では、スケジュールコンストラクタ８０６は、平均持続時間およびバッファサイズに従い、介在するプリカーサ部分を伴わず、チェーンの最後のクロージャ部分の後にシーケンシング（時間的に）されたバッファを伴って、各チェーンのクロージャ部分およびバッファをシーケンシングすることができる。さまざまな例で、アルファチェーンのクロージャタスクのこのシーケンスは、プロセスのプランニングモデルに対する制約として機能することができる。しかし、スケジュールを完了するために、スケジュールコンストラクタは、それぞれのクロージャ部分の前にプリカーサ部分を付加しなければならない。その後、これらのプリカーサ部分を、それぞれの最初の有効な入力を作るタスクのクロージャ部分に、戻って接続することができる。
【００９５】
図３に戻ると、一例では、スケジュールモデラ３０６（たとえば、スケジュールモデラ８００）によって構築されるプロセススケジュールを、ガントチャートまたは他の類似するチャートもしくは図として表すことができる。図１０に、タスクのアルファチェーンの１つの適切なガントチャートを示す。図示されているように、このチャートは、計算された平均持続時間に従ってサイズを定められたクロージャ部分のシーケンス１００２と、計算されたサイズに従ってサイズを定められた後に付加された第１バッファ１００４とを含むアルファチェーンを示す。このチャートは、それぞれのクロージャ部分の前に付加され、それぞれの最初の有効な入力を作るそれぞれのタスクに戻って接続されたプリカーサ部分１００６をも含む。これは、スケジューラが、クロージャ部分に対する相対的なプリカーサ部分のより多い不確実性を考慮に入れることを可能にすることができる。
【００９６】
図１０に似て、図１１に、フェーズドローリングウェーブ計画法の文脈でのタスクのアルファチェーンの１つの適切なガントチャート１１００を示す。図示されているように、このチャートは、そのそれぞれが複数のサブフェーズ１１０４を含むことができる主フェーズ１１０２を含むことができる、オーバーラップするプランニングフェーズを含むことができる。フェーズおよびそれぞれのサブフェーズは、それについてアルファチェーンを形成できるタスクを含むことができる。図示されているように、前に似て、アルファチェーンは、プリカーサ部分１１０８を前に付加できるクロージャ部分のシーケンス１１０６を含むことができる。さまざまな例で、プロジェクトを、現在のフェーズを実行するのに必要な詳細までに限って、ローリングフェーズを基礎として計画することができる。当初に未知である可能性がある、より後のフェーズ（またはサブフェーズ）の詳細は、後に出現した時に、ローリングウェーブ手法を使用して追加される。図示されているように、これらのより後のフェーズ（またはサブフェーズ）を、適当なタスクのプリカーサ部分によるなど、より前のフェーズに戻って結び付けることができる。
【００９７】
上で示したように、プロセスプランニングシステム３００は、さらに、プロセスおよびそのスケジュールに基づいてプランモデルを構築するように構成されたプランモデラ３０８を含むことができる。一例では、全順序付けシステム３０４またはスケジュールモデラ３０６は、全順序付きプロセスのプロセス関連情報（たとえば、ネットワーク）をプランモデラに通信することができ、スケジュールモデラは、プロセススケジュールをプランモデラに通信することができる。その後、プランモデラは、プロセス関連情報、プランスケジュール、および任意の他の適当な情報をプランモデルへと編集する。一例では、この他の適当な情報は、プロセスに対するリソース制約およびポリシ制約を記述するリソース関連情報を含むことができる。リソース関連情報は、たとえば、マンパワー要件およびマンパワー可用性、工場フロアスペース可用性、ツーリング要件、ならびに／またはプロセスを実行するのに必要な任意の他のリソースを含むことができる。さまざまな例で、プランモデラは、プロセスを実行するためにリソースを割り当てることができ、プロセスの実行中に生じる可能性があるすべての潜在的な衝突および他の問題を識別することができる。たとえば、プランモデラは、タスクが、現在使用可能な量より多い量の特定のリソースを必要とするかどうかを判定することができる。もう１つの例では、プランモデラは、所定の終了日付（たとえば、マイルストーン）を超える、プロセスの完了日付を予測することができる。これらの衝突／問題を、適当な人員に通信して、彼らが意思決定し、さまざまな救済処置を講じるのを容易にすることができる。
【００９８】
本開示の例の実施態様によれば、プロセスプランニングシステム３００と、プロセス構築システム３０２、全順序付けシステム３０４、スケジュールモデラ３０６、およびプランモデラ３０８を含むそのサブシステムとを、さまざまな手段によって実施することができる。同様に、そのそれぞれの要素のそれぞれを含む、全順序付けシステム６００、７００、およびスケジュールモデラ８００の例を、例の実施態様に従ってさまざまな手段によって実施することができる。システム、サブシステム、およびそのそれぞれの要素を実施する手段は、単独のまたはコンピュータ可読記憶媒体からの１つもしくは複数のコンピュータプログラムコード命令、プログラム命令、もしくは実行可能コンピュータ可読プログラムコード命令の指示の下の、ハードウェアを含むことができる。
【００９９】
一例では、図示され本明細書で説明されたシステム、サブシステム、およびそれぞれの要素として機能するか他の形でこれらを実施するように構成された１つまたは複数の装置を提供することができる。複数の装置を含む例では、それぞれの装置は、有線ネットワークもしくは無線ネットワークまたは類似物を介して直接にまたは間接になど、複数の異なる形でお互いに接続されまたは他の形で通信しているものとすることができる。
【０１００】
一般に、本開示の例示的実施態様の装置は、１つまたは複数の固定されたまたはポータブルの電子デバイスを備え、含み、またはその中で実施され得る。適切な電子デバイスの例は、スマートホン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーションコンピュータ、サーバコンピュータ、または類似物を含む。この装置は、たとえばメモリ（たとえば、ストレージデバイス）に接続されたプロセッサ（たとえば、プロセッサユニット）などの複数の構成要素のそれぞれを１つまたは複数含むことができる。
【０１０１】
プロセッサは、一般に、たとえばデータ、コンピュータ可読プログラムコード、命令もしくは類似物（一般に「コンピュータプログラム」、たとえばソフトウェア、ファームウェアなど）、および／または他の適切な電子情報などの情報を処理することができる任意のハードウェアである。より具体的には、たとえば、プロセッサを、プロセッサにオンボードで格納しまたはメモリ（同一の装置または別の装置の）内に他の形で格納することができるコンピュータプログラムを実行するように構成することができる。プロセッサは、特定の実施態様に応じて、複数のプロセッサ、マルチプロセッサコア、またはある他のタイプのプロセッサとすることができる。さらに、プロセッサを、主プロセッサが１つまたは複数の副プロセッサと共に単一チップ上に存在する複数の異種プロセッサシステムを使用して実施することができる。もう１つの例示的な例として、プロセッサを、同一タイプの複数のプロセッサを含む対称型マルチプロセッサシステムとすることができる。もう１つの例として、プロセッサは、１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または類似物として実施されまたは他の形でこれを含むことができる。したがって、プロセッサが、１つまたは複数の機能を実行するためにコンピュータプログラムを実行できるものとすることができるが、さまざまな例のプロセッサを、コンピュータプログラムの助けなしで１つまたは複数の機能を実行できるものとすることができる。
【０１０２】
メモリは、一般に、たとえばデータ、コンピュータプログラム、および／または他の適切な情報などの情報を一時的な基礎および／または永久的な基礎のいずれかで格納することができる任意のハードウェアである。メモリは、揮発性メモリおよび／または不揮発性メモリを含むことができ、固定またはリムーバブルとすることができる。適切なメモリの例は、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、ハードドライブ、フラッシュメモリ、サムドライブ、リムーバブルコンピュータディスケット、光ディスク、磁気テープ、または上記のある組合せを含む。光ディスクは、コンパクトディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、読み書き可能コンパクトディスク（ＣＤ−Ｒ／Ｗ）、ＤＶＤ、または類似物を含むことができる。さまざまな例で、メモリを、情報を格納できる固定デバイスとして、ある位置から別の位置へ情報を搬送できる一時的電子信号などのコンピュータ可読伝送媒体から区別できる、コンピュータ可読記憶媒体と称する場合がある。本明細書で説明されるコンピュータ可読媒体は、一般に、コンピュータ可読記憶媒体またはコンピュータ可読伝送媒体を指すことができる。
【０１０３】
メモリに加えて、プロセッサを、情報を表示し、送信し、かつ／または受信する１つまたは複数のインターフェースに接続することもできる。インターフェースは、通信インターフェース（たとえば、通信ユニット）および／または１つまたは複数のユーザインターフェースを含むことができる。通信インターフェースを、他の装置（１つまたは複数）、ネットワーク（１つまたは複数）、または類似物へおよび／またはからなど、情報を送信し、かつ／または受信するように構成することができる。通信インターフェースを、物理（有線）通信リンクおよび／または無線通信リンクによって情報を送信し、かつ／または受信するように構成することができる。適切な通信インターフェースの例は、ネットワークインターフェースコントローラ（ＮＩＣ）、無線ＮＩＣ（ＷＮＩＣ）、または類似物を含む。
【０１０４】
ユーザインターフェースは、ディスプレイおよび／または１つもしくは複数ユーザ入力インターフェース（たとえば、入出力ユニット）を含むことができる。ディスプレイを、ユーザに情報を提示しまたは他の形で表示するように構成することができ、ディスプレイの適切な例は、液晶ディスプレイ（ＬＣＤ）、発光ダイオードディスプレイ（ＬＥＤ）、プラズマディスプレイパネル（ＰＤＰ）、または類似物を含む。ユーザ入力インターフェースは、有線または無線とすることができ、処理、格納、および／または表示のためなど、ユーザからの情報を装置に受け取るように構成され得る。ユーザ入力インターフェースの適切な例は、マイクロホン、イメージ取込デバイスもしくはビデオ取込デバイス、キーボードもしくはキーパッド、ジョイスティック、接触感知表面（タッチスクリーンとは別々またはこれに一体化された）、バイオメトリックセンサ、または類似物を含む。ユーザインターフェースは、さらに、プリンタ、スキャナ、または類似物などの周辺機器と通信する１つまたは複数のインターフェースを含むことができる。
【０１０５】
上で示したように、プログラムコード命令を、メモリ内に格納し、プロセッサによって実行して、本明細書で説明されるシステム、サブシステム、およびそのそれぞれの要素の機能を実施することができる。了解されるように、任意の適切なプログラムコード命令を、コンピュータ可読記憶媒体からコンピュータまたは他のプログラマブル装置にロードして、特定の機械が本明細書で指定される機能を実施する手段になるように、特定の機械を作ることができる。これによって特定の機械または特定の製造品を試製する特定の形で機能するようにコンピュータ、プロセッサ、または他のプログラマブル装置に指示することができる、これらのプログラムコード命令を、コンピュータ可読記憶媒体に格納することもできる。コンピュータ可読記憶媒体に格納された命令は、製造品を作ることができ、この製造品は、本明細書で説明される機能を実施する手段になる。プログラムコード命令を、コンピュータ可読記憶媒体から取り出し、コンピュータ、プロセッサ、または他のプログラマブル装置にロードして、コンピュータ、プロセッサ、または他のプログラマブル装置上でもしくはこれによって実行される動作を実行するようにコンピュータ、プロセッサ、または他のプログラマブル装置を構成することができる。
【０１０６】
プログラムコード命令の取出、ロード、および実行を、一時に１つの命令が取り出され、ロードされ、実行されるように、順次実行することができる。いくつかの例の実施態様では、複数の命令が一緒に取り出され、ロードされ、かつ／または実行されるように、取出、ロード、および／または実行を並列に実行することができる。プログラムコード命令の実行は、コンピュータ、プロセッサ、または他のプログラマブル装置によって実行される命令が本明細書で説明される機能を実施する動作を提供するように、コンピュータ実施されるプロセスを作ることができる。
【０１０７】
プロセッサによる命令の実行またはコンピュータ可読記憶媒体内の命令の格納は、指定された機能を実行する動作の組合せをサポートする。１つもしくは複数の機能または機能の組合せを、指定された機能を実行する特殊目的ハードウェアベースのコンピュータシステムおよび／もしくは特殊目的プロセッサまたは特殊目的ハードウェアおよびプログラムコード命令の組合せによって実施することができることを理解されたい。
【０１０８】
上で説明したように、本開示の例の実施態様は、タスクの確率的性質をモデル化する構造を使用してプロセスからプランニング環境へのアルファチェーン制約を確立するシステムおよび方法を提供する。アルファチェーン制約（スケジュールベースのプランニングツール／プランニング環境でのスケジュールベースの制約ではなく）の使用は、プロセスプランの自動化された生成を容易にすることができる。そのようなアルファチェーン制約に基づくプロセスプランは、複数の利点を有することができる。これらのプロセスプランは、スケジュールベースのプランをむしばむ不確実性および変動の源に関して頑健とすることができ、したがって、より少数のプランニングサイクルを必要とする可能性がある。これらのプロセスプランは、スケジュール推定値および労力推定値での衝突を解決するための非付加価値労力を除去できるので、より高速のプランニングサイクルをもたらすこともできる。これらのプロセスプランは、例の実施態様に従って取り込むことができる関係を類似するプロジェクトの基礎として使用できるので、プランニングの再利用可能なベースラインをもたらすこともできる。開発プロセス統合に対するスケジュール駆動メトリックの悪影響を、除去できないとしても減らすことができ、非頑健なスケジュールベースのプランニングの繰り返されるサイクルに関連する非効率およびコストを減らすこともできる。
【０１０９】
アルファチェーン制約に基づくプロセスプランは、よりよい予測モデルである可能性もある。プリカーサ部分が、クロージャ部分より多くの不確実性を含む可能性があるので、クロージャ部分のアルファチェーンは、進行を支配する依存性をより表す可能性がある。さまざまな例で、本システムは、クロージャ部分のタスク持続時間推定値だけを必要とする可能性があり、この推定は、リソースマネージャがリソース制約の影響を評価した後に行うことができる。さらに、アルファチェーン制約は、共通のリソースを必要とするタスクの優先順位付けの自然な基礎を提供することができ、その結果、マルチタスキングは、リソース管理システムの性能を劣化させなくなる。
【０１１０】
さらに、本開示は、次の節による実施形態を含む。
【０１１１】
節１５．コンピュータ可読プログラムコード部分を格納したコンピュータ可読記憶媒体であって、コンピュータ可読プログラムコード部分は、プロセッサによる実行に応答して、装置に、少なくとも
製品を生産するプロセスを記述するプロセス関連情報を受け取ることであって、プロセス関連情報は、プロセスのそれぞれの内部製品を作るタスク（９０２）の論理シーケンスを記述し、タスク（９０２）のうちの少なくともいくつかは先行関係を有し、それによって、あるタスクによって作られる内部製品が、別のタスクによって利用されまたは要求される入力となる、受け取ることと、
プロセス関連情報に基づいてプロセスのスケジュールを構築することであって、プロセススケジュールは、それぞれが時間的に少なくとも最後の入力を含む１つまたは複数の入力を利用しまたは要求するタスク（９０２）のうちの少なくともいくつかの実行のためのものであり、プロセススケジュールの構築は、装置に、少なくとも
それぞれのタスク（９０２）のうちの少なくともいくつかのそれぞれを、開始される前にそのタスクの最後の入力を使用できることを必要とするクロージャ部分（９０４）と、それぞれの最後の入力が使用可能になる前に開始可能な別個のプリカーサ部分（９０６）とに分離させ、
介在するプリカーサ部分（９０６）を伴わずにそれぞれのタスク（９０２）のクロージャ部分（９０４）を時間的にシーケンシングさせ、
それぞれの時間的にシーケンシングされたクロージャ部分（９０４）の前にプリカーサ部分（９０６）を付加させることを含む、構築する構築することとを行わせる、コンピュータ可読記憶媒体。
【０１１２】
節１６．装置にプロセススケジュールを構築させることは、時間枠制約に基づいてクロージャ部分（９０４）の平均持続時間を計算させることをさらに含み、
装置に、計算された平均持続時間に従ってクロージャ部分（９０４）を時間的にシーケンシングさせる
節１５に記載のコンピュータ可読記憶媒体。
【０１１３】
節１７．装置に平均持続時間を計算させることは、その持続時間に対応するバッファのサイズを計算させることをも含み、
装置にクロージャ部分（９０４）を時間的にシーケンシングさせることは、クロージャ部分（９０４）の最後の後にバッファを時間的にシーケンシングさせることをさらに含む
節１６に記載のコンピュータ可読記憶媒体。
【０１１４】
節１８．クロージャ部分（９０４）は、平均持続時間がそれに基づいて計算されるそれぞれの持続時間を有し、持続時間は、未知の確率分布として表される、節１６に記載のコンピュータ可読記憶媒体。
【０１１５】
節１９．タスク（９０２）は、論理的にシーケンシングされたタスク（９０２）の複数のチェーンに配置され、
プロセススケジュールの構築は、装置に、それぞれのタスク（９０２）を分離させ、チェーンのそれぞれについて、クロージャ部分（９０４）を時間的にシーケンシングさせ、プリカーサ部分（９０６）を前に付加させることを含む
節１５に記載のコンピュータ可読記憶媒体。
【０１１６】
節２０．プロセッサによる実行に応答して、装置に、
少なくともプロセス関連情報およびプランスケジュールをプランモデルへと編集させる
コンピュータ可読プログラムコード部分をさらに格納する、節１５に記載のコンピュータ可読記憶媒体。
【０１１７】
節２１．プロセッサによる実行に応答して、装置に、
プロセス内で全順序を確立させるコンピュータ可読プログラムコード部分をさらに格納し、それに基づいてスケジュールが構築される受け取られたプロセス関連情報は、全順序付きプロセスに関する
節１５に記載のコンピュータ可読記憶媒体。
【０１１８】
本明細書に示された本開示の多数の変形および他の実施態様を、前述の説明および関連する図面に提示された教示の利益を有する本開示に関係する当業者は思い浮かべるであろう。したがって、本開示が、本明細書で提供される特定の例の実施態様に限定されず、他の実施態様が、添付の特許請求の範囲の範囲に含まれることが意図されていることを理解されたい。さらに、前述の説明および関連する図面は、要素および／または機能のある種の例の組合せの文脈で例の実施態様を説明するが、添付の特許請求の範囲の範囲から逸脱せずに、要素および／または機能の異なる組合せを、代替実施態様によって提供できることを了解されたい。これに関して、たとえば、上で明示的に説明されたもの以外の要素および／または機能の異なる組合せも、添付の特許請求の範囲の一部に示されている可能性があるように企図されている。特定の用語が本明細書で使用されるが、それらの用語は、限定のためではなく、包括的で説明的な意味でのみ使用されている。
【符号の説明】
【０１１９】
３００  プロセスプランニングシステム
３０２  プロセス構築システム
３０４  全順序付けシステム
３０６  スケジュールモデラ
３０８  プランモデラ
４００  ネットワーク図
４０２  時間方向の軸
４０４  ネットワークノード
４０６  ノード
４０８  他のノード
５００  ネットワーク図
５０２  ネットワークノード
５０４  挿入画
６００  全順序付けシステム
６０２  セグメントレベル全順序付けモジュール
６０４  下位レベル全順序付けモジュール
６０６  最下位レベル全順序付けモジュール
７００  全順序付けシステム
７０２  セグメントレベル全順序付けモジュール
７０４  下位レベル全順序付けモジュール
７０６  最下位レベル全順序付けモジュール
７０８  セグメントパーティショナ
７１０  構成要素パーティショナ
７１２  一貫性チェッカ
７１４  全順序チェッカ
７１６  下位レベル構成要素パーティショナ
７１８  第２一貫性チェッカ
７２０  アセッサ
７２２  リストラクチャラ
７２４  最下位レベル構成要素パーティショナ
８００  スケジュールモデラ
８０２  タスクセパレータ
８０４  持続時間カリキュレータ
８０６  スケジュールコンストラクタ
９００  タスク９０２のチェーンの一部
９０２  タスク
９０４  クロージャ部分
９０６  プリカーサ部分
１００２  クロージャ部分のシーケンス
１００４  第１バッファ
１００６  プリカーサ部分
１１００  ガントチャート
１１０２  主フェーズ
１１０４  サブフェーズ
１１０６  クロージャ部分のシーケンス
１１０８  プリカーサ部分
【図１】
2014154152.tif 000007
【図２】
2014154152.tif 000008
【図３】
2014154152.tif 000009
【図４】
2014154152.tif 000010
【図５】
2014154152.tif 000011
【図６】
2014154152.tif 000012
【図７】
2014154152.tif 000013
【図８】
2014154152.tif 000014
【図９】
2014154152.tif 000015
【図１０】
2014154152.tif 000016
【図１１】
2014154152.tif 000017
【外国語明細書】
2014154152000001.pdf
2014154152000002.pdf
2014154152000003.pdf
2014154152000004.pdf