(57)【要約】  本発明は、入出力依存関係が閉路を含む場合であっても、処理モジュールの実行順序を効率的かつ適切に決定することができる実行順序決定装置に関する。依存度評価部（１４）及び被依存度評価部（１５）は、処理モジュール群における各処理モジュールの依存度及び被依存度を評価する。優先度評価部（１６）は、上記依存度及び被依存度に基づき、処理モジュール群における各処理モジュールの優先度を決定する。実行順割当部（１７）は、優先度評価部（１６）で得た優先度の最も高い一の処理モジュールを最先の実行順序に割り当てる。実行順序割当ユニット（１３）は、一の処理モジュールの実行順序が決定する度に、各部（１４〜１７）による上述した処理を繰り返し実行させ、各処理モジュールの実行順序を順次割り当てる。
2010113242.tif 000002
【特許請求の範囲】
【請求項１】
各々がデータ入力及びデータ出力のうち少なくとも一方の機能を有する複数の処理モジュールに対し、前記複数の処理モジュールの実行順序を決定する実行順序決定装置であって、
前記複数の処理モジュールの内容を規定した処理モジュール群データを記憶する処理モジュール記憶ユニット（１１）と、
前記処理モジュール群データから、前記複数の処理モジュール間の入出力依存関係を抽出する入出力依存関係抽出ユニット（１２）と、
前記複数の処理モジュール間の入出力依存関係から、前記複数の処理モジュールそれぞれの他の処理モジュールに対する依存度及び被依存度を求め、該依存度及び被依存度に基づき、前記複数の処理モジュールの実行順序を決定する実行順序割当ユニット（１３，２３，３３，４３）と、
を備えた実行順序決定装置。
【請求項２】
請求項１記載の実行順序決定装置であって、
前記実行順序割当ユニット（１３，２３，３３，４３）は、所定数の処理モジュールに対して実行順序を順次決定し、前記所定数の処理モジュールは初期状態時に前記複数の処理モジュールを含み、
前記実行順序割当ユニットは、前記処理モジュールの実行順序を割り当てると、実行順序決定済みの処理モジュールを除外して、新たな前記所定数の処理モジュールとして再設定する対象処理モジュール再設定処理を行い、
前記実行順序割当ユニットは、
前記所定数の処理モジュール間の入出力依存関係に基づき、前記所定数の処理モジュールそれぞれの他の処理モジュールに対する依存度を求める依存度評価部（１４）と、
前記所定数の処理モジュール間の入出力依存関係に基づき、前記所定数の処理モジュールそれぞれの他の処理モジュールに対する被依存度を求める被依存度評価部（１５）と、
前記依存度評価部及び前記被依存度評価部で求めた前記依存度及び前記被依存度に基づき、前記所定数の処理モジュール間における優先度を求める優先度評価部（１６，３６，４６）と、
前記所定数の処理モジュールに対し、優先度が最も高い一の処理モジュールの実行順序を前記所定数の処理モジュール間で最先順位に割り当てる実行順割当部（１７）とを含み、
前記実行順序割当ユニットは、前記依存度評価部、前記被依存度評価部、前記優先度評価部及び前記実行順割当部それぞれが、前記対象処理モジュール再設定処理後、新たに設定された前記所定数の処理モジュールに対する処理を行うように制御する、
実行順序決定装置。
【請求項３】
請求項２記載の実行順序決定装置であって、
前記実行順序割当ユニット（２３）は、
前記被依存度評価部で求めた前記被依存度に基づき、前記被依存度が所定の条件を満足する時、前記実行順割当部による割り当てに優先して、前記被依存度が前記所定の条件を満足する処理モジュールを前記所定数の処理モジュール間で最終順位に割り当てる逆実行順割当部（１９）をさらに含む、
実行順序決定装置。
【請求項４】
請求項２あるいは請求項３記載の実行順序決定装置であって、
前記優先度評価部（３６，４６）は、
前記依存度評価部及び前記被依存度評価部で求めた前記依存度及び前記被依存度と、前記依存度及び前記被依存度用の第１及び第２のパラメータとを含む所定の多項式に基づき、前記所定数の処理モジュール間における優先度を求める、
実行順序決定装置。
【請求項５】
請求項４記載の実行順序決定装置であって、
前記所定の多項式は前記第１及び第２のパラメータの値の少なくとも一方を変えた複数種の多項式を含み、
前記実行順序割当ユニット（４３）は、
前記優先度評価部（４６）により、前記複数種の多項式それぞれに基づき、前記所定数の処理モジュール間における優先度を求めさせながら、前記依存度評価部、前記被依存度評価部、及び前記実行順割当部の処理を実行させることにより、前記複数の処理モジュールにおける複数種の実行順序候補を仮決定し、
前記複数種の実行順序候補のうち、最も効率的な実行順序と判断される候補を前記複数の処理モジュールの実行順序として決定する、
実行順序決定装置。
【請求項６】
請求項１ないし請求項５のうち、いずれか１項に記載の実行順序決定装置であって、
前記実行順序割当ユニットで決定した前記複数の処理モジュールの実行順序を記録する実行順序記録ユニット（１８）をさらに備える、
実行順序決定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、互いに依存関係のある複数の処理モジュールを実行する順序を決定する実行順序決定装置に関する。
【背景技術】
【０００２】
監視や制御の分野において、従来ハードウェアで組まれていた処理モジュールが、デジタル計算機上で実行されるケースが増えている。この場合、処理モジュールはソフトウェアとして実装され、デジタル計算機上で周期的に繰り返し実行されることで、ハードウェアと同等の処理を実現する。一台の計算機で実行すべき処理モジュールが複数ある場合、一通り順番に実行するという動作を周期的に行うことにより、処理を実現している。【０００３】
ソフトウェアを表す図面に書かれた論理素子の実行順序の決定方法に関しては、例えば、特許文献１に記載がある。特許文献１では、図示情報抽出部が図面からの論理素子とそれらの接続関係を抽出、論理情報群生成部がその中で一意に実行順が決まる論理情報群に分割し、さらに実行順序決定部が論理情報群に優先順位をつけることで、論理素子の実行順序を決定する。論理素子を処理モジュール、接続関係を（入出力）依存関係と置き換えれば、特許文献１は依存関係のある複数の処理モジュールを実行する順序の決定に用いることができる。【０００４】
【特許文献１】特開平５−８８８６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、論理回路がフィードバックを持つ場合は、特許文献１に開示された論理情報群生成部は、一意に実行順が決まる論理情報群を抽出することができず、従って、実行順序を決定することができない。【０００６】
同様に、依存関係が閉路を持つ処理モジュールに対して、特許文献１では実行順序を与えられない。最も簡単な例として、二つの処理モジュールが相互に依存するとき、依存関係の閉路を持つ。これは、信号のやりとりをする二つの処理モジュールの間などによく現れる。【０００７】
本発明は、上記のような問題点を解決するためになされたものであり、依存関係のある処理モジュールを実行するとき、その依存関係が閉路を含む場合であっても、処理モジュールの実行順序を効率的かつ適切に決定することができる実行順序決定装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係る実行順序決定装置は、各々がデータ入力及びデータ出力のうち少なくとも一方の機能を有する複数の処理モジュールに対し、前記複数の処理モジュールの実行順序を決定する実行順序決定装置であって、前記複数の処理モジュールの内容を規定した処理モジュール群データを記憶する処理モジュール記憶ユニットと、前記処理モジュール群データから、前記複数の処理モジュール間の入出力依存関係を抽出する入出力依存関係抽出ユニットと、前記複数の処理モジュール間の入出力依存関係から、前記複数の処理モジュールそれぞれの他の処理モジュールに対する依存度及び被依存度を求め、該依存度及び被依存度に基づき、前記複数の処理モジュールの実行順序を決定する実行順序割当ユニットとを備える。
【発明の効果】
【０００９】
この発明によれば、実行順序割当ユニットは、複数の処理モジュールそれぞれの他の処理モジュールに対する依存度及び被依存度に基づき、複数の処理モジュールの実行順序を決定している。【００１０】
その結果、この発明の実行順序決定装置は、入出力依存関係を考慮することにより、上記入出力依存関係が閉路を含む場合であっても効率的で的確な複数の処理モジュールの実行順序を決定することができる効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】この発明の実施の形態１であるの実行順序決定装置の構成を示すブロック図である。
【図２】図１で示した処理モジュール記憶装置に記憶されている処理モジュール群の例を表形式で示す説明図である。
【図３】図１で示した依存関係抽出装置によって抽出された依存関係を表形式で示す説明図である。
【図４】図１で示した処理モジュール記憶装置に記憶された処理モジュール群データで規定される複数の処理モジュールの入出力依存関係を模式的に示す説明図である。
【図５】図１で示した依存度評価部及び被依存度評価部による依存度及び被依存度の評価結果を表形式で示す説明図である。
【図６】図１で示した優先度評価部及び実行順割当部による優先度決定及び実行順割り当て処理結果例を表形式で示す説明図である。
【図７】一部の処理モジュールが除外された処理モジュール群に対する実行順序割当装置の実行順割り当結果を表形式で示す説明図である。
【図８】図１で示した実行順序割当装置により最終的に実行順が決定された各処理モジュールの実行順と、未決定の処理モジュールに依存する数とを表形式で示す説明図である。
【図９】実施の形態２の実行順序決定装置の構成を示すブロック図である。
【図１０】図９で示した逆実行順割当部による最終実行順割当内容を模式的に示す説明図である。
【図１１】一部の処理モジュールが除外された処理モジュール群に対する実行順序割当装置の実行順割り当結果を表形式で示す説明図である。
【図１２】図９で示した実行順序割当装置により最終的に実行順が決定された処理モジュールＡ〜Ｆの実行順と、未決定の処理モジュールに依存する数とを表形式で示す説明図である。
【図１３】図９で示した処理モジュール記憶装置に記憶された他の処理モジュール群データで規定された複数の処理モジュールの入出力依存関係を模式的に示す説明図である。
【図１４】図１３で示した処理モジュール群に対し、実施の形態１により最終的に実行順が決定された処理モジュールの実行順等を示す説明図である。
【図１５】図１３で示した処理モジュール群に対し、実施の形態２により最終的に実行順が決定された処理モジュールの実行順等を示す説明図である。
【図１６】実施の形態３の実行順序決定装置の構成を示すブロック図である。
【図１７】図１６で示した優先度評価部による優先度決定例を表形式で示す説明図である。
【図１８】実施の形態４の実行順序決定装置の構成を示すブロック図である。
【図１９】処理モジュール間の入出力依存関係等を模式的に示す説明図である。
【図２０】他の処理モジュール間の入出力依存関係等を模式的に示す説明図である。
【発明を実施するための最良の形態】
【００１２】
＜前提技術＞
一般に、入出力依存関係が閉路を持つ複数の処理モジュールに対して実行順序を決定するような場合、一部の処理モジュールに関しては、前の周期で決定した出力を入力として処理を行わざるを得ない。一方で、入出力依存関係を無視して実行順序を定めた場合、次のような問題が生じる。【００１３】
一つは遅延の問題である。ある処理モジュールの出力を用いる他の処理モジュールを先に実行させてしまうと、当該ある処理モジュールの出力は前の周期の信号を用いて処理を行うことになるので、正しい処理が行われるまでに遅延が発生する。【００１４】
図１９は処理モジュール３０Ａ〜３０Ｃ間の入出力依存関係及び実行順序を模式的に示す説明図である。同図に示すように、処理モジュール３０Ｂの出力が処理モジュール３０Ａの出力に依存し、処理モジュール３０Ｃの出力データＹが処理モジュール３０Ｂの出力に依存している。そして、図１９に示すように、処理モジュール３０Ｃ，３０Ｂ，３０Ａの順で実行順序が決定されているとする。なお、処理モジュール３０Ａ〜３０Ｃはそれぞれ入力データを１サイクル間保持して出力データとして出力する機能を有するものとする。また、処理モジュール３０Ａは入力データＸを入力している。【００１５】
このような処理モジュール３０Ａ〜３０Ｃの場合、処理モジュール３０Ａに入力されるデータＸの変化が、処理モジュール３０Ｃから出力されるデータＹの変化に伝播するまで３周期かかってしまう遅延が発生してしまう。【００１６】
図２０は処理モジュール３１Ａ〜３１Ｄ間の入出力依存関係及び実行順序を模式的に示す説明図である。同図に示すように、処理モジュール３１Ｂの出力データＸ１が処理モジュール３１Ａの出力に依存し、処理モジュール３１Ｃの出力データＸ２が処理モジュール３１Ａの出力に依存しており、処理モジュール３１Ｄの出力データＹが処理モジュール３１ＢのデータＸ１及び処理モジュール３１ＣのデータＸ２に依存している。そして、処理モジュール３１Ａ，３１Ｂ，３１Ｄ，３１Ｃの順で実行順序が決定されているとする。【００１７】
なお、処理モジュール３１Ａ〜３１Ｃはそれぞれ入力データを１サイクル間保持して出力する機能を有するものとし、処理モジュール３１ＤはデータＸ１及びデータＸ２の排他的論理和をデータＹとして出力する機能をしている。また、処理モジュール３１Ａは入力データＸを入力している。【００１８】
このような処理モジュール３１Ａ〜３１Ｄの場合、Ｘが変化しても、データＸ１及びデータＸ２は同一の値を採るため、Ｙは“０”のままであると一見思われるが、実際には“１”が１サイクルの間出力される可能性がある。処理モジュール３１Ｄを実行したときに、データＸ１はそのサイクルのＸと等しいが、Ｘ２は前のサイクルのＸと等しいからである。【００１９】
このように、処理モジュール３１Ａ〜３１Ｄ間の実行順序を適切に決定しない場合、直感レベルで理解可能な論理的判断（以下、「直感レベルの論理的判断」と称す）に反する結果の発生を招く場合がある。【００２０】
以上、前提技術で述べた遅延及び直感レベルの論理的判断に反する結果の発生を抑制し、互いに依存関係のある複数の処理モジュールの実行順を効率的かつ適切に決定するようにしたのが本願発明に係る実行順序決定装置である。【００２１】
＜実施の形態１＞
図１はこの発明の実施の形態１であるの実行順序決定装置の構成を示すブロック図である。同図に示すように、実施の形態１の実行順序決定装置は、処理モジュール記憶ユニット１１、依存関係抽出ユニット１２、実行順序割当ユニット１３及び実行順序記録ユニット１８から構成される。【００２２】
処理モジュール記憶ユニット１１は実行順序決定対象となる複数の処理モジュール間における入出力依存関係、複数の処理モジュールそれぞれの処理内容等を規定した処理モジュール群データを記憶する。なお、ここで述べる処理モジュールとは、例えばハードウェアレベルは論理素子等を意味し、ソフトウェアレベルではデータ入力及びデータ出力のうち少なくとも一方の機能を有するサブルーチン等を意味する。以降、複数の処理モジュール全体を処理モジュール群と表記する場合がある。【００２３】
図２は処理モジュール記憶ユニット１１に記憶されている処理モジュール群データの例を表形式で示す説明図である。同図で示す例では、処理モジュール群データとしてＡ〜Ｆの６つの処理モジュール間の入出力関係が記憶されている。処理モジュールが持つ入力、出力をＸｎ(ｎ＝１，２...)で示した。データＸｎを入力として持つ（データＸｎを入力する）処理モジュールは、当該データＸｎを出力として持つ（データＸｎを出力する）処理モジュールに依存する。【００２４】
例えば、処理モジュールＡは処理モジュールＣの出力データＸ６と処理モジュールＤの出力データＸ４とを入力としてもつため、処理モジュールＣ，Ｄに依存することになる。逆に出力データＸ１を処理モジュールＢの入力データとしているため、処理モジュールＢに対して依存させている（被依存）ことになる。【００２５】
依存関係抽出ユニット１２は、処理モジュール記憶ユニット１１に記憶された処理モジュール群データから、複数の処理モジュール間の入出力依存関係を抽出する。【００２６】
図３に依存関係抽出ユニット１２によって抽出された複数の処理モジュール間の入出力依存関係を表形式で示す説明図である。同図に示すように、複数の処理モジュール間の依存関係は、前述したように、各データＸｎ(ｎ＝１，２...)に対して、入力として持つ処理モジュール、出力として持つ処理モジュールを求め、それらを組み合わせることによって得られる。【００２７】
同図で示す例では、処理モジュールＡは処理モジュールＢに対し被依存側（依存させる側）であり、処理モジュールＣ，Ｄに対して依存側（依存する側）であることが規定される。以下、説明の都合上、依存側にあることを「依存する」、被依存側にあることを「被依存する」と簡易表現する場合がある。【００２８】
図４は処理モジュール記憶ユニット１１に記憶された処理モジュール群データで規定された複数の処理モジュール間の入出力依存関係を模式的に示す説明図である。【００２９】
同図に示すように、処理モジュール１０Ａ〜１０Ｆ（図２，図３の処理モジュールＡ〜Ｆに対応）の入出力依存関係が存在する。【００３０】
具体的には、処理モジュール１０Ａは処理モジュール１０Ｃ，１０ＤよりデータＸ６，Ｘ４を入力することにより処理モジュール１０Ｃ，１０Ｄに依存し、データＸ１を処理モジュール１０Ｂに出力することにより処理モジュール１０Ｂに被依存する。【００３１】
処理モジュール１０Ｂは、処理モジュール１０Ａ，１０Ｃ，１０ＦよりデータＸ１，Ｘ５，Ｘ８を入力することにより処理モジュール１０Ａ，１０Ｃ，１０Ｆに依存し、データＸ２を処理モジュール１０Ｃに出力することにより処理モジュール１０Ｃに被依存する。【００３２】
同様にして、処理モジュール１０Ｃは処理モジュール１０Ｂに依存し、処理モジュール１０Ａ，１０Ｂ，１０Ｄに被依存し、処理モジュール１０Ｄは処理モジュール１０Ｃに依存し、処理モジュール１０Ａ，１０Ｅに被依存する。また、処理モジュール１０Ｅは処理モジュール１０Ｄに依存し、処理モジュール１０Ｆは処理モジュール１０Ｂに被依存する。【００３３】
このように、図４において、複数の処理モジュール間の入出力依存関係を、依存される処理モジュールから依存する処理モジュールへの矢印で示している。【００３４】
実行順序割当ユニット１３は依存度評価部１４、被依存度評価部１５、優先度評価部１６、及び実行順割当部１７から構成される。【００３５】
依存度評価部１４は、処理モジュール群における各処理モジュールが他の処理モジュールに依存する度合いを依存度として評価する。【００３６】
また、被依存度評価部１５は、各処理モジュールが他の処理モジュールに被依存する（依存される）度合いを被依存度として評価する。【００３７】
図５は依存度評価部１４及び被依存度評価部１５による依存度及び被依存度の評価結果を表形式で示す説明図である。図５で示す例では、依存している他の処理モジュールの数を依存度とし、依存される（被依存している）他の処理モジュールの数を被依存度としている。【００３８】
図５において、例えば、処理モジュールＡは、処理モジュールＣ，Ｄに依存し依存度が“２”であり、処理モジュールＢに被依存し被依存度が“１”となる。【００３９】
優先度評価部１６は、依存度評価部１４及び被依存度評価部１５で得た依存度及び被依存度に基づき、処理モジュール群における各処理モジュールの優先度を決定する。【００４０】
実行順割当部１７は、優先度評価部１６で得た優先度の最も高い一の処理モジュールを最先の実行順序に割り当てる。【００４１】
図６は優先度評価部１６による優先度決定及び実行順割当部１７による実行順序の割り当て処理結果例を表形式で示す説明図である。【００４２】
図６で示す例では、優先度評価部１６は依存度が小さいものほど優先度が高い（大きい）ものとして評価（一次評価）している。そして、依存度が同じものは、被依存度が大きいものの優先度をより高く（大きく）評価（二次評価）している。その結果、処理モジュールＦ，Ｃ，Ｄ，Ｅ，Ａ，Ｂの順に優先度を決定する。【００４３】
なお、二次評価として被依存度の大きいものを優先する理由は、そのような処理モジュールを実行することにより、未実行の処理モジュールに依存しない処理モジュールがより増えることが期待できるからである。【００４４】
図６で示す優先度が得られると、実行順割当部１７は最も優先度が高い処理モジュールＦを実行順“１”に決定する。【００４５】
実行順序割当ユニット１３は、一の処理モジュールの実行順が決定する度に、依存度評価部１４、被依存度評価部１５、優先度評価部１６、実行順割当部１７による上述した処理を繰り返し実行させ、各処理モジュールの実行順序を順次割り当てる。【００４６】
この際、実行順を決定した処理モジュールについては対象から除外する。例えば、図６で示す優先度によって、処理モジュールＦの実行順が“１”に決定した後、処理モジュール群から処理モジュールＦが対象から除外されることになる。【００４７】
このように、実行順序割当ユニット１３は、初期状態は６つの処理モジュールＡ〜Ｆが評価対象の所定数の処理モジュールであったが、このタイミングで５つの処理モジュールＡ〜Ｅが評価対象の所定数の処理モジュールとして再設定する対象処理モジュール再設定処理を行う。【００４８】
以下、処理モジュールＦが除外された処理モジュール群（所定数の処理モジュール）に対する処理について説明する。【００４９】
図７は処理モジュールＦが除外された処理モジュール群に対する実行順序割当ユニット１３の実行順割り当結果を表形式で示す説明図である。【００５０】
依存度評価部１４及び被依存度評価部１５は、実行順が既に割り当てられた処理モジュールＦを除いて、依存度及び被依存度を再び評価する。処理モジュールＦが評価対象から除外されたため、処理モジュールＢの依存度が“３”から“２”に低下する。【００５１】
その後、優先度評価部１６は新たに依存度評価部１４及び被依存度評価部１５より得られた依存度・被依存度に基づき優先度を再び評価する。処理モジュールＢの依存度が“３”から“２”に低下した結果、処理モジュールＢの優先度が処理モジュールＡと同ランク“−３”となった。【００５２】
次に、実行順割当部１７は、新たに優先度評価部１６により得られた優先度に基づき、２番目に実行すべき処理モジュール、評価対象の所定数の処理モジュール間におる最先順位に割り当てる処理モジュールを割り当てる。図７で示す例では処理モジュールＣの実行順が“２”に決定される。【００５３】
以降、同様にして、実行順序割当ユニット１３の制御下で、実行順が決定した処理モジュールを対象から除外しながら（対象処理モジュール再設定処理を実行しながら）、依存度評価部１４、被依存度評価部１５、優先度評価部１６による評価、実行順割当部１７による割り当てを繰り返し実行させることにより、処理モジュール群における処理モジュールに対して一つずつ実行順序が割り当てられる。【００５４】
なお、図７において、未決定の処理モジュールに依存する数とは、既に実行順が決定した処理モジュールが、実行順が未決定の処理モジュールに依存する数を意味する。例えば、処理モジュールＦは元々依存する処理モジュールは存在しないため“０”であり、処理モジュールＣは依存している処理モジュールＢの実行順が未決定のため“１”となる。【００５５】
図８は実行順序割当ユニット１３により最終的に実行順序が決定された処理モジュールＡ〜Ｆの実行順序と、未決定の処理モジュールに依存する数とを表形式で示す説明図である。【００５６】
同図に示すように、最終的に実行順序は処理モジュールＦ，Ｃ，Ｄ，Ａ，Ｂ，Ｅの順で決定される。そして、未決定の処理モジュールに依存する数を処理モジュールＣの“１”のみに抑え、他の処理モジュールＡ，Ｂ，Ｄ〜Ｆを“０”にしている。【００５７】
実行順序記録ユニット１８は、実行順序割当ユニット１３によって得られた処理モジュール群にける各処理モジュールの実行順序を記録する。【００５８】
このように、実施の形態１の実行順序決定装置は、依存度を考慮しながら、複数の処理モジュールの実行順序を順次決定していくため、結果として実行遅延が少なく、直感レベルの論理的判断に反する結果を生じにくい、効率的でかつ的確な実行順序が得ることができる効果を奏する。【００５９】
図２〜図８で示した例では、実施の形態１の実行順序決定装置で決定した実行順序に従って処理モジュール群を実行することにより、未決定の処理モジュールに依存する数、すなわち、前の周期の処理モジュールの結果に依存する数は、処理モジュールＣを実行するときの１箇所だけに抑えた効率的な実行順序となる。したがって、処理モジュールがソフトウェアの場合、バグ発生が抑えられ生産効率を高めることができる。【００６０】
なお、本実施の形態では、依存度評価部１４、被依存度評価部１５、優先度評価部１６、実行順割当部１７の処理内容は上述した内容に限定されるものではない。【００６１】
例えば、依存度評価部１４や被依存度評価部１５に関して、一部の処理モジュール間の実行順序を制限する等（例：処理モジュールＡ，Ｂで必ず連続して実行する）の依存関係に重み付けがされている場合を考え、それらの重みを考慮しつつ評価を行っても良い。【００６２】
また、優先度評価部１６に関して、何らかの評価式を用いてもよいし、他の指標を考慮して評価を行っても良いし、複数の評価方法を切り替えて用いてもよい。また、実行順割当部１７は、優先度評価部１６が評価した優先度に差が出ない場合に、何らかの手段（乱数、最初，最後から等）で処理モジュールを一つ選び出してもよい。【００６３】
このように、実施の形態１の実行順序決定装置において、実行順序割当ユニット１３は、複数の処理モジュールそれぞれの他の処理モジュールに対する依存度及び被依存度に基づき、複数の処理モジュールの実行順序を決定している。【００６４】
本装置で実行順序を決定する処理モジュールは、監視制御等の分野における、入力を温度、圧力、位置等のセンサーやマンマシンインタフェースからの信号等とし、出力を弁、ポンプ、開閉器等やマンマシンインタフェースへの制御信号等とするものであってもよい。また、産業用ロボット等の分野における、入力を温度、圧力、位置等のセンサーやマンマシンインタフェースからの信号等とし、出力をモーター、リレー回路等やマンマシンインタフェースへの制御信号等とするものであってもよい。以降の実施の形態でも同様である。【００６５】
これらの結果、実施の形態１の実行順序決定装置は、処理モジュール間の入出力依存関係を考慮することにより、上記入出力依存関係が閉路を含む場合であっても効率的で的確な複数の処理モジュールの実行順序を決定することができる効果を奏する。【００６６】
加えて、実施の形態１の実行順序決定装置の実行順序割当ユニット１３は、依存度評価部１４、被依存度評価部１５、優先度評価部１６、及び実行順割当部１７それぞれが、対象処理モジュール再設定処理後、新たに設定された評価対象の所定数の処理モジュールに対する処理を再び行うように制御するため、常に精度の高い優先度に基づき処理モジュールの実行順序を決定することができる効果を奏する。【００６７】
また、実施の形態１の実行順序決定装置は、処理モジュール記憶ユニット１１及び実行順序記録ユニット１８を備えることにより、依存関係抽出ユニット１２及び実行順序割当ユニット１３による処理前の複数の処理モジュール及び実行順序割当ユニット１３により決定後の実行順序に関するデータを安定性良く保持することができる。【００６８】
＜実施の形態２＞
図９はこの発明の実施の形態２であるの実行順序決定装置の構成を示すブロック図である。同図に示すように、実施の形態２の実行順序決定装置は、処理モジュール記憶ユニット１１、依存関係抽出ユニット１２、実行順序割当ユニット２３及び実行順序記録ユニット１８から構成される。【００６９】
実行順序割当ユニット２３は依存度評価部１４、被依存度評価部１５、優先度評価部１６、実行順割当部１７及び逆実行順割当部１９から構成される。【００７０】
逆実行順割当部１９は、被依存度評価部１５より得た被依存度に基づき、処理モジュールに最後から実行順を割り当てる。本実施の形態では、被依存度が“０”のものを抽出して割り当てる。この際、逆実行順割当部１９による処理は、優先度評価部１６及び実行順割当部１７による処理に優先して行われる。【００７１】
なお、処理モジュール記憶ユニット１１、依存関係抽出ユニット１２、及び実行順序記録ユニット１８の処理、並びに実行順序割当ユニット２３内の依存度評価部１４、被依存度評価部１５、優先度評価部１６、及び実行順割当部１７の処理内容は基本的に実施の形態１と同様であるため、同一符号を付して説明を適宜省略する。【００７２】
図１０は逆実行順割当部１９による最終実行順割当内容を模式的に示す説明図である。なお、対象とする処理モジュール群は図２〜図４で示した入出力依存関係を有する処理モジュール群と同一である。【００７３】
同図に示すように、依存度評価部１４及び被依存度評価部１５は、実施の形態１と同様にして、処理モジュールＡ〜Ｆの依存度及び被依存度を評価する。【００７４】
その結果、図１０に示すように、被依存度が“０”の処理モジュールＥが存在するため、逆実行順割当部１９は優先度評価部１６及び実行順割当部１７による処理に優先して、処理モジュールＥを最終順位に実行することを示す“−１”を割り当てる。【００７５】
実行順序割当ユニット２３は、一の処理モジュールの実行順序が決定する度に、依存度評価部１４、被依存度評価部１５、優先度評価部１６、実行順割当部１７及び逆実行順割当部１９による上述した処理を繰り返し実行させ、各処理モジュールの実行順序を順次割り当てる。【００７６】
この際、実施の形態１と同様、実行順序を決定した処理モジュールについては対象から除外する。例えば、図０に示すように、逆実行順割当部１９によって処理モジュールＥの実行順が“−１”（最終）に決定した後、処理モジュール群から処理モジュールＥが対象から除外されることになる。【００７７】
以下、処理モジュールＥが除外された処理モジュール群（所定数の処理モジュール）に対する処理について説明する。【００７８】
図１１は処理モジュールＥが除外された処理モジュール群に対する実行順序割当ユニット２３の実行順割り当結果を表形式で示す説明図である。【００７９】
依存度評価部１４及び被依存度評価部１５は、実行順序が既に割り当てられた処理モジュールＥを除いて、依存度及び被依存度を再び評価する。処理モジュールＥが評価対象から除外されたため、処理モジュールＤの被依存度が“２”から“１”に低下する。【００８０】
その際、被依存度“０”の処理モジュールが存在しないため、逆実行順割当部１９による割当処理は行われず、実施の形態１と同様、優先度評価部１６及び実行順割当部１７による実行順決定処理が実行される。【００８１】
優先度評価部１６は新たに依存度評価部１４及び被依存度評価部１５より得られた依存度・被依存度に基づき優先度を再び評価する。そして、依存度が最も小さい“０”の処理モジュールＦの優先度を最高レベルに評価する。【００８２】
次に、実行順割当部１７は、優先度評価部１６により得られた優先度に基づき、１番目に実行すべき処理モジュールを決定する。図１１で示す例では処理モジュールＦの実行順が“１”に決定されることになる。【００８３】
以降、同様にして、実行順序が決定した処理モジュールを対象から除外しながら、実行順序割当ユニット２３は、依存度評価部１４、被依存度評価部１５、優先度評価部１６による評価、実行順割当部１７及び逆実行順割当部１９による割る当てを繰り返し実行させることにより、処理モジュール群における処理モジュールに対して一つずつ実行順序が割り当てる。【００８４】
図１２は実行順序割当ユニット２３により最終的に実行順が決定された処理モジュールＡ〜Ｆの実行順と、未決定の処理モジュールに依存する数とを表形式で示す説明図である。なお、図１２において、負数の場合、実行順は−４，−３，−２，−１の順となる。【００８５】
同図に示すように、最終的に実行順は処理モジュールＦ，Ｃ，Ｄ，Ａ，Ｂ，Ｅの順で決定される。そして、未決定の処理モジュールに依存する数を処理モジュールＣの“１”にのみ抑え、他の処理モジュールＡ，Ｂ，Ｄ〜Ｆを“０”にしている。【００８６】
このように、実施の形態２の実行順序決定装置は、実施の形態１と同様、原則、依存度を考慮しながら、処理モジュールの実行順を決定していくため、結果として実行遅延が少なく、直感レベルの論理的判断に反する結果が生じにくい実行順序が得ることができる効果を奏する。【００８７】
このように、実施の形態２の実行順序決定装置で決定した実行順序に従って処理モジュール群を実行することにより、未決定の処理モジュールに依存する数、すなわち、前の周期の処理モジュールの結果に依存する数は、処理モジュールＣを実行するときの１箇所だけに抑えた効率的な実行順序となる。【００８８】
図２〜図４で示した入出力依存関係を有する処理モジュール群においては、実施の形態１及び実施の形態２との間で同じ実行順序が得られることになる。しかし、処理モジュール間がより複雑な入出力依存関係を持つ処理モジュール群に対して実施の形態２は効果を発揮する。【００８９】
図１３は処理モジュール記憶ユニット１１に記憶された他の処理モジュール群データの入出力依存関係を模式的に示す説明図である。【００９０】
同図に示すように、他の処理モジュール群における処理モジュールＡ〜Ｈ間において、以下の入出力依存関係が存在する。【００９１】
処理モジュール２０Ａは処理モジュール２０Ｃ，２０Ｄに依存し、処理モジュール２０Ｂに被依存する。処理モジュール２０Ｂは処理モジュール２０Ａ，２０Ｃ，２０Ｆに依存し、処理モジュール２０Ｃに被依存する。【００９２】
同様にして、処理モジュール２０Ｃは処理モジュール２０Ｂに依存し、処理モジュール２０Ａ，２０Ｂ，２０Ｄに被依存し、処理モジュール２０Ｄは処理モジュール２０Ｃに依存し、処理モジュール２０Ａ，２０Ｅ，２０Ｇ，２０Ｈに被依存する。また、処理モジュール２０Ｅは処理モジュール２０Ｄに依存し、処理モジュール２０Ｆは処理モジュール２０Ｂに被依存する。【００９３】
加えて、処理モジュール２０Ｇは処理モジュール２０Ｄに依存し、処理モジュール２０Ｈは処理モジュール２０Ｄに依存する。【００９４】
図１４は図１３で示した入出力依存関係を有する処理モジュール群に対し、実施の形態１により最終的に実行順序が決定された処理モジュールＡ〜Ｈの実行順と、未決定の処理モジュールに依存する数を表形式で示す説明図である。なお、同条件のときはアルファベット順で若い処理モジュールの実行順を先に決定するものとした。【００９５】
図１５は図１３で示した入出力依存関係を有する処理モジュール群に対し、実施の形態２により最終的に実行順序が決定された処理モジュールＡ〜Ｈの実行順と、未決定の処理モジュールに依存する数を表形式で示す説明図である。なお、図１５において、負数の場合、実行順は−６，−５，−４，−３，−２，−１の順となる。また、同条件のときはアルファベット順で若い処理モジュールの実行順を先に決定するものとした。【００９６】
図１４及び図１５に示すように、実施の形態１により決定された実行順序において未決定の処理モジュールに依存する数の和が“２”なのに対し、実施の形態２により決定された実行順序において未決定の処理モジュールに依存する数の和は“１”となっている。【００９７】
この差が、逆実行順割当部１９により、予め最後に回しても支障のない処理モジュールＥ，Ｇ，Ｈの順番を順次先に最終から決定し、優先度評価部１６による優先度評価と、実行順割当部１７による実行順割り当ての候補から外したことによる効果である。【００９８】
このように、実施の形態２の実行順序決定装置は、被依存度が“０”の処理モジュールを優先的に最終順から実行順序を決定することができるため、複雑な入出力依存関係を有する処理モジュール群に対して実施の形態１以上に効率的な実行順序を決定することができる効果を奏する。【００９９】
すなわち、実行順序割当ユニット２３内の逆実行順割当部１９は、被依存度が“０”であるという条件（所定の条件）を満足する時、優先度評価部１６及び実行順割当部１７による割り当てに優先して、被依存度が“０”の処理モジュールを評価対象の所定数の処理モジュール間で最終順位に割り当てるため、複雑な入出力依存関係を有する複数の処理モジュールに対しても効率的な実行順序を決定することができる効果を奏する。【０１００】
＜実施の形態３＞
図１６はこの発明の実施の形態３であるの実行順序決定装置の構成を示すブロック図である。同図に示すように、実施の形態３の実行順序決定装置は、処理モジュール記憶ユニット１１、依存関係抽出ユニット１２、実行順序割当ユニット３３及び実行順序記録ユニット１８から構成される。【０１０１】
実行順序割当ユニット３３は依存度評価部１４、被依存度評価部１５、優先度評価部３６、及び実行順割当部１７から構成される。【０１０２】
なお、処理モジュール記憶ユニット１１、依存関係抽出ユニット１２、及び実行順序記録ユニット１８の処理、並びに実行順序割当ユニット３３内の依存度評価部１４、被依存度評価部１５、及び実行順割当部１７の処理内容は基本的に実施の形態１と同様であるため、同一符号を付して説明を適宜省略する。【０１０３】
優先度評価部３６は、依存度評価部１４が評価した依存度、被依存度評価部１５が評価した被依存度に基づき、依存度及び被依存度の多項式で表される評価式を用いて優先度の評価を行う。評価式の一例が「（優先度）＝α×（依存度）＋β×（被依存度）・・・(1)」で示し式(1)となる。式(1)において、“α”が「依存度」用の（第１の）パラメータであり、“β”が「被依存度」用の（第２の）パラメータである。【０１０４】
依存度が大きいものを選択すると、未決定の処理モジュールに依存する数が大きくなる傾向がある。一方、被依存度の大きいものを選択すると、残りの処理モジュールで依存する総数が減少する傾向があるため、それ以降の割り当てで未決定の処理モジュールに依存する数が減少すると期待できる。従って、式(1)においてαは負の数、βは正の数が望ましい。【０１０５】
式(1)において、Ｋを十分大きな正の値として、α=−Ｋβ（βを正の数）とすると、優先度評価部３６の処理内容は実施の形態１の優先度評価部１６の処理内容と等価になる。【０１０６】
図１７は優先度評価部３６による優先度決定例を表形式で示す説明図である。図１７で示す例は、式(1)において、例えば、Ｋ＝１００、β＝１としたとき、図２〜図４で示す処理モジュール群について行った場合の優先度を示している。図１７で示す優先度は、処理モジュールＦ，Ｃ，Ｄ，Ｅ，Ａ，Ｂの順となり、この優先度順序は、図６で示す実施の形態１の優先度評価部１６による優先度順序と同一順序となる。【０１０７】
このように、実施の形態３の実行順序決定装置は、優先度評価部３６は依存度及び被依存度に基づきパラメータ（α，β）の値を変更可能な評価式（式(1)）を用いて、処理モジュール群内における各処理モジュールの優先度を決定することができるため、実施の形態１及び実施の形態２以上に柔軟性良く実行順序を決定することができる効果を奏する。【０１０８】
すなわち、実施の形態３の実行順序決定装置の実行順序割当ユニット３３における優先度評価部３６は、依存度及び被依存度と、依存度及び被依存度用のパラメータα及びβ（第１及び第２のパラメータ）とを含む式(1)（所定の多項式）に基づき、評価対象の所定数の処理モジュール間における優先度を求めるため、弾力性に富み精度の高い優先度を求めることができる。その結果、実施の形態３の実行順序決定装置は、複数の処理モジュールに対して効率的な実行手順を決定することができる効果を奏する。【０１０９】
また、式(1)のα、βを適宜変更して、実施の形態３の実行順序決定装置により実行順序を決定することにより、実行順序を複数得ることができる。そして、それぞれについて未決定の処理モジュールに依存する総数を比較し、その比較結果に基づき、パラメータα，βの値を設定するより、効率的でかつ的確な実行順序を決定することができる。【０１１０】
なお、実施の形態３における実行順序割当ユニット３３内に、実施の形態２の逆実行順割当部１９に相当する構成部を加える態様も考えられる。【０１１１】
＜実施の形態４＞
図１８はこの発明の実施の形態４であるの実行順序決定装置の構成を示すブロック図である。同図に示すように、実施の形態４の実行順序決定装置は、処理モジュール記憶ユニット１１、依存関係抽出ユニット１２、実行順序割当ユニット４３及び実行順序記録ユニット１８から構成される。【０１１２】
実行順序割当ユニット４３は依存度評価部１４、被依存度評価部１５、優先度評価部４６、及び実行順割当部１７から構成される。【０１１３】
なお、処理モジュール記憶ユニット１１、依存関係抽出ユニット１２、及び実行順序記録ユニット１８の処理、並びに実行順序割当ユニット４３内の依存度評価部１４、被依存度評価部１５、及び実行順割当部１７の処理内容は基本的に実施の形態１と同様であるため、同一符号を付して説明を適宜省略する。【０１１４】
優先度評価部４６は、実施の形態３の優先度評価部３６と同様、依存度及び被依存度の多項式で表される評価式（式(1)）を用いて優先度の評価を行う。【０１１５】
この際、実行順序割当ユニット４３は、優先度評価部４６において式(1)のパラメータα，βのうち少なくとも一方を複数回変更することにより得られる、複数種の評価式それぞれを用いて、依存度評価部１４、被依存度評価部１５、優先度評価部４６及び実行順割当部１７を制御することにより、処理モジュール群に対し複数種の評価式に基づく複数種の実行順序候補を仮決定する。【０１１６】
そして、実行順序割当ユニット４３は、仮決定した複数種の実行順序候補から「未決定の処理手順に異存する数」が最も少ない候補を、最終決定された実行順序として採用する。なお、仮決定した複数種の実行順序候補を実行順序記録ユニット１８に一時的に記録するようにしても良い。【０１１７】
このように、実施の形態４の実行順序決定装置の実行順序割当ユニット４３は、依存度及び被依存度に基づきパラメータ（α，β）変更可能な評価式（式(1)）を用いて、複数種の評価式（多項式）に基づき仮決定した複数種の実行順序候補から、「未決定の処理手順に異存する数」が最も少ない候補を、最終決定した実行順序として採用している。その結果、実施の形態４の実行順序決定装置は、より効率的な実行順序を決定することができる効果を奏する。【０１１８】
すなわち、実施の形態４の実行順序決定装置の実行順序割当ユニット４３は、仮決定した複数種の実行順序候補のうち、「未決定の処理手順に異存する数」が最も少ない候補（最も効率的な実行順序と判断される候補）を複数の処理モジュールの実行順序として最終決定するため、より効率的な実行手順を決定することができる効果を奏する。【０１１９】
なお、優先度評価部４６による評価基準を変更して実行順序割当ユニット４３により複数種の実行順序候補を得る方法として以下のような方法も考えられる。処理モジュール群の仕様（処理モジュール数、平均入出力数）に対応して、評価式（式(1)）について複数セットからなるパラメータセット（各セットがそれぞれ複数種のα，βの組合せを有している）を集合データベースとして予め準備しておく。【０１２０】
そして、集合データベースにおける複数のパラメータセットから、処理モジュール群の仕様に適合するによるパラメータセットを読み出し、読み出したパラメータセットにより評価式を変更しながら、複数種の実行順序候補を仮決定する。【０１２１】
また、実行順序の決定を所望する処理モジュール群に関し、入出力依存関係の密度（平均入出力数）や処理モジュールの数などの傾向が分かっている場合は、予めそれに似た処理モジュール群の集合モデルを生成し、集合モデルに対し最適なパラメータセットを集合データベースとして優先度評価部４６に設定しておけば、効率的で的確な実行順序を決定することが期待できる。【０１２２】
また、実行順序を迅速に決定すべく一の評価式を予め設定したい場合は、以下の事前処理により最適なパラメータを持つ一の評価式を優先度評価部４６に設定しておくことも可能である。すなわち、処理モジュール群の集合における処理モジュール群それぞれに対して複数種の評価式を用いて実行順序を取得し、複数種の評価式のうち、多数決等の処理により平均して最適な実行順位を決定した一の評価式を優先度評価部４６用の一の評価式として予め設定しておくことが可能である。【０１２３】
なお、実施の形態４における実行順序割当ユニット４３内に、実施の形態２の逆実行順割当部１９に相当する構成部を加える態様も考えられる。【０１２４】
＜その他＞
なお、実施の形態１〜実施の形態４で述べた実行順序決定装置は、例えば、主記憶装置、演算装置、入力装置、二次記憶装置及び出力装置等から構成され、これらの装置がと問えば共通バスを介して共通に接続されるような構成のコンピュータ装置により実現することができる。【０１２５】
このようなコンピュータ装置において、依存関係抽出ユニット１２及び実行順序割当ユニット１３，２３，３３，４３は、例えば、演算装置がコンピュータを機能させるプログラムに基づき動作することによって実現可能である。上記プログラムは主記憶装置あるいは二次記憶装置に格納可能である。【０１２６】
また、処理モジュール記憶ユニット１１及び実行順序記録ユニット１８は、主記憶装置あるいは二次記憶装置によって実現可能である。【０１２７】
この発明は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
【図１】
2010113242.tif 000003
【図２】
2010113242.tif 000004
【図３】
2010113242.tif 000005
【図４】
2010113242.tif 000006
【図５】
2010113242.tif 000007
【図６】
2010113242.tif 000008
【図７】
2010113242.tif 000009
【図８】
2010113242.tif 000010
【図９】
2010113242.tif 000011
【図１０】
2010113242.tif 000012
【図１１】
2010113242.tif 000013
【図１２】
2010113242.tif 000014
【図１３】
2010113242.tif 000015
【図１４】
2010113242.tif 000016
【図１５】
2010113242.tif 000017
【図１６】
2010113242.tif 000018
【図１７】
2010113242.tif 000019
【図１８】
2010113242.tif 000020
【図１９】
2010113242.tif 000021
【図２０】
2010113242.tif 000022
【手続補正書】
【提出日】平成23年4月27日(2011.4.27)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
この発明に係る実行順序決定装置は、各々がデータ入力及びデータ出力のうち少なくとも一方の機能を有する複数の処理モジュールに対し、前記複数の処理モジュールの実行順序を決定する実行順序決定装置であって、前記複数の処理モジュールの内容を規定した処理モジュール群データを記憶する処理モジュール記憶ユニットと、前記処理モジュール群データから、前記複数の処理モジュール間の入出力依存関係を抽出する入出力依存関係抽出ユニットと、前記複数の処理モジュール間の入出力依存関係から、前記複数の処理モジュールそれぞれの他の処理モジュールに対する依存度及び被依存度を求め、該依存度及び被依存度に基づき、前記複数の処理モジュールの実行順序を決定し、かつ、所定数の処理モジュールに対して実行順序を順次決定し、前記所定数の処理モジュールは初期状態時に前記複数の処理モジュールを含み、前記処理モジュールの実行順序を割り当てると、実行順序決定済みの処理モジュールを除外して、新たな前記所定数の処理モジュールとして再設定する対象処理モジュール再設定処理を行う実行順序割当ユニットとを備える。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
各々がデータ入力及びデータ出力のうち少なくとも一方の機能を有する複数の処理モジュールに対し、前記複数の処理モジュールの実行順序を決定する実行順序決定装置であって、
前記複数の処理モジュールの内容を規定した処理モジュール群データを記憶する処理モジュール記憶ユニットと、
前記処理モジュール群データから、前記複数の処理モジュール間の入出力依存関係を抽出する入出力依存関係抽出ユニットと、
前記複数の処理モジュール間の入出力依存関係から、前記複数の処理モジュールそれぞれの他の処理モジュールに対する依存度及び被依存度を求め、該依存度及び被依存度に基づき、前記複数の処理モジュールの実行順序を決定し、
かつ、所定数の処理モジュールに対して実行順序を順次決定し、前記所定数の処理モジュールは初期状態時に前記複数の処理モジュールを含み、前記処理モジュールの実行順序を割り当てると、実行順序決定済みの処理モジュールを除外して、新たな前記所定数の処理モジュールとして再設定する対象処理モジュール再設定処理を行う実行順序割当ユニットと、
を備えた実行順序決定装置。
【請求項２】
請求項１記載の実行順序決定装置であって、
前記実行順序割当ユニットは、
前記所定数の処理モジュール間の入出力依存関係に基づき、前記所定数の処理モジュールそれぞれの他の処理モジュールに対する依存度を求める依存度評価部と、
前記所定数の処理モジュール間の入出力依存関係に基づき、前記所定数の処理モジュールそれぞれの他の処理モジュールに対する被依存度を求める被依存度評価部と、
前記依存度評価部及び前記被依存度評価部で求めた前記依存度及び前記被依存度に基づき、前記所定数の処理モジュール間における優先度を求める優先度評価部と、
前記所定数の処理モジュールに対し、優先度が最も高い一の処理モジュールの実行順序を前記所定数の処理モジュール間で最先順位に割り当てる実行順割当部とを含み、
前記実行順序割当ユニットは、前記依存度評価部、前記被依存度評価部、前記優先度評価部及び前記実行順割当部それぞれが、前記対象処理モジュール再設定処理後、新たに設定された前記所定数の処理モジュールに対する処理を行うように制御する、
実行順序決定装置。
【請求項３】
請求項２記載の実行順序決定装置であって、
前記実行順序割当ユニットは、
前記被依存度評価部で求めた前記被依存度に基づき、前記被依存度が所定の条件を満足する時、前記実行順割当部による割り当てに優先して、前記被依存度が前記所定の条件を満足する処理モジュールを前記所定数の処理モジュール間で最終順位に割り当てる逆実行順割当部をさらに含む、
実行順序決定装置。
【請求項４】
請求項２あるいは請求項３記載の実行順序決定装置であって、
前記優先度評価部は、
前記依存度評価部及び前記被依存度評価部で求めた前記依存度及び前記被依存度と、前記依存度及び前記被依存度用の第１及び第２のパラメータとを含む所定の多項式に基づき、前記所定数の処理モジュール間における優先度を求める、
実行順序決定装置。
【請求項５】
請求項４記載の実行順序決定装置であって、
前記所定の多項式は前記第１及び第２のパラメータの値の少なくとも一方を変えた複数種の多項式を含み、
前記実行順序割当ユニットは、
前記優先度評価部により、前記複数種の多項式それぞれに基づき、前記所定数の処理モジュール間における優先度を求めさせながら、前記依存度評価部、前記被依存度評価部、及び前記実行順割当部の処理を実行させることにより、前記複数の処理モジュールにおける複数種の実行順序候補を仮決定し、
前記複数種の実行順序候補のうち、最も効率的な実行順序と判断される候補を前記複数の処理モジュールの実行順序として決定する、
実行順序決定装置。
【請求項６】
請求項１ないし請求項５のうち、いずれか１項に記載の実行順序決定装置であって、
前記実行順序割当ユニットで決定した前記複数の処理モジュールの実行順序を記録する実行順序記録ユニットをさらに備える、
実行順序決定装置。
【国際調査報告】
2010113242.tif 000023
2010113242.tif 000024