(57)【要約】      （修正有）【課題】プログラムに利用させる１以上のコンポーネント間の動作確認のとれたプログラム開発環境を、動作可能率を含む情報で推薦する。【解決手段】１以上のプログラムと、各プログラムを各プログラムに利用される１以上のコンポーネントと組合せて処理を実行した実行結果と、各プログラムに利用される１以上のコンポーネントのＩＤとバージョンの組合せと、を含むプログラム実行管理情報を記憶する記憶装置と、要求元から受信した推薦要求で指定された１以上のコンポーネントの条件に合う組合せの全てを記憶装置から取得し、プログラム実行管理情報を基に、各組合せに属するコンポーネントのバージョンの組合せごとに実行結果がＯＫの割合を動作可能率として算出する情報処理装置を有する。情報処理装置は、条件に合う組合せに属するコンポーネントのＩＤとバージョンの組合せ及び動作可能率を含む開発環境推薦データを作成し、要求元に１以上送信する。【選択図】図８
2018010580.tif 000002
【特許請求の範囲】
【請求項１】
１以上のプログラムと、当該各プログラムを前記各プログラムに利用される１以上のコンポーネントと組合せて処理を実行して得られた実行結果と、前記各プログラムに利用される１以上のコンポーネントのＩＤとバージョンの組合せと、を含むプログラム実行管理情報を記憶する記憶装置と、
要求元から推薦要求を受信した場合、前記記憶装置と情報の送受を行い、前記推薦要求で指定された１以上のコンポーネントの条件に合致する組合せの全てを前記記憶装置から取得し、当該取得した全ての組合せについて、前記プログラム実行管理情報を基に前記取得した各組合せに属するコンポーネントのバージョンの組合せのバリエーションごとに実行結果がＯＫの割合を動作可能率として算出する情報処理装置と、を有し、
前記情報処理装置は、
前記条件に合致する組合せに属するコンポーネントのＩＤとバージョンの組合せ及び前記算出した動作可能率のペアを含む開発環境推薦データを作成し、当該作成した開発環境推薦データを前記要求元に１以上送信することを特徴とするプログラム開発環境推薦システム。
【請求項２】
請求項１に記載のプログラム開発環境推薦システムであって、
複数のコンポーネントを前記各コンポーネントのＩＤとバージョンに対応づけて管理するコンポーネント管理装置を更に有し、
前記情報処理装置は、
前記プログラムと、当該プログラムに利用される１以上のコンポーネントのＩＤとバージョンの組合せを受け付け、当該受け付けた組合せに属する指定のバージョンのコンポーネントを前記コンポーネント管理装置から１以上取得し、前記プログラムを、前記取得した１以上のコンポーネントと組合せて処理を実行して、実行結果を前記記憶装置に記憶することを特徴とするプログラム開発環境推薦システム。
【請求項３】
請求項２に記載のプログラム開発環境推薦システムであって、
前記プログラムのうち指定のプログラムに利用される１以上のコンポーネントの条件を指定し、当該指定した１以上のコンポーネントの条件を含む情報を推薦要求に付加して前記情報処理装置に送信し、前記推薦要求に応答した情報として、前記情報処理装置から前記開発環境推進データを１以上取得する開発環境構築装置を更に有し、
前記開発環境構築装置は、
前記取得した前記開発環境推薦データのうち指定されたペアに含まれるバージョンのコンポーネントを前記コンポーネント管理装置から１以上取得することを特徴とするプログラム開発環境推薦システム。
【請求項４】
請求項１に記載のプログラム開発環境推薦システムであって、
前記情報処理装置は、
前記要求元から追加推薦要求を受信した場合、前記追加推薦要求で指定された１以上のコンポーネントの条件に合致する組合せの全てを前記記憶装置から取得し、当該取得した全ての組合せについて、前記プログラム実行管理情報のうち前記追加推薦要求で指定されていないコンポーネントの情報と、実行結果の情報を対象に決定木アルゴリズムを実行して、実行結果ＯＫの因子コンポーネントを特定し、当該特定したコンポーネントの動作可能率を算出し、当該算出結果と前記特定したコンポーネントのＩＤを含む追加推薦情報を前記要求元に送信することを特徴とするプログラム開発環境推薦システム。
【請求項５】
請求項１に記載のプログラム開発環境推薦システムであって、
前記情報処理装置は、
前記要求元からの推薦要求に従って算出した動作可能率を含むデータであって、前記開発環境推薦データを前記記憶装置に記憶すると共に、前記要求元から新たな推薦要求を受信した場合、前記新たな推薦要求で指定された１以上のコンポーネントの条件に合致する組合せの全てを前記記憶装置から取得し、当該取得した全ての組合せについて、前記プログラム実行管理情報を基に前記取得した各組合せに属するコンポーネントのバージョンの組合せのバリエーションごとに実行結果がＯＫの割合を動作可能率として算出し、前記条件に合致する組合せに属するコンポーネントのＩＤとバージョンの組合せ及び前記算出した動作可能率のペアを含む開発環境推薦データを作成し、当該作成した開発環境推薦データと前記記憶装置に記憶された開発環境推薦データとを比較して、動作可能率が最も高くバージョンが新規なペアの開発環境推薦データを指定し、当該指定した開発環境推薦データのペアに属する新たなコンポーネントを前記コンポーネント管理装置から取得し、前記プログラムを前記取得した新たなコンポーネントと組合せて処理を実行することを特徴とするプログラム実行環境構築システム。
【請求項６】
請求項３に記載のプログラム開発環境推薦システムであって、
前記開発環境構築装置は、
情報を表示する表示装置を有し、
前記表示装置は、
前記推薦要求に付加する情報を表示するための画面であって、前記プログラムに利用される１以上のコンポーネントのＩＤとバージョンの有無を条件として指定するための第一の表示画面と、
前記開発環境推薦データに属する情報であって、前記条件に合致する組合せに属するコンポーネントのＩＤとバージョンの組合せ及び動作可能率を含む情報を表示する第二の表示画面を有するプログラム実行環境構築システム。
【請求項７】
請求項６に記載のプログラム開発環境推薦システムであって、
前記表示装置は、
前記追加推薦要求に付加する情報を表示するための画面であって、前記プログラムに利用される１以上のコンポーネントのＩＤとバージョンの有無を条件として指定するための第三の表示画面と、
前記追加推薦情報に属する情報であって、前記実行結果ＯＫの因子コンポーネントとして特定されたコンポーネントのＩＤと動作可能率を含む情報を表示する第四の表示画面を有するプログラム実行環境構築システム。
【請求項８】
情報を記憶する記憶装置と、前記記憶装置に記憶された情報を参照して処理を実行する情報処理装置を含むシステムにおける方法であって、
前記記憶装置が、１以上のプログラムと、当該各プログラムを前記各プログラムに利用される１以上のコンポーネントと組合せて処理を実行して得られた実行結果と、前記各プログラムに利用される１以上のコンポーネントのＩＤとバージョンの組合せと、を含むプログラム実行管理情報を記憶するステップと、
前記情報処理装置が、要求元から推薦要求を受信した場合、前記推薦要求で指定された１以上のコンポーネントの条件に合致する組合せの全てを前記記憶装置から取得するステップと、
前記情報処理装置が、前記取得した全ての組合せについて、前記プログラム実行管理情報を基に前記取得した各組合せに属するコンポーネントのバージョンの組合せのバリエーションごとに実行結果がＯＫの割合を動作可能率として算出するステップと、
前記情報処理装置が、前記条件に合致する組合せに属するコンポーネントのＩＤとバージョンの組合せ及び前記算出した動作可能率のペアを含む開発環境推薦データを作成し、当該作成した開発環境推薦データを前記要求元に１以上送信するステップを有することを特徴とするプログラム開発環境推薦方法。
【請求項９】
請求項８に記載のプログラム開発環境推薦方法であって、
前記情報処理装置が、前記プログラムと、当該プログラムに利用される１以上のコンポーネントのＩＤとバージョンの組合せを受け付けるステップと、
前記情報処理装置が、複数のコンポーネントを前記各コンポーネントのＩＤとバージョンに対応づけて管理するコンポーネント管理装置から、前記受け付けた組合せに属する指定のバージョンのコンポーネントを１以上取得するステップと、
前記情報処理装置が、前記プログラムを、前記取得した１以上のコンポーネントと組合せて処理を実行して、実行結果を前記記憶装置に記憶するステップを有することを特徴とするプログラム開発環境推薦方法。
【請求項１０】
請求項９に記載のプログラム開発環境推薦方法であって、
前記情報処理装置と情報の送受信を行う開発環境構築装置が、前記プログラムのうち指定のプログラムに利用される１以上のコンポーネントの条件を指定し、当該指定した１以上のコンポーネントの条件を含む情報を推薦要求に付加して前記情報処理装置に送信するステップと、
前記開発環境構築装置が、前記推薦要求に応答した情報として、前記情報処理装置から前記開発環境推進データを１以上取得するステップと、
前記開発環境構築装置が、前記取得した前記開発環境推薦データのうち指定されたペアに含まれるバージョンのコンポーネントを前記コンポーネント管理装置から１以上取得するステップを有することを特徴とするプログラム開発環境推薦方法。
【請求項１１】
請求項８に記載のプログラム開発環境推薦方法であって、
前記情報処理装置が、前記要求元から追加推薦要求を受信した場合、前記追加推薦要求で指定された１以上のコンポーネントの条件に合致する組合せの全てを前記記憶装置から取得するステップと、
前記情報処理装置が、当該取得した全ての組合せについて、前記プログラム実行管理情報のうち前記追加推薦要求で指定されていないコンポーネントの情報と、実行結果の情報を対象に決定木アルゴリズムを実行して、実行結果ＯＫの因子コンポーネントを特定し、当該特定したコンポーネントの動作可能率を算出するステップと、
前記情報処理装置が、前記算出結果と前記特定したコンポーネントのＩＤを含む追加推薦情報を前記要求元に送信するステップを有することを特徴とするプログラム開発環境推薦方法。
【請求項１２】
請求項８に記載のプログラム開発環境推薦方法であって、
前記情報処理装置が、前記要求元からの推薦要求に従って算出した動作可能率を含むデータであって、前記開発環境推薦データを前記記憶装置に記憶するステップと、
前記情報処理装置が、前記要求元から新たな推薦要求を受信した場合、前記新たな推薦要求で指定された１以上のコンポーネントの条件に合致する組合せの全てを前記記憶装置から取得するステップと、
前記情報処理装置が、前記取得した全ての組合せについて、前記プログラム実行管理情報を基に前記取得した各組合せに属するコンポーネントのバージョンの組合せのバリエーションごとに実行結果がＯＫの割合を動作可能率として算出するステップと、
前記情報処理装置が、前記条件に合致する組合せに属するコンポーネントのＩＤとバージョンの組合せ及び前記算出した動作可能率のペアを含む開発環境推薦データを作成するステップと、
前記情報処理装置が、前記作成した開発環境推薦データと前記記憶装置に記憶された開発環境推薦データとを比較して、動作可能率が最も高くバージョンが新規なペアの開発環境推薦データを指定し、当該指定した開発環境推薦データのペアに属する新たなコンポーネントを前記コンポーネント管理装置から取得するステップと、
前記情報処理装置が、前記プログラムを前記取得した新たなコンポーネントと組合わせて処理を実行するステップを有することを特徴とするプログラム実行環境構築方法。
【請求項１３】
１以上の開発対象となるプログラムと、当該各プログラムを前記各プログラムに利用される１以上のコンポーネントと組合せて処理を実行して得られた実行結果と、前記各プログラムに利用される１以上のコンポーネントのＩＤとバージョンの組合せと、を含むプログラム実行管理情報を記憶する記憶装置と情報の送受信を行う情報処理用計算機に、
要求元から推薦要求を受信した場合、前記推薦要求で指定された１以上のコンポーネントの条件に合致する組合せの全てを前記記憶装置から取得する処理と、
前記取得した全ての組合せについて、前記プログラム実行管理情報を基に前記取得した各組合せに属するコンポーネントのバージョンの組合せのバリエーションごとに実行結果がＯＫの割合を動作可能率として算出する処理と、
前記条件に合致する組合せに属するコンポーネントのＩＤとバージョンの組合せ及び前記算出した動作可能率のペアを含む開発環境推薦データを作成し、当該作成した開発環境推薦データを前記要求元に１以上送信する処理を実行させることを特徴とする開発環境推薦プログラム。
【請求項１４】
請求項１３に記載の開発環境推薦プログラムであって、
前記情報処理用計算機に、
前記開発対象となるプログラムと、当該プログラムに利用される１以上のコンポーネントのＩＤとバージョンの組合せを受け付ける処理と、
複数のコンポーネントを前記各コンポーネントのＩＤとバージョンに対応づけて管理するコンポーネント管理装置から、前記受け付けた組合せに属する指定のバージョンのコンポーネントを１以上取得する処理と、
前記開発対象となるプログラムを、前記取得した１以上のコンポーネントと組合せて処理を実行して、実行結果を前記記憶装置に記憶する処理を実行させることを特徴とする開発環境推薦プログラム。
【請求項１５】
請求項１４に記載の開発環境推薦プログラムであって、
前記情報処理用計算機とは異なる開発環境構築用計算機に、
前記開発対象となるプログラムのうち指定のプログラムに利用される１以上のコンポーネントの条件が指定された場合、前記指定された１以上のコンポーネントの条件を含む情報を推薦要求に付加して前記情報処理用計算機に送信する処理と、
前記推薦要求に応答した情報として、前記情報処理用計算機から前記開発環境推進データを１以上取得する処理と、
前記取得した前記開発環境推薦データのうち指定されたペアに含まれるバージョンのコンポーネントを、前記コンポーネント管理装置から１以上取得する処理を実行させることを特徴とする開発環境推薦プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの開発環境を推薦するプログラム開発環境推薦システム及びその方法に関する。
【背景技術】
【０００２】
近年、オープンソースソフトウェア（ＯＳＳ）を積極活用したプログラム開発が一般化してきている。ＯＳＳは世界の最先端の技術・ソフトウェアが手軽に利用できるという側面がある一方、新しいものが次々に現れ、また次々にバージョンアップされることから、ＯＳＳをプログラム開発に取り込むと、保守が大変という側面もある。たとえば、ＯＳＳ等のソフトウェアがバージョンアップされた際、それを利用していた別のプログラム群が正しく動作するか、チェックし続けるのは大変である。ＯＳＳとしてではなく、Ｗｅｂ  ＡＰＩの形態で機能が提供されるのも近年のトレンドであるが、次々に現れ、また次々にバージョンアップされるという特性はＯＳＳと同じである。
【０００３】
そのような中、特許文献１では、シナリオ作成端末装置に、サービスコンポーネント（または、コンポーネントを含むシナリオ）を入力すると、シナリオ推薦処理部では、入力されたコンポーネントを基に、予めコンポーネントのグループが登録されたコンポーネント関係情報記憶部から、入力されたコンポーネントを含む最適なコンポーネントのグループを抽出し推薦する、シナリオ開発支援装置、およびシナリオ開発支援方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１９１８６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の技術については、予め動作可能なコンポーネントのグループを登録しておくことにより、指定したコンポーネントが動作可能なコンポーネントのグループを推薦するものであり、新たなコンポーネントが次々に現れ、また次々にバージョンアップされる中で、コンポーネントの組合せの数は幾何級数的に増えることから、予め登録しておく動作可能なコンポーネントのグループの情報をメンテナンスして行くことには限界がある。また、コンポーネントのグループ一つをとっても、使い方によって動作可能な場合もあれば、動作不可能な場合もあり、予め動作可能か動作不可能かを特定することにも限界がある。
【０００６】
そこで、本発明の目的は、プログラムに利用させる１以上のコンポーネント間の動作確認のとれたプログラム開発環境を少なくとも動作可能率を含む情報で推薦することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、１以上のプログラムと、当該各プログラムを前記各プログラムに利用される１以上のコンポーネントと組合せて処理を実行して得られた実行結果と、前記各プログラムに利用される１以上のコンポーネントのＩＤとバージョンの組合せと、を含むプログラム実行管理情報を記憶する記憶装置と、要求元から推薦要求を受信した場合、前記記憶装置と情報の送受信を行い、前記推薦要求で指定された１以上のコンポーネントの条件に合致する組合せの全てを前記記憶装置から取得し、当該取得した全ての組合せについて、前記プログラム実行管理情報を基に前記取得した各組合せに属するコンポーネントのバージョンの組合せのバリエーションごとに実行結果がＯＫの割合を動作可能率として算出する情報処理装置と、を有し、前記情報処理装置は、前記条件に合致する組合せに属するコンポーネントのＩＤとバージョンの組合せ及び前記算出した動作可能率のペアを含む開発環境推薦データを作成し、当該作成した開発環境推薦データを前記要求元に１以上送信することを特徴とする。
【０００８】
その他、本願が開示する課題、およびその解決手段は、発明を実施するための形態の欄、および図面により明らかになる。
【発明の効果】
【０００９】
本発明によれば、プログラムに利用させる１以上のコンポーネント間の動作確認のとれたプログラム開発環境を少なくとも動作可能率を含む情報で推薦することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第一の実施形態を示すプログラム開発環境推薦システムの全体構成図である。
【図２】開発プログラム属性データを示す図である。
【図３】プログラム実行管理ＤＢの構成図である。
【図４】コンポーネント管理ＤＢの構成図である。
【図５】プログラム開発環境推薦表示画面の画面図である。
【図６】プログラム開発環境追加推薦表示画面の画面図である。
【図７】プログラム登録実行処理を説明するためのフローチャートである。
【図８】プログラム開発環境推薦処理を説明するためのフローチャートである。
【図９】プログラム開発環境追加推薦処理を説明するためのフローチャートである。
【図１０】本発明の第二の実施形態を示すプログラム実行環境更新システムの全体構成図である。
【図１１】プログラム実行環境更新処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照しつつ、本発明を実施するための形態について説明する。
【００１２】
図１は、本発明を実施するための第一の実施形態を示すプログラム開発環境推薦システムの全体構成図である。図１において、プログラム開発環境推薦システム１００は、１以上のプログラム開発装置２００と、プログラム実行装置３００と、プログラム開発環境推薦装置４００と、コンポーネント管理装置５００と、以上の装置間をつなぐ通信路６００と、から構成される。なお、通信路６００は、例えば有線ＬＡＮ（Local  Area  Network）や無線ＬＡＮなどといった規格の通信路である。
【００１３】
プログラム開発装置２００は、例えばＰＣなどといった装置であり、装置利用者がプログラムの開発環境を構築し、プログラムを開発し、開発したプログラムの属性データを管理し、開発したプログラムをプログラム実行装置３００に送信して実行させるものである。プログラム開発装置２００は、少なくともＣＰＵ（Central  Processing  Unit）２０１と、メモリ２０２と、記憶装置２０３と、通信インタフェース２０４と、表示装置２０６と、から構成される。通信インタフェース２０４は、例えば有線ＬＡＮカードや無線ＬＡＮカードなどといったインタフェースであり、プログラム実行装置３００やプログラム開発環境推薦装置４００、コンポーネント管理装置５００と通信路６００を介して通信する。表示装置２０６は、例えば液晶ディスプレイなど、装置利用者に当該プログラム開発装置２００が実行結果を表示する装置である。記憶装置２０３は、例えばハードディスクやフラッシュメモリなど、プログラムやデータを記憶する装置であり、プログラムとして少なくとも開発プログラム登録プログラム２１０と、プログラム開発環境構築プログラム２２０と、開発プログラム２４０と、１以上の利用コンポーネント２５０と、を含み、データとして少なくとも開発プログラム属性データ２７０を含む。
【００１４】
開発プログラム２４０は、装置利用者によって、記憶装置２０３に図示しないプログラムを開発するためのプログラムを用いて、表示装置２０６に表示しながら、図示しない入力装置を操作して開発された／開発されるプログラム（開発対象となるプログラム）である。
【００１５】
利用コンポーネント２５０は、開発プログラム２４０の開発時／実行時に必要となる１以上のプログラムであり、開発プログラム２４０が異なれば、利用コンポーネント２５０も異なることが多い。利用コンポーネント２５０は、後述するプログラム開発環境構築プログラム２２０がコンポーネント管理装置５００から取得して記憶装置２０３に記憶させる他、予め装置操作者が、表示装置２０６に表示される画面を見ながら、図示しない入力装置を操作して記憶装置２０３に記憶させる。
【００１６】
また、開発プログラム２４０が利用するコンポーネントは、プログラム開発装置２００の記憶装置２０３に記憶されたプログラムに限らず、プログラム開発装置２００以外の装置にて提供されているＷｅｂ  ＡＰＩ（Application  Programming  Interface）である場合もあり得る。この場合は、利用コンポーネント２５０には、Ｗｅｂ  ＡＰＩへのＵＲＬが設定される。これには、開発プログラム２４０自体へのＷｅｂ  ＡＰＩのＵＲＬの埋め込みを避けることで、開発プログラム２４０が利用するＷｅｂ  ＡＰＩのバージョンを変更する際に、開発プログラム２４０自体の修正を行うことなく、開発プログラム２４０が利用するバージョンのＷｅｂ  ＡＰＩのＵＲＬを開発プログラム２４０から利用させることができるという効果も期待できる。
【００１７】
開発プログラム属性データ２７０は、開発プログラム２４０の属性を管理するためのデータである。開発プログラム属性データ２７０には、開発プログラム２４０の開発時／実行時に必要となる１以上の利用コンポーネント２５０の情報等が含まれる。開発プログラム属性データ２７０は、装置操作者が、表示装置２０６に表示される画面を見ながら、図示しない入力装置を操作して作成し、記憶装置２０３に記憶させる他、後述するプログラム開発環境構築プログラム２２０が部分的に作成し、記憶装置２０３に記憶させる。開発プログラム属性データ２７０に含まれるデータの詳細は、後述する図２の説明に示される。
【００１８】
当該第一の実施形態では、プログラム開発装置２００に対し開発プログラム２４０が一つの構成であるが、複数の開発プログラム２４０が記憶装置２０３に記憶されてもよい。その場合は、開発プログラム２４０ごとに、開発プログラム属性データ２７０が作成され、記憶装置２０３に記憶され、また開発プログラム２４０ごとに利用コンポーネント２５０が用意され、記憶装置２０３に記憶される構成となる。
【００１９】
説明を第一の実施形態に戻し、開発プログラム登録プログラム２１０は、表示装置２０６に表示しながら、図示しない入力装置などにより、開発プログラム２４０を開発プログラム属性データ２７０とともにプログラム実行装置３００に送信して登録・実行させるためのプログラムである。開発プログラム登録プログラム２１０が行う処理の詳細は、後述する図７の説明に示される。
【００２０】
プログラム開発環境構築プログラム２２０は、開発プログラム２４０の開発時／実行時に必要となる１以上の利用コンポーネント２５０の推薦をプログラム開発環境推薦装置４００より受け、推薦された利用コンポーネント２５０をコンポーネント管理装置５００から取得し、記憶装置２０３に記憶して、開発プログラム２４０の開発環境を構築する処理を実行するプログラムである。また、プログラム開発環境構築プログラム２２０は、開発プログラム２４０の開発時／実行時に追加で必要となる利用コンポーネント２５０の推薦をプログラム開発環境推薦装置４００より受ける処理を実行するプログラムである。前者の処理の詳細は後述する図８の説明に、後者の処理の詳細は後述する図９の説明に示される。
【００２１】
記憶装置２０３が記憶するプログラムは、メモリ２０２に読み込まれ、ＣＰＵ２０１に実行されることにより、それぞれの処理が実行される。但し、開発プログラム２４０については、プログラム実行装置３００に送信されて記憶装置３０３に記憶された後、プログラム実行装置３００のメモリ３０２に読み込まれ、ＣＰＵ３０１にも実行され得る。
【００２２】
次に、プログラム実行装置３００は、例えばＰＣなどといった装置であり、プログラム開発装置２００から送信された開発プログラム２４０と開発プログラム属性データ２７０を受信し、管理するとともに、前記開発プログラム属性データ２７０に示されるコンポーネントをコンポーネント管理プログラム５００から取得し、取得したコンポーネントと前記開発プログラム２４０とを組合せて処理を実行し、実行結果を管理するものである。プログラム実行装置３００は、少なくともＣＰＵ３０１と、メモリ３０２と、記憶装置３０３と、通信インタフェース３０４と、から構成される。通信インタフェース３０４は、例えば有線ＬＡＮカードや無線ＬＡＮカードなどといったインタフェースであり、プログラム開発装置２００やプログラム開発環境推薦装置４００、コンポーネント管理装置５００と通信路６００を介して通信する。記憶装置３０３は、例えばハードディスクやフラッシュメモリなど、プログラムやデータを記憶する装置であり、プログラムとして少なくともプログラム実行管理プログラム３１０を含み、データとして少なくともプログラム実行管理ＤＢ３６０を含む。
【００２３】
プログラム実行管理プログラム３１０は、プログラム開発装置２００から送信された開発プログラム２４０と開発プログラム属性データ２７０を受信し、後述するプログラム実行管理ＤＢ３６０に記憶させるとともに、前記開発プログラム属性データ２７０に示されるコンポーネントをコンポーネント管理装置５００から取得し、前記開発プログラム２４０と組合せて処理を実行し、実行結果を同じくプログラム実行管理ＤＢ３６０に記憶させ、以上の実行結果をプログラム開発装置２００に応答する処理を実行するプログラムである。また、プログラム実行管理プログラム３１０は、プログラム開発環境推薦装置４００からの要求を受けて、要求に合致するプログラム実行管理ＤＢ３６０のレコードを応答する処理を実行するプログラムである。前者の処理の詳細は、後述する図７の説明に、後者の処理の詳細は後述する図８および図９の説明に示される。
【００２４】
プログラム実行管理ＤＢ３６０は、プログラム開発装置２００より送信された開発プログラム２４０と、開発プログラム属性データ２７０の内容と、前記開発プログラム２４０の実行結果を管理するためのデータである。プログラム実行管理ＤＢ３６０は、プログラム実行管理プログラム３１０によって読み書きされる。プログラム実行管理ＤＢ３６０の構成は、後述する図３の説明に示される。
【００２５】
当該第一の実施形態では、プログラム実行管理ＤＢ３６０は、プログラム実行管理プログラム３１０によって読み書きされる構成としたが、プログラム開発環境推薦装置４００のプログラム開発環境推薦プログラム４１０が直接プログラム実行管理ＤＢ３６０にアクセスし、レコードを取得する構成もあり得る。
【００２６】
説明を第一の実施形態に戻し、記憶装置３０３が記憶するプログラムは、メモリ３０２に読み込まれ、ＣＰＵ３０１に実行されることにより、それぞれの処理が実行される。記憶装置３０３が記憶するプログラムには、プログラム開発装置２００から送信された開発プログラム２４０も含まれる。
【００２７】
次に、プログラム開発環境推薦装置４００は、例えばＰＣなどといった装置であり、プログラム開発装置２００からの要求を受け、プログラム開発環境推薦処理と、プログラム開発環境追加推薦処理と、を実行するものである。プログラム開発環境推薦装置４００は、少なくともＣＰＵ４０１と、メモリ４０２と、記憶装置４０３と、通信インタフェース４０４と、から構成される。通信インタフェース４０４は、例えば有線ＬＡＮカードや無線ＬＡＮカードなどといったインタフェースであり、プログラム開発装置２００やプログラム実行装置３００と通信路６００を介して通信する。記憶装置４０３は、例えばハードディスクやフラッシュメモリなど、プログラムやデータを記憶する装置であり、プログラムとして少なくともプログラム開発環境推薦プログラム４１０を含む。
【００２８】
プログラム開発環境推薦プログラム４１０は、プログラム開発装置２００からの要求を受け、プログラム開発環境推薦処理と、プログラム開発環境追加推薦処理と、を実行するものである。前者の処理の詳細は、後述する図８の説明に、後者の処理の詳細は後述する図９の説明に示される。プログラム開発環境推薦処理では、プログラム実行装置３００のプログラム実行管理ＤＢ３６０の内容をもとに、プログラム開発装置２００より利用希望として指定されたコンポーネントのバージョンの組合せごとに動作可能率を算出し、応答する。プログラム開発環境追加推薦処理では、同じくプログラム実行装置３００のプログラム実行管理ＤＢ３６０の内容をもとに、プログラム開発装置２００より利用希望として指定されたコンポーネントに対し、追加で必要となるコンポーネントと、そのコンポーネントごとに算出した動作可能率を応答する。
【００２９】
記憶装置４０３が記憶するプログラムは、メモリ４０２に読み込まれ、ＣＰＵ４０１に実行されることにより、それぞれの処理が実行される。
【００３０】
次に、コンポーネント管理装置５００は、例えばＰＣなどといった装置であり、プログラム開発装置２００やプログラム実行装置３００で利用するコンポーネントを管理するものである。コンポーネント管理装置５００は、少なくともＣＰＵ５０１と、メモリ５０２と、記憶装置５０３と、通信インタフェース５０４と、から構成される。通信インタフェース５０４は、例えば有線ＬＡＮカードや無線ＬＡＮカードなどといったインタフェースであり、プログラム開発装置２００やプログラム実行装置３００と通信路６００を介して通信する。記憶装置５０３は、例えばハードディスクやフラッシュメモリなど、プログラムやデータを記憶する装置であり、プログラムとして少なくともコンポーネント管理プログラム５１０を含み、データとして少なくともコンポーネント管理ＤＢ５６０を含む。
【００３１】
コンポーネント管理プログラム５１０は、プログラム開発装置２００やプログラム実行装置３００からの要求を受けて、要求に合致するコンポーネントをコンポーネント管理ＤＢ５６０から読み取り、応答するプログラムである。コンポーネント管理プログラム５１０が行う処理の詳細は、後述する図７および図８の説明に示される。
【００３２】
コンポーネント管理ＤＢ５６０は、プログラム開発装置２００やプログラム実行装置３００で利用するコンポーネントを管理するためのデータである。コンポーネント管理ＤＢ５６０は、コンポーネント管理プログラム５１０によって読み書きされる。コンポーネント管理ＤＢ５６０の構成は、後述する図４の説明に示される。なお、コンポーネント管理ＤＢ５６０の各レコードは、図示しない表示装置に表示しながら、図示しない入力装置などにより予め設定される。
【００３３】
当該第一の実施形態では、コンポーネント管理ＤＢ５６０は、コンポーネント管理プログラム５１０によって読み書きされる構成としたが、プログラム開発装置２００のプログラム開発環境構築プログラム２２０、およびプログラム実行装置３００のプログラム実行管理プログラム３１０が直接コンポーネント管理ＤＢ５６０にアクセスし、コンポーネントを取得する構成もあり得る。
【００３４】
説明を第一の実施形態に戻し、記憶装置５０３が記憶するプログラムは、メモリ５０２に読み込まれ、ＣＰＵ５０１に実行されることにより、それぞれの処理が実行される。
【００３５】
当該第一の実施形態では、プログラム開発環境推薦システム１００は、１以上のプログラム開発装置２００と、プログラム実行装置３００と、プログラム開発環境推薦装置４００と、コンポーネント管理装置５００と、以上の装置間をつなぐ通信路６００と、から構成されるシステムであったが、プログラム実行装置３００とプログラム開発環境推薦装置４００とを一つの装置として構成することもあり得る。その構成では、前記装置は、少なくともＣＰＵと、メモリと、記憶装置と、通信インタフェースと、から構成され、前記通信インタフェースは、プログラム開発装置２００やコンポーネント管理装置５００と通信路６００を介して通信し、前記記憶装置は、プログラムとして少なくともプログラム実行管理プログラム３１０とプログラム開発環境推薦プログラム４１０を含み、データとして少なくともプログラム実行管理ＤＢ３６０を含む。第一の実施形態において、プログラム開発環境推薦プログラム４１０が通信インタフェース４０４、通信路６００、通信インタフェース３０４を介してプログラム実行管理プログラム３１０と行っていた処理は、プログラム開発環境推薦プログラム４１０が当該装置内でプログラム実行管理プログラム３１０と行う処理になる。
【００３６】
また、当該第一の実施形態では、プログラム開発環境推薦システム１００は、１以上のプログラム開発装置２００と、プログラム実行装置３００と、プログラム開発環境推薦装置４００と、コンポーネント管理装置５００と、以上の装置間をつなぐ通信路６００と、から構成されるシステムであったが、プログラム実行装置３００とコンポーネント管理装置５００とを一つの装置として構成することもあり得る。その構成では、前記装置は、少なくともＣＰＵと、メモリと、記憶装置と、通信インタフェースと、から構成され、前記通信インタフェースは、プログラム開発装置２００やプログラム開発環境推薦装置４００と通信路６００を介して通信し、前記記憶装置は、プログラムとして少なくともプログラム実行管理プログラム３１０とコンポーネント管理プログラム５１０を含み、データとして少なくともプログラム実行管理ＤＢ３６０と、コンポーネント管理ＤＢ５６０と、を含む。第一の実施形態において、プログラム実行管理プログラム３１０が通信インタフェース３０４、通信路６００、通信インタフェース５０４を介してコンポーネント管理プログラム５１０と行っていた処理は、プログラム実行管理プログラム３１０が当該装置内でコンポーネント管理プログラム５１０と行う処理になる。
【００３７】
また、当該第一の実施形態では、プログラム開発装置２００の記憶装置２０３が、プログラムとして少なくとも開発プログラム登録プログラム２１０と、プログラム開発環境構築プログラム２２０と、開発プログラム２４０と、１以上の利用コンポーネント２５０と、を含み、データとして少なくとも開発プログラム属性データ２７０を含む構成としたが、代わりにプログラム実行装置３００の記憶装置３０３に記憶させることで、プログラム実行装置３００のメモリ３０２に読み込まれ、ＣＰＵ３０１に実行される構成もあり得る。その構成では、開発プログラム登録プログラム２１０が通信インタフェース２０４、通信路６００、通信インタフェース３０４を介してプログラム実行管理プログラム３１０と行っていた処理は、開発プログラム登録プログラム２１０がプログラム実行装置３００内でプログラム実行管理プログラム３１０と行う処理になる。また、プログラム開発環境構築プログラム２２０が通信インタフェース２０４、通信路６００、通信インタフェース４０４を介してプログラム開発環境推薦プログラム４１０と行っていた処理は、プログラム実行装置３００内のプログラム開発環境構築プログラム２２０が通信インタフェース３０４、通信路６００、通信インタフェース４０４を介してプログラム開発環境推薦プログラム４１０と行う処理になり、またプログラム開発環境構築プログラム２２０が通信インタフェース２０４、通信路６００、通信インタフェース５０４を介してコンポーネント管理プログラム５１０と行っていた処理は、プログラム実行装置３００内のプログラム開発環境構築プログラム２２０が通信インタフェース３０４、通信路６００、通信インタフェース５０４を介してコンポーネント管理プログラム５１０と行う処理になる。この構成では、プログラム開発装置２００の記憶装置２０３には、プログラム実行装置３００に記憶され、メモリ３０２に読み込まれ、ＣＰＵ３０１に実行されるプログラムにアクセスするリモートアクセスプログラムが記憶される構成となる。前記プログラムは、例えばWebブラウザや、リモートコントロールソフトウェアなどである。また、この構成では、プログラム実行装置３００の記憶装置３０３に記憶される開発プログラム２４０は、プログラム開発装置２００の装置操作者によって、前記リモートアクセスプログラムを用いつつ図示しない入力装置を操作して、表示装置２０６に表示しながら開発された／開発されるプログラムである。また、この構成では、プログラム実行装置３００の記憶装置３０３に記憶される開発プログラム属性データ２７０は、プログラム開発装置２００の装置操作者が、前記リモートアクセスプログラムを用いつつ図示しない入力装置を操作して、表示装置２０６に表示しながら作成し、記憶装置３０３に記憶させる他、プログラム実行装置３００の記憶装置３０３が記憶するプログラム開発環境構築プログラム２００が部分的に作成し、記憶装置３０３に記憶させる。
【００３８】
説明を第一の実施形態に戻し、次に、図２は、開発プログラム属性データ２７０に含まれるデータの詳細を示す図である。開発プログラム属性データ２７０は、同じプログラム開発装置２００の記憶装置２０３に記憶される開発プログラム２４０に係る属性データであり、例えばテキスト形式のファイルである。開発プログラム属性データ２７０は、少なくとも開発プログラム２４０のＩＤ（Identification）であるプログラムＩＤと、開発プログラム２４０のバージョンであるプログラムバージョンと、開発プログラム２４０が１つ以上利用するコンポーネントのＩＤとバージョンのペアの情報を含む。図２の例では、開発プログラム２４０のプログラムＩＤは「0001」であり、プログラムバージョンは「1.1」であり、利用コンポーネントはＩＤが「コンポーネントＡ」でありバージョンが「1.0」のものと、ＩＤが「コンポーネントＢ」でありバージョンが「2.0」のものの２つである。開発プログラム属性データ２７０は、テキスト形式のファイル以外の形態でもよく、ＣＳＶ形式のファイルやＸＭＬ形式のファイル、ＤＢ形式で実現することもあり得る。
【００３９】
次に、図３は、プログラム実行管理ＤＢ３６０の構成図である。プログラム実行管理ＤＢ３６０は、レコードのフィールド（以下、カラムと称することがある。）として、少なくともプログラムＩＤ３６０ａと、プログラムバージョン３６０ｂと、プログラムデータ３６０ｃと、実行結果３６０ｄと、「コンポーネントＡ」３６０ｅ１、「コンポーネントＢ」３６０ｅ２、「コンポーネントＣ」３６０ｅ３、「コンポーネントＤ」３６０ｅ４、「コンポーネントＥ」３６０ｅ５、「コンポーネントＦ」３６０ｅ６と、を含む。但し、上記の「コンポーネントＡ」「コンポーネントＢ」「コンポーネントＣ」「コンポーネントＤ」「コンポーネントＥ」「コンポーネントＦ」の６つのカラム名は例を示すものであり、各コンポーネントを一意に特定するコンポーネントＩＤが設定されるものであり、かつコンポーネントの種類の数だけ、カラムが設定される。たとえばコンポーネントが２０種類あれば、コンポーネントに関するカラム数は２０個となる。プログラム実行管理プログラム３１０は、プログラム開発装置２００から送信された開発プログラム属性データ２７０の内容を見て、プログラム実行管理ＤＢ３６０のカラムに含まれないコンポーネント情報が含まれていれば、プログラム実行管理ＤＢ３６０のカラムを増やし、前記コンポーネント情報も新たに管理できるようにする。
【００４０】
プログラム実行管理ＤＢ３６０では、プログラム開発装置２００から送信された開発プログラム２４０のプログラムＩＤとプログラムバージョンのペアごとにレコードを生成する。
【００４１】
プログラムＩＤ３６０ａには、当該レコードに対応する開発プログラム２４０を一意に特定するプログラムＩＤが設定される。
【００４２】
プログラムバージョン３６０ｂには、当該レコードに対応する開発プログラム２４０のバージョンが設定される。
【００４３】
プログラムデータ３６０ｃには、当該レコードに対応する開発プログラム２４０そのものが設定される。
【００４４】
実行結果３６０ｄには、当該レコードに対応する開発プログラム２４０がプログラム実行管理プログラム３１０によって実行された結果が設定され、実行が成功すれば「OK」、失敗すれば「NG」が設定される。
【００４５】
コンポーネントＡ３６０ｅ１、コンポーネントＢ３６０ｅ２、コンポーネントＣ３６０ｅ３、コンポーネントＤ３６０ｅ４、コンポーネントＥ３６０ｅ５、コンポーネントＦ３６０ｅ６には、当該レコードに対応する開発プログラム２４０が利用する各コンポーネントのバージョンが設定される。図２に例示する開発プログラム属性データ２７０に対応する開発プログラム２４０であれば、プログラムＩＤ３６０ａに「0001」、プログラムバージョン３６０ｂに「1.1」が設定されるとともに、コンポーネントＡ３６０ｅ１に「1.0」、コンポーネントＢ３６０ｅ２に「2.0」が設定される。当該レコードに対応する開発プログラム２４０が利用していないコンポーネントのカラムについては、「-」が設定される。
【００４６】
当該第一の実施形態では、プログラム実行管理ＤＢ３６０は、レコードのフィールドとして、少なくともプログラムＩＤ３６０ａと、プログラムバージョン３６０ｂと、を含む構成としたが、プログラムバージョン３６０ｂのフィールドが省略された構成もあり得る。この構成では、プログラム管理装置２００から送信された開発プログラム２４０について、そのプログラムバージョンを当該プログラム実行管理ＤＢ３６０で管理しない、あるいはプログラムＩＤ３６０ａのフィールドには、当該レコードに対応する開発プロラム２４０を、バージョンも考慮して一意に特定するプログラムＩＤが設定されるものである。この構成では、図２の説明で詳述した開発プログラム属性データ２７０に含まれるデータから、プログラムバージョンが省略されることとなる。
【００４７】
また、当該第一の実施形態では、プログラムＩＤ３６０ａのフィールドには、プログラム開発装置２００より送信された開発プログラム属性データ２７０に含まれるプログラムＩＤの値に基づき設定されるが、プログラムＩＤ３６０ａのフィールドに設定される値を、プログラム実行管理プログラム３１０が、プログラム開発装置２００より送信された開発プログラムのハッシュ値や送信日時等に基づき作成したもので設定する構成もあり得る。この構成では、図２の説明で詳述した開発プログラム属性データ２７０に含まれるデータから、プログラムＩＤが省略されることとなる。
【００４８】
また、当該第一の実施形態では、実行結果３６０ｄのフィールドには、後述する図７のプログラム登録実行処理のステップＳ３１０５、ステップＳ３１０６において、当該レコードに対応する開発プログラム２４０がプログラム実行管理プログラム３１０によって実行された結果が設定されるが、当該レコードに対応する開発プログラム２４０がプログラム実行管理プログラム３１０によって次回以降実行された結果でアップデートする構成もあり得る。これには、実行結果３６０ｄのフィールドの値を、当該レコードに対応する開発プログラム２４０の初回実行時の結果のみ考慮させるのではなく、次回以降の結果も考慮させることで、実行結果３６０ｄのフィールドの値の精度を高める効果がある。
【００４９】
また、上述の実施形態において、当該レコードの実行結果３６０ｄのフィールドをアップデートするのではなく、開発プログラム２４０の実行の都度、新たなレコード（実行結果３６０ｄ以外のフィールドには、プログラムデータ３６０ｃの値が同じレコードのものが設定され、実行結果３６０ｄのフィールドには、当該実行の結果が設定される）を追加する構成もあり得る。これには、開発プログラム２４０ごとの実行結果を「OK」／「NG」の二者択一にするのではなく、10回中7回実行成功など、より細かな実行結果管理に基づくプログラム開発環境推薦処理、プログラム開発環境追加推薦処理が可能となる。
【００５０】
説明を第一の実施形態に戻し、次に、図４は、コンポーネント管理ＤＢ５６０の構成図である。コンポーネント管理ＤＢ５６０は、レコードのフィールドとして、少なくともコンポーネントＩＤ５６０ａと、コンポーネントバージョン５６０ｂと、コンポーネントデータ５６０ｃと、を含む。
【００５１】
コンポーネント管理ＤＢ５６０では、当該コンポーネント管理装置５００で管理するコンポーネントを、そのバージョンごとにレコードを生成し、管理する。
【００５２】
コンポーネントＩＤ５６０ａには、当該レコードに対応するコンポーネントを一意に特定するコンポーネントＩＤが設定される。
【００５３】
コンポーネントバージョン５６０ｂには、当該レコードに対応するコンポーネントのバージョンが設定される。
【００５４】
コンポーネントデータ５６０ｃには、当該レコードに対応するコンポーネントのプログラムそのもの、またはＷｅｂ  ＡＰＩへのＵＲＬが設定される。
【００５５】
次に、図５は、プログラム開発装置２００の表示装置２０６に表示されるプログラム開発環境推薦表示画面の画面図であり、プログラム開発装置２００の装置利用者が図示しない入力装置によって操作するものである。
【００５６】
プログラム開発環境推薦表示画面２０６ａには、コンポーネントＩＤとバージョン（省略可）を含む表２０６ｂと、コンポーネント追加のボタン２０６ｃと、推薦要求のボタン２０６ｄと、組合せと動作可能率を含む表２０６ｅと、取得のボタン２０６ｆ、２０６ｇが表示される。
【００５７】
プログラム開発装置２００の装置利用者は、コンポーネントＩＤとバージョン（省略可）からなる表２０６ｂに、後述する図８のステップＳ２２０１において、それぞれ利用を希望するコンポーネントのＩＤとバージョンの組合せを１つ以上入力する。コンポーネントＩＤの欄への入力は必須であるが、バージョン（省略可）の欄への入力は省略できる。図５の例では、ＩＤが「コンポーネントＡ」、バージョンが「1.0」のコンポーネントと、ＩＤが「コンポーネントＢ」のコンポーネントの情報が入力されており、これらの情報は、前者のコンポーネントと相性の良い後者のコンポーネントのバージョンをプログラム開発環境推薦プログラム４１０に問い合わせる際に用いられる。ここで「コンポーネントＡ」のバージョンも省略されていれば、プログラム開発装置２００の装置利用者は、プログラム実行装置３００で管理されている「コンポーネントＡ」と「コンポーネントＢ」のすべてのバージョンの組合せの内、相性の良いものをプログラム開発環境推薦プログラム４１０に問い合わせることになる。コンポーネントＩＤとバージョン（省略可）からなる表２０６ｂでは、コンポーネント追加のボタン２０６ｃを押下することにより、入力行を増やすことが可能である。
【００５８】
推薦要求のボタン２０６ｄは、プログラム開発装置２００の装置利用者が、コンポーネントＩＤとバージョン（省略可）からなる表２０６ｂへの入力後、プログラム開発環境推薦プログラム４１０に推薦要求を行う際に操作されるものである。
【００５９】
組合せと動作可能率からなる表２０６ｅには、後述する図８のステップＳ２２０２において、プログラム開発環境推薦プログラム４１０からの応答が表示される。コンポーネントＩＤとバージョン（省略可）からなる表２０６ｂで指定したコンポーネントＩＤとバージョンのすべての組合せが、表２０６ｅの表示欄の各行に表示され、各組合せの動作可能率が、表２０６ｅの動作可能率の表示欄に表示される。動作可能率については、図８の説明で詳述される。このような情報を表示とすることで、プログラム開発環境推薦表示画面２０６ａを見ながら操作している装置操作者が、動作可能率の高い組合せから順に確認することで、どの組合せで開発すればよいか、判断できるという効果がある。また、プログラム開発環境推薦表示画面２０６ａを見ながら操作している装置操作者が、動作可能率の低い組合せから順に確認することで、どの組合せが相性が悪い、競合している等で動作が不安定か、確認できるという効果がある。
【００６０】
当該第一の実施形態では、上述の通り、推薦結果として組合せと動作可能率からなる表２０６ｅを表示しているが、プログラム実行管理ＤＢ３６０において当該組合せに合致するレコード数も加えて表示してもよい。そのためには、後述する図８のプログラム開発環境推薦処理のステップＳ４１０３において、コンポーネントのバージョンの組合せごとのレコード数をカウントし、それをステップＳ４１０４で作成、応答する開発環境推薦データに加えておけばよい。これには、プログラム開発環境推薦表示画面２０６ａを見ながら操作している装置操作者が、実行回数の少ない組合せを確認でき、たとえば動作可能率が100%でも実行回数が1回と少ないため、信頼性の欠ける動作可能率であるとして、その組合せの利用は当面は避けることができるという効果がある。
【００６１】
説明を第一の実施形態に戻し、組合せと動作可能率からなる表２０６ｅの各行に表示される取得のボタン２０６ｆ、２０６ｇは、後述する図８のステップＳ２２０３において、コンポーネント管理プログラム５１０から、当該組合せのコンポーネントを取得する要求を行う際に操作されるものである。
【００６２】
次に、図６は、プログラム開発装置２００の表示装置２０６に表示されるプログラム開発環境追加推薦表示画面の画面図であり、プログラム開発装置２００の装置利用者が図示しない入力装置によって操作するものである。
【００６３】
プログラム開発環境追加推薦表示画面２０６ｈには、コンポーネントＩＤとバージョン（省略可）を含む表２０６ｉと、コンポーネント追加のボタン２０６ｊと、追加推薦要求のボタン２０６ｋと、追加コンポーネントと動作可能率を含む表２０６ｌが表示される。
【００６４】
プログラム開発装置２００の装置利用者は、コンポーネントＩＤとバージョン（省略可）からなる表２０６ｉに、後述する図９のステップＳ２２０６において、それぞれ利用を希望するコンポーネントのＩＤとバージョンの組合せを１つ以上入力する。コンポーネントＩＤへの入力は必須であるが、バージョン（省略可）への入力は省略できる。図６の例では、ＩＤが「コンポーネントＡ」のコンポーネントと、ＩＤが「コンポーネントＢ」のコンポーネントの情報が入力されており、両コンポーネントに追加で必要となるコンポーネントをプログラム開発環境推薦プログラム４１０に問い合わせる際のものである。ここで、たとえば「コンポーネントＡ」のバージョン（省略可）の欄に「1.0」を入力すれば、プログラム開発装置２００の装置利用者は、バージョンが「1.0」の「コンポーネントＡ」のコンポーネントと、ＩＤが「コンポーネントＢ」のコンポーネントの組合せに追加で必要となるコンポーネントをプログラム開発環境推薦プログラム４１０に問い合わせることになる。コンポーネントＩＤとバージョン（省略可）からなる表２０６ｉでは、コンポーネント追加のボタン２０６ｊを押下することにより、入力行を増やすことが可能である。
【００６５】
追加推薦要求のボタン２０６ｋは、プログラム開発装置２００の装置利用者が、コンポーネントＩＤとバージョン（省略可）からなる表２０６ｉへの入力後、プログラム開発環境推薦プログラム４１０に追加推薦要求を行う際に操作するものである。
【００６６】
追加コンポーネントと動作可能率からなる表２０６ｌには、後述する図９のステップＳ２２０７において、プログラム開発環境推薦プログラム４１０からの応答が表示される。コンポーネントＩＤとバージョン（省略可）からなる表２０６ｉで指定したコンポーネントに追加で必要となるコンポーネントが、表２０６ｌの追加コンポーネントの表示欄に、動作可能率が、表２０６ｌの動作可能率の表示欄に表示される。動作可能率については、図９の説明で詳述される。このような情報を表示とすることで、プログラム開発環境追加推薦表示画面２０６ｈを見ながら操作している装置操作者に、どのコンポーネントを追加して開発すればよいか、判断させることができるという効果がある。
【００６７】
次に、図７は、プログラム登録実行処理を説明するためのフローチャートである。プログラム実行管理プログラム３１０によって、ＣＰＵ３０１は、開発プログラム登録プログラム２１０から送信された開発プログラム２４０と開発プログラム属性データ２７０を受信し、プログラム実行管理ＤＢ３６０に記憶させるとともに、前記開発プログラム属性データ２７０に示されるコンポーネントをコンポーネント管理プログラム５１０に要求して取得し、前記開発プログラム２４０と組合せて実行し、結果を同じくプログラム実行管理ＤＢ３６０に記憶させ、以上の実行結果を開発プログラム登録プログラム２１０に応答する。
【００６８】
まず、プログラム実行管理プログラム３１０が、開発プログラム登録プログラム２１０から要求されることにより、当該プログラム登録実行処理が開始される（Ｓ３１０１）。そのためにプログラム開発装置２００では、開発プログラム登録プログラム２１０によって、ＣＰＵ２０１が、図示しない入力装置によって指定された、開発プログラム２４０と開発プログラム属性データ２７０を記憶装置２０３から読み取り（Ｓ２１０１）、それらを送信することで、プログラム実行管理プログラム３１０に要求する（Ｓ２１０２）。なお、ステップＳ２１０１は、処理内容を表示装置２０６に表示しつつ、図示しない入力装置によって入力されることにより行われる。
【００６９】
次に、ＣＰＵ３０１は、開発プログラム登録プログラム２１０からの要求に含まれる開発プログラム２４０と開発プログラム属性データ２７０の内容をプログラム実行管理ＤＢ３６０に書き込む（Ｓ３１０２）。プログラム実行管理ＤＢ３６０には、プログラムデータ３６０ｃに前記開発プログラム２４０が、プログラムＩＤ３６０ａ、プログラムバージョン３６０ｂ、コンポーネントＡ３６０ｅ１、…に、それぞれ前記開発プログラム属性データ２７０に含まれるプログラムＩＤ、プログラムバージョン、コンポーネント情報（コンポーネントＩＤ、コンポーネントバージョン）が入力されたレコードが追加されることになる。図２に示す開発プログラム属性データ２７０と、図３のプログラム実行管理ＤＢ３６０のプログラムＩＤ３６０ａのレコードは対応しており、例えば、図２に示す開発プログラム属性データ２７０に含まれる「コンポーネントＡ：1.0」をもとに、「コンポーネントＡ３６０ｅ１」に「1.0」が入力されている。
【００７０】
次に、ＣＰＵ３０１は、前記開発プログラム属性データ２７０に含まれるコンポーネント情報のコンポーネントを取得する要求を、コンポーネント管理プログラム５１０に対し送信する（Ｓ３１０３）。前記開発プログラム属性データ２７０が図２に示すものの場合、ＣＰＵ３０１は、バージョン1.0のコンポーネントＡと、バージョン2.0のコンポーネントＢを取得する要求をコンポーネント管理プログラム５１０に対し送信する。コンポーネント管理装置５００では、コンポーネント管理プログラム５１０によって、ＣＰＵ５０１が、プログラム実行管理プログラム３１０からのコンポーネント取得要求を受け、要求で指定されている１つ以上のコンポーネントをコンポーネント管理ＤＢ５６０から読み取り（Ｓ５１０１）、それらをプログラム実行管理プログラム３１０に送信することで応答する（Ｓ５１０２）。前記開発プログラム属性データ２７０が図２に示すものの場合、ＣＰＵ５０１は、バージョン1.0のコンポーネントＡと、バージョン2.0のコンポーネントＢをコンポーネント管理ＤＢ５６０から読み取り、それらをプログラム実行管理プログラム３１０に送信することで応答する。
【００７１】
次に、ＣＰＵ３０１は、コンポーネント管理プログラム５１０から応答されたコンポーネントを取得すると（Ｓ３１０４）、それらを前記開発プログラム２４０と組合せて、処理を実行し（Ｓ３１０５）、結果をプログラム実行管理ＤＢ３６０の当該プログラムのレコードの実行結果３６０ｄに書き込む。実行結果３６０ｄには、実行成功時には「OK」、実行失敗時には「NG」が書き込まれる。コンポーネントとして、例えば、バージョン1.0のコンポーネントＡと、バージョン2.0のコンポーネントＢを用いた場合、実行結果３６０ｄには、「NG」が書き込まれる。
【００７２】
最後に、ＣＰＵ３０１は、上記実行結果３６０ｄを開発プログラム登録プログラム２１０に応答し、当該プログラム登録実行処理を終了する（Ｓ３１０７）。なお、プログラム開発装置２００では、開発プログラム登録プログラム２１０によって、ＣＰＵ２０１が、プログラム実行管理プログラム３１０から登録実行結果の応答を受け、取得する。
【００７３】
次に、図８は、プログラム開発環境推薦処理を説明するためのフローチャートである。プログラム開発環境推薦プログラム４１０によって、ＣＰＵ４０１は、プログラム開発環境構築プログラム２２０からの要求を受け、プログラム実行装置３００のプログラム実行管理ＤＢ３６０の内容をもとに、プログラム開発環境構築プログラム２２０より利用希望として指定されたコンポーネントのバージョンの組合せごとに動作可能率を算出し、応答する。
【００７４】
まず、プログラム開発環境推薦プログラム４１０が、プログラム開発環境構築プログラム２２０からの要求を受信することにより、当該プログラム開発環境推薦処理が開始される（Ｓ４１０１）。そのためにプログラム開発装置２００では、プログラム開発環境構築プログラム２２０によって、ＣＰＵ２０１が、図５に示すプログラム開発環境推薦画面を表示しつつ、図示しない入力装置によって１つ以上の利用希望コンポーネント情報の指定を受けて、それらを送信することで、プログラム開発環境推薦プログラム４１０に要求する（Ｓ２２０１）。
【００７５】
次に、ＣＰＵ４０１は、ステップＳ４１０１で受信した要求に含まれる利用希望コンポーネント情報の組合せと一致するすべてのプログラム実行管理ＤＢ３６０のレコードを、プログラム実行管理プログラム３１０に要求し、応答を受けて取得する（Ｓ４１０２）。前記利用希望コンポーネント情報が図５のコンポーネントＩＤとバージョン（省略可）からなる表に示すものの場合、即ちバージョン1.0のコンポーネントＡと任意のバージョンのコンポーネントＢという組合せの場合、図３に示すプログラム実行管理ＤＢ３６０のコンポーネントＡ３６０ｅ１が「1.0」であり、コンポーネントＢ３６０ｅ２が「-」でないレコード、具体的にはプログラムＩＤ３６０ａが「0001」「0003」「0004」の３つのレコードがＣＰＵ４０１に取得される。
【００７６】
次に、ＣＰＵ４０１は、ステップＳ４１０２で取得した１つ以上のレコードを、前記利用希望コンポーネント情報に含まれるコンポーネントＩＤを対象に、バージョンの組合せのバリエーションでグループ分けする。前記利用希望コンポーネント情報が図５に示すもの、即ちバージョン1.0のコンポーネントＡと任意のバージョンのコンポーネントＢという組合せで、ステップＳ４１０２で図３に示すプログラム実行管理ＤＢ３６０からプログラムＩＤ３６０ａが「0001」「0003」「0004」の３つのレコードが取得されている場合、利用希望コンポーネント情報に含まれるコンポーネントＩＤはコンポーネントＡとコンポーネントＢであり、前記３つのレコードのコンポーネントＡとコンポーネントＢのバージョンの組合せのバリエーションは（コンポーネントＡのバージョン、コンポーネントＢのバージョン）＝（1.0、2.0）、（1.0、1.0）の２つであり、前者はプログラムＩＤ３６０ａが「0001」「0003」のレコード、後者はプログラムＩＤ３６０ａが「0004」のレコードというようにグループ分けされる。そして、ＣＰＵ４０１は、各グループにおいて実行結果３６０ｄが「OK」である割合を求めることで動作可能率を算出する（Ｓ４１０３）。（コンポーネントＡのバージョン、コンポーネントＢのバージョン）＝（1.0、2.0）であるプログラムＩＤ３６０ａが「0001」「0003」のレコードでは、前者の実行結果３６０ｄが「NG」で後者の実行結果３６０ｄが「OK」であることから、動作可能率として50%が算出される。（コンポーネントＡのバージョン、コンポーネントＢのバージョン）＝（1.0、1.0）であるプログラムＩＤ３６０ａが「0004」のレコードでは、実行結果３６０ｄが「OK」のみとなることから、動作可能率として100%が算出される。
【００７７】
最後に、ＣＰＵ４０１は、ステップＳ４１０３でグループ分けしたコンポーネントＩＤのバージョンの組合せのバリエーションと、各バリエーションごとの動作可能率からなる開発環境推薦データを作成し、開発プログラム登録プログラム２１０に応答し、当該プログラム開発環境推薦処理を終了する（Ｓ４１０４）。なお、プログラム開発装置２００では、開発プログラム登録プログラム２１０によって、ＣＰＵ２０１が、プログラム開発環境推薦プログラム４１０から前記開発環境推薦データの応答を受け、取得し、表示装置２０６に表示される図５に示すプログラム開発環境推薦画面の組合せと動作可能率からなる表に表示する（Ｓ２２０２）。そしてＣＰＵ２０１は、プログラム開発装置２００の装置利用者によって、図示しない入力装置を介して、表示装置２０６に表示されるプログラム開発環境推薦画面で取得ボタンを押下された組合せを踏まえ、当該組合せに含まれるコンポーネント情報のコンポーネントを取得する要求を、コンポーネント管理プログラム５１０に対し送信し（Ｓ２２０３）、コンポーネント管理プログラム５１０から応答されたコンポーネントを取得すると（Ｓ２２０４）、前記コンポーネントを記憶装置２０３に記憶させつつ、開発プログラム属性データ２７０の情報を、前記コンポーネントのコンポーネントＩＤとコンポーネントバージョンで更新する。
【００７８】
なお、図８でコンポーネント管理プログラム５１０が行うステップＳ５１０１、ステップＳ５１０２の処理は、図７でコンポーネント管理プログラム５１０が行うステップＳ５１０１、ステップＳ５１０２の処理と同様である。
【００７９】
次に、図９は、プログラム開発環境追加推薦処理を説明するためのフローチャートである。プログラム開発環境推薦プログラム４１０によって、ＣＰＵ４０１は、プログラム開発環境構築プログラム２２０からの要求を受け、プログラム実行装置３００のプログラム実行管理ＤＢ３６０の内容をもとに、プログラム開発環境構築プログラム２２０より利用希望として指定されたコンポーネントに対し、追加で必要となるコンポーネントと、そのコンポーネントごとに算出した動作可能率を応答する。
【００８０】
まず、プログラム開発環境推薦プログラム４１０が、プログラム開発環境構築プログラム２２０からの追加推薦要求を受信することにより、当該プログラム開発環境追加推薦処理が開始される（Ｓ４１０５）。そのためにプログラム開発装置２００では、プログラム開発環境構築プログラム２２０によって、ＣＰＵ２０１が、図６に示すプログラム開発環境追加推薦画面を表示しつつ、図示しない入力装置によって１つ以上の利用希望コンポーネント情報の指定を受けて、それらを送信することで、プログラム開発環境推薦プログラム４１０に追加推薦要求する（Ｓ２２０６）。
【００８１】
次に、ＣＰＵ４０１は、ステップＳ４１０５で受信した追加推薦要求に含まれる利用希望コンポーネント情報の組合せと一致するすべてのプログラム実行管理ＤＢ３６０のレコードを、プログラム実行管理プログラム３１０に要求し、応答を受けて取得する（Ｓ４１０６）。前記利用希望コンポーネント情報が図６のコンポーネントＩＤとバージョン（省略可）からなる表に示すものの場合、即ち任意のバージョンのコンポーネントＡと任意のバージョンのコンポーネントＢという組合せの場合、図３に示すプログラム実行管理ＤＢ３６０のコンポーネントＡ３６０ｅ１が「-」でなく、コンポーネントＢ３６０ｅ２が「-」でないレコード、具体的にはプログラムＩＤ３６０ａが「0001」「0003」「0004」「0005」の４つのレコードがＣＰＵ４０１に取得される。
【００８２】
次に、ＣＰＵ４０１は、ステップＳ４１０６で取得した１つ以上のレコードから、前記利用希望コンポーネント情報に含まれないコンポーネントＩＤのカラムと、実行結果３６０ｄのカラムを抽出する（Ｓ４１０７）。前記利用希望コンポーネント情報が図６に示すもの、即ち任意のバージョンのコンポーネントＡと任意のバージョンのコンポーネントＢという組合せの場合、前記利用希望コンポーネント情報に含まれない図３のコンポーネントＩＤのカラムとして、コンポーネントＡ３６０ｅ１とコンポーネントＢ３６０ｅ２以外のカラムである、コンポーネントＣ３６０ｅ３、コンポーネントＤ３６０ｅ４、コンポーネントＥ３６０ｅ５、コンポーネントＦ３６０ｅ６の４つのカラムが抽出対象となり、それらと実行結果３６０ｄのカラムとを合わせたものが、ステップＳ４１０７での抽出対象となる。
【００８３】
次に、ＣＰＵ４０１は、ステップＳ４１０７で抽出した情報を決定木アルゴリズムに投入し、実行結果３６０ｄが「OK」であることにつながる因子コンポーネントを特定する。前記利用希望コンポーネント情報が図６に示すもの、即ち任意のバージョンのコンポーネントＡと任意のバージョンのコンポーネントＢという組合せであり、ステップＳ４１０７までで図３に示すプログラム実行管理ＤＢ３６０のプログラムＩＤ３６０ａが「0001」「0003」「0004」「0005」の４つのレコードが取得され、実行結果３６０ｄ、コンポーネントＣ３６０ｅ３、コンポーネントＤ３６０ｅ４、コンポーネントＥ３６０ｅ５、コンポーネントＦ３６０ｅ６の５つのカラムが抽出されている場合、（実行結果３６０ｄ、コンポーネントＣ３６０ｅ３、コンポーネントＤ３６０ｅ４、コンポーネントＥ３６０ｅ５、コンポーネントＦ３６０ｅ６）＝（NG、無、無、無、無）、（OK、有、無、有、有）、（NG、無、有、無、無）、（OK、無、有、無、有）の4つの組合せ（それぞれプログラムＩＤ３６０ａが「0001」、「0003」、「0004」、「0005」に由来であり、有とは当該レコードのプログラムによって当該コンポーネントが利用されること（すなわち該当するセルに何らかのバージョンが示されていること）、無とは当該レコードのプログラムによって当該コンポーネントが利用されないこと（すなわち該当するセルに「-」が示されていること）を示す）を決定木アルゴリズムに投入し、実行結果３６０ｄ＝「OK」につながるのはどのコンポーネントが「有」のときかを分析することをもって特定する。この例では、決定木アルゴリズムによって、コンポーネントＦが実行結果３６０ｄ＝「OK」につながるコンポーネントとして特定される。
【００８４】
当該第一の実施形態では、実行結果３６０ｄが「OK」であることにつながる因子コンポーネントを特定するために決定木アルゴリズムを用いているが、それに限る必要はなく、同様の目的を果たすアルゴリズムに入れ替え得る。
【００８５】
また、当該第一の実施形態では、実行結果３６０ｄが「OK」であることにつながる因子コンポーネントを特定していたが、決定木アルゴリズムを逆に適用することで、実行結果３６０ｄが「NG」であることにつながる因子コンポーネントを特定することができる。これには、プログラム開発装置２００の装置操作者が、図６のプログラム開発環境追加推薦画面を介して、追加してはならないコンポーネントを確認できることに繋がるという効果がある。
【００８６】
説明を第一の実施形態に戻し、最後に、ＣＰＵ４０１は、ステップＳ４１０７で抽出した情報から、ステップＳ４１０８で特定したコンポーネントのカラムと実行結果３６０ｄのカラムのペアを抽出し、コンポーネントのカラムのバージョンごとに、実行結果３６０ｄの「OK」の割合を求めて動作可能率を算出することで開発環境追加推薦データを作成し、開発プログラム登録プログラム２１０に応答し、当該プログラム開発環境追加推薦処理を終了する（Ｓ４１０９）。ステップＳ４１０８で実行結果３６０ｄが「OK」であることにつながる因子コンポーネントとして「コンポーネントＦ」が特定されていた場合、（コンポーネントＦ３６０ｅ６、実行結果３６０ｄ）＝（2.9、OK）、（3.0、OK）であり、「NG」がないことから、それぞれ動作可能率は100%となる。なお、プログラム開発装置２００では、開発プログラム登録プログラム２１０によって、ＣＰＵ２０１が、プログラム開発環境推薦プログラム４１０から前記開発環境追加推薦データの応答を受け、取得し、表示装置２０６に表示される図６に示すプログラム開発環境追加推薦画面２０６ｈの追加コンポーネントと動作可能率からなる表２０６ｌに表示する（Ｓ２２０７）。これにより、プログラム開発装置２００の装置操作者は、追加導入の必要可能性のあるコンポーネントを把握できるという効果があり、この追加コンポーネントの情報も加えて図８の処理を実行することにより、追加コンポーネントも加えた最適な組合せのバージョンのコンポーネント群を取得できる。
【００８７】
第一の実施形態によれば、プログラムに利用させる１以上のコンポーネント間の動作確認のとれたプログラム開発環境を少なくとも動作可能率を含む情報で推薦することができる。すなわち、推薦要求で指定された条件に合致する組合せに属するコンポーネントのＩＤとバージョンの組合せ及び動作可能率のペアを含む開発環境推薦データを要求元に提供することができる。また、追加推薦要求で指定されていないコンポーネントの情報と、実行結果の情報を対象に決定木アルゴリズムを実行して、実行結果ＯＫの因子コンポーネントを特定し、特定したコンポーネントのＩＤと動作可能率を含む追加推薦情報を要求元に提供することができる。
【００８８】
図１０は、本発明を実施するための第二の実施形態を示すプログラム実行環境更新システム８００の全体構成図である。プログラム実行環境更新システム８００は、１以上のプログラム開発装置２００と、プログラム実行装置３００と、プログラム開発環境推薦装置４００と、コンポーネント管理装置５００と、１以上のプログラム実行端末装置７００と、以上の装置間をつなぐ通信路６００と、から構成される。なお、プログラム開発装置２００、プログラム実行装置３００、プログラム開発環境推薦装置４００、コンポーネント管理装置５００、通信路６００は、第一の実施形態のものと同様である。
【００８９】
プログラム実行端末装置７００は、例えばＰＣや組み込み機器などといった装置であり、プログラムの実行環境を自動更新し、記憶装置に記憶されたプログラムを実行させるものである。プログラム実行端末装置７００は、少なくともＣＰＵ７０１と、メモリ７０２と、記憶装置７０３と、通信インタフェース７０４と、から構成される。通信インタフェース７０４は、例えば有線ＬＡＮカードや無線ＬＡＮカードなどといったインタフェースであり、プログラム開発環境推薦装置４００やコンポーネント管理装置５００と通信路６００を介して通信する。記憶装置７０３は、例えばハードディスクやフラッシュメモリなど、プログラムやデータを記憶する装置であり、プログラムとして少なくともプログラム実行環境構築プログラム７３０と、開発プログラム７４０と、利用コンポーネント７５０と、を含み、データとして少なくとも開発プログラム属性データ７７０と、現動作可能率７８０と、を含む。
【００９０】
開発プログラム７４０は、予め記憶装置７０３に登録されるか、通信インタフェース７０４を介してプログラム実行端末装置７００の外部から送信されることにより、記憶装置７０３に登録されるものであり、当該プログラム実行端末装置７００にて所望の業務を実行するためのプログラムである。
【００９１】
利用コンポーネント７５０は、開発プログラム７４０の実行時に必要となる１以上のプログラムであり、開発プログラム７４０が異なれば、利用コンポーネント７５０も異なることが多い。利用コンポーネント７５０は、後述するプログラム実行環境構築プログラム７３０がコンポーネント管理装置５００から取得して記憶装置７０３に記憶させる他、予め記憶装置７０３に記憶させる。
【００９２】
また、開発プログラム７４０が利用するコンポーネントは、プログラム実行端末装置７００の記憶装置７０３に記憶されたプログラムに限らず、プログラム開発装置７００以外の装置にて提供されているＷｅｂ  ＡＰＩである場合もあり得る。この場合は、利用コンポーネント７５０には、Ｗｅｂ  ＡＰＩへのＵＲＬが設定される。これには、開発プログラム７４０自体へのＷｅｂ  ＡＰＩのＵＲＬの埋め込みを避けることで、開発プログラム７４０が利用するＷｅｂ  ＡＰＩのバージョンを変更する際に、開発プログラム７４０自体の修正を行うことなく、開発プログラム７４０が利用するバージョンのＷｅｂ  ＡＰＩのＵＲＬを開発プログラム２４０から利用させることができるという効果も期待できる。
【００９３】
開発プログラム属性データ７７０は、開発プログラム７４０の属性を管理するためのデータである。開発プログラム属性データ７７０には、開発プログラム７４０の実行時に必要となる１以上の利用コンポーネント７５０の情報等が含まれる。開発プログラム属性データ７７０は、予め記憶装置７０３に登録されるか、通信インタフェース７０４を介してプログラム実行端末装置７００の外部から送信されることにより、記憶装置７０３に登録される。なお、開発プログラム属性データ７７０は開発プログラム属性データ２７０と同様であり、開発プログラム属性データ７７０に含まれるデータの詳細は、図２の説明と同様になる。
【００９４】
当該第二の実施形態では、プログラム実行端末装置７００に対し開発プログラム７４０が一つの構成であるが、複数の開発プログラム７４０が記憶装置７０３に記憶されてもよい。その場合は、開発プログラム７４０ごとに、開発プログラム属性データ７７０が作成され、記憶装置７０３に記憶され、また開発プログラム７４０ごとに利用コンポーネント７５０が用意され、記憶装置７０３に記憶される構成となる。
【００９５】
説明を第二の実施形態に戻し、現動作可能率７８０は、記憶装置７０３に記憶されている開発プログラム７４０が実行時に利用する利用コンポーネント７５０の組合せの動作可能率のデータであり、プログラム開発環境推薦装置４００より入手したデータに基づき値が設定される。現動作可能率７８０の設定に係る処理の詳細は、後述する図１１のステップＳ７３０７の説明に示される。
【００９６】
プログラム実行環境構築プログラム７３０は、開発プログラム７４０の実行時に必要となる１以上の利用コンポーネント７５０の推薦をプログラム開発環境推薦装置４００より受け、記憶装置７０３に記憶されている現動作可能率７８０より高い動作可能率の利用コンポーネント７５０の組合せがあれば、利用コンポーネント７５０を更新し、開発プログラム７４０を再実行するプログラムである。また、プログラム開発環境構築プログラム２２０は、開発プログラム２４０の開発時／実行時に追加で必要となる利用コンポーネント２５０の推薦をプログラム開発環境推薦装置４００より受ける処理を実行するプログラムである。開発プログラム実行環境構築プログラム７３０が行う処理の詳細は、後述する図１１の説明に示される。
【００９７】
次に、図１１は、プログラム実行環境更新処理を説明するためのフローチャートである。プログラム実行環境構築プログラム７３０によって、ＣＰＵ７０１は、プログラム開発環境推薦プログラム４１０に要求して開発環境推薦データを取得し、記憶装置７０３に記憶されている現動作可能率７８０より高い動作可能率の利用コンポーネント７５０の組合せがあれば、更新すべき利用コンポーネント７５０をコンポーネント管理プログラム５１０に要求して取得し、開発プログラム７４０を再実行する。
【００９８】
まず、プログラム実行環境構築プログラム７３０が、予め記憶装置７０３に設定されたスケジュールに従い、ＣＰＵ７０１に実行されることにより、当該プログラム実行環境更新処理が開始される。処理が開始されると、ＣＰＵ７０１は、開発プログラム属性データ７７０を読み取り、利用コンポーネント７５０の組合せ（図２を例に説明すると、「コンポーネントＡ」「コンポーネントＢ」からなるデータ）をプログラム開発環境推薦プログラム４１０に送信することで、プログラム開発環境の推薦要求を出す（Ｓ７３０１）。
【００９９】
次に、ＣＰＵ７０１は、プログラム開発環境推薦プログラム４１０から開発環境推薦データの応答を受けて取得すると（Ｓ７３０２）、記憶装置７０３から現動作可能率７８０を読み取り、前記開発環境推薦データの中に現動作可能率７８０より高い動作可能率の組合せデータがあるか確認し（Ｓ７３０３）、なければそこで処理を終了し（Ｓ７３０４）、あれば次の処理に移る。
【０１００】
次に、ＣＰＵ７０１は、前記開発環境推薦データの中で最も動作可能率の高い組合せデータを特定した後、記憶装置７０３から読み取った開発プログラム属性データ７７０と比較し、双方でバージョンの異なる利用コンポーネント７５０があれば、その利用コンポーネント７５０について、前期組合せデータに示されるバージョンのものの取得要求をコンポーネント管理プログラム５１０に送信し（Ｓ７３０５）、コンポーネント管理プログラム５１０から応答されたコンポーネントを取得すると（Ｓ７３０６）、前記コンポーネントを記憶装置７０３に記憶させつつ、開発プログラム属性データ７７０の情報を、前記コンポーネントのコンポーネントＩＤとコンポーネントバージョンで更新し、さらに記憶装置７０３に記憶されている現動作可能率７８０を、前記組合せデータに示されるもので更新する（Ｓ７３０７）。
【０１０１】
最後に、ＣＰＵ７０１は、更新された利用コンポーネント７５０と組合せつつ、開発プログラム７４０を再実行する。
【０１０２】
なお、図１１でプログラム開発環境推薦プログラム４１０が行うステップＳ４１０１、ステップＳ４１０２、ステップＳ４１０３、ステップＳ４１０４の処理は、図８でプログラム開発環境推薦プログラム４１０が行うステップＳ４１０１、ステップＳ４１０２、ステップＳ４１０３、ステップＳ４１０４の処理と同様である。
【０１０３】
また、図１１でコンポーネント管理プログラム５１０が行うステップＳ５１０１、ステップＳ５１０２の処理は、図７でコンポーネント管理プログラム５１０が行うステップＳ５１０１、ステップＳ５１０２の処理と同様である。
【０１０４】
第二の実施形態によれば、動作可能率が最も高くバージョンが新規なペアの開発環境推薦データを提供することができると共に、動作可能率が最も高く新たなコンポーネントとプログラムとを組合せて処理を実行することができる。
【０１０５】
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、記憶装置３０３を管理する装置であって、プログラム実行装置３００とプログラム開発環境推薦装置４００に属する機能（プログラム）を実行する装置或いはプログラム実行端末装置７００に属する機能（プログラム）を実行する装置を情報処理装置（情報処理用計算機）とし、プログラム開発装置２００に属する機能（プログラム）を実行する装置を開発環境構築装置（開発環境構築用計算機）とすることができる。上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の構成に置き換えることが可能である。また、実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid  State  Drive）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【符号の説明】
【０１０６】
１００…プログラム開発環境推薦システム、２００…プログラム開発装置、２１０…開発プログラム登録プログラム、２２０…プログラム開発環境構築プログラム、２４０…開発プログラム、２５０…利用コンポーネント、２７０…開発プログラム属性データ、３００…プログラム実行装置、３１０…プログラム実行管理プログラム、３６０…プログラム実行管理ＤＢ、４００…プログラム開発環境推薦装置、４１０…プログラム開発環境推薦プログラム、５００…コンポーネント管理装置、５１０…コンポーネント管理プログラム、５６０…コンポーネント管理ＤＢ、７００…プログラム実行端末装置、７３０…プログラム実行環境構築プログラム、７４０…開発プログラム、７５０…利用コンポーネント、７７０…開発プログラム属性データ、７８０…現動作可能率、８００…プログラム実行環境更新システム
【図１】
2018010580.tif 000003
【図２】
2018010580.tif 000004
【図３】
2018010580.tif 000005
【図４】
2018010580.tif 000006
【図５】
2018010580.tif 000007
【図６】
2018010580.tif 000008
【図７】
2018010580.tif 000009
【図８】
2018010580.tif 000010
【図９】
2018010580.tif 000011
【図１０】
2018010580.tif 000012
【図１１】
2018010580.tif 000013