(57)【要約】【課題】プログラムの変更作業にかかる作業負荷を軽減させること。【解決手段】変更装置１０１は、第１の情報処理装置の構成情報１１１と、第２の情報処理装置の構成情報１２１との差分を表す差分情報１３０を取得する。変更装置１０１は、第１の情報処理装置に適用するプログラムＰ１に記述された処理単位のブロックのうち、取得した差分情報１３０に対応する処理Ｘのブロック１４０を検出する。変更装置１０１は、差分情報１３０の差分内容に基づいて、検出した処理Ｘのブロック１４０に適用する変更の変更種別を決定する。【選択図】図１
2014194632.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
第１の情報処理装置の構成情報と、前記第１の情報処理装置に対応する第２の情報処理装置の構成情報との差分を表す差分情報を取得し、
前記第１の情報処理装置に適用するプログラムに記述された処理単位のブロックのうち、取得した前記差分情報に対応する処理のブロックを検出し、
前記差分情報の差分内容に基づいて、検出した前記処理のブロックに適用する変更の種別を決定する、
処理を実行させることを特徴とする変更プログラム。
【請求項２】
前記コンピュータに、
前記差分情報に基づいて、前記第１および第２の情報処理装置に設定される複数の設定項目のうち、情報処理装置を識別する特定の設定項目の値が情報処理装置間で異なるか否かを判定し、
前記複数の設定項目のうち、前記特定の設定項目とは異なる他の設定項目の値が情報処理装置間で異なるか否かを判定する、処理を実行させ、
前記決定する処理は、
前記特定の設定項目の値が前記情報処理装置間で異なり、かつ、前記他の設定項目の値が前記情報処理装置間で異なる場合、前記種別を、前記処理とは別の処理のブロックを生成する種別に決定することを特徴とする請求項１に記載の変更プログラム。
【請求項３】
前記決定する処理は、
前記特定の設定項目の値が前記情報処理装置間で異なり、かつ、前記他の設定項目の値が前記情報処理装置間で同じ場合、前記種別を、前記処理のブロック内の前記特定の設定項目の値を置換する種別に決定することを特徴とする請求項２に記載の変更プログラム。
【請求項４】
前記コンピュータに、
前記特定の設定項目の値が前記情報処理装置間で同じ場合、前記処理のブロックを参照して、前記処理の実行先が複数の情報処理装置か否かを判定する処理を実行させ、
前記決定する処理は、
前記処理の実行先が複数の情報処理装置の場合、前記種別を、前記処理とは別の処理のブロックを生成する種別に決定することを特徴とする請求項２または３に記載の変更プログラム。
【請求項５】
前記決定する処理は、
前記処理の実行先が複数の情報処理装置ではない場合、前記種別を、前記処理のブロック内の前記他の設定項目の値を置換する種別に決定することを特徴とする請求項４に記載の変更プログラム。
【請求項６】
前記コンピュータに、
前記種別を前記別の処理のブロックを生成する種別に決定した場合、前記処理のブロックを複製して前記別の処理のブロックを生成し、
前記差分情報に基づいて、前記別の処理のブロック内の各設定項目の値を、前記第２の情報処理装置の前記各設定項目の値に置換し、
前記処理のブロック内の前記第１の情報処理装置の前記特定の設定項目の値を削除するとともに、前記処理のブロック内に前記別の処理を呼び出すための記述を挿入する、
処理を実行させることを特徴とする請求項２〜５のいずれか一つに記載の変更プログラム。
【請求項７】
前記コンピュータに、
前記第２の情報処理装置に動作条件が設定されている場合、前記別の処理のブロック内に前記動作条件に関する条件文を挿入する処理を実行させることを特徴とする請求項６に記載の変更プログラム。
【請求項８】
前記コンピュータに、
前記プログラムを前記第１および第２の情報処理装置に適用する場合、前記第１および第２の情報処理装置それぞれの設定項目の値を定義する定義情報があるか否かを判定し、
前記定義情報がある場合、前記定義情報に基づいて、前記処理とは別の処理のブロックを生成する、
処理を実行させることを特徴とする請求項２〜７のいずれか一つに記載の変更プログラム。
【請求項９】
第１の情報処理装置の構成情報と、前記第１の情報処理装置に対応する第２の情報処理装置の構成情報との差分を表す差分情報を取得する取得部と、
前記第１の情報処理装置に適用するプログラムに記述された処理単位のブロックのうち、前記取得部によって取得された前記差分情報に対応する処理のブロックを検出する検出部と、
前記差分情報の差分内容に基づいて、前記検出部によって検出された前記処理のブロックに適用する変更の種別を決定する決定部と、
を有することを特徴とする変更装置。
【請求項１０】
コンピュータが、
第１の情報処理装置の構成情報と、前記第１の情報処理装置に対応する第２の情報処理装置の構成情報との差分を表す差分情報を取得し、
前記第１の情報処理装置に適用するプログラムに記述された処理単位のブロックのうち、取得した前記差分情報に対応する処理のブロックを検出し、
前記差分情報の差分内容に基づいて、検出した前記処理のブロックに適用する変更の種別を決定する、
処理を実行することを特徴とする変更方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変更プログラム、変更装置および変更方法に関する。
【背景技術】
【０００２】
従来、現行システムで動作するプログラムを流用して、新設システムで動作するプログラムを作成する場合がある。この場合、現行システムのプログラムに対して、システムの環境に依存するパラメータ値を新設システムのパラメータ値に置換するなどの変更が行われる。システムの環境に依存するパラメータ値としては、例えば、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスやパスワードなどがある。
【０００３】
関連する先行技術としては、起動されたシステムにのみ関連する変更情報を処理装置変更前情報と処理装置変更後情報から自動生成し、他システムに影響を与えずに特定のシステムの入出力構成情報テーブルと処理装置構成情報テーブルを変更するものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２５０７２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術によれば、システムの環境に依存するパラメータ値の置換だけでは対応できない場合があり、プログラムに対してどのような変更を行えばよいのか判断することが難しい。例えば、作業者が、現行システムと新設システムとの差分を分析して、プログラムに対してどのような変更を行うのかを判断することになり、プログラムの変更作業にかかる作業負荷が増大する。
【０００６】
一側面では、本発明は、プログラムの変更作業にかかる作業負荷を軽減させる変更プログラム、変更装置および変更方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、第１の情報処理装置の構成情報と、前記第１の情報処理装置に対応する第２の情報処理装置の構成情報との差分を表す差分情報を取得し、前記第１の情報処理装置に適用するプログラムに記述された処理単位のブロックのうち、取得した前記差分情報に対応する処理のブロックを検出し、前記差分情報の差分内容に基づいて、検出した前記処理のブロックに適用する変更の種別を決定する変更プログラム、変更装置および変更方法が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、プログラムの変更作業にかかる作業負荷を軽減させることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる変更方法の一実施例を示す説明図である。
【図２】図２は、変更装置１０１のハードウェア構成例を示すブロック図である。
【図３】図３は、差分情報リストＤＬの記憶内容の一例を示す説明図（その１）である。
【図４】図４は、変更ルールテーブル４００の記憶内容の一例を示す説明図である。
【図５】図５は、変更装置１０１の機能的構成例を示すブロック図である。
【図６】図６は、プログラムＰの第１変更例を示す説明図（その１）である。
【図７】図７は、プログラムＰの第１変更例を示す説明図（その２）である。
【図８】図８は、差分情報リストＤＬの記憶内容の一例を示す説明図（その２）である。
【図９】図９は、プログラムＰの第２変更例を示す説明図（その１）である。
【図１０】図１０は、プログラムＰの第２変更例を示す説明図（その２）である。
【図１１】図１１は、差分情報リストＤＬの記憶内容の一例を示す説明図（その３）である。
【図１２】図１２は、プログラムＰの第３変更例を示す説明図（その１）である。
【図１３】図１３は、プログラムＰの第３変更例を示す説明図（その２）である。
【図１４】図１４は、差分情報リストＤＬの記憶内容の一例を示す説明図（その４）である。
【図１５】図１５は、プログラムＰの第４変更例を示す説明図（その１）である。
【図１６】図１６は、プログラムＰの第４変更例を示す説明図（その２）である。
【図１７】図１７は、現行システムおよび新設システムで動作するプログラムＰの具体例を示す説明図である。
【図１８】図１８は、定義情報ｄｆの具体例を示す説明図である。
【図１９】図１９は、プログラムＰの第５変更例を示す説明図である。
【図２０】図２０は、変更装置１０１の変更処理手順の一例を示すフローチャートである。
【図２１】図２１は、差分情報リスト作成処理の具体的処理手順の一例を示すフローチャートである。
【図２２】図２２は、プログラム変更処理の具体的処理手順の一例を示すフローチャート（その１）である。
【図２３】図２３は、プログラム変更処理の具体的処理手順の一例を示すフローチャート（その２）である。
【図２４】図２４は、サブタスク化処理の具体的処理手順の一例を示すフローチャートである。
【図２５】図２５は、条件付きサブタスク化処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、本発明にかかる変更プログラム、変更装置および変更方法の実施の形態を詳細に説明する。
【００１１】
（変更方法の一実施例）
図１は、実施の形態にかかる変更方法の一実施例を示す説明図である。図１において、変更装置１０１は、プログラムの変更作業を支援するコンピュータである。具体的には、例えば、変更装置１０１は、第１の情報処理装置に適用するプログラムＰ１を用いて第２の情報処理装置に適用するプログラムＰ２を生成する場合のプログラムＰ１に適用する変更の種別を決定する。
【００１２】
ここで、第１の情報処理装置は、第１のシステムを実現するためのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）がインストールされたコンピュータであり、第１のシステムの構築に必要な各種設定を行う。第１のシステムは、例えば、運用中の現行システム（旧システム）である。以下の説明では、第１のシステムを「現行システム」と表記する。
【００１３】
また、第２の情報処理装置は、第２のシステムを実現するためのＯＳがインストールされたコンピュータであり、第２のシステムの構築に必要な各種設定を行う。第２のシステムは、例えば、現行システムをもとに構築される新設システムである。以下の説明では、第２のシステムを「新設システム」と表記する。
【００１４】
プログラムＰ１は、例えば、第１の情報処理装置にログインして、第１の情報処理装置に対するコマンドを実行するためのプログラムである。同様に、プログラムＰ２は、例えば、第２の情報処理装置にログインして、第２の情報処理装置に対するコマンドを実行するためのプログラムである。なお、プログラムＰ１，Ｐ２の機能は同一とする。コマンドは、例えば、システム構築時に情報処理装置の各種設定を行うためのものである。コマンドとしては、例えば、ＯＳの設定、フォルダの作成、ファイルの作成等を行うためのものがある。
【００１５】
なお、第１および第２の情報処理装置は、例えば、仮想マシンであってもよい。仮想マシンとは、コンピュータのハードウェア資源を分割して構築される実行環境で動作する仮想的なコンピュータである。仮想マシンの実体は、例えば、プログラムやＯＳなどのソフトウェア、ソフトウェアに与えられる変数、およびソフトウェアを実行させるためのハードウェア資源を指定する情報を含むものである。
【００１６】
また、変更装置１０１は、現行システムのＣＭＤＢ（Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａｂａｓｅ）１１０および新設システムのＣＭＤＢ１２０にアクセス可能である。ＣＭＤＢは、システムの構成情報を一元管理するデータベースである。
【００１７】
ここで、現行システムで動作するプログラムＰ１を流用して、新設システムで動作するプログラムＰ２を生成する場合、システムの環境に依存するパラメータ値の置換だけでは対応できないことがある。例えば、複数の情報処理装置に対して同じパスワードを設定する処理がプログラムＰ１に含まれている場合に、ある情報処理装置のパスワードだけ変更したい場合などには単純なパラメータ値の置換では対応することができない。このため、プログラムＰ１のどの箇所に対して、どのような変更を行えばよいのか判断することが難しい。
【００１８】
そこで、本実施の形態では、変更装置１０１は、現行システムで動作するプログラムＰ１から、現行／新設システム間の構成情報の差分に対応する変更箇所を検出し、検出した変更箇所に適用する変更種別を差分の内容に応じて決定する。これにより、プログラムＰ１の変更作業にかかる作業負荷を軽減させる。以下、変更装置１０１の処理例について説明する。
【００１９】
（１）変更装置１０１は、第１の情報処理装置の構成情報１１１と、第２の情報処理装置の構成情報１２１との差分を表す差分情報１３０を取得する。ここで、情報処理装置の構成情報には、情報処理装置に設定される各種の設定項目の値が含まれている。設定項目としては、例えば、情報処理装置を識別するホスト名、情報処理装置を使用するユーザ名、情報処理装置にログインするためのパスワードなどがある。
【００２０】
具体的には、例えば、変更装置１０１は、現行システムのＣＭＤＢ１１０から、第１の情報処理装置の構成情報１１１を取得する。また、変更装置１０１は、新設システムのＣＭＤＢ１２０から、第１の情報処理装置の構成情報１１１に対応する第２の情報処理装置の構成情報１２１を取得する。なお、情報処理装置間の構成情報の関連付けは設定されている。そして、変更装置１０１は、第１の情報処理装置の構成情報１１１と、第２の情報処理装置の構成情報１２１とを比較することにより、差分情報１３０を取得する。
【００２１】
（２）変更装置１０１は、第１の情報処理装置に適用するプログラムＰ１に記述された処理単位のブロックのうち、取得した差分情報１３０に対応する処理のブロックを検出する。ここで、処理とは、プログラムに定義されているひとまとまりの処理であり、例えば、タスクである。また、ブロックとは、処理に対応する１以上のコードを一括りにまとめたものである。ブロックの範囲は、例えば、処理名（例えば、タスク名）やシンボル（例えば、ｂｅｇｉｎ、ｅｎｄなど）によって特定される。
【００２２】
具体的には、例えば、変更装置１０１は、差分情報１３０を参照して、第１の情報処理装置に設定される複数の設定項目のうち、第２の情報処理装置とは値が異なる設定項目の値を特定する。そして、変更装置１０１は、プログラムＰ１の中から、特定した設定項目の値を含む処理のブロックを検出する。図１の例では、処理Ｘのブロック１４０が検出されている。
【００２３】
（３）変更装置１０１は、差分情報１３０の差分内容に基づいて、検出した処理Ｘのブロック１４０に適用する変更の変更種別を決定する。ここで、変更種別とは、現行システムで動作するプログラムＰ１を用いて、新設システムで動作するプログラムＰ２を生成する場合にプログラムＰ１に適用すべき変更の種類を表すものである。
【００２４】
具体的には、例えば、変更装置１０１は、差分情報１３０に基づいて、第１および第２の情報処理装置に設定される複数の設定項目のうち、情報処理装置を識別する特定の設定項目の値が情報処理装置間で異なるか否かを判定する。特定の設定項目は、例えば、ホスト名である。
【００２５】
また、変更装置１０１は、複数の設定項目のうち、特定の設定項目とは異なる他の設定項目の値が情報処理装置間で異なるか否かを判定する。他の設定項目は、例えば、パスワードである。そして、変更装置１０１は、特定の設定項目の値が情報処理装置間で異なり、かつ、他の設定項目の値が情報処理装置間で異なる場合、変更種別を、処理Ｘとは別の処理Ｙのブロックを生成する種別に決定する。
【００２６】
また、変更装置１０１は、特定の設定項目の値が情報処理装置間で異なり、かつ、他の設定項目の値が情報処理装置間で同じ場合、変更種別を、処理Ｘのブロック１４０内の特定の設定項目の値を置換する種別に決定する。
【００２７】
このように、変更装置１０１によれば、第１の情報処理装置に適用するプログラムＰ１から、第１の情報処理装置の構成情報１１１と第２の情報処理装置の構成情報１２１との差分を表す差分情報１３０に対応する処理Ｘのブロック１４０を検出することができる。また、変更装置１０１によれば、差分情報１３０の差分内容に応じて、プログラムＰ１内の処理Ｘのブロック１４０に適用する変更種別を決定することができる。
【００２８】
これにより、第２の情報処理装置に適用するプログラムＰ２を生成する場合に、作業者は、プログラムＰ１内のどの箇所にどのような変更を行えばよいのかを判断することができ、プログラムＰ１の変更作業にかかる作業負荷を軽減させることができる。また、作業者は、プログラムＰ１内の処理Ｘのブロック１４０に対して、決定された変更種別の変更を行うことにより、第２の情報処理装置に適用するプログラムＰ２を生成することができる。
【００２９】
（変更装置１０１のハードウェア構成例）
図２は、変更装置１０１のハードウェア構成例を示すブロック図である。図２において、変更装置１０１は、ＣＰＵ２０１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、磁気ディスクドライブ２０４と、磁気ディスク２０５と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０６と、ディスプレイ２０７と、キーボード２０８と、マウス２０９と、を有する。また、各構成部はバス２００によってそれぞれ接続される。
【００３０】
ここで、ＣＰＵ２０１は、変更装置１０１の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがって磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。
【００３１】
Ｉ／Ｆ２０６は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他の装置に接続される。そして、Ｉ／Ｆ２０６は、ネットワーク２１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０６には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００３２】
ディスプレイ２０７は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０７は、例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３３】
キーボード２０８は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２０９は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。なお、変更装置１０１は、上述した構成部のうち、例えば、ディスプレイ２０７、キーボード２０８、マウス２０９等を有さないことにしてもよい。
【００３４】
（差分情報リストＤＬ）
つぎに、変更装置１０１が用いる差分情報リストＤＬの記憶内容について説明する。なお、差分情報リストＤＬは、例えば、図２に示したＲＡＭ２０３、磁気ディスク２０５等の記憶装置により実現される。
【００３５】
図３は、差分情報リストＤＬの記憶内容の一例を示す説明図（その１）である。図３において、差分情報リストＤＬは、現行システム（ＳｙｓｔｅｍＡ）の情報処理装置ＥＭの構成情報と、新設システム（ＳｙｓｔｅｍＢ）の情報処理装置ＮＭの構成情報との差分を表す差分情報（例えば、差分情報３０１，３０２）をリスト化して表す情報である。
【００３６】
具体的には、例えば、差分情報３０１は、現行システムの情報処理装置ＥＭの構成情報３１１と新設システムの情報処理装置ＮＭの構成情報３１２との差分を表す情報である。現行システムの情報処理装置ＥＭの構成情報３１１には、ホスト名「ｓｙｓｔｅｍＡ−ｓｖ１」、ユーザ名「ｒｏｏｔ」およびパスワード「ｈｏｇｅ１」が設定されている。
【００３７】
また、新設システムの情報処理装置ＮＭの構成情報３１２には、ホスト名「ｓｙｓｔｅｍＢ−ｓｖ１」、ユーザ名「ｒｏｏｔ」およびパスワード「ｈｏｇｅ２」が設定されている。ここでは、現行システムの情報処理装置ＥＭの構成情報３１１と新設システムの情報処理装置ＮＭの構成情報３１２との間でホスト名およびパスワードが異なる。
【００３８】
（変更ルールテーブル４００の記憶内容）
つぎに、変更装置１０１が用いる変更ルールテーブル４００の記憶内容について説明する。なお、変更ルールテーブル４００は、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５等の記憶装置に記憶される。
【００３９】
図４は、変更ルールテーブル４００の記憶内容の一例を示す説明図である。図４において、変更ルールテーブル４００は、ホスト名、その他の設定、タスクの実行先ホストおよびプログラム変更ルールのフィールドを有し、各フィールドに情報を設定することで、ルール情報４００−１〜４００−４がレコードとして記憶されている。
【００４０】
ホスト名フィールドには、現行システムと新設システムとの間でホスト名（Ｈｏｓｔｓ）が変更されている場合には「変更あり」が設定され、変更されていない場合には「変更なし」が設定される。また、その他の設定フィールドには、現行システムと新設システムとの間でホスト名（Ｈｏｓｔｓ）以外の設定項目（例えば、Ｐａｓｓｗｏｒｄ等）が変更されている場合には「変更あり」が設定され、変更されていない場合には「変更なし」が設定される。
【００４１】
また、タスクの実行先ホストフィールドには、タスクの実行先ホストが１つの場合には「１つ」が設定され、タスクの実行先ホストが複数の場合には「２つ以上」が設定される。なお、タスクの実行先ホストについての条件がない場合には「−」が設定される。また、プログラム変更ルールフィールドには、プログラム変更ルールが設定される。プログラム変更ルールは、プログラムの変更種別を示すものである。
【００４２】
変更ルールテーブル４００によれば、ホスト名、その他の設定およびタスクの実行先ホストの各フィールドに設定されている情報の組み合わせに応じて、プログラム変更ルールを一意に特定することができる。例えば、ルール情報４００−１によれば、ホスト名「変更あり」、その他の設定「変更あり」、タスクの実行先ホスト「−」の場合のプログラム変更ルール「サブタスクを作成」を特定することができる。
【００４３】
（変更装置１０１の機能的構成例）
図５は、変更装置１０１の機能的構成例を示すブロック図である。図５において、変更装置１０１は、取得部５０１と、作成部５０２と、検出部５０３と、決定部５０４と、変更部５０５と、出力部５０６と、を含む構成である。各機能部は、具体的には、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５等の記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、Ｉ／Ｆ２０６により、その機能を実現する。また、各機能部の処理結果は、例えば、ＲＡＭ２０３、磁気ディスク２０５等の記憶装置に記憶される。
【００４４】
取得部５０１は、現行システムの情報処理装置ＥＭに適用するプログラムＰを取得する機能を有する。ここで、情報処理装置ＥＭは、現行システム内のいずれかの情報処理装置である。また、プログラムＰは、現行システムで動作するプログラムであり、例えば、現行システムの情報処理装置ＥＭにログインして、情報処理装置ＥＭに対するコマンドを実行するためのものである。
【００４５】
具体的には、例えば、取得部５０１は、キーボード２０８やマウス２０９を用いたユーザの操作入力により、現行システムの情報処理装置ＥＭに適用するプログラムＰを取得する。また、取得部５０１は、ネットワーク２１０を介して、他のコンピュータから現行システムの情報処理装置ＥＭに適用するプログラムＰを取得することにしてもよい。
【００４６】
また、取得部５０１は、現行システムのＣＭＤＢ１１０から、現行システムの情報処理装置ＥＭの構成情報を取得する機能を有する。具体的には、例えば、取得部５０１は、情報処理装置ＥＭのホスト名「ＳｙｓｔｅｍＡ−ｓｖ１」を選択することにより、ＣＭＤＢ１１０から現行システムの情報処理装置ＥＭの構成情報３１１を取得する。
【００４７】
また、取得部５０１は、新設システムのＣＭＤＢ１２０から、新設システムの情報処理装置ＮＭの構成情報を取得する機能を有する。具体的には、例えば、取得部５０１は、新設システムのＣＭＤＢ１２０から、取得した現行システムの情報処理装置ＥＭの構成情報３１１に対応する新設システムの情報処理装置ＮＭの構成情報３１２を取得する。なお、システム間で対応する情報処理装置同士の構成情報の関連付けは予め設定されている。
【００４８】
作成部５０２は、現行システムの情報処理装置ＥＭの構成情報と、新設システムの情報処理装置ＮＭの構成情報との差分を表す差分情報Ｄを作成する機能を有する。具体的には、例えば、作成部５０２は、現行システムの情報処理装置ＥＭの構成情報３１１と、新設システムの情報処理装置ＮＭの構成情報３１２とを比較することにより差分情報３０１を作成する。作成された差分情報Ｄは、例えば、図３に示した差分情報リストＤＬに記憶される。
【００４９】
検出部５０３は、現行システムの情報処理装置ＥＭに適用するプログラムＰに記述された処理単位のブロックのうち、取得された差分情報Ｄに対応する処理のブロックを検出する機能を有する。以下の説明では、プログラムＰに記述された処理単位のブロックのうち差分情報Ｄに対応する処理のブロックを「タスクＴのブロックｂｋ」と表記する場合がある。
【００５０】
具体的には、例えば、検出部５０３は、差分情報Ｄを参照して、現行システムの情報処理装置ＥＭの構成情報のうち、新設システムの情報処理装置ＮＭの構成情報との差分を表す設定項目の値をキーワード（ＫＥＹＷＯＲＤ）に設定する。そして、検出部５０３は、現行システムの情報処理装置ＥＭに適用するプログラムＰから、キーワード（ＫＥＹＷＯＲＤ）を含むタスクＴのブロックｂｋを検出する。なお、検出部５０３の具体的な処理内容については、図６等を用いて後述する。
【００５１】
決定部５０４は、差分情報Ｄの差分内容に基づいて、検出されたタスクＴのブロックｂｋに適用する変更の変更種別を決定する機能を有する。具体的には、例えば、決定部５０４は、図４に示した変更ルールテーブル４００を参照して、差分情報Ｄの差分内容に応じてタスクＴのブロックｂｋに適用するプログラム変更ルールを決定する。
【００５２】
より具体的には、例えば、まず、決定部５０４は、差分情報Ｄに基づいて、現行システムおよび新設システムの情報処理装置ＥＭ，ＮＭに設定される複数の設定項目のうち、特定の設定項目の値が情報処理装置ＥＭ，ＮＭ間で異なるか否かを判定する。ここで、特定の設定項目は、システム内の情報処理装置を一意に識別する情報が設定される項目であり、例えば、情報処理装置のホスト名（Ｈｏｓｔｓ）、ＩＰアドレスなどである。以下の説明では、特定の設定項目として、「ホスト名（Ｈｏｓｔｓ）」を例に挙げて説明する。
【００５３】
また、決定部５０４は、複数の設定項目のうち、ホスト名とは異なる他の設定項目の値が情報処理装置ＥＭ，ＮＭ間で異なるか否かを判定する。ここで、他の設定項目は、例えば、情報処理装置を使用するユーザ名（Ｕｓｅｒ）、情報処理装置にログインするパスワード（Ｐａｓｓｗｏｒｄ）、情報処理装置の動作条件（Ｍａｉｎｔｅｎａｎｃｅｍｏｄｅ、Ｃｌｕｓｔｅｒ）、ファイルやフォルダ等のパス、利用するコマンドのパラメータなどが設定される項目である。
【００５４】
そして、決定部５０４は、ホスト名の値が情報処理装置ＥＭ，ＮＭ間で異なり、かつ、他の設定項目の値が情報処理装置ＥＭ，ＮＭ間で異なる場合、変更ルールテーブル４００を参照して、プログラム変更ルールを「サブタスクを作成」に決定する。「サブタスクを作成」は、タスクＴとは別のタスクを生成する変更種別を示す。以下の説明では、タスクＴとは別のタスクを「サブタスクＳＴ」と表記する場合がある。
【００５５】
また、決定部５０４は、ホスト名の値が情報処理装置ＥＭ，ＮＭ間で異なり、かつ、他の設定項目の値が情報処理装置ＥＭ，ＮＭ間で同じ場合、変更ルールテーブル４００を参照して、プログラム変更ルールを「ホスト名の置換」に決定する。「ホスト名の置換」は、タスクＴのブロックｂｋ内のホスト名の値を置換する変更種別を示す。
【００５６】
また、決定部５０４は、ホスト名の値が情報処理装置ＥＭ，ＮＭ間で同じ場合、タスクＴのブロックｂｋを参照して、タスクＴの実行先が複数の情報処理装置か否かを判定することにしてもよい。タスクＴの実行先が複数とは、複数の情報処理装置に対してタスクＴが実行されることを表す。
【００５７】
なお、タスクＴの実行先の数は、例えば、後述の図６に示すようなタスクＴのブロックｂｋ１に含まれる「ｈｏｓｔｓ＝＞［］ｄｏ」の［］内に記述されるホスト名の数によって特定することができる。図６の例では、タスクＴの実行先の数は「２」である。
【００５８】
そして、決定部５０４は、タスクＴの実行先が複数の情報処理装置の場合、変更ルールテーブル４００を参照して、プログラム変更ルールを「サブタスクを作成」に決定する。一方、タスクＴの実行先が１つの情報処理装置の場合、決定部５０４は、変更ルールテーブル４００を参照して、プログラム変更ルールを「設定項目の置換」に決定する。「設定項目の置換」は、タスクＴのブロックｂｋ内の他の設定項目の値を置換する変更種別を示す。
【００５９】
変更部５０５は、決定されたプログラム変更ルールに基づいて、プログラムＰを変更する機能を有する。具体的には、例えば、プログラム変更ルールが「サブタスクを作成」に決定された場合、まず、変更部５０５は、タスクＴのブロックｂｋを複製することにより、サブタスクＳＴのブロックｂｋを生成する。
【００６０】
つぎに、変更部５０５は、差分情報Ｄを参照して、サブタスクＳＴのブロックｂｋ内の設定項目の値を、新設システムの情報処理装置ＮＭの設定項目の値に置換する。この際、変更部５０５は、サブタスクＳＴのブロックｂｋ内の設定項目の値のうち、現行システムの情報処理装置ＥＭの構成情報と新設システムの情報処理装置ＮＭの構成情報との差分を表す設定項目の値のみを置換することにしてもよい。
【００６１】
そして、変更部５０５は、タスクＴのブロックｂｋ内の現行システムの情報処理装置ＥＭのホスト名の値を削除するとともに、タスクＴのブロックｂｋ内にサブタスクＳＴを呼び出すための記述を挿入する。これにより、現行システムの情報処理装置ＥＭに適用するプログラムＰを用いて、新設システムの情報処理装置ＮＭに適用するプログラムＰを生成することができる。
【００６２】
なお、サブタスクＳＴのブロックｂｋは、タスクＴからサブタスクＳＴを呼び出し可能であれば、プログラムＰとは別ファイルで生成されてもよく、また、プログラムＰ内に挿入されてもよい。ただし、サブタスクＳＴのブロックｂｋを別ファイルで生成することで、プログラムＰの記述量の増大を抑制してデバッグ作業の効率化を図ることができる。
【００６３】
また、例えば、プログラム変更ルールが「ホスト名の置換」に決定された場合、変更部５０５は、タスクＴのブロックｂｋ内の情報処理装置ＥＭのホスト名の値を、情報処理装置ＮＭのホスト名の値に置換する。これにより、タスクＴのブロックｂｋを、新設システムの情報処理装置ＮＭに適用可能に変更することができる。
【００６４】
また、例えば、プログラム変更ルールが「設定項目の置換」に決定された場合、変更部５０５は、タスクＴのブロックｂｋ内の情報処理装置ＥＭの他の設定項目の値を、情報処理装置ＮＭの他の設定項目の値に置換する。これにより、タスクＴのブロックｂｋを、新設システムの情報処理装置ＮＭに適用可能に変更することができる。
【００６５】
また、変更部５０５は、新設システムの情報処理装置ＮＭに動作条件が設定されている場合、サブタスクＳＴのブロックｂｋ内に動作条件に関する条件文を挿入することにしてもよい。ここで、動作条件とは、新設システムの情報処理装置ＮＭにサブタスクＳＴを実行させる、あるいは、実行させない条件である。
【００６６】
動作条件としては、例えば、情報処理装置ＮＭがメンテナンス状態の場合にはサブタスクＳＴを実行させない条件がある。また、情報処理装置ＮＭが他の情報処理装置とクラスタリング（例えば、２重化）されている場合に、他の情報処理装置の電源がＯＮのときには情報処理装置ＮＭにサブタスクＳＴを実行させない条件がある。
【００６７】
新設システムの情報処理装置ＮＭの動作条件は、例えば、新設システムの情報処理装置ＮＭの構成情報（例えば、後述の図８に示す構成情報８１２）から特定することができる。なお、新設システムの情報処理装置ＮＭに動作条件が設定されている場合のプログラムＰの変更例については、例えば、図９および図１０を用いて後述する。
【００６８】
また、変更部５０５は、プログラムＰを現行システムおよび新設システムの情報処理装置ＥＭ，ＮＭに適用する場合、各情報処理装置ＥＭ，ＮＭの定義情報ｄｆがあるか否かを判定することにしてもよい。ここで、プログラムＰを現行システムおよび新設システムの情報処理装置ＥＭ，ＮＭに適用するか否かは、例えば、キーボード２０８やマウス２０９を用いたユーザの操作入力により指定される。また、定義情報ｄｆは、各情報処理装置ＥＭ，ＮＭに設定される設定項目の値を定義するものである。
【００６９】
情報処理装置ＥＭの定義情報ｄｆは、例えば、情報処理装置ＥＭの構成情報と対応付けて現行システムのＣＭＤＢ１１０に記憶される。また、情報処理装置ＮＭの定義情報ｄｆは、例えば、情報処理装置ＮＭの構成情報と対応付けて新設システムのＣＭＤＢ１２０に記憶される。なお、各情報処理装置ＥＭ，ＮＭの定義情報ｄｆの具体例については、図１８を用いて後述する。
【００７０】
ここで、各情報処理装置ＥＭ，ＮＭの定義情報ｄｆがある場合、変更部５０５は、各情報処理装置ＥＭ，ＮＭの定義情報ｄｆに基づいて、プログラムＰを変更することにしてもよい。なお、各情報処理装置ＥＭ，ＮＭの定義情報ｄｆに基づくプログラムＰの変更例については、図１９を用いて後述する。
【００７１】
一方、各情報処理装置ＥＭ，ＮＭの定義情報ｄｆがない場合には、決定部５０４が、差分情報Ｄの差分内容に基づいて、検出されたタスクＴのブロックｂｋに適用する変更の種別を決定することにしてもよい。なお、各情報処理装置ＥＭ，ＮＭの定義情報ｄｆがない場合のプログラムＰの変更例については、図１５および図１６を用いて後述する。
【００７２】
出力部５０６は、変更部５０５によって変更された変更後のプログラムＰを出力する機能を有する。これにより、現行システムで動作するプログラムＰと同じ機能を有し、かつ、新設システムで動作するプログラムＰを出力することができる。
【００７３】
また、出力部５０６は、決定された決定結果を出力することにしてもよい。具体的には、例えば、出力部５０６は、プログラムＰに含まれるタスクＴを識別する情報（例えば、タスク名）と対応付けて、タスクＴのブロックｂｋに適用するプログラム変更ルールを出力することにしてもよい。
【００７４】
出力部５０６の出力形式としては、例えば、ＲＡＭ２０３、磁気ディスク２０５等の記憶装置への記憶、ディスプレイ２０７への表示、不図示のプリンタへの印刷出力、Ｉ／Ｆ２０６による外部のコンピュータへの送信がある。
【００７５】
なお、上述した説明では、現行システムの情報処理装置ＥＭの構成情報と新設システムの情報処理装置ＮＭの構成情報との差分を表す差分情報Ｄを作成することにしたが、これに限らない。具体的には、例えば、取得部５０１が、他のコンピュータで作成された差分情報Ｄを取得することにしてもよい。
【００７６】
（プログラムＰの変更例）
つぎに、プログラムＰの変更例について説明する。まず、プログラム変更ルールが「サブタスクを作成」に決定された場合のプログラムＰの変更例について説明する。
【００７７】
＜第１変更例＞
図６および図７は、プログラムＰの第１変更例を示す説明図である。図６において、（６−１）検出部５０３は、差分情報リストＤＬから差分情報Ｄを選択する。ここでは、差分情報Ｄとして、図３に示した差分情報３０１が選択された場合を想定する。
【００７８】
（６−２）検出部５０３は、選択した差分情報３０１を参照して、現行システムの情報処理装置ＥＭの構成情報３１１のうち、新設システムの情報処理装置ＮＭの構成情報３１２との差分を表す設定項目の値をキーワード（ＫＥＹＷＯＲＤ）に設定する。ここでは、キーワード（ＫＥＹＷＯＲＤ）として「Ｈｏｓｔｓ＝ｓｙｓｔｅｍＡ−ｓｖ１」と「Ｐａｓｓｗｏｒｄ＝ｈｏｇｅ１」が設定される。
【００７９】
（６−３）検出部５０３は、現行システムの情報処理装置ＥＭに適用するプログラムＰから、キーワード（ＫＥＹＷＯＲＤ）を含むタスクＴのブロックｂｋを検出する。ここでは、タスク名「ＳＡＭＰＬＥ」のタスクＴのブロックｂｋ１が検出された場合を想定する。これにより、変更対象となるタスクＴのブロックｂｋ１を検出することができる。
【００８０】
図７において、（６−４）決定部５０４は、差分情報３０１を参照して、ホスト名（Ｈｏｓｔｓ）の値が情報処理装置ＥＭ，ＮＭ間で異なるか否かを判定する。ここでは、ホスト名が「ｓｙｓｔｅｍＡ−ｓｖ１」から「ｓｙｓｔｅｍＢ−ｓｖ１」に変更されているため、決定部５０４は、ホスト名（Ｈｏｓｔｓ）の値が情報処理装置ＥＭ，ＮＭ間で異なると判定する。
【００８１】
また、決定部５０４は、差分情報３０１を参照して、ホスト名とは異なる他の設定項目の値が情報処理装置ＥＭ，ＮＭ間で異なるか否かを判定する。ここでは、パスワード（Ｐａｓｓｗｏｒｄ）が「ｈｏｇｅ１」から「ｈｏｇｅ２」に変更されているため、決定部５０４は、他の設定項目の値が情報処理装置ＥＭ，ＮＭ間で異なると判定する。
【００８２】
（６−５）決定部５０４は、判定した判定結果に基づいて、変更ルールテーブル４００を参照して、タスクＴのブロックｂｋ１に適用するプログラム変更ルールを決定する。ここでは、プログラム変更ルールが「サブタスクを作成」に決定される。
【００８３】
（６−６）変更部５０５は、プログラム変更ルールが「サブタスクを作成」に決定された場合、タスクＴのブロックｂｋ１を複製することにより、サブタスクＳＴのブロックｂｋを生成する。ここでは、タスク名「ｓｕｂ＿ＳＡＭＰＬＥ」のサブタスクＳＴのブロックｂｋ２が生成される。
【００８４】
（６−７）変更部５０５は、差分情報３０１を参照して、サブタスクＳＴのブロックｂｋ２内の設定項目の値を、新設システムの情報処理装置ＮＭの設定項目の値に置換する。ここでは、サブタスクＳＴ内のブロックｂｋ２に記述されている実行先の情報処理装置のホスト名（Ｈｏｓｔｓ）が「ｓｙｓｔｅｍＡ−ｓｖ１，ＳｙｓｔｅｍＡ−ｓｖ２」から「ｓｙｓｔｅｍＢ−ｓｖ１」に置換される。
【００８５】
また、サブタスクＳＴのブロックｂｋ２に記述されているパスワード（Ｐａｓｓｗｏｒｄ）が「ｈｏｇｅ１」から「ｈｏｇｅ２」に置換される。これにより、新設システムの情報処理装置ＮＭ（ホスト名：ＳｙｓｔｅｍＢ−ｓｖ１）に適用するサブタスクＳＴのブロックｂｋ２を生成することができる。なお、プログラムＰにおいて、タスクＴ（または、サブタスクＳＴ）の実行先の情報処理装置のホスト名（Ｈｏｓｔｓ）は、「ｈｏｓｔｓ＝＞［］ｄｏ」の［］内に記述される。
【００８６】
（６−８）変更部５０５は、タスクＴのブロックｂｋ１内の現行システムの情報処理装置ＥＭのホスト名の値「ＳｙｓｔｅｍＡ−ｓｖ１」を削除する。また、変更部５０５は、タスクＴのブロックｂｋ１内にサブタスクＳＴを呼び出すためのコード「ｓｕｂ＿ＳＡＭＰＬＥ」を挿入する。これにより、タスクＴの実行時にサブタスクＳＴを呼び出して実行することができる。
【００８７】
なお、差分情報３０２が選択された場合は、上記（６−５）において、プログラム変更ルールが「ホスト名の置換」に決定される。この場合、変更部５０５は、タスクＴのブロックｂｋ内の情報処理装置ＥＭのホスト名の値「ＳｙｓｔｅｍＡ−ｓｖ１」を、情報処理装置ＮＭのホスト名の値「ＳｙｓｔｅｍＢ−ｓｖ１」に置換する。これにより、タスク名「ＳＡＭＰＬＥ」のタスクＴのブロックｂｋ１を、新設システムの情報処理装置ＮＭに適用可能に変更することができる。
【００８８】
＜第２変更例＞
つぎに、新設システムの情報処理装置ＮＭに動作条件が設定される場合のプログラムＰの変更例について説明する。ここで、現行システムの情報処理装置ＥＭの動作条件が非設定の場合、プログラムＰ内の情報処理装置ＥＭの動作条件についての記述は省略されることが多い。このため、新設システムの情報処理装置ＮＭに新たな動作条件が設定される場合は、システムの環境に依存するパラメータ値の置換だけでは対応できない。ここではまず、新設システムの情報処理装置ＮＭにメンテナンスモードが設定される場合のプログラムＰの変更例について説明する。
【００８９】
図８は、差分情報リストＤＬの記憶内容の一例を示す説明図（その２）である。図８において、差分情報リストＤＬには、差分情報８０１と、差分情報８０２とが含まれている。具体的には、例えば、差分情報８０１は、現行システムの情報処理装置ＥＭの構成情報８１１と新設システムの情報処理装置ＮＭの構成情報８１２との差分を表す情報である。
【００９０】
現行システムの情報処理装置ＥＭの構成情報８１１には、ホスト名「ｓｙｓｔｅｍＡ−ｓｖ１」、ユーザ名「ｒｏｏｔ」、パスワード「ｈｏｇｅ１」およびメンテナンスモード「ｏｆｆ」が設定されている。
【００９１】
また、新設システムの情報処理装置ＮＭの構成情報８１２には、ホスト名「ｓｙｓｔｅｍＢ−ｓｖ１」、ユーザ名「ｒｏｏｔ」、パスワード「ｈｏｇｅ１」およびメンテナンスモード「ｏｎ」が設定されている。ここでは、現行システムの情報処理装置ＥＭの構成情報８１１と新設システムの情報処理装置ＮＭの構成情報８１２との間でホスト名およびメンテナンスモードが異なる。
【００９２】
図９および図１０は、プログラムＰの第２変更例を示す説明図である。図９において、（９−１）検出部５０３は、差分情報リストＤＬから差分情報Ｄを選択する。ここでは、差分情報Ｄとして、図８に示した差分情報８０１が選択された場合を想定する。
【００９３】
（９−２）検出部５０３は、選択した差分情報８０１を参照して、現行システムの情報処理装置ＥＭの構成情報８１１のうち、新設システムの情報処理装置ＮＭの構成情報８１２との差分を表す設定項目の値をキーワード（ＫＥＹＷＯＲＤ）に設定する。ここでは、キーワード（ＫＥＹＷＯＲＤ）として「Ｈｏｓｔｓ＝ｓｙｓｔｅｍＡ−ｓｖ１」が設定される。
【００９４】
上述したように、プログラムＰにおいて、現行システムの情報処理装置ＥＭの動作条件についての記述は省略される場合がある（例えば、Ｍａｉｎｔｅｎａｎｃｅｍｏｄｅがｏｆｆの場合など）。このため、キーワードには動作条件の値を設定しないことにしてもよい。ここでは、動作条件の値「Ｍａｉｎｔｅｎａｎｃｅｍｏｄｅ＝ｏｆｆ」がキーワードに設定されない場合を例に挙げる。
【００９５】
（９−３）検出部５０３は、現行システムの情報処理装置ＥＭに適用するプログラムＰから、キーワード（ＫＥＹＷＯＲＤ）を含むタスクＴのブロックｂｋを検出する。ここでは、タスク名「ＳＡＭＰＬＥ」のタスクＴのブロックｂｋ３が検出された場合を想定する。これにより、変更対象となるタスクＴのブロックｂｋ３を検出することができる。
【００９６】
図１０において、（９−４）決定部５０４は、差分情報８０１を参照して、ホスト名（Ｈｏｓｔｓ）の値が情報処理装置ＥＭ，ＮＭ間で異なるか否かを判定する。ここでは、ホスト名が「ｓｙｓｔｅｍＡ−ｓｖ１」から「ｓｙｓｔｅｍＢ−ｓｖ１」に変更されているため、決定部５０４は、ホスト名（Ｈｏｓｔｓ）の値が情報処理装置ＥＭ，ＮＭ間で異なると判定する。
【００９７】
また、決定部５０４は、差分情報８０１を参照して、ホスト名とは異なる他の設定項目の値が情報処理装置ＥＭ，ＮＭ間で異なるか否かを判定する。ここでは、メンテナンスモード（Ｍａｉｎｔｅｎａｎｃｅｍｏｄｅ）が「ｏｆｆ」から「ｏｎ」に変更されているため、決定部５０４は、他の設定項目の値が情報処理装置ＥＭ，ＮＭ間で異なると判定する。
【００９８】
（９−５）決定部５０４は、判定した判定結果に基づいて、変更ルールテーブル４００を参照して、タスクＴのブロックｂｋ３に適用するプログラム変更ルールを決定する。ここでは、プログラム変更ルールが「サブタスクを作成」に決定される。
【００９９】
（９−６）変更部５０５は、プログラム変更ルールが「サブタスクを作成」に決定された場合、タスクＴのブロックｂｋ３を複製することにより、サブタスクＳＴのブロックｂｋを生成する。ここでは、タスク名「ｓｕｂ＿ＳＡＭＰＬＥ」のサブタスクＳＴのブロックｂｋ４が生成される。
【０１００】
（９−７）変更部５０５は、差分情報８０１を参照して、サブタスクＳＴのブロックｂｋ４内の設定項目の値を、新設システムの情報処理装置ＮＭの設定項目の値に置換する。ここでは、サブタスクＳＴ内のブロックｂｋ４に記述されている実行先の情報処理装置のホスト名（Ｈｏｓｔｓ）が「ｓｙｓｔｅｍＡ−ｓｖ１，ＳｙｓｔｅｍＡ−ｓｖ２」から「ｓｙｓｔｅｍＢ−ｓｖ１」に置換される。
【０１０１】
また、変更部５０５は、サブタスクＳＴのブロックｂｋ４内に情報処理装置ＮＭの動作条件に関する条件文を挿入する。具体的には、例えば、変更部５０５は、差分情報８０１を参照して、サブタスクＳＴのブロックｂｋ４内に条件文「ｉｆ  ｍａｉｎｔｅｎａｎｃｅ＿ｍｏｄｅ＝＝ＯＮ  ｒｅｔｕｒｎ」を挿入する。
【０１０２】
これにより、新設システムの情報処理装置ＮＭ（ホスト名：ＳｙｓｔｅｍＢ−ｓｖ１）に適用するサブタスクＳＴのブロックｂｋ４を生成することができる。また、情報処理装置ＮＭがメンテナンス状態の場合にはサブタスクＳＴを実行させないようにすることができる。
【０１０３】
（９−８）変更部５０５は、タスクＴのブロックｂｋ３内の現行システムの情報処理装置ＥＭのホスト名の値「ＳｙｓｔｅｍＡ−ｓｖ１」を削除する。また、変更部５０５は、タスクＴのブロックｂｋ３内にサブタスクＳＴを呼び出すためのコード「ｓｕｂ＿ＳＡＭＰＬＥ」を挿入する。これにより、タスクＴの実行時にサブタスクＳＴを呼び出して実行することができる。
【０１０４】
＜第３変更例＞
つぎに、新設システムの情報処理装置ＮＭにクラスタリングが設定される場合のプログラムＰの変更例について説明する。
【０１０５】
図１１は、差分情報リストＤＬの記憶内容の一例を示す説明図（その３）である。図１１において、差分情報リストＤＬには、差分情報１１０１が含まれている。具体的には、例えば、差分情報１１０１は、現行システムの情報処理装置ＥＭの構成情報１１１１と新設システムの情報処理装置ＮＭの構成情報１１１２との差分を表す情報である。
【０１０６】
現行システムの情報処理装置ＥＭの構成情報１１１１には、ホスト名「ｓｙｓｔｅｍＡ−ｓｖ１」、ユーザ名「ｒｏｏｔ」、パスワード「ｈｏｇｅ１」およびクラスタリング「ｏｆｆ」が設定されている。
【０１０７】
また、新設システムの情報処理装置ＮＭの構成情報１１１２には、ホスト名「ｓｙｓｔｅｍＢ−ｓｖ１−ｐｒｉｍａｒｙ，ｓｙｓｔｅｍＢ−ｓｖ１−ｓｅｃｏｎｄａｒｙ」、ユーザ名「ｒｏｏｔ」、パスワード「ｈｏｇｅ１」およびクラスタリング「ｏｎ」が設定されている。ここでは、現行システムの情報処理装置ＥＭの構成情報１１１１と新設システムの情報処理装置ＮＭの構成情報１１１２との間でホスト名およびクラスタリングが異なる。
【０１０８】
図１２および図１３は、プログラムＰの第３変更例を示す説明図である。図１２において、（１２−１）検出部５０３は、差分情報リストＤＬから差分情報Ｄを選択する。ここでは、差分情報Ｄとして、図１１に示した差分情報１１０１が選択された場合を想定する。
【０１０９】
（１２−２）検出部５０３は、選択した差分情報１１０１を参照して、現行システムの情報処理装置ＥＭの構成情報１１１１のうち、新設システムの情報処理装置ＮＭの構成情報１１１２との差分を表す設定項目の値をキーワード（ＫＥＹＷＯＲＤ）に設定する。ここでは、キーワード（ＫＥＹＷＯＲＤ）として「Ｈｏｓｔｓ＝ｓｙｓｔｅｍＡ−ｓｖ１」が設定される。
【０１１０】
上述したように、プログラムＰにおいて、現行システムの情報処理装置ＥＭの動作条件についての記述は省略される場合がある（例えば、Ｃｌｕｓｔｅｒがｏｆｆの場合など）。このため、ここでは動作条件の値「Ｃｌｕｓｔｅｒ＝ｏｆｆ」がキーワードに設定されない場合を例に挙げる。
【０１１１】
（１２−３）検出部５０３は、現行システムの情報処理装置ＥＭに適用するプログラムＰから、キーワード（ＫＥＹＷＯＲＤ）を含むタスクＴのブロックｂｋを検出する。ここでは、タスク名「ＳＡＭＰＬＥ」のタスクＴのブロックｂｋ５が検出された場合を想定する。これにより、変更対象となるタスクＴのブロックｂｋ５を検出することができる。
【０１１２】
図１３において、（１２−４）決定部５０４は、差分情報１１０１を参照して、ホスト名（Ｈｏｓｔｓ）の値が情報処理装置ＥＭ，ＮＭ間で異なるか否かを判定する。ここでは、ホスト名が「ｓｙｓｔｅｍＡ−ｓｖ１」から「ｓｙｓｔｅｍＢ−ｓｖ１−ｐｒｉｍａｒｙ，ｓｙｓｔｅｍＢ−ｓｖ１−ｓｅｃｏｎｄａｒｙ」に変更されているため、決定部５０４は、ホスト名（Ｈｏｓｔｓ）の値が情報処理装置ＥＭ，ＮＭ間で異なると判定する。
【０１１３】
また、決定部５０４は、差分情報１１０１を参照して、ホスト名とは異なる他の設定項目の値が情報処理装置ＥＭ，ＮＭ間で異なるか否かを判定する。ここでは、クラスタリング（Ｃｌｕｓｔｅｒ）が「ｏｆｆ」から「ｏｎ」に変更されているため、決定部５０４は、他の設定項目の値が情報処理装置ＥＭ，ＮＭ間で異なると判定する。
【０１１４】
（１２−５）決定部５０４は、判定した判定結果に基づいて、変更ルールテーブル４００を参照して、タスクＴのブロックｂｋ５に適用するプログラム変更ルールを決定する。ここでは、プログラム変更ルールが「サブタスクを作成」に決定される。
【０１１５】
（１２−６）変更部５０５は、プログラム変更ルールが「サブタスクを作成」に決定された場合、タスクＴのブロックｂｋ５を複製することにより、サブタスクＳＴのブロックｂｋを生成する。ここでは、タスク名「ｓｕｂ＿ＳＡＭＰＬＥ」のサブタスクＳＴのブロックｂｋ６が生成される。
【０１１６】
（１２−７）変更部５０５は、タスクＴのブロックｂｋ５内の現行システムの情報処理装置ＥＭのホスト名の値「ＳｙｓｔｅｍＡ−ｓｖ１」を新設システムの情報処理装置ＮＭのホスト名の値「ｓｙｓｔｅｍＢ−ｓｖ１−ｐｒｉｍａｒｙ」に置換する。また、変更部５０５は、タスクＴのブロックｂｋ５内にサブタスクＳＴを呼び出すためのコード「ｉｆ  ＳｙｓｔｅｍＢ−ｓｖ１−ｐｒｉｍａｒｙ＝＝ＰＯＷＥＲ  ＯＦＦ  ｓｕｂ＿ＳＡＭＰＬＥ」を挿入する。これにより、タスクＴの実行時に、ホスト名「ＳｙｓｔｅｍＢ−ｓｖ１−ｐｒｉｍａｒｙ」の情報処理装置ＮＭの電源がＯＦＦの場合にサブタスクＳＴを呼び出して実行することができる。
【０１１７】
（１２−８）変更部５０５は、差分情報１１０１を参照して、サブタスクＳＴのブロックｂｋ６内の設定項目の値を、新設システムの情報処理装置ＮＭの設定項目の値に置換する。ここでは、サブタスクＳＴ内のブロックｂｋ６に記述されている実行先の情報処理装置のホスト名（Ｈｏｓｔｓ）が「ｓｙｓｔｅｍＡ−ｓｖ１」から「ｓｙｓｔｅｍＢ−ｓｖ１−ｓｅｃｏｎｄａｒｙ」に置換される。
【０１１８】
これにより、新設システムの情報処理装置ＮＭ（ホスト名：ｓｙｓｔｅｍＢ−ｓｖ１−ｓｅｃｏｎｄａｒｙ）に適用するサブタスクＳＴのブロックｂｋ６を生成することができる。
【０１１９】
＜第４変更例＞
つぎに、プログラムＰを現行システムおよび新設システムの情報処理装置ＥＭ，ＮＭに適用する場合のプログラムＰの変更例について説明する。まず、各情報処理装置ＥＭ，ＮＭの定義情報ｄｆがない場合について説明する。
【０１２０】
図１４は、差分情報リストＤＬの記憶内容の一例を示す説明図（その４）である。図１４において、差分情報リストＤＬには、差分情報１４０１が含まれている。具体的には、例えば、差分情報１４０１は、現行システムの情報処理装置ＥＭの構成情報１４１１と新設システムの情報処理装置ＮＭの構成情報１４１２との差分を表す情報である。
【０１２１】
現行システムの情報処理装置ＥＭの構成情報１４１１には、ホスト名「ｓｙｓｔｅｍＡ−ｓｖ１」、ユーザ名「ｒｏｏｔ」およびパスワード「ｈｏｇｅ１」が設定されている。また、新設システムの情報処理装置ＮＭの構成情報１４１２には、ホスト名「ｓｙｓｔｅｍＢ−ｓｖ１」、ユーザ名「ｒｏｏｔ」およびパスワード「ｈｏｇｅ１」が設定されている。ここでは、現行システムの情報処理装置ＥＭの構成情報１４１１と新設システムの情報処理装置ＮＭの構成情報１４１２との間でホスト名が異なる。
【０１２２】
図１５および図１６は、プログラムＰの第４変更例を示す説明図である。図１５において、（１５−１）検出部５０３は、差分情報リストＤＬから差分情報Ｄを選択する。ここでは、差分情報Ｄとして、図１４に示した差分情報１４０１が選択された場合を想定する。
【０１２３】
（１５−２）検出部５０３は、選択した差分情報１４０１を参照して、現行システムの情報処理装置ＥＭの構成情報１４１１のうち、新設システムの情報処理装置ＮＭの構成情報１４１２との差分を表す設定項目の値をキーワード（ＫＥＹＷＯＲＤ）に設定する。ここでは、キーワード（ＫＥＹＷＯＲＤ）として「Ｈｏｓｔｓ＝ｓｙｓｔｅｍＡ−ｓｖ１」が設定される。
【０１２４】
（１５−３）検出部５０３は、現行システムの情報処理装置ＥＭに適用するプログラムＰから、キーワード（ＫＥＹＷＯＲＤ）を含むタスクＴのブロックｂｋを検出する。ここでは、タスク名「ＳＡＭＰＬＥ」のタスクＴのブロックｂｋ７が検出された場合を想定する。
【０１２５】
図１６において、（１５−４）決定部５０４は、差分情報１４０１を参照して、ホスト名（Ｈｏｓｔｓ）の値が情報処理装置ＥＭ，ＮＭ間で異なるか否かを判定する。ここでは、ホスト名が「ｓｙｓｔｅｍＡ−ｓｖ１」から「ｓｙｓｔｅｍＢ−ｓｖ１」に変更されているため、決定部５０４は、ホスト名（Ｈｏｓｔｓ）の値が情報処理装置ＥＭ，ＮＭ間で異なると判定する。
【０１２６】
また、決定部５０４は、差分情報１４０１を参照して、ホスト名とは異なる他の設定項目の値が情報処理装置ＥＭ，ＮＭ間で異なるか否かを判定する。ここでは、他の設定項目の値が変更されていないため、決定部５０４は、他の設定項目の値が情報処理装置ＥＭ，ＮＭ間で同じであると判定する。
【０１２７】
（１５−５）決定部５０４は、判定した判定結果に基づいて、変更ルールテーブル４００を参照して、タスクＴのブロックｂｋ７に適用するプログラム変更ルールを決定する。ここでは、プログラム変更ルールが「サブタスクを作成」に決定される。
【０１２８】
（１５−６）変更部５０５は、プログラム変更ルールが「サブタスクを作成」に決定された場合、タスクＴのブロックｂｋ７を複製することにより、サブタスクＳＴのブロックｂｋを生成する。ここでは、タスク名「ＳＡＭＰＬＥ」のサブタスクＳＴのブロックｂｋ８が生成される。
【０１２９】
（１５−７）変更部５０５は、差分情報１４０１を参照して、サブタスクＳＴのブロックｂｋ８内の設定項目の値を、新設システムの情報処理装置ＮＭの設定項目の値に置換する。ここでは、サブタスクＳＴのブロックｂｋ８に記述されている実行先の情報処理装置のホスト名（Ｈｏｓｔｓ）が「ｓｙｓｔｅｍＡ−ｓｖ１」から「ｓｙｓｔｅｍＢ−ｓｖ１」に置換される。
【０１３０】
また、変更部５０５は、サブタスクＳＴのブロックｂｋ８の先頭に、システムが新設システム（ＳｙｓｔｅｍＢ）の場合にサブタスクＳＴを実行するという条件文「ｉｆ  ｓｙｓｔｅｍ＝＝Ｂ」を挿入する。これにより、プログラムＰを新設システムで動作させた場合に、タスク名「ＳＡＭＰＬＥ」のサブタスクＳＴを実行することができる。
【０１３１】
（１５−８）変更部５０５は、タスクＴのブロックｂｋ７の先頭に、システムが現行システム（ＳｙｓｔｅｍＡ）の場合にタスクＴを実行するという条件文「ｉｆ  ｓｙｓｔｅｍ＝＝Ａ」を挿入する。これにより、プログラムＰを現行システムで動作させた場合に、タスク名「ＳＡＭＰＬＥ」のタスクＴを実行することができる。
【０１３２】
図１７は、現行システムおよび新設システムで動作するプログラムＰの具体例を示す説明図である。図１７において、プログラムＰは、タスク名「ＳＡＭＰＬＥ」のタスクＴのブロックｂｋ７と、タスク名「ＳＡＭＰＬＥ」のサブタスクＳＴのブロックｂｋ８と、を含む。このプログラムＰによれば、現行システムで動作させた場合はタスク名「ＳＡＭＰＬＥ」のタスクＴを実行することができ、新設システムで動作させた場合はタスク名「ＳＡＭＰＬＥ」のサブタスクＳＴを実行することができる。
【０１３３】
＜第５変更例＞
つぎに、各情報処理装置ＥＭ，ＮＭの定義情報ｄｆがある場合に、プログラムＰを現行システムおよび新設システムの情報処理装置ＥＭ，ＮＭに適用する際のプログラムＰの変更例について説明する。
【０１３４】
図１８は、定義情報ｄｆの具体例を示す説明図である。図１８において、定義情報ｄｆ１は、現行システムの情報処理装置ＥＭに設定される各設定項目の値を定義するものである。具体的には、例えば、定義情報ｄｆ１には、ホスト名「ｓｙｓｔｅｍＡ−ｓｖ１」の情報処理装置ＥＭに設定されるユーザ名（Ｕｓｅｒ）の値「ｒｏｏｔ」と、パスワード（Ｐａｓｓｗｏｒｄ）の値「ｈｏｇｅ１」とが定義されている。
【０１３５】
また、定義情報ｄｆ２は、新設システムの情報処理装置ＮＭに設定される各設定項目の値を定義するものである。具体的には、例えば、定義情報ｄｆ２には、ホスト名「ｓｙｓｔｅｍＢ−ｓｖ１」の情報処理装置ＮＭに設定されるユーザ名（Ｕｓｅｒ）の値「ｒｏｏｔ」と、パスワード（Ｐａｓｓｗｏｒｄ）の値「ｈｏｇｅ２」とが定義されている。
【０１３６】
以下の説明では、定義情報ｄｆ１のファイル名を「ｓｙｓｔｅｍＡ−ｓａｍｐｌｅ．ｄｅｆ」とし、定義情報ｄｆ２のファイル名を「ｓｙｓｔｅｍＢ−ｓａｍｐｌｅ．ｄｅｆ」とする。
【０１３７】
図１９は、プログラムＰの第５変更例を示す説明図である。図１９において、変更部５０５は、現行システムで動作するプログラムＰに記述されているタスク名「ＳＡＭＰＬＥ」のタスクＴを、現行システムおよび新設システムごとのタスクＴに分割することにより、現行システムおよび新設システムで動作するプログラムＰに変更する。
【０１３８】
このプログラムＰによれば、現行システムで動作させた場合は、定義情報ｄｆ１をインポートしてタスク名「ＳＡＭＰＬＥ」のタスクＴを実行することができる。また、新設システムで動作させた場合は、定義情報ｄｆ２をインポートしてタスク名「ＳＡＭＰＬＥ」のタスクＴを実行することができる。
【０１３９】
なお、ここでは定義情報ｄｆ１，ｄｆ２をインポートする場合を例に挙げて説明したが、プログラムＰに定義情報ｄｆ１，ｄｆ２の定義内容がそれぞれ記述されていてもよい。
【０１４０】
（変更装置１０１の変更処理手順）
つぎに、変更装置１０１の変更処理手順について説明する。
【０１４１】
図２０は、変更装置１０１の変更処理手順の一例を示すフローチャートである。図２０のフローチャートにおいて、まず、変更装置１０１は、現行システムで動作するプログラムＰを取得する（ステップＳ２００１）。つぎに、変更装置１０１は、差分情報リストＤＬを作成する差分情報リスト作成処理を実行する（ステップＳ２００２）。なお、差分情報リスト作成処理の具体的な処理手順については、図２１を用いて後述する。
【０１４２】
そして、変更装置１０１は、差分情報リストＤＬから差分情報Ｄを選択する（ステップＳ２００３）。つぎに、変更装置１０１は、差分情報Ｄを参照して、現行システムの情報処理装置ＥＭの構成情報のうち、新設システムの情報処理装置ＮＭの構成情報との差分を表す設定項目の値をキーワードに設定する（ステップＳ２００４）。
【０１４３】
そして、変更装置１０１は、プログラムＰからキーワードを含むタスクＴのブロックｂｋを検出する（ステップＳ２００５）。つぎに、変更装置１０１は、プログラムＰを変更するプログラム変更処理を実行する（ステップＳ２００６）。なお、プログラム変更処理の具体的な処理手順については、図２２および図２３を用いて後述する。
【０１４４】
そして、変更装置１０１は、差分情報リストＤＬから選択していない未選択の差分情報Ｄがあるか否かを判断する（ステップＳ２００７）。ここで、未選択の差分情報Ｄがある場合（ステップＳ２００７：Ｙｅｓ）、変更装置１０１は、ステップＳ２００３に戻って、差分情報リストＤＬから未選択の差分情報Ｄを選択する。
【０１４５】
一方、未選択の差分情報Ｄがない場合（ステップＳ２００７：Ｎｏ）、変更装置１０１は、変更後のプログラムＰを出力して（ステップＳ２００８）、本フローチャートによる一連の処理を終了する。
【０１４６】
これにより、現行システムで動作するプログラムＰを用いて、新設システムで動作するプログラムＰを生成することができる。なお、ステップＳ２００５において、複数のタスクＴのブロックｂｋが検出された場合は、変更装置１０１は、複数のタスクＴの各々について、プログラムＰを変更するプログラム変更処理を実行する。
【０１４７】
＜差分情報リスト作成処理手順＞
つぎに、図２０に示したステップＳ２００２の差分情報リスト作成処理の具体的な処理手順について説明する。
【０１４８】
図２１は、差分情報リスト作成処理の具体的処理手順の一例を示すフローチャートである。図２１のフローチャートにおいて、まず、変更装置１０１は、現行システムのＣＭＤＢ１１０から、現行システムの情報処理装置ＥＭの構成情報を取得する（ステップＳ２１０１）。
【０１４９】
つぎに、変更装置１０１は、新設システムのＣＭＤＢ１２０から、新設システムの情報処理装置ＮＭの構成情報を取得する（ステップＳ２１０２）。そして、変更装置１０１は、現行システムの情報処理装置ＥＭの構成情報と新設システムの情報処理装置ＮＭの構成情報とを比較する（ステップＳ２１０３）。
【０１５０】
つぎに、変更装置１０１は、比較した比較結果に基づいて、現行システムの情報処理装置ＥＭの構成情報と新設システムの情報処理装置ＮＭの構成情報との間に差分があるか否かを判断する（ステップＳ２１０４）。ここで、差分がない場合（ステップＳ２１０４：Ｎｏ）、変更装置１０１は、ステップＳ２１０７に移行する。
【０１５１】
一方、差分がある場合（ステップＳ２１０４：Ｙｅｓ）、変更装置１０１は、現行システムの情報処理装置ＥＭの構成情報と新設システムの情報処理装置ＮＭの構成情報との差分を表す差分情報Ｄを作成する（ステップＳ２１０５）。そして、変更装置１０１は、作成した差分情報Ｄを差分情報リストＤＬに登録する（ステップＳ２１０６）。
【０１５２】
つぎに、変更装置１０１は、現行システムのＣＭＤＢ１１０から取得していない未取得の情報処理装置ＥＭの構成情報があるか否かを判断する（ステップＳ２１０７）。ここで、未取得の情報処理装置ＥＭの構成情報がある場合（ステップＳ２１０７：Ｙｅｓ）、変更装置１０１は、ステップＳ２１０１に戻って、現行システムのＣＭＤＢ１１０から、未取得の情報処理装置ＥＭの構成情報を取得する。
【０１５３】
一方、未取得の情報処理装置ＥＭの構成情報がない場合（ステップＳ２１０７：Ｎｏ）、変更装置１０１は、本フローチャートによる一連の処理を終了して、差分情報リスト作成処理を呼び出したステップに戻る。
【０１５４】
これにより、現行システムの情報処理装置ＥＭの構成情報と新設システムの情報処理装置ＮＭの構成情報との差分を表す差分情報Ｄをリスト化した差分情報リストＤＬを作成することができる。
【０１５５】
＜プログラム変更処理手順＞
つぎに、図２０に示したステップＳ２００６のプログラム変更処理の具体的な処理手順について説明する。
【０１５６】
図２２および図２３は、プログラム変更処理の具体的処理手順の一例を示すフローチャートである。図２２のフローチャートにおいて、まず、変更装置１０１は、現行システムおよび新設システムでプログラムＰを動作させるか否かを判断する（ステップＳ２２０１）。
【０１５７】
ここで、新設システムのみでプログラムＰを動作させる場合（ステップＳ２２０１：Ｎｏ）、変更装置１０１は、差分情報Ｄに基づいて、ホスト名の値が情報処理装置ＥＭ，ＮＭ間で異なるか否かを判定する（ステップＳ２２０２）。そして、ホスト名の値が異なる場合（ステップＳ２２０２：Ｙｅｓ）、変更装置１０１は、ホスト名とは異なる他の設定項目の値が情報処理装置ＥＭ，ＮＭ間で異なるか否かを判定する（ステップＳ２２０３）。
【０１５８】
ここで、他の設定項目の値が異なる場合（ステップＳ２２０３：Ｙｅｓ）、変更装置１０１は、プログラム変更ルールを「サブタスクを作成」に決定する（ステップＳ２２０４）。そして、変更装置１０１は、新設システムの情報処理装置ＮＭに動作条件が設定されているか否かを判断する（ステップＳ２２０５）。
【０１５９】
ここで、動作条件が設定されていない場合（ステップＳ２２０５：Ｎｏ）、変更装置１０１は、サブタスク化処理を実行して（ステップＳ２２０６）、本フローチャートによる一連の処理を終了し、プログラム変更処理を呼び出したステップに戻る。なお、サブタスク化処理の具体的な処理手順については、図２４を用いて後述する。
【０１６０】
一方、動作条件が設定されている場合（ステップＳ２２０５：Ｙｅｓ）、変更装置１０１は、条件付きサブタスク化処理を実行して（ステップＳ２２０７）、本フローチャートによる一連の処理を終了し、プログラム変更処理を呼び出したステップに戻る。なお、条件付きサブタスク化処理の具体的な処理手順については、図２５を用いて後述する。
【０１６１】
また、ステップＳ２２０３において、他の設定項目の値が同じ場合（ステップＳ２２０３：Ｎｏ）、変更装置１０１は、プログラム変更ルールを「ホスト名の置換」に決定する（ステップＳ２２０８）。そして、変更装置１０１は、タスクＴのブロックｂｋ内の情報処理装置ＥＭのホスト名の値を、情報処理装置ＮＭのホスト名の値に置換して（ステップＳ２２０９）、本フローチャートによる一連の処理を終了し、プログラム変更処理を呼び出したステップに戻る。
【０１６２】
また、ステップＳ２２０２において、ホスト名の値が同じ場合（ステップＳ２２０２：Ｎｏ）、変更装置１０１は、タスクＴの実行先が複数の情報処理装置か否かを判断する（ステップＳ２２１０）。ここで、タスクＴの実行先が複数の情報処理装置の場合（ステップＳ２２１０：Ｙｅｓ）、変更装置１０１は、ステップＳ２２０４に移行する。
【０１６３】
一方、タスクＴの実行先が１つの情報処理装置の場合（ステップＳ２２１０：Ｎｏ）、変更装置１０１は、プログラム変更ルールを「設定項目の置換」に決定する（ステップＳ２２１１）。そして、変更装置１０１は、タスクＴのブロックｂｋ内の情報処理装置ＥＭの他の設定項目の値を、情報処理装置ＮＭの他の設定項目の値に置換して（ステップＳ２２１２）、本フローチャートによる一連の処理を終了し、プログラム変更処理を呼び出したステップに戻る。
【０１６４】
また、ステップＳ２２０１において、現行システムおよび新設システムでプログラムＰを動作させる場合（ステップＳ２２０１：Ｙｅｓ）、変更装置１０１は、図２３に示すステップＳ２３０１に移行する。
【０１６５】
図２３のフローチャートにおいて、まず、変更装置１０１は、ＣＭＤＢ１１０，１２０に各情報処理装置ＥＭ，ＮＭの定義情報ｄｆが登録されているか否かを判断する（ステップＳ２３０１）。ここで、各情報処理装置ＥＭ，ＮＭの定義情報ｄｆが未登録の場合（ステップＳ２３０１：Ｎｏ）、変更装置１０１は、図２２に示したステップＳ２２０２に移行する。
【０１６６】
一方、各情報処理装置ＥＭ，ＮＭの定義情報ｄｆが登録されている場合（ステップＳ２３０１：Ｙｅｓ）、変更装置１０１は、ＣＭＤＢ１１０，１２０から各情報処理装置ＥＭ，ＮＭの定義情報ｄｆを取得する（ステップＳ２３０２）。そして、変更装置１０１は、条件文によりタスクＴを、現行システムおよび新設システムごとのタスクＴに分割することによりプログラムＰを変更して（ステップＳ２３０３）、本フローチャートによる一連の処理を終了し、プログラム変更処理を呼び出したステップに戻る。
【０１６７】
これにより、現行システムの情報処理装置ＥＭの構成情報と新設システムの情報処理装置ＮＭの構成情報との差分を表す差分情報Ｄの差分内容に応じてプログラム変更ルールを決定して、プログラムＰを変更することができる。
【０１６８】
＜サブタスク化処理手順＞
つぎに、図２２に示したステップＳ２２０６のサブタスク化処理の具体的な処理手順について説明する。
【０１６９】
図２４は、サブタスク化処理の具体的処理手順の一例を示すフローチャートである。図２４のフローチャートにおいて、まず、変更装置１０１は、タスクＴのブロックｂｋ１を複製することにより、サブタスクＳＴのブロックｂｋを生成する（ステップＳ２４０１）。
【０１７０】
そして、変更装置１０１は、差分情報Ｄを参照して、サブタスクＳＴのブロックｂｋ内の差分箇所（設定項目の値）を、新設システムの情報処理装置ＮＭの設定項目の値に置換する（ステップＳ２４０２）。つぎに、変更装置１０１は、タスクＴのブロックｂｋ内にサブタスクＳＴの呼出処理を挿入する（ステップＳ２４０３）。
【０１７１】
そして、変更装置１０１は、タスクＴのブロックｂｋ内の差分箇所（情報処理装置ＥＭのホスト名の値）を削除して（ステップＳ２４０４）、本フローチャートによる一連の処理を終了し、サブタスク化処理を呼び出したステップに戻る。
【０１７２】
これにより、新設システムの情報処理装置ＮＭに適用するサブタスクＳＴのブロックｂｋを生成することができる。
【０１７３】
＜条件付きサブタスク化処理手順＞
つぎに、図２２に示したステップＳ２２０７の条件付きサブタスク化処理の具体的な処理手順について説明する。
【０１７４】
図２５は、条件付きサブタスク化処理の具体的処理手順の一例を示すフローチャートである。図２５のフローチャートにおいて、まず、変更装置１０１は、タスクＴのブロックｂｋ１を複製することにより、サブタスクＳＴのブロックｂｋを生成する（ステップＳ２５０１）。
【０１７５】
そして、変更装置１０１は、サブタスクＳＴのブロックｂｋ内に情報処理装置ＮＭの動作条件に関する条件文による処理を挿入する（ステップＳ２５０２）。つぎに、変更装置１０１は、差分情報Ｄを参照して、サブタスクＳＴのブロックｂｋ内の差分箇所（設定項目の値）を、新設システムの情報処理装置ＮＭの設定項目の値に置換する（ステップＳ２５０３）。
【０１７６】
つぎに、変更装置１０１は、タスクＴのブロックｂｋ内にサブタスクＳＴの呼出処理を挿入する（ステップＳ２５０４）。そして、変更装置１０１は、タスクＴのブロックｂｋ内の差分箇所（情報処理装置ＥＭのホスト名の値）を削除して（ステップＳ２５０５）、本フローチャートによる一連の処理を終了し、条件付きサブタスク化処理を呼び出したステップに戻る。
【０１７７】
これにより、メンテナンスモードなどの動作条件が設定された新設システムの情報処理装置ＮＭに適用するサブタスクＳＴのブロックｂｋを生成することができる。
【０１７８】
以上説明したように、変更装置１０１によれば、現行システムの情報処理装置ＥＭの構成情報と、新設システムの情報処理装置ＮＭの構成情報との差分を表す差分情報Ｄを取得することができる。また、変更装置１０１によれば、現行システムの情報処理装置ＥＭに適用するプログラムＰから、差分情報Ｄに対応するタスクＴのブロックｂｋを検出することができる。これにより、プログラムＰ内の変更対象となるタスクＴのブロックｂｋを検出することができる。
【０１７９】
また、変更装置１０１によれば、差分情報Ｄに基づいて、ホスト名（Ｈｏｓｔｓ）の値が情報処理装置ＥＭ，ＮＭ間で異なるか否かを判定することができる。また、変更装置１０１によれば、ホスト名とは異なる他の設定項目の値が情報処理装置ＥＭ，ＮＭ間で異なるか否かを判定することができる。そして、変更装置１０１によれば、ホスト名の値が情報処理装置ＥＭ，ＮＭ間で異なり、かつ、他の設定項目の値が情報処理装置ＥＭ，ＮＭ間で異なる場合、プログラム変更ルールを「サブタスクを作成」に決定することができる。
【０１８０】
これにより、新設システムの情報処理装置ＮＭにプログラムＰを適用するために、プログラムＰ内のタスクＴのブロックｂｋに対して、「サブタスクを作成」のプログラム変更ルールを適用すればよいことを判断することができる。
【０１８１】
また、変更装置１０１によれば、ホスト名の値が情報処理装置ＥＭ，ＮＭ間で異なり、かつ、他の設定項目の値が情報処理装置ＥＭ，ＮＭ間で同じ場合、プログラム変更ルールを「ホスト名の置換」に決定することができる。これにより、新設システムの情報処理装置ＮＭにプログラムＰを適用するために、プログラムＰ内のタスクＴのブロックｂｋに対して、「ホスト名の置換」のプログラム変更ルールを適用すればよいことを判断することができる。
【０１８２】
また、変更装置１０１によれば、ホスト名の値が情報処理装置ＥＭ，ＮＭ間で同じ場合、タスクＴのブロックｂｋを参照して、タスクＴの実行先が複数の情報処理装置か否かを判定することができる。そして、変更装置１０１によれば、タスクＴの実行先が複数の情報処理装置の場合、プログラム変更ルールを「サブタスクを作成」に決定することができる。これにより、新設システムの情報処理装置ＮＭにプログラムＰを適用するために、プログラムＰ内のタスクＴのブロックｂｋに対して、「サブタスクを作成」のプログラム変更ルールを適用すればよいことを判断することができる。
【０１８３】
また、変更装置１０１によれば、ホスト名の値が情報処理装置ＥＭ，ＮＭ間で同じ、かつ、タスクＴの実行先が１つの情報処理装置の場合、プログラム変更ルールを「設定項目の置換」に決定することができる。これにより、新設システムの情報処理装置ＮＭにプログラムＰを適用するために、プログラムＰ内のタスクＴのブロックｂｋに対して、「設定項目の置換」のプログラム変更ルールを適用すればよいことを判断することができる。
【０１８４】
また、変更装置１０１によれば、プログラム変更ルールを「サブタスクを作成」に決定した場合、タスクＴのブロックｂｋ１を複製することにより、サブタスクＳＴのブロックｂｋを生成することができる。また、変更装置１０１によれば、差分情報Ｄを参照して、サブタスクＳＴのブロックｂｋ内の差分箇所（設定項目の値）を、新設システムの情報処理装置ＮＭの設定項目の値に置換することができる。また、変更装置１０１によれば、タスクＴのブロックｂｋ内にサブタスクＳＴの呼出処理を挿入するとともに、タスクＴのブロックｂｋ内の差分箇所（情報処理装置ＥＭのホスト名の値）を削除することができる。
【０１８５】
これにより、新設システムの情報処理装置ＮＭに適用するサブタスクＳＴのブロックｂｋを生成することができる。また、プログラムＰ内のタスクＴの実行時にサブタスクＳＴを呼び出して実行することができる。
【０１８６】
また、変更装置１０１によれば、新設システムの情報処理装置ＮＭに動作条件が設定されている場合には、サブタスクＳＴのブロックｂｋ内に情報処理装置ＮＭの動作条件に関する条件文による処理を挿入することができる。これにより、新設システムの情報処理装置ＮＭに設定されている動作条件に応じてサブタスクＳＴを実行することができる。
【０１８７】
また、変更装置１０１によれば、プログラム変更ルールを「ホスト名の置換」に決定した場合、タスクＴのブロックｂｋ内の情報処理装置ＥＭのホスト名の値を、情報処理装置ＮＭのホスト名の値に置換することができる。これにより、タスクＴのブロックｂｋを、新設システムの情報処理装置ＮＭに適用可能に変更することができる。
【０１８８】
また、変更装置１０１によれば、プログラム変更ルールを「設定項目の置換」に決定した場合、タスクＴのブロックｂｋ内の情報処理装置ＥＭの他の設定項目の値を、情報処理装置ＮＭの他の設定項目の値に置換することができる。これにより、タスクＴのブロックｂｋを、新設システムの情報処理装置ＮＭに適用可能に変更することができる。
【０１８９】
また、変更装置１０１によれば、現行システムおよび新設システムでプログラムＰを動作させる場合、ＣＭＤＢ１１０，１２０に各情報処理装置ＥＭ，ＮＭの定義情報ｄｆが登録されているか否かを判断することができる。また、変更装置１０１によれば、各情報処理装置ＥＭ，ＮＭの定義情報ｄｆが登録されている場合、条件文によりタスクＴを、現行システムおよび新設システムごとのタスクＴに分割することによりプログラムＰを変更することができる。これにより、現行システムおよび新設システムで動作するプログラムＰを生成することができる。
【０１９０】
また、変更装置１０１によれば、各情報処理装置ＥＭ，ＮＭの定義情報ｄｆが未登録の場合には、ｉｆ文等の条件文を用いて、プログラムＰを動作させるシステム（現行システムまたは新設システム）に応じて実行する処理（タスクＴまたはサブタスクＳＴ）を切り替えるプログラムＰを生成することができる。これにより、現行システムおよび新設システムで動作するプログラムＰを生成することができる。
【０１９１】
これらのことから、変更装置１０１によれば、システム間でプログラムＰを移行する際の移行作業にかかる工数を低減させることができる。また、システム間の構成情報の変更を意識せずにプログラムＰを記述することができるようになるため、コーディング速度の向上を図ることができる。
【０１９２】
なお、本実施の形態で説明した変更方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本変更プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本変更プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１９３】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１９４】
（付記１）コンピュータに、
第１の情報処理装置の構成情報と、前記第１の情報処理装置に対応する第２の情報処理装置の構成情報との差分を表す差分情報を取得し、
前記第１の情報処理装置に適用するプログラムに記述された処理単位のブロックのうち、取得した前記差分情報に対応する処理のブロックを検出し、
前記差分情報の差分内容に基づいて、検出した前記処理のブロックに適用する変更の種別を決定する、
処理を実行させることを特徴とする変更プログラム。
【０１９５】
（付記２）前記コンピュータに、
前記差分情報に基づいて、前記第１および第２の情報処理装置に設定される複数の設定項目のうち、情報処理装置を識別する特定の設定項目の値が情報処理装置間で異なるか否かを判定し、
前記複数の設定項目のうち、前記特定の設定項目とは異なる他の設定項目の値が情報処理装置間で異なるか否かを判定する、処理を実行させ、
前記決定する処理は、
前記特定の設定項目の値が前記情報処理装置間で異なり、かつ、前記他の設定項目の値が前記情報処理装置間で異なる場合、前記種別を、前記処理とは別の処理のブロックを生成する種別に決定することを特徴とする付記１に記載の変更プログラム。
【０１９６】
（付記３）前記決定する処理は、
前記特定の設定項目の値が前記情報処理装置間で異なり、かつ、前記他の設定項目の値が前記情報処理装置間で同じ場合、前記種別を、前記処理のブロック内の前記特定の設定項目の値を置換する種別に決定することを特徴とする付記２に記載の変更プログラム。
【０１９７】
（付記４）前記コンピュータに、
前記特定の設定項目の値が前記情報処理装置間で同じ場合、前記処理のブロックを参照して、前記処理の実行先が複数の情報処理装置か否かを判定する処理を実行させ、
前記決定する処理は、
前記処理の実行先が複数の情報処理装置の場合、前記種別を、前記処理とは別の処理のブロックを生成する種別に決定することを特徴とする付記２または３に記載の変更プログラム。
【０１９８】
（付記５）前記決定する処理は、
前記処理の実行先が複数の情報処理装置ではない場合、前記種別を、前記処理のブロック内の前記他の設定項目の値を置換する種別に決定することを特徴とする付記４に記載の変更プログラム。
【０１９９】
（付記６）前記コンピュータに、
前記種別を前記別の処理のブロックを生成する種別に決定した場合、前記処理のブロックを複製して前記別の処理のブロックを生成し、
前記差分情報に基づいて、前記別の処理のブロック内の各設定項目の値を、前記第２の情報処理装置の前記各設定項目の値に置換し、
前記処理のブロック内の前記第１の情報処理装置の前記特定の設定項目の値を削除するとともに、前記処理のブロック内に前記別の処理を呼び出すための記述を挿入する、
処理を実行させることを特徴とする付記２〜５のいずれか一つに記載の変更プログラム。
【０２００】
（付記７）前記コンピュータに、
前記第２の情報処理装置に動作条件が設定されている場合、前記別の処理のブロック内に前記動作条件に関する条件文を挿入する処理を実行させることを特徴とする付記６に記載の変更プログラム。
【０２０１】
（付記８）前記コンピュータに、
前記プログラムを前記第１および第２の情報処理装置に適用する場合、前記第１および第２の情報処理装置それぞれの設定項目の値を定義する定義情報があるか否かを判定し、
前記定義情報がある場合、前記定義情報に基づいて、前記処理とは別の処理のブロックを生成する、
処理を実行させることを特徴とする付記２〜７のいずれか一つに記載の変更プログラム。
【０２０２】
（付記９）前記コンピュータに、
前記定義情報がない場合、前記差分情報に基づいて、前記第１および第２の情報処理装置に設定される複数の設定項目のうち、情報処理装置を識別する特定の設定項目の値が情報処理装置間で異なるか否かを判定し、
前記定義情報がない場合に、前記複数の設定項目のうち、前記特定の設定項目とは異なる他の設定項目の値が情報処理装置間で異なるか否かを判定する、
処理を実行させることを特徴とする付記８に記載の変更プログラム。
【０２０３】
（付記１０）前記コンピュータに、
前記種別を前記処理のブロック内の前記特定の設定項目の値を置換する種別に決定した場合、前記処理のブロック内の前記第１の情報処理装置の前記特定の設定項目の値を、前記第２の情報処理装置の前記特定の設定項目の値に置換する処理を実行させることを特徴とする付記３〜５のいずれか一つに記載の変更プログラム。
【０２０４】
（付記１１）前記コンピュータに、
前記種別を前記処理のブロック内の前記他の設定項目の値を置換する種別に決定した場合、前記処理のブロック内の前記第１の情報処理装置の前記他の設定項目の値を、前記第２の情報処理装置の前記他の設定項目の値に置換する処理を実行させることを特徴とする付記５に記載の変更プログラム。
【０２０５】
（付記１２）第１の情報処理装置の構成情報と、前記第１の情報処理装置に対応する第２の情報処理装置の構成情報との差分を表す差分情報を取得する取得部と、
前記第１の情報処理装置に適用するプログラムに記述された処理単位のブロックのうち、前記取得部によって取得された前記差分情報に対応する処理のブロックを検出する検出部と、
前記差分情報の差分内容に基づいて、前記検出部によって検出された前記処理のブロックに適用する変更の種別を決定する決定部と、
を有することを特徴とする変更装置。
【０２０６】
（付記１３）コンピュータが、
第１の情報処理装置の構成情報と、前記第１の情報処理装置に対応する第２の情報処理装置の構成情報との差分を表す差分情報を取得し、
前記第１の情報処理装置に適用するプログラムに記述された処理単位のブロックのうち、取得した前記差分情報に対応する処理のブロックを検出し、
前記差分情報の差分内容に基づいて、検出した前記処理のブロックに適用する変更の種別を決定する、
処理を実行することを特徴とする変更方法。
【０２０７】
（付記１４）コンピュータに、
第１の情報処理装置の構成情報と、前記第１の情報処理装置に対応する第２の情報処理装置の構成情報との差分を表す差分情報を取得し、
前記第１の情報処理装置に適用するプログラムに記述された処理単位のブロックのうち、取得した前記差分情報に対応する処理のブロックを検出し、
前記差分情報の差分内容に基づいて、検出した前記処理のブロックに適用する変更の種別を決定する、
処理を実行させる変更プログラムを記録したことを特徴とする前記コンピュータに読み取り可能な記録媒体。
【符号の説明】
【０２０８】
１０１  変更装置
５０１  取得部
５０２  作成部
５０３  検出部
５０４  決定部
５０５  変更部
５０６  出力部
【図１】
2014194632.tif 000003
【図２】
2014194632.tif 000004
【図３】
2014194632.tif 000005
【図４】
2014194632.tif 000006
【図５】
2014194632.tif 000007
【図６】
2014194632.tif 000008
【図７】
2014194632.tif 000009
【図８】
2014194632.tif 000010
【図９】
2014194632.tif 000011
【図１０】
2014194632.tif 000012
【図１１】
2014194632.tif 000013
【図１２】
2014194632.tif 000014
【図１３】
2014194632.tif 000015
【図１４】
2014194632.tif 000016
【図１５】
2014194632.tif 000017
【図１６】
2014194632.tif 000018
【図１７】
2014194632.tif 000019
【図１８】
2014194632.tif 000020
【図１９】
2014194632.tif 000021
【図２０】
2014194632.tif 000022
【図２１】
2014194632.tif 000023
【図２２】
2014194632.tif 000024
【図２３】
2014194632.tif 000025
【図２４】
2014194632.tif 000026
【図２５】
2014194632.tif 000027