(57)【要約】少なくとも１つの入力値から出力値を求めるプロセスの、機能する順序を自動的に得る方法である。多数のプロセス（Ｐ１〜Ｐ８）の入力側には、属性「同じ計算サイクルの入力値」（ＰＲＥ）、「先行する計算サイクルの入力値」（ＰＯＳＴ）、「任意の計算サイクルからの入力値」（ＡＮＹ）のうちの少なくとも１つの属性が与えられ、計算サイクル（ｎ）の第１のプロセスとして、属性「同じ計算サイクルの入力値」（ＰＲＥ）が与えられた入力側を有していないプロセスが定められるように多数のプロセス（Ｐ１〜Ｐ８）を配列し、以降の相似するステップで可能な順番のセットを求める。
2004521402.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの入力値から出力値を求めるプロセスの、機能可能な順序を自動的に得る方法であって、
多数のプロセス（Ｐ１〜Ｐ８）の入力側には、属性
・「同じ計算サイクルの入力値」（ＰＲＥ）
・「先行する計算サイクルの入力値」（ＰＯＳＴ）
・「任意の計算サイクルからの入力値」（ＡＮＹ）
のうちの少なくとも１つの属性が与えられ、
計算サイクル（ｎ）の第１のプロセスとして、属性「同じ計算サイクルの入力値」（ＰＲＥ）が与えられた入力側を有していないプロセスが定められるように前記多数のプロセス（Ｐ１〜Ｐ８）を配列するステップと、
前記プロセス（Ｐ１〜Ｐ８）の見つけられた順序を送出するステップとを有する、
ことを特徴とする、プロセスの機能可能な順序を自動的に得る方法。
【請求項２】
入力側に属性「同じ計算サイクルの入力値」（ＰＲＥ）が与えられたプロセスに、入力値を供給するプロセスから指示（Ｅ）が設けられて、入力側に属性「先行する計算サイクルの入力値」（ＰＯＳＴ）が与えられたプロセスから、入力値を供給するプロセスに指示（Ｅ）が設けられるように個々のプロセス（Ｐ１〜Ｐ８）を相互に関連づける、請求項１記載の方法。
【請求項３】
前記プロセス（Ｐ１〜Ｐ８）の順序を計算するために第１のステップで、指示（Ｅ）が向けられていないプロセスを除去し、第１のプロセスグループ（Ｇ１）に割り当てる、請求項１または２記載の方法。
【請求項４】
さらなるステップでそれぞれ残りのプロセスを指示（Ｅ）が向けられていないプロセスについて調べ、
前記各ステップで見つけられたプロセスを、調べられるべきプロセスのセットからそれぞれ除去して、連続するプロセスグループ（Ｇ１〜Ｇ５）に割り当てる、請求項１から３までのいずれか１項記載の方法。
【請求項５】
計算された妥当な順序を有する解決策のセットから、出力値の計算と入力値としてのその使用それぞれが時間的に最も密に連続する順序を選択する、請求項１から４までのいずれか１項記載の方法。
【請求項６】
計算サイクル（ｎ）の最後のプロセス（Ｐ１〜Ｐ８）として、属性「先行する計算サイクルの入力値」（ＰＯＳＴ）が備えられた入力側を有していないプロセスを選択する、請求項１から５までのいずれか１項記載の方法。
【請求項７】
処理されるべきプロセスの順序をデータフロー内のループについて検査する方法であって、
多数のプロセス（Ｐ１〜Ｐ８）の入力側には、属性
・「同じ計算サイクルの入力値」（ＰＲＥ）
・「先行する計算サイクルの入力値」（ＰＯＳＴ）
・「任意の計算サイクルからの入力値」（ＡＮＹ）
のうちの少なくとも１つの属性が与えられ、
第１のステップで第１のプロセスとして、属性「同じ計算サイクルの入力値」（ＰＲＥ）を備える入力側を有していないプロセス（Ｐ１；Ｐ２）が定められるように前記多数のプロセス（Ｐ１〜Ｐ８）を配列するステップと、
前記第１のプロセス（Ｐ１；Ｐ２）を第１のプロセスグループ（Ｇ１）に割り当てて、調べられるべきプロセス（Ｐ３〜Ｐ８）のセットから除去するステップと、
残りのプロセスをさらなるステップでそれぞれ、指示（Ｅ）が向けられていないプロセスについて調べるステップと、
ステップで属性「同じ計算サイクルの入力値（ＰＲＥ）」が備けられた入力側を有していないプロセス（Ｐ１〜Ｐ８）が識別されなくなるまで、各ステップで見つけられたプロセスをそれぞれ調べられるべきプロセスのセットから除去して、連続するグループ（Ｇ１〜Ｇ５）に割り当てるステップと、
残りのプロセス（Ｐ１〜Ｐ８）を識別して、送出するステップとを有する、
ことを特徴とする、処理されるべきプロセスの順序を検査する方法。
【請求項８】
処理されるべきプロセス（Ｐ１〜Ｐ８）を順番に配列する、または処理されるべきプロセスの順序を検査するツールであって、
多数のプロセス（Ｐ１〜Ｐ８）の入力側には、属性
・「同じ計算サイクルの入力値」（ＰＲＥ）
・「先行する計算サイクルの入力値」（ＰＯＳＴ）
・「任意の計算サイクルからの入力値」（ＡＮＹ）
のうちの少なくとも１つの属性が与えられ、
前記多数のプロセス（Ｐ１〜Ｐ８）を入力する入力手段（２， ２１， ３）と、
請求項１から７までのいずれか１項記載の方法に応じて、プロセス（Ｐ１〜Ｐ８）の実行可能な順序を計算する少なくとも１つのマイクロプロセッサ（ＭＰ）と、
見つけられた順序を出力する出力手段（４）とを有する、
ことを特徴とする、処理されるべきプロセスを順番に配列する、または処理されるべきプロセスの順序を検査するツール。
【発明の詳細な説明】
【０００１】
本発明は、プロセスの機能可能な順序を自動的に得る方法、処理されるべきプロセスの順序をデータフロー内の矛盾について検査する方法、および処理されるべきプロセス、殊に自動車の電子制御装置のオペレーションシステムソフトウェア等のオペレーションシステムソフトウェアの計算機能を順番に配列する、またはこれらの順番を検査するツールに関する。
【０００２】
刊行物「Ｋｕｅｒｚｅｒｅ Ｅｎｔｗｉｃｋｌｕｎｇｓｚｅｉｔｅｎ ｍｉｔ ａｕｔｏｍａｔｉｓｃｈｅｒ Ｃｏｄｅｇｎｅｒｉｅｒｕｎｇ（Ａｕｔｏｍｏｔｉｖｅ Ｅｎｇｉｎｅｅｒｉｎｇ Ｐａｒｔｎｅｒｓ ５／９９， Ｖｉｅｗｅｇ ＧｍｂＨ， ＧＷＶ Ｆａｃｈｖｅｒｌａｇｅｎ ＧｍｂＨのＶｅｒｌａｇ Ｆｒｉｅｄｒｉｃｈ ＆ Ｓｏｈｎ Ｖｅｒｌａｇｓｇｅｓｅｌｌｓｃｈａｆｔ ｍｂＨ）」から、自動車制御装置のオペレーションシステムソフトウェアに対する自動コード発生ツール、並びに制御装置の機能を検査するテスト用ツールが公知である。自動コード発生ツールは調整装置の物理的記述の形である開発技術者の技術的なプリセットを自動車の制御装置が読み取ることのできるコードに翻訳する。テスト用ツールはインターフェィスを介して制御装置にアドレスし、自動車の実際の作動で生成されるであろう物理的に正しい信号を生成する。それ故に制御装置のシステム特性、より正確にはそのオペレーションシステムソフトウェアを閉制御ループのシミュレーションにおいて実験室で早い時期に調べることができる。
【０００３】
しかしこのツールは独立して調整装置のプロセスの順序を定めることはできず、主にマニュアルのプリセットをソフトウェアコードに翻訳するのにだけ使用される。さらに、新たな開発のために、存在するライブラリから、プロセスの既にテストされた順序または個々のプロセスを受け取り、新たなプロセスを存在する順序の適切な位置に加えること、または、既知の検査されたプロセスを新たに作成されるべきプロセスと接続して実行可能なシーケンスにすることがしばしば望まれる。
【０００４】
本発明の目的は、プロセスのオペレーショナルな順序を自動的に計算する方法、処理されるべきプロセスの順序を検査する方法および所望のデーターフローを満たす全プロセスが目的通りに処理されるように多数のプロセスを配列することのできるツールを提供することである。
【０００５】
この目的は独立請求項に記載された方法およびツールによって達成される。本発明の有利な実施形態は従属請求項に記載されている。
【０００６】
属性「同じ計算サイクルの入力値」、「先行する計算サイクルの入力値」または「任意の計算サイクルの入力値」を、配列されるべきプロセスの各データ入力側に割り当てることによって、データフロー内で矛盾を有していない機能可能で妥当な順序またはシーケンスを機械的に実現することができる。矛盾とは、相互に相容れないので、プロセスの入力側に割り当てられた属性が論理的に満たされないことを意味する。例えば相互に依存する２つのプロセスの入力側それぞれに属性ＰＲＥを与えることはできない。なぜなら、そうでなければ、２つのプロセスの各プロセスが他のプロセスの前に計算されなければならないという矛盾した条件が満たされなけれならないからである。しかし通常、いわゆる実行可能な順序は多数存在するのである。
【０００７】
プロセスの実行可能な順序のセットから、次のような順序を求めることができる。すなわち実行時間が最も短い順序、またはその出力値が後続のプロセスで入力値として使用されるプロセスが最も密集して連続する順序である（最適化）。
【０００８】
さらに１つの計算サイクル内の相互に依存性を有していないプロセスを識別することができる。この種の相互に依存しないプロセスは、多重タスクオペレーションシステムを有する計算ユニット内、とりわけ複数のプロセスを有するシステム内で並行して処理される。
【０００９】
プロセスの順序内の矛盾を、例えば次のように検出することができる。
【００１０】
ステップ１：属性「同じ計算サイクルの入力値」を備える入力側を有していないプロセスを突き止める（プロセスの目下のセットに関連して）。
【００１１】
ステップ２：このプロセスをプロセスのセットから除去する。
【００１２】
ステップ３：プロセスの残りのセットに関してステップ１およびステップ２を繰り返す。
【００１３】
プロセスが残らなくなるまでに、プロセスのセットが上述の経過によって減少されない場合に矛盾が見い出される。
【００１４】
それ故にプロセスの順序を実行可能であると確認することが可能である。しかも実際のシステムでのシステム特性全体の手間のかかるシミュレーションによってテストする必要はない。
【００１５】
本発明は例えば、コンピュータに対するオペレーションシステムソフトウェア、複雑なアプリケーションプログラムおよび産業上の生産に対するプロセス制御の設計に仕様され、とりわけ自動者エンジニアリングにおける制御装置（例えばエンジン制御装置およびトランスミッション制御装置）の制御を定めるのに使用される。
【００１６】
本発明の別の特徴、利点および使用方法は図示された実施例の以下の説明に記載されている。
【００１７】
図１には配列および検査用ツールが示されており、
図２には１つのタスク内のプロセスの結合が示されており、
図３にはエンジン制御装置のトルク調整のプロセスが示されており、
図４には図３に示されたプロセスの結合をグラフで示したものであり、
図５から図８には図４に示されたグラフの分解が示されており、
図９には図３に示されたプロセスの、シーケンシャルに連続するプロセスグループへの割り当てが示されており、
図１０から図１３には矛盾を有する、プロセスの順序の検査が示されている。
【００１８】
図１には処理されるべきプロセスを順番に配列するおよび／または順番を検査するツールが示されている。このツールは、マイクロプロセッサＭＰおよびメーンメモリ（Ａｒｂｅｉｔｓｓｐｅｉｃｈｅｒ）ＲＡＭが備えられた計算ユニット１を有する。計算ユニット１とともに、書き込み可能なＣＤ（コンパクトディスク）である記憶媒体２１に対する入力手段であるドライブ２と、キーボード３が設けられる。
【００１９】
記憶媒体２１には、オペレーションシステムソフトウェアまたはアプリケーションソフトウェアの仕事（タスク）の実行に対するプロセスの順序および個々のプロセスが記憶されている。すなわちこれは、新たなプログラムを作成するのに使用される、既に存在するプロセスを有しているライブラリのことである。
【００２０】
同じようにキーボード３によって、プロセスを計算ユニット１に入力することができる。
【００２１】
計算ユニット１の計算結果を表示するのに、ディスプレイ装置４である出力手段が使用される。
【００２２】
図２には、計算サイクルｎの相互に接続されたプロセスＰ１〜Ｐ３が示されている。これらのプロセスは計算ユニットのオペレーションシステムまたはアプリケーションプログラムの仕事またはタスクを処理する。プロセスＰ１〜Ｐ３は、規則的に繰り返して処理されるプロセスである。プロセス４は非同期的なプロセスであり、所定のイベント時に呼び出される。このプロセスは計算サイクル内のプロセスに対してデータを供給するが、考察されている計算サイクルには属していない。
【００２３】
タスクは、オペレーションシステムまたはプログラムによって呼び出されるプロセスの配列された順序またはシーケンスである。呼び出しは周期的に規則的な間隔でまたは所定のイベント基づいて非同期的に行われる。プロセスは、ユニットとして所定のタスクを実行する命令のグループである。プロセスは入力データを使用し、出力データを生成する。プロセスは、インタラプトによって中断され、しかしそこからユニットとして処理される命令のユニットである。使用されたデータから生成されたデータの依存性に基づいて、計算結果に対するプロセスのシーケンスまたは順序が判断される。
【００２４】
プロセスＰ１〜Ｐ３のシーケンスは、入力側または入力ポートＩのタイプに対する付加的な属性を使用することで暗に（ｉｍｐｌｉｚｉｔ）定められる。入力側Ｉの１つまたは複数の属性はプロセスの、同じ計算サイクルｎの別のプロセスに対する相対的な順序を定める。入力ポートには３つの異なる種類がある。
【００２５】
・同じ計算サイクルの入力値：ＰＲＥ
・先行する計算サイクルの入力値：ＰＯＳＴ
・任意の計算サイクルからの入力値：ＡＮＹ
以下では入力側または入力ポートのタイプを常に参照符号ＰＲＥ、ＰＯＳＴおよびＡＮＹであらわす。
【００２６】
タイプＰＲＥの入力側Ｉは、同じ計算サイクル内で既に供給された入力値を必要とする。つまり以前に生成された入力値を必要とする。すなわちその出力側ないしは出力ポート０が属性ＰＲＥが設けられた入力側Ｉに対して値を供給するプロセスが、順序において事前に計算されていなければならない。
【００２７】
プロセスＰ３はタイプＰＲＥである入力側Ｉを有する。この入力側ＩはプロセスＰ２の出力側０から供給された値を使用する。それ故にプロセスの順序を指示または検査するツールは、シーケンス内でプロセスＰ２がプロセスＰ３の前に配列されなければならないことを識別する。
【００２８】
タイプＰＯＳＴである入力側Ｉでは、供給される値がシーケンスの終わり近くになってようやく生成されるはずなので、計算サイクルｎの処理時には古い、先行する計算サイクルｎ−１で計算された入力値が供給される（これは調整エンジニアリングでのｚ−１要素に相当する）。それ故に配列または検査ツールは、その出力値がプロセスＰ１のタイプＰＯＳＴである入力側Ｉによって必要とされているプロセスＰ３を、同じ計算サイクルｎ内でプロセスＰ１の後に配列する。
【００２９】
タイプＡＮＹである入力側では、使用される値が同じ計算サイクルｎ内で計算されたのか、または先行する計算サイクルｎー１内で計算されたのかは重要でない。それ故に入力側Ｉに属性ＡＮＹを付けることは、単に任意である。タイプＡＮＹである入力側Ｉはしばしばその入力値をタスク外から受け取る。図２ではプロセスＰ４がこの種の外部プロセスである。データを外部プロセスから受け取る入力ポートは基本的に属性ＡＮＹを有する。
【００３０】
プロセスＰ１〜Ｐ３の入力側Ｉに対する所定の属性に基づいて、不等式を設けることができる。このようにしてその出力側０が値を供給するプロセスと、その入力ポートＩがこの供給された値を使用するプロセスとの関係が設けられる。
【００３１】
プロセスがタイプＰＲＥである入力側Ｉに対する値を供給する場合、このプロセスは、タイプＰＲＥである入力側が設けられたプロセスより小さいとされる。比較式（Ｒｅｌａｔｉｏｎ）において「より小さい」とされたプロセスは、比較式の他のプロセスより前に実行されなければならない。これに対して入力側ＩがタイプＰＯＳＴである場合、入力値を供給するプロセスは、タイプＰＯＳＴである入力側が設けられたプロセスより大きい。入力側がタイプＡＮＹである場合、入力値を供給するプロセスは、この入力値を受け取るプロセスより小さいかまたは大きいとされる。タイプＡＮＹである入力側は、最終的に同じまたは後続の計算サイクル内に配列されたプロセスによって供給される。すなわち２つのプロセス相互の配置は任意である。これによって計算サイクル内に属性ＰＲＥまたはＰＯＳＴを有する入力側が存在するのと同じくらい多くの不等式が生じる。
【００３２】
それ故にこの実施例の場合、以下の不等式が生じる。
【００３３】
Ｐ３＞Ｐ１、またはＰ１＜Ｐ３
および
Ｐ２＜Ｐ３
計算順序またはシーケンスの最初のプロセスとしては、タイプＰＲＥである入力側を有していないプロセスのみが対象になる。シーケンスの最後のプロセスとしては、タイプＰＯＳＴである入力側を有していないプロセスのみが対象になる。
【００３４】
それによるとプロセスＰ１およびＰ２がシーケンスの第１のプロセスとして対象になる。プロセスＰ３は、プロセスＰ１およびＰ２が計算された後で計算される。プロセスＰ１およびＰ２は、任意の順序でまたは並行して処理される。
【００３５】
図３には、自動車のエンジン制御装置のオペレーションシステムのトルク調整に対するプロセスＰ１〜Ｐ８の計算順序またはシーケンスを有する簡易化されたタスクが示されている。しかし典型的にこの種のタスクは、プロセスが１００〜２００あるシーケンスを有する。
【００３６】
プロセスは、部分的にライブラリから取り出される。幾つかのプロセスは新たに、トルク調整に対して設計されたものである。図３のグラフィックは、プロセスの妥当なシーケンスを見つけようとする開発者に使用される。しかしこれはプロセスの順序を定めていない。
【００３７】
プロセスＰ１は、速度調整装置（Ｔｅｍｐｏｍａｔ）のユーザー設定のために、実際の速度とドライバーによって設定された速度の差を計算し、この差をプロセスＰ３に送出する。プロセスＰ２はアクセルペダルの位置によって伝達されたパワー要求を計算し、これを同じようにプロセスＰ３に送出する。プロセスＰ３はプロセスＰ１およびＰ２の場合によっては存在し得る要求を整合し、このためにプロセスＰ４およびＰ６に対するトルク要求を計算する。
【００３８】
プロセスＰ４は緩慢なトルク変化を求め、相応の要求をプロセスＰ５に送出する。プロセスＰ５はスロットルバルブの位置に対する目標値を計算し、これを調整素子に送出する。
【００３９】
プロセスＰ６は迅速なトルク変化を計算し、相応の要求をプロセスＰ７に送出する。プロセスＰ７は点火時点の目標値を定め、イグニッションに送出する。
【００４０】
プロセスＰ８は、点火時点をずらすことによるトルクの変化の効力に対する参照システムを含む。プロセスＰ４およびＰ６は、その結合と効力に基づき、どのように所定のトルクの形成が、２つの可能な調整量（絞り弁および点火角度）に分配されなければならないかを判断する。
【００４１】
タスクは周期的、例えば１０ｍｓ毎に完全に計算される。プロセスＰ３からＰ８までの全入力値は、「ｅｆｆ」であらわされた入力値ないしは入力側を除いて、同じ計算サイクル内で前に計算されていなければならない。すなわちこれらの入力値は、属性「同じ計算サイクルの入力値」ＰＲＥを得なければならない。「ｅｆｆ」であらわされた入力値は、先行する計算サイクルで計算されていなければならない。すなわちタスクの以前の実行時にである。これに相応して、このような入力値ないしは相応する入力側は、属性「先行する計算サイクルの入力値」ＰＯＳＴを得る。
【００４２】
すなわちプロセスＰ１〜Ｐ８の各入力側に対して、目下の同じ計算サイクル内で計算された値が使用されなければならないのか、または先行する計算サイクル内でタスクの前の処理時に求められた値が使用されなければならないのかが示される。後者は、調整技術からのｚ−１要素に相応する。プロセスＰ１およびＰ２の入力値は定められない。すなわちこれらは、「任意の計算サイクルからの入力値」ＡＮＹを得る。
【００４３】
このような前提に基づいてプロセスＰ１〜Ｐ８に対して以下の比較式が生じる。
【００４４】
Ｐ１＜Ｐ３
Ｐ２＜Ｐ３
Ｐ３＜Ｐ４
Ｐ３＜Ｐ６
Ｐ４＜Ｐ５
Ｐ６＜Ｐ４
Ｐ４＜Ｐ８
Ｐ６＜Ｐ７
Ｐ６＜Ｐ８
Ｐ７＜Ｐ８
シーケンスの第１のプロセスとしては、同じ計算サイクル内で計算された入力値を必要としないプロセスだけが対象となる。すなわち第１のプロセスは、属性ＰＲＥが付けられた入力側を有していてはならない。シーケンスの最後のプロセスは、属性ＰＯＳＴが付けられた入力側を有していてはならない。このような条件および作成された不等式を満たす全ての計算順序が、妥当なまたは実行可能なシーケンスである。
【００４５】
不等式のシステムを例えばグラフ理論を使用することでコンピュータに支援されて分解することができる。プロセスをノードとし、不等式をグラフの有向辺として使用することでグラフが設けられる。有向辺は、１つのプロセスから他のプロセスへの指示（Ｖｅｒｗｅｉｓ）である。有向辺はそれぞれ、相応する不等式でより小さいと定められたプロセスないしはノードから、同じ不等式でより大きいと定められたプロセスないしはノードへと向かう。
【００４６】
他の言葉で表現すれば、それぞれ入力側に属性ＰＲＥが付与されたプロセスへは、入力値を供給するプロセスから指示が向けられる。入力値に属性ＰＯＳＴが与えられたプロセスからは、入力値を供給するプロセスへ指示が与えられる。
【００４７】
図４は、上で設けられた不等式をグラフに置き換えたものである。第１の処理ステップまたは第１の繰り返しでは、それに向かってグラフの指示Ｅ（辺）が示されていない全てのノード（プロセス）が、属する指示Ｅ（辺）も含めて、検査されるべきノード（プロセス）のセットから除去される。これは、属性ＰＲＥが与えられた入力側を有していないプロセスＰ１およびＰ２にあてはまる。これらのプロセスは、計算サイクルのプロセスの第１グループに割り当てられる。
【００４８】
１つのプロセスグループ内のプロセスは、任意の順序でまたは並行して処理される。
【００４９】
アリゴリズムを繰り返し処理することによって、新たなプロセスグループが１つずつ構成される。このプロセスグループは、プログラム実行時に前のプロセスグループの後に処理されなければならない。すなわち各ステップの後に残っているプロセスは、さらなる連続するステップでそれぞれ、指示Ｅが与えられていないプロセスについて調べられる。各ステップで見つけられたプロセスは除去され、連続するプロセスグループに割り当てられる。このようなグループは、１つまたは複数のプロセスを含んでいる。グループ内のプロセスの順序は任意である。なぜならこれらのプロセスは相互に独立しているからである。しかしグループ内の全てのプロセスは、次のグループのプロセスが実行される前に処理されなければならない。
【００５０】
図５には、プロセスＰ１およびＰ２が減らされたグラフが示されている。このような部分グラフ内にも、それに向かって辺が示されていない、少なくとも１つのノード（プロセス）が存在していなければならない。それに向かって辺が示されていない全てのノードは、再び除去されなければならない。このような条件を満たすノード（プロセス）が存在しない場合は解くことができないループであり、したがってデータフロー内の矛盾が発見される。
【００５１】
従って第２のステップでは、プロセスＰ３が除去され、第２のプロセスグループに割り当てられる。
【００５２】
結果は図６に示されている。
【００５３】
第３のステップでは、それに向かって辺が示されていないプロセス６が除去さされる。
【００５４】
このようにして生じた残りのグラフは図７に示されている。プロセス６は、第３のプロセスグループに割り当てられる。
【００５５】
第４のステップではプロセスＰ４およびＰ７が除去され、プロセスの第４のグループに割り当てられる。
【００５６】
このようにして、図８に示されているプロセスＰ５およびＰ８だけが残る。この残ったプロセスに向かって辺が示されていないので、２つのプロセスは、第５の最後のプロセスグループに割り当てられる。
【００５７】
ステップの順序またはプロセスグループにおいて、プロセスが処理されなければならない順序が見つけられる。あるステップで除去されたプロセスは、次のステップで除去されたプロセスより前に実行されなければならない。
【００５８】
個々のプロセスＰ１〜Ｐ８のプロセスグループＧ１〜Ｇ５への割り当ては、図９に示されている。
【００５９】
グループ内にはそれぞれ１つ以上のプロセスが存在し得るので、多数の異なる実行可能なシーケンスを構成することができる。この多数の妥当なシーケンスから、最も短い実行時間を必要とするシーケンス、またはそれぞれ出力値の計算と、入力値としてのその使用が時間的に最も密に連続するシーケンスが求められる（最適化）。
【００６０】
図１０には解くことのできないループを含むグラフが示されている。このグラフは、図３のトルク調整を示すものではない。
【００６１】
上述の計算ステップに従い、配列および検査用ツールによってグラフを個々のプロセスグループに分解することが試みられた。処理ステップ１〜３の結果は、図１１〜図１３に示されている。
【００６２】
第３のステップの結果をあらわす図１３では、最終的にグラフの辺が向けられていないプロセスおよびまたはノードが見つけられない。すなわち、属性ＰＲＥが付けられた入力側を有していないプロセスがない。実行可能なタスクを得るために解かれなければならないループが存在する。残りのプロセスは、ディスプレイ装置またはプリンターに送出される。
【図面の簡単な説明】
【図１】
配列および検査用ツールをあらわす図である。
【図２】
１つのタスク内のプロセスの結合をあらわす図である。
【図３】
エンジン制御装置のトルク調整のプロセスである。
【図４】
図３に示されたプロセスの結合のグラフである。
【図５】
図４に示されたグラフの分解である。
【図６】
図４に示されたグラフの分解である。
【図７】
図４に示されたグラフの分解である。
【図８】
図４に示されたグラフの分解である。
【図９】
図３に示されたプロセスの、シーケンシャルに連続するプロセスグループへの割り当てである。
【図１０】
矛盾を有する、プロセスの順序の検査である。
【図１１】
矛盾を有する、プロセスの順序の検査である。
【図１２】
矛盾を有する、プロセスの順序の検査である。
【図１３】
矛盾を有する、プロセスの順序の検査である。
【国際公開パンフレット】
2004521402.tif 000003
2004521402.tif 000004
2004521402.tif 000005
2004521402.tif 000006
2004521402.tif 000007
2004521402.tif 000008
2004521402.tif 000009
2004521402.tif 000010
2004521402.tif 000011
2004521402.tif 000012
2004521402.tif 000013
2004521402.tif 000014
2004521402.tif 000015
2004521402.tif 000016
2004521402.tif 000017
2004521402.tif 000018
2004521402.tif 000019
2004521402.tif 000020
2004521402.tif 000021
2004521402.tif 000022
2004521402.tif 000023
2004521402.tif 000024
2004521402.tif 000025
2004521402.tif 000026
2004521402.tif 000027
【国際調査報告】
2004521402.tif 000028
2004521402.tif 000029
2004521402.tif 000030
2004521402.tif 000031
2004521402.tif 000032
2004521402.tif 000033