"設備制御用ソフトウェアを構成する複数のソフトウェア部品のうち関連性のあるソフトウェア部品の組み合わせを抽出するソフトウェア部品組合せ抽出支援装置における方法であって、前記ソフトウェア部品組合せ抽出支援装置は、製品設計情報データベースと、直接的関係抽出部を有し、前記製品設計情報データベースは、前記設備制御用ソフトウェアによって実行される一以上の処理各々について、当該処理と、当該処理を実行するソフトウェア部品と、当該ソフトウェア部品が作用する設備と、を対応付けて登録した処理フロー情報、を有し、前記直接的関係抽出部が、前記処理フロー情報を取得するステップと、前記処理フロー情報に基づき、前記処理フロー情報で指定される複数のソフトウェア部品から同じ設備に作用するソフトウェア部品の組み合わせを直接的同時選択の関係にあるソフトウェア部品の組み合わせとして抽出するステップと、を実行することを特徴とする方法。請求項1に係る方法であって、前記ソフトウェア部品組合せ抽出支援装置は、さらに間接的関係抽出部を有し、前記製品設計情報データベースはさらに、一方の設備が動作すると他方の設備も動作する連動関係にある設備を対応付けて登録した連動関係情報を有し、前記間接的関係抽出部が、前記処理フロー情報と前記連動関係情報を取得するステップと、前記連動関係情報に基づき、前記連動関係にある設備に作用するソフトウェア部品の組み合わせを間接的同時選択の関係にあるソフトウェア部品として抽出するステップと、を実行することを特徴とする方法。設備制御用ソフトウェアを構成する複数のソフトウェア部品から関連あるソフトウェア部品の組み合わせを抽出するソフトウェア部品組合せ抽出支援装置における方法であって、前記ソフトウェア部品組合せ抽出支援装置は、製品設計情報データベースと、直接的関係抽出部を有し、前記製品設計情報データベースは、複数の設備制御用ソフトウェア各々について、当該設備制御用ソフトウェアによって実行される複数の処理フローの処理各々について、当該処理を実行するソフトウェア部品と、当該ソフトウェア部品が作用する設備と、を対応付けて登録した処理フロー情報と、当該設備制御用ソフトウェアによって実行される複数の処理フローについて、処理の結果として現れる設備の状態が正反対である処理を対応付けて登録した否定関係情報と、を有し、前記直接的関係抽出部は、前記複数の設備制御用ソフトウェアのうちの一の設備制御用ソフトウェアの処理フロー情報から、当該一の設備制御用ソフトウェアを構成するソフトウェア部品群を抽出して第一のソフトウェア部品群とするステップと、前記複数の設備制御用ソフトウェアのうち前記一の設備制御用ソフトウェア以外の設備制御用ソフトウェアを構成するソフトウェア部品であって、前記第一のソフトウェア部品群に含まれないソフトウェア部品を抽出して第二のソフトウェア部品群とするステップと、前記第一のソフトウェア部品群と前記第二のソフトウェア部品群の各々からソフトウェア部品を選択して組とするステップと、前記処理フロー情報に基づき、前記組を構成するソフトウェア部品が同じ設備に作用するソフトウェア部品か判断するステップと、前記組を構成するソフトウェア部品が同じ設備に作用する場合、前記否定関係情報に基づき、前記組を構成するソフトウェア部品による処理の結果現れる設備の状態が正反対の関係にあるものを直接的排他選択の関係にあるソフトウェア部品として抽出するステップと、を実行することを特徴とする方法。請求項3に係る方法であって、前記ソフトウェア部品組合せ抽出支援装置は、さらに間接的関係抽出部を有し、前記製品設計情報データベースはさらに、一方の設備が動作すると他方の設備も動作する連動関係にある設備を対応付けて登録した連動関係情報を有し、前記間接的関係抽出部は、前記連動関係情報に基づき、前記抽出した組を構成するソフトウェア部品が前記連動関係にある設備に作用するソフトウェア部品である場合に間接的排他選択の関係にあるソフトウェア部品として当該ソフトウェア部品を抽出するステップと、を実行することを特徴とする方法。請求項2及び請求項4に係る方法であって、前記ソフトウェア部品組合せ抽出支援装置は、さらに依存関係結合部を有し、前記依存関係結合部は、前記直接的同時選択の関係、前記間接的同時選択の関係、前記直接的排他選択の関係、前記間接的排他選択の関係の同一又は異なる二つ以上の関係を介して生じるソフトウェア部品の暗黙的関係を抽出する手段と、を有することを特徴とするソフトウェア部品組合せ抽出支援装置。。請求項5に係る方法であって、前記ソフトウェア部品組合せ抽出支援装置は、さらに組合せ表示部を有し、前記組合せ表示部は、新たに生成される設備制御用ソフトウェアが制御対象とする設備の情報を受け付けて前記製品設計情報データベースへ登録するステップと、前記直接的同時選択の関係または前記間接的同時選択の関係または前記直接的排他選択の関係または前記間接的排他選択の関係のいずれかを満たすソフトウェア部品の組合せのうち、前記新たな設備制御用ソフトウェアにおいて制御する設備と関連する前記ソフトウェア部品の組合せを、前記新たに生成される設備制御用ソフトウェアを構成するソフトウェア部品の候補として出力するステップと、を実行することを特徴とする方法。請求項6に係る方法であって、前記ソフトウェア部品組合せ抽出支援装置は、さらに部品フィードバック部を有し、前記部品フィードバック部は、前記直接的同時選択の関係にあるソフトウェア部品の組み合わせを一つのソフトウェア部品とみなし、前記処理フロー情報を更新するステップを実行することを特徴とする方法。請求項7に係る方法であって、前記ソフトウェア部品組合せ抽出支援装置は、さらに製品処理フロー登録部を有し、前記製品処理フロー登録部は、前記設備制御用ソフトウェアの実行中に、実行されたソフトウェア部品と、当該ソフトウェア部品が作用した設備を識別する情報を有する実行ログ情報を蓄積するステップと、前記実行ログ情報に基づいて前記処理フロー情報を生成するステップと、を実行することを特徴とする方法。設備制御用ソフトウェアを構成する複数のソフトウェア部品のうち関連性のあるソフトウェア部品の組み合わせを抽出するソフトウェア部品組合せ抽出支援装置であって、前記ソフトウェア部品組合せ抽出支援装置は、製品設計情報データベースと、直接的関係抽出部を有し、前記製品設計情報データベースは、前記設備制御用ソフトウェアによって実行される一以上の処理各々について、当該処理と、当該処理を実行するソフトウェア部品と、当該ソフトウェア部品が作用する設備と、を対応付けて登録した処理フロー情報、を有し、前記直接的関係抽出部は、前記処理フロー情報を取得する手段と、前記処理フロー情報に基づき、前記処理フロー情報で指定される複数のソフトウェア部品から同じ設備に作用するソフトウェア部品の組み合わせを直接的同時選択の関係にあるソフトウェア部品の組み合わせとして抽出する手段と、を実行することを特徴とするソフトウェア部品組合せ抽出支援装置。請求項9に係るソフトウェア部品組合せ抽出支援装置であって、前記ソフトウェア部品組合せ抽出支援装置は、さらに間接的関係抽出部を有し、前記製品設計情報データベースはさらに、一方の設備が動作すると他方の設備も動作する連動関係にある設備を対応付けて登録した連動関係情報を有し、前記間接的関係抽出部は、前記処理フロー情報と前記連動関係情報を取得する手段と、前記連動関係情報に基づき、前記連動関係にある設備に作用するソフトウェア部品の組み合わせを間接的同時選択の関係にあるソフトウェア部品として抽出する手段と、を実行することを特徴とするソフトウェア部品組合せ抽出支援装置。設備制御用ソフトウェアを構成する複数のソフトウェア部品から関連あるソフトウェア部品の組み合わせを抽出するソフトウェア部品組合せ抽出支援装置であって、前記ソフトウェア部品組合せ抽出支援装置は、製品設計情報データベースと、直接的関係抽出部を有し、前記製品設計情報データベースは、複数の設備制御用ソフトウェア各々について、当該設備制御用ソフトウェアによって実行される複数の処理フローの処理各々について、当該処理を実行するソフトウェア部品と、当該ソフトウェア部品が作用する設備と、を対応付けて登録した処理フロー情報と、当該設備制御用ソフトウェアによって実行される複数の処理フローについて、処理の結果として現れる設備の状態が正反対である処理を対応付けて登録した否定関係情報と、を有し、前記直接的関係抽出部は、前記複数の設備制御用ソフトウェアのうちの一の設備制御用ソフトウェアの処理フロー情報から、当該一の設備制御用ソフトウェアを構成するソフトウェア部品群を抽出して第一のソフトウェア部品群とする手段と、前記複数の設備制御用ソフトウェアのうち前記一の設備制御用ソフトウェア以外の設備制御用ソフトウェアを構成するソフトウェア部品であって、前記第一のソフトウェア部品群に含まれないソフトウェア部品を抽出して第二のソフトウェア部品群とする手段と、前記第一のソフトウェア部品群と前記第二のソフトウェア部品群の各々からソフトウェア部品を選択して組とする手段と、前記処理フロー情報に基づき、前記組を構成するソフトウェア部品が同じ設備に作用するソフトウェア部品か判断する手段と、前記組を構成するソフトウェア部品が同じ設備に作用する場合、前記否定関係情報に基づき、前記組を構成するソフトウェア部品による処理の結果現れる設備の状態が正反対の関係にあるものを直接的排他選択の関係にあるソフトウェア部品として抽出する手段と、を実行有することを特徴とするソフトウェア部品組合せ抽出支援装置。請求項11に係るソフトウェア部品組合せ抽出支援装置であって、前記ソフトウェア部品組合せ抽出支援装置は、さらに間接的関係抽出部を有し、前記製品設計情報データベースはさらに、一方の設備が動作すると他方の設備も動作する連動関係にある設備を対応付けて登録した連動関係情報を有し、前記間接的関係抽出部は、前記連動関係情報に基づき、前記抽出した組を構成するソフトウェア部品が前記連動関係にある設備に作用するソフトウェア部品である場合に間接的排他選択の関係にあるソフトウェア部品として当該ソフトウェア部品を抽出する手段と、を実行することを特徴とするソフトウェア部品組合せ抽出支援装置。請求項10及び請求項12に係るソフトウェア部品組合せ抽出支援装置であって、前記ソフトウェア部品組合せ抽出支援装置は、さらに依存関係結合部を有し、前記依存関係結合部は、前記直接的同時選択の関係、前記間接的同時選択の関係、前記直接的排他選択の関係、前記間接的排他選択の関係の同一又は異なる二つ以上の関係を介して生じるソフトウェア部品の暗黙的関係を抽出する手段と、を有することを特徴とするソフトウェア部品組合せ抽出支援装置。しかしながら、上記特許文献1に記載の技術では、ソフトウェア部品の組合せ方を過去の統計から導出するため、精度を高めるためには数多くの開発実績を集める必要があり、適用できるようになるまでに時間がかかる。また、特許文献1に記載の技術では、過去の実績上必然的に一緒に使用されたソフトウェア部品と偶然一緒に使用されたソフトウェア部品を区別できないため、必要のない組合せまたは不具合を起こす組合せを許容してしまうことになる。そこで、数少ない開発実績でも確実にソフトウェア部品間の関係を抽出し、関連あるソフトウェア部品による組合せパターンの提示が可能なソフトウェア部品組合せ支援技術が求められている。本発明は上記課題を解決するために、設備制御用ソフトウェアを構成する複数のソフトウェア部品のうち関連性のあるソフトウェア部品の組み合わせを抽出するソフトウェア部品組合せ抽出支援装置における方法であって、前記ソフトウェア部品組合せ抽出支援装置は、製品設計情報データベースと、直接的関係抽出部を有し、前記製品設計情報データベースは、前記設備制御用ソフトウェアによって実行される一以上の処理各々について、当該処理と、当該処理を実行するソフトウェア部品と、当該ソフトウェア部品が作用する設備と、を対応付けて登録した処理フロー情報、を有し、前記直接的関係抽出部が、前記処理フロー情報を取得するステップと、前記処理フロー情報に基づき、前記処理フロー情報で指定される複数のソフトウェア部品から同じ設備に作用するソフトウェア部品の組み合わせを直接的同時選択の関係にあるソフトウェア部品の組み合わせとして抽出するステップと、を備える。本発明によれば、数少ない開発実績でもソフトウェア部品の関係を抽出することができる。図2は、本発明の一実施形態に係るソフトウェア部品組合せ支援装置のハードウェア構成例を示す図である。ソフトウェア部品組合せ支援装置200は、CPU201、表示装置202、入力装置203、メモリ204、外部記憶装置205から構成される。CPU201は、外部記憶装置205に保持されるプログラムおよびデータをメモリ204上に読込み、ソフトウェア部品の組合せ支援に関する処理を実行し、最適なソフトウェア部品組合せを出力する。表示装置202は、CPU201の出力結果をユーザに表示する。入力装置203は、ユーザからの製品情報入力を受け付ける。メモリ204は、主記憶装置であり、CPU201が実行するためのプログラムおよびデータを読み込む。外部記憶装置205は、補助記憶装置であり、実行に必要なプログラムおよびデータを保持する。図1は、本発明の一実施形態に係るソフトウェア部品組合せ支援装置のソフトウェア構成例を示すブロック図である。ソフトウェア部品組合せ支援装置200は、製品処理フロー情報登録部101、製品連動関係情報登録部102、製品処理否定関係情報登録部103、直接的依存関係抽出部105、間接的依存関係抽出部106、依存関係結合部108、組合せパターンソート表示部109、部品フィードバック部110のプログラムおよび全製品設計情報DB104、部品間依存関係DB107のデータから構成される。これらプログラムおよびデータは、前記外部記憶装置205に保持される。製品処理フロー情報登録部101は、製品開発毎にユーザの入力により得られる処理フロー情報を全製品設計情報DB104に格納する。また、オプションとして製品実行ログから処理フロー情報を自動生成することも可能である。製品連動関係情報登録部102は、製品開発毎にユーザの入力により得られる連動関係情報を全製品設計情報DB104に格納する。製品処理否定関係情報登録部103は、製品開発毎にユーザの入力により得られる処理否定関係情報を全製品設計情報DB104に格納する。直接的依存関係抽出部105は、全製品設計情報DB104に格納されている処理フロー情報を用いて直接的なソフトウェア部品間の依存関係を抽出する。間接的依存関係抽出部106は、全製品設計情報DB104に保持される処理フロー情報および連動関係情報を用いて間接的なソフトウェア部品間の依存関係を抽出し、直接的なソフトウェア部品間の依存関係と合わせて部品間依存関係DB107に格納する。ソフトウェア部品間の依存関係として、例えば、製品開発時にソフトウェア部品を両方とも使用するまたは両方とも使用しない同時選択関係XNORや、どちらか一方のみ使用する排他選択関係XORなどを抽出できる。なお、同時選択関係の同時とは、時間的な同時を意味するものではない。依存関係結合部108は、部品間依存関係DB107に格納されている部品間依存関係情報を取得して結合することで、暗黙的に存在する依存関係を抽出する。例えば、部品A、部品B、部品C、部品Dの4つのソフトウェア部品があり、部品Aと部品B、部品Cと部品Dの間にそれぞれ排他選択関係XORが存在し、部品Bと部品Cの間に同時選択関係XNORが存在する場合に、これらを結合することで、部品Aと部品D間の関係として暗黙の同時選択関係XNORを抽出することができる。また別の例として,部品A,部品B,部品Cの3つのソフトウェア部品があり,部品Aと部品B,部品Bと部品Cの間にそれぞれ同時選択関係XNORが存在する場合に,部品Aと部品Cの間の関係として暗黙の同時選択関係XNORを抽出することができる。さらに別の例として,部品A,部品B,部品C,部品Dの4つのソフトウェア部品があり,部品Aと部品B,部品Bと部品C,部品Cと部品Dの間にそれぞれ排他選択関係XORが存在する場合,部品Aと部品Cおよび部品Bと部品Dの間の関係として暗黙の同時選択関係XNORをそれぞれ抽出することができる。組合せパターンソート表示部109は、依存関係結合部108で結合した依存関係を用いて依存関係を満たす全ての組合せパターンを作成し、新しく開発する製品の連動関係情報を用いて、全ての組合せパターンから新製品における連動関係情報を満たす最適なソフトウェア部品の組合せパターンを選択し、ユーザに表示する。例えば,設備1,設備2,設備3の3つの設備とそれらの設備にアクセスする3つのソフトウェア部品として部品A,部品B,部品Cがある場合について説明する。前提として,部品Aは設備1,部品Bは設備2,部品Cは設備3にのみアクセスし,新しく開発する製品の連動関係情報として設備1と設備2の間の連動関係が定義されているものとする。ここで,各部品を利用するor利用しないの選択ができるので,部品の全組合せは,2x2x2=8パターンある。8パターンのうち,設備1と設備2の間の連動関係を満たすパターン,すなわちそれらの設備にアクセスする部品Aと部品Bを同時に利用するパターンである部品A,部品B,部品A,部品B,部品Cの2パターンが最適なソフトウェア部品の組合せパターンとして抽出される。複数候補が抽出された場合には,最終的に人手で選択することになるが,連動関係の数が多い程候補数は限られることになる。部品フィードバック部110は、前記依存関係結合部108で結合した依存関係を用いて、ソフトウェア部品の粒度を見直し、全製品設計情報DB104の処理フロー情報を更新する。例えば、直接的同時選択関係XNORおよび間接的同時選択関係XNORにあるソフトウェア部品群は、必ず同じ製品で使用されるため管理上1つのソフトウェア部品とみなすことができる。そのため、1つのソフトウェア部品として登録しなおすことで部品選択の手間を減らすことができる。図3は、全製品設計情報DBに保持される処理フローの一例を示す図である。処理フロー情報300は、処理名称301、設備種別302、設備ID303、ソフトウェア部品名称304から構成され、1処理1行として複数の処理の順番を記載することができる。例えば、制御ソフトウェアでは、設備を参照または更新する単位を1処理とすることができる。処理名称301には、実行する処理の名称を実行順に記載する。設備種別302には、処理名称301の各行で記載した処理が実行中にアクセスする設備の種別を記載する。設備ID303には、対象の設備を一意に特定する識別情報を記載する。ソフトウェア部品名称304には、処理名称301が実装されるソフトウェア部品の名称を記載する。例えば、列車の運行管理において、信号機やてこの状態を監視して、列車の在線状況や駅の状態を判断し、問題がなければ信号機やてこの状態を制御し、列車の進行を促す一連の流れを、複数処理として処理フロー情報内に記述することができる。一般的に設備の制御に関係するシステムは、設備監視、状況判断、設備制御の有限の処理フローを1セットとして、複数セットの処理フローから構成される。そのため、有限個数の処理が記載された複数の処理フロー情報を用いてこれらのシステムを表現することが可能である。ソフトウェア部品名称304は、初期値は1処理につき1ソフトウェア部品ということで設定するが、後記部品フィードバック部によりこの粒度は適宜更新することができる。図4は、製品処理フロー情報入力部で使用する処理フロー情報を自動生成する場合に使用する実行ログの一例を示す図である。実行ログ400は、例えば処理を実行した時刻、処理名称、処理がアクセスした設備の設備名称および設備番号から構成される。処理を実行した時刻を記載することで処理の実行順序と実行ログの記載順序の違いを直すことが可能になる。また、設備名称としてNULL値を設定することで、設備にアクセスする本質的な処理とは関係のない補足的な処理の除外が可能になる。図5は、全製品設計情報DBに格納される連動関係情報の一例を示す図である。連動関係情報500は、例えば対象設備501に対する設備名称、設備番号と、対象設備501と連動する関係にある連動設備502に対する設備名称、設備番号から構成される。連動関係情報500には、1つの連動関係を1行として複数行記載する。例えば、列車運行管理に関する設備として、駅の場内への入場を許可する場内信号機が動作すると、それと同時に線路の方向を決める転てつ器が動作するがその連動関係を1つの連動関係として連動関係情報に1行に記述することが可能である。図6は、全製品設計情報DBに格納される処理否定関係情報の一例を示す図である。処理否定関係情報600は、例えば処理名称601と、対象となる処理の処理名称601と否定関係にある処理の処理名称602から構成される。処理否定関係情報600には、処理間の関係が否定関係にあるものを記載する。ここで、否定関係とは、処理結果として現れる設備の状態が正反対であることを指す。例えば、列車運行管理において、設備がとりうる状態値がONOFFの2値であることが多く、設備の状態をONにする処理と設備の状態をOFFにする処理の間の関係を否定関係として定義することができる。この否定関係にある処理は同時に使用されることはなく、これを否定関係処理情報600として記載しておくことで、排他選択関係を抽出する際に活用することができる。図7は、部品間依存関係DBに保持される部品間依存関係情報の一例を示す図である。部品間依存関係情報700は、例えば依存関係の種別を表す依存関係種別701と依存関係にあるソフトウェア部品集合を個別に定義する部品名称702、703、704から構成される。部品間依存関係情報700には、1依存関係1行として複数行ソフトウェア部品間の依存関係を記載する。例えば、部品1と部品8が同時選択関係XNORにある場合に、その依存関係を1行として部品間依存関係情報に記載することができる。図8は、部品フィードバック部によりソフトウェア部品の粒度を更新した後の処理フロー情報の一例を示す図である。処理フロー情報800は、前記処理フロー情報300と構成は同じである。処理フロー情報300では、1ソフトウェア部品あたり1処理としてソフトウェア部品項目を設定していた。処理フロー情報800に示す例は、図7に示す依存関係がある場合に、図7の1行目および2行目に記載するXNOR関係のうち、同一設備を制御するソフトウェア部品をそれぞれ1つの部品とみなして、処理フロー情報300の部品粒度を見直したものである。例えば、部品1と部品8が同時選択関係XNORにある場合に、部品1と部品8は1つの部品とみなすことができるので、処理フロー情報300の部品8を部品1と設定しなおす。このように処理フロー情報のソフトウェア部品項目を可変とすることにより、ソフトウェア部品粒度の最適化が可能となる。図9は、ソフトウェア部品間依存関係として同時選択関係XNORを抽出するフローの一例を示す図である。直接的依存関係抽出部で実行開始ステップ901した後、全製品設計情報DBから連動関係情報の取得ステップ902と処理フロー情報の取得ステップ903を行う。取得した処理フロー情報内の処理のうち、同じ設備にアクセスする処理群を選択し、選択した各処理に対応するソフトウェア部品をそれぞれ抽出し、これらの部品を直接的同時選択関係としてグループ化するステップ904。続いて間接的依存関係抽出部で、取得済みの連動関係情報を参照し、前記直接的同時選択関係を抽出する上でキーとなった設備と連動関係にある設備を取得する。そして、連動関係にある設備をアクセスするソフトウェア部品群を間接的同時選択関係としてグループ化するステップ905。以降ステップ904およびステップ905を処理フロー情報に含まれる全設備に対して行う。上記処理を行った後、前記直接的同時選択関係および間接的同時選択関係のグループをまとめてXNOR依存関係として全製品設計情報DBに格納するステップ906。以降ステップ903からステップ906を製品の処理フロー情報の数だけ実行する。図10は、ソフトウェア部品間依存関係として排他選択関係XORを抽出するフローの一例を示す図である。直接的依存関係抽出部で実行開始ステップ1001した後、全製品設計情報DBから連動関係情報と処理否定関係情報を取得しステップ1002、合わせて1製品分の処理フロー情報を取得するステップ1003。1製品分の処理フロー情報からその製品で使用したソフトウェア部品である適用済ソフトウェア部品群を抽出するステップ1004。続いて、全設計情報DBから前記製品で使用していないソフトウェア部品である未適用ソフトウェア部品群を抽出するステップ1005。前記適用済ソフトウェア部品群と未適用ソフトウェア部品群から任意のソフトウェア部品を選んでソフトウェア部品のペアを作成するステップ1006。前記ソフトウェア部品のペアのうち、それぞれのソフトウェア部品が同じ設備にアクセスするペアを直接的排他選択関係候補として設定するステップ1007。そして、取得済みの処理否定関係情報を参照し、直接的排他選択関係候補のペアであるソフトウェア部品それぞれに紐づく処理が否定関係にあるものをXOR依存関係として設定するステップ1008。続いて間接的依存関係抽出部で、取得済み連動関係情報を参照し、前記ステップ1006で作成したペアのうち、ステップ1008で直接的排他選択関係として設定されなかったソフトウェア部品のペアのうち、それぞれのソフトウェア部品がアクセスする設備が連動関係にあるペアを間接的排他選択関係として設定するステップ1009。"