(57)【要約】【課題】システムの変更に応じて、変更前における作業の手順を流用した変更後の手順を作成することができる手順作成プログラム、手順作成方法及び手順作成装置を提供する。【解決手段】システムを構成するハードウェア又はソフトウェアの要素に変更が生じた場合、要素を操作する変更前の手順から変更後の手順を作成する処理をコンピュータに実行させる手順作成プログラムであって、変更前及び変更後におけるシステムの要素に係る差分を抽出し、操作対象の要素及び操作項目並びに変更後のシステムの構成情報及び変更後の手順を生成するためのルールに基づいて、変更後の第一手順を生成し、生成した変更後の第一手順から、前記差分に係る要素を操作する第二手順を抽出し、抽出した第二手順に基づいて、変更前の手順を処理し、処理した手順を変更後の第三手順に設定する。【選択図】図１８
2015207059.tif 000002
【特許請求の範囲】
【請求項１】
システムを構成するハードウェア又はソフトウェアの要素に変更が生じた場合、要素を操作する変更前の手順から変更後の手順を作成する処理をコンピュータに実行させる手順作成プログラムであって、
変更前及び変更後におけるシステムの要素に係る差分を抽出し、
操作対象の要素及び操作項目並びに変更後のシステムの構成情報及び変更後の手順を生成するためのルールに基づいて、変更後の第一手順を生成し、
生成した変更後の第一手順から、前記差分に係る要素を操作する第二手順を抽出し、
抽出した第二手順に基づいて、変更前の手順を処理し、
処理した手順を変更後の第三手順に設定する
処理をコンピュータに実行させる手順作成プログラム。
【請求項２】
システムを構成するハードウェア又はソフトウェアの要素に変更が生じた場合、要素を操作する変更前の手順から変更後の手順を作成する処理をコンピュータに実行させる手順作成プログラムであって、
変更前及び変更後におけるシステムの要素並びに該要素間の関連に係る差分を抽出し、
操作対象の要素及び操作項目並びに変更後のシステムの構成情報及び変更後の手順を生成するためのルールに基づいて、変更後の第一手順を生成し、
生成した変更後の第一手順から、前記差分に係る要素を操作する第二手順を抽出し、
抽出した第二手順に基づいて、変更前の手順を処理し、
処理した手順が前記差分に係る要素間の関連と整合するか否かを判定し、
整合すると判定した場合、処理した手順を第三手順に設定する
処理をコンピュータに実行させる手順作成プログラム。
【請求項３】
前記差分を抽出する処理が変更前のシステムに追加された要素又は変更前のシステムから関連が変更された要素を抽出した場合、変更前の手順に前記第二手順が含まれるか否かを判定し、
変更前の手順に前記第二手順が含まれないと判定した場合、変更前の手順の先頭又は末尾に前記第二手順を配置する
請求項１又は請求項２に記載の手順作成プログラム。
【請求項４】
変更前の手順に前記第二手順が含まれると判定した場合、変更前の手順を第三手順に設定する
請求項３に記載の手順作成プログラム。
【請求項５】
変更前及び変更後におけるシステムの要素間の関連に係る差分を抽出し、
変更前の手順に前記第二手順が含まれないと判定した場合、該第二手順で行なう一の操作が変更前の手順で行う操作に含まれるか否かを判定し、
前記一の操作が変更前の手順で行う操作に含まれないと判定した場合、該一の操作を変更前の手順の先頭又は末尾に配置し、
配置した前記一の操作が含まれた変更前の手順が前記差分に係る要素間の関連と整合するか否かを判定し、
整合すると判定した場合、前記一の操作が含まれた変更前の手順を第三手順に設定する
請求項３又は請求項４に記載の手順作成プログラム。
【請求項６】
前記一の操作が含まれた変更前の手順が前記差分に係る要素間の関連と整合しないと判定した場合、前記一の操作を変更前の手順の間に配置し、
配置した前記一の操作が含まれた変更前の手順が前記差分に係る要素間の関連と整合するか否かを判定し、
整合すると判定した場合、前記一の操作が含まれた変更前の手順を第三手順に設定する
請求項５に記載の手順作成プログラム。
【請求項７】
操作対象の要素及び操作項目並びに変更前のシステムの構成情報及び変更前の手順を生成するためのルールに基づいて、変更前の第四手順を生成し、
生成した変更前の第四手順から、前記差分に係る要素を操作する第二手順を抽出し、
前記差分を抽出する処理が変更前のシステムから削除された要素を抽出した場合、前記第二手順で操作する要素の全てが変更後のシステムの構成情報に含まれないか否かを判定し、
前記要素の全てが変更後のシステムの構成情報に含まれないと判定した場合、変更前の手順から前記第二手順を削除した手順を第三手順に設定する
請求項１から請求項６までのいずれか一項に記載の手順作成プログラム。
【請求項８】
前記第二手順で操作する要素の一部が変更後のシステムの構成情報に含まれない場合、該第二手順で操作する要素のうち、変更後のシステムの構成情報に含まれない要素に対する操作を変更前の手順から削除した手順を第三手順に設定する
請求項７に記載の手順作成プログラム。
【請求項９】
前記第二手順及び該第二手順で操作する要素間の関連を対応付けて、アクセス可能な記憶部に記憶する
請求項１から請求項８までのいずれか一項に記載の手順作成プログラム。
【請求項１０】
前記システムと異なる第二システムに対して、変更前及び変更後における該第二システムの要素間の関連に係る差分を抽出し、
抽出した前記差分に係る要素間の関連に基づいて、前記記憶部から第二手順を検索し、
検索した第二手順に基づいて、変更前の第二システムに係る手順を処理し、
処理した手順を第二システムの第三手順に設定する
請求項９に記載の手順作成プログラム。
【請求項１１】
システムを構成するハードウェア又はソフトウェアの要素に変更が生じた場合、要素を操作する変更前の手順から変更後の手順を作成する手順作成方法であって、
変更前及び変更後におけるシステムの要素に係る差分を抽出し、
操作対象の要素及び操作項目並びに変更後のシステムの構成情報及び変更前の手順を生成するためのルールに基づいて、変更後の第一手順を生成し、
生成した変更後の第一手順から、前記差分に係る要素を操作する第二手順を抽出し、
抽出した第二手順に基づいて、変更前の手順を処理し、
処理した手順を変更後の第三手順に設定する
手順作成方法。
【請求項１２】
システムを構成するハードウェア又はソフトウェアの要素に変更が生じた場合、要素を操作する変更前の手順から変更後の手順を作成する手順作成装置であって、
変更前及び変更後におけるシステムの要素に係る差分を抽出する抽出部と、
操作対象の要素及び操作項目を受け付ける受付部と、
該受付部が受け付けた要素及び操作項目並びに変更後のシステムの構成情報及び変更後の手順を生成するためのルールに基づいて、変更後の第一手順を生成する生成部と、
該生成部が生成した変更後の第一手順から、前記抽出部が抽出した差分に係る要素を操作する第二手順を抽出する第二手順抽出部と、
該第二手順抽出部が抽出した第二手順に基づいて、変更前の手順を処理する処理部と、
該処理部が処理した手順を変更後の第三手順に設定する設定部と
を備える手順作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、システムの運用に係る手順を作成する手順作成プログラム、手順作成方法及び手順作成装置に関する。
【背景技術】
【０００２】
システムを運用するために、作業者がシステムを構成する要素を操作する手順を記述した運用手順書がある。運用手順はシステムを構成する要素に対する操作の順序であるため、システムの要素が変更された場合、運用手順書を更新する必要がある。従来、システムの要素が変更された場合、運用手順書は手作業で更新されていた。一方、運用手順書の作成ルールに基づいて、運用手順書を自動で作成する手法も存在する（例えば、特許文献１、２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１２７６５６号公報
【特許文献２】特開２０１３−１４０５７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、システムの要素が変更された場合、システム管理者には、実績がある過去の手順をなるべく変更せずに、運用手順書を更新したいという希望がある。すなわち、システム管理者には、既存の運用手順書を極力流用して運用手順書を更新したいという希望がある。しかしながら、運用手順書を自動で作成する従来の手法は、作成ルールに基づいて運用手順書を作成するため、システムの要素の変更に関係なく、変更する必要がない手順までも変更してしまう。
【０００５】
本願の目的の１つは、システムの変更に応じて、変更前における作業の手順を流用した変更後の手順を作成することができる手順作成プログラム、手順作成方法及び手順作成装置を提供することにある。
【課題を解決するための手段】
【０００６】
本願の一観点は、システムを構成するハードウェア又はソフトウェアの要素に変更が生じた場合、要素を操作する変更前の手順から変更後の手順を作成する処理をコンピュータに実行させる手順作成プログラムであって、変更前及び変更後におけるシステムの要素に係る差分を抽出し、操作対象の要素及び操作項目並びに変更後のシステムの構成情報及び変更後の手順を生成するためのルールに基づいて、変更後の第一手順を生成し、生成した変更後の第一手順から、前記差分に係る要素を操作する第二手順を抽出し、抽出した第二手順に基づいて、変更前の手順を処理し、処理した手順を変更後の第三手順に設定する。
【発明の効果】
【０００７】
本願の一観点によれば、システムの変更に応じて、変更前における作業の手順を流用した変更後の手順を作成することができる。
【図面の簡単な説明】
【０００８】
【図１】手順作成装置のハードウェア構成例を示すブロック図である。
【図２】手順を生成する対象であるシステムの一例を示す説明図である。
【図３】システム運用の作業に関する階層構造を示す説明図である。
【図４】システム構成情報の一例を示す説明図である。
【図５】ＬａｙｅｒＵｐの一例を示す説明図である。
【図６】手順書き換えルールの一例を示す説明図である。
【図７】ワーク展開ルールの一例を示す説明図である。
【図８】プロシージャ展開ルールの一例を示す説明図である。
【図９】手順生成処理により生成される木構造の例１を示す説明図である。
【図１０】手順生成処理により生成される木構造の例２を示す説明図である。
【図１１】手順生成処理により生成される木構造の例３を示す説明図である。
【図１２】手順生成処理により生成される木構造の例４を示す説明図である。
【図１３】手順生成処理により生成される木構造の例５を示す説明図である。
【図１４】手順生成処理により生成される木構造の例６を示す説明図である。
【図１５】手順生成処理により生成される木構造の例７を示す説明図である。
【図１６】手順生成処理において生成される手順の一例を示す説明図である。
【図１７】手順作成装置の機能構成例を示す機能ブロック図である。
【図１８】変更後のシステム運用に用いる手順を作成する処理の概要手順の一例を示すフローチャートである。
【図１９】変更前及び変更後のシステム構成例を示す説明図である。
【図２０】変更前のシステム構成情報を示す説明図である。
【図２１】変更後のシステム構成情報を示す説明図である。
【図２２】変更前のシステムにおける既存手順を示す説明図である。
【図２３】システム構成の差分情報を示す説明図である。
【図２４】変更後のシステムに対して自動生成された手順を示す説明図である。
【図２５】変更後のシステムに対して自動生成された木構造の一部を示す説明図である。
【図２６】部分手順の一例を示す説明図である。
【図２７】部分手順抽出処理の手順の一例を示すフローチャートである。
【図２８】部分手順と、部分手順を構成する操作とを既存手順の先頭又は末尾に配置した一例を示す説明図である。
【図２９】変更前及び変更後のシステム構成例を示す説明図である。
【図３０】既存手順変更要否判定処理の手順の一例を示すフローチャートである。
【図３１】変更前及び変更後のシステム構成例を示す説明図である。
【図３２】変更後のシステム構成情報を示す説明図である。
【図３３】差分情報を示す説明図である。
【図３４】変更後のシステムに対して自動生成された手順を示す説明図である。
【図３５】部分手順の操作が間に入れられた変更後暫定手順の一例を示す説明図である。
【図３６】追加手順処理の手順の一例を示すフローチャートである。
【図３７】変更後のシステムにおける新手順についての出力の一例を示す説明図である。
【図３８】手順作成装置の機能構成例を示す機能ブロック図である。
【図３９】部分手順データのデータレイアウトの一例を示す説明図である。
【図４０】部分手順蓄積処理の手順の一例を示すフローチャートである。
【図４１】変更後手順作成処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
本実施の形態に係る手順作成装置を、その図面に基づいて説明する。手順作成装置は、システムを運用するために、システムを構成するハードウェア又はソフトウェアの要素を操作する手順を作成する。システム運用に係る作業者は、要素の操作すなわち作業を順序付けて記述したドキュメントの手順書を参照して、作業を行う。手順作成装置は、作業の手順に係るデータのみを生成してもよいし、当該データに基づく手順書を作成してもよい。以下では、手順作成装置は、作業の手順に係るデータを作成するものとする。
【００１０】
実施の形態１
図１は、手順作成装置１０のハードウェア構成例を示すブロック図である。手順作成装置１０は、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ（Read Only Memory）１２及びＲＡＭ（Random Access Memory）１３を含む。また、手順作成装置１０は、ハードディスク１４、光学ドライブ１５、表示部１６、操作部１７、タイマ１８及び通信部１９を含む。
【００１１】
ＣＰＵ１１は、ソフトウェアプログラムに記述された命令セットを実行するためのプロセッサである。ＣＰＵ１１は、手順作成装置１０の各構成部を制御する。ＣＰＵ１１は、ハードディスク１４に記憶されたプログラム１ＰをＲＡＭ１３に読み出し、ＲＡＭ１３に読み出したプログラム１Ｐを実行する。
【００１２】
ＲＯＭ１２は、読み出し専用記憶媒体である。ＲＯＭ１２は、例えば不揮発性の半導体メモリである。ＲＯＭ１２は、手順作成装置１０の起動時にＣＰＵ１１が実行するＢＩＯＳ（Basic Input/Output System）、ファームウェア等を記憶している。
【００１３】
ＲＡＭ１３は、主記憶装置である。ＲＡＭ１３は、例えばＳＲＡＭ又はＤＲＡＭであり、ＣＰＵ１１が実行する処理の過程で必要な作業変数、データ等を一時的に記憶する。なお、ＲＡＭ１３の代わりにフラッシュメモリ、メモリカード等が用いられてもよい。
【００１４】
ハードディスク１４は、補助記憶装置である。ハードディスク１４は、大容量の情報の記憶が可能なフラッシュメモリ又はＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ＢＤ（Blu-ray（登録商標） Disc）等の光ディスク１ｄで代替されてもよい。ハードディスク１４は、手順作成装置１０の内部に取り付けられるものであっても、手順作成装置１０の外部に置かれるものであってもよい。ハードディスク１４は、ネットワーク１Ｎを介してアクセス可能な記憶装置（例えば、データベースサーバ）で代替されてもよい。
ハードディスク１４は、ＣＰＵ１１が実行するプログラム１Ｐ及び各種データを記憶している。
【００１５】
光学ドライブ１５は、外部の記憶媒体であるＣＤ、ＤＶＤ、ＢＤ等の光ディスク１ｄから情報を読み出し、光ディスク１ｄに情報を記憶する記憶装置である。
【００１６】
表示部１６は、画像を表示する表示装置である。表示部１６は、例えば液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ、ＣＲＴ（Cathode Ray Tube）ディスプレイ等の画面を有し、ＣＰＵ１１からの指示に従って、プログラム１Ｐに係る各種情報を当該画面に表示する。
【００１７】
操作部１７は、ユーザが各種の入力を行うキーボード、マウス、タッチパネル、電源スイッチ等の入力デバイスである。操作部１７は、ユーザによる操作に基づいて入力信号を生成する。生成された入力信号は、バス１ｂを介してＣＰＵ１１に出力される。
【００１８】
タイマ１８は、クロックを数えることで一定時間の経過を計時する装置である。タイマ１８は、計時した結果をＣＰＵ１１に出力する。
【００１９】
通信部１９は、有線又は無線通信のモデム、ＬＡＮ（Local Area Network）カード、ルータ、ＵＳＢ（Universal Serial Bus）端子、接続コネクタ等である。通信部１９は、ネットワーク１Ｎと接続されている。
【００２０】
なお、ＣＰＵ１１は、光学ドライブ１５を介して、プログラム１Ｐを光ディスク１ｄから読み込んでもよい。ＣＰＵ１１は、通信部１９を介して、プログラム１Ｐを外部の情報処理装置又は記憶装置から読み込んでもよい。さらに、プログラム１Ｐを記憶したフラッシュメモリ等の半導体メモリ１ｍが、手順作成装置１０内に実装されていてもよい。
また、ＣＰＵ１１は、各種データをハードディスク１４に記憶するのではなく、通信部１９を介して、外部の情報処理装置又は記憶装置に記憶してもよい。更に、ＣＰＵ１１は、光学ドライブ１５を介して、各種データを光ディスク１ｄに記憶してもよい。
【００２１】
手順作成装置１０は、システムを構成する要素が変更された場合、変更前又は変更後の手順を自動生成する。手順作成装置１０は、自動生成した手順、変更前の手順等を用いて、変更前の手順を極力流用した変更後の手順を作成する。そこで、手順作成装置１０の機能及び動作を説明する前に、手順作成装置１０が手順を自動生成する方法について説明する。
【００２２】
図２は、手順を生成する対象であるシステムの一例を示す説明図である。対象のシステムは、ハードウェアの要素と、ソフトウェアの要素とを含む。ハードウェアの要素は四角で、ソフトウェアの要素は角丸四角で表されている。
【００２３】
ハードウェアの要素は、“Web Server”と、“Ap1 Server”とを含む。Apは、アプリケーションの意味である。“Web Server”は、外部のインターネットと接続されている。“Web Server”から“Ap1 Server”へ向かう矢印は、“Web Server”を関連元とし、“Ap1 Server”を関連先とする関連を示している。
【００２４】
ソフトウェアの要素は、“apache”と、“jobnet”とを含む。“Web Server”上で、デーモンの“apache”が実行される。“Ap1 Server”上で、“jobnet”が実行される。
【００２５】
図３は、システム運用の作業に関する階層構造を示す説明図である。システム運用の作業すなわち要素の操作は、階層化された木構造のノードで表現することができる。ここでのノードはクラスと捉えることもできる。作業に対応するクラスの総称をアクションと呼ぶ。アクションに属するクラスは、上位より下位へ向かって、タスク、ワーク、プロシージャ及びインストラクションを含む。タスクは、業務により分類されるクラスである。
【００２６】
タスクは、１つ以上のワークを有している。ワークは、作業の基本単位となるクラスである。ワークの一例は、“Ap1 Server”の停止である。ワークは、１つ以上のプロシージャを有している。プロシージャは、ワークを実現する作業上のステップである。プロシージャは、１つ以上のインストラクションを有している。インストラクションは、システム運用のために作成される手順で行われる作業のクラスである。インストラクションの一例は、“Ap1 Server”の停止、“Ap1 Server”の停止確認等である。
【００２７】
アクションに属するクラスは、一般に（アクション，ターゲット）の組で表現される。ターゲットとは、操作の対象となる要素である。手順作成装置１０は、作業内容を受け付ける。作用内容は、作業項目及び作業対象を含む。ここで、作業項目は、例えば停止、起動等である。作業対象とは、ターゲットである。手順作成装置１０は、受け付けた作業項目及び作業対象から、（作業項目，作業対象）の組を（ワーク、ターゲット）の組に設定する。手順作成装置１０は、（ワーク、ターゲット）の組を（プロシージャ、ターゲット）の組に書き換え、木構造に展開する。更に、手順作成装置１０は、（プロシージャ、ターゲット）の組を（インストラクション、ターゲット）の組に書き換え、木構造に展開する。手順作成装置１０は、（インストラクション、ターゲット）の組に基づいて、作業の手順を作成する。
【００２８】
具体的に、手順作成装置１０が手順を自動生成する方法について説明する。手順作成装置１０は、作業項目、作業対象、システム構成情報、手順書き換えルール及び作業手順ルールを用いて、手順を自動生成する。作業項目及び作業対象については、既に説明したので、システム構成情報、手順書き換えルール及び作業手順ルールについて説明する。
【００２９】
図４は、システム構成情報の一例を示す説明図である。システム構成情報は、要素情報２１及び関連情報２２を含む。図４Ａは、要素情報２１を示している。図４Ｂは、関連情報２２を示している。要素情報２１は、要素、種別、名称及び表記を含む。要素は、システムを構成する要素の種類であり、ハードウェア又はソフトウェアである。種別は、要素の分類名であり、例えばサーバ、アプリケーション、ロードバランサ等である。名称は、より詳しい要素の名称である。表記は、要素の表記仕様である。本実施の形態では、要素はタグを用いたマークアップ形式で表記される。図４Ａにおいて、<Server></>タグは要素の種別がサーバであることを示し、<Application></>タグは要素の種別がアプリケーションであることを表わす。
【００３０】
関連情報２２は、要素間の関連関係を示す情報である。関連情報２２は、種別、関連元及び関連先を含む。種別は、関連の種類である。関連元は、関連する側の要素である。関連先は、関連される側の要素である。
【００３１】
種別がデータアクセスである場合に添えられた“Depend”は、後述する手順書き換えルールに関係し、操作が例えば停止である場合、関連関係に基づいて関連する要素を特定する動作を示している。種別がサーバ・アプリケーション関連である場合に添えられた“LayerUp”は、同様に後述する手順書き換えルールに関係し、関連関係に基づいて関連する要素を特定する動作を示している。
【００３２】
図５は、ＬａｙｅｒＵｐの一例を示す説明図である。“LayerUp”は、ある階層の操作対象に対して、直上の階層の要素を特定することを意味する。例えば、ターゲットがＯＳである場合、直上の階層のミドルウェアが“LayerUp”時のターゲットになる。ターゲットがアプリケーションである場合、直上の階層のＳＬＢサービスが“LayerUp”時のターゲットになる。
【００３３】
図６は、手順書き換えルールの一例を示す説明図である。手順書き換えルールは、（アクション，ターゲット）の組を新たな（アクション，ターゲット）の組に書き換えるルールである。以下では、書き換える対象の（アクション，ターゲット）の組を左辺、新たな（アクション，ターゲット）の組を右辺と呼ぶ。図６の手順書き換えルールは、ＸＭＬ形式で記述されている。
【００３４】
手順書き換えルールは、具体的にはアクションに属するクラスをワークレベルからインストラクションレベルまで展開する際に、ワークを書き換えるルールと、プロシージャを書き換えるルールとを含む。図６Ａは、ワークを書き換えるルールである。図６Ｂは、プロシージャを書き換えるルールである。
【００３５】
<Rule>は、ルールの識別情報である。<Node>は、書き換え対象の要素である。<Left>は、左辺の情報を示す。<Right>は、右辺の情報を示す。<actionClass>は、書き換え対象のクラスを示し、ワーク、プロシージャ、インストラクションのいずれかが設定される。<actionAttribute>は、書き換え対象の要素の属性であり、後述する作業手順ルールで定義されるアクションの属性である。<expression>は、ノードを展開する仕方である。<objectFunction>は、書き換え対象のクラスを展開する動作である。<actionFunction>は、クラスを書き換える際の動作を示す。例えば、“Expand”は、書き換え対象である（アクション，ターゲット）の組を、下位層の（アクション，ターゲット）の組に展開する動作である。
【００３６】
図６Ａは、RuleIDが“Ｒ８”であり、<actionAttribute>がstopであり、<actionClass>がワークである場合における手順書き換えルールの一例を示している。図６Ａは、Dependという関連のあるターゲットの全てを対象とする（アクション，ターゲット）の組と、下位層の（アクション，ターゲット）の組とに書き換えるルールを示している。図６Ｂは、RuleIDが“Ｒ５”であり、<actionAttribute>がstopであり、<actionClass>がプロシージャである場合における手順書き換えルールの一例を示している。図６Ｂは、LayerUpの（アクション，ターゲット）の組と、下位層の（アクション，ターゲット）の組とに書き換えるルールを示している。
【００３７】
作業手順ルールは、ワーク展開ルール及びプロシージャ展開ルールを含む。
図７は、ワーク展開ルール２５の一例を示す説明図である。図８は、プロシージャ展開ルール２６の一例を示す説明図である。図７及び図８では、ワーク展開ルール２５及びプロシージャ展開ルール２６のデータを夫々表形式で表している。ワーク展開ルール２５は、図３に示す階層において、ワークを下位のプロシージャへ展開するルールである。プロシージャ展開ルール２６は、図３に示す階層において、プロシージャを下位のインストラクションに展開するルールである。
【００３８】
ワーク展開ルール２５は、RuleID、Workname、WorkAttribute、TargetClass、Condition及びProcedureNameを含む。RuleIDは、ワーク展開ルール２５の識別記号である。WorkNameは、ワークの名称であり、起動、停止、パッチ適用等が設定されている。WorkAttributeは、ワークの属性情報であり、stop、start、normal等が設定されている。stopは、そのワークがターゲットの停止であることを示している。startは、そのワークがターゲットの起動であることを示している。normalは、そのワークが通常時作業であることを示している。
【００３９】
TargetClassは、ターゲットのクラスであり、LogicalServer、Application等が定義されている。Conditionは、ワーク展開ルール２５の適用条件であり、サーバの種別、ＯＳの種別等が設定されている。
【００４０】
ProcedureNameは、ワークから展開されるプロシージャの名称であり、単一のプロシージャの他に、プロシージャの列、ワーク等を設定することもできる。例えば、図７のワーク展開ルール２５におけるRuleID＝Ｗ７のルールでは、パッチ適用というワークが、ワーククラス（<work>と表す）の停止、プロシージャクラスの“パッチ適用”、ワーククラスの起動に展開されることを意味している。
【００４１】
手順作成装置１０は、ワーク展開ルール２５に基づいて、RuleID、Workname、WorkAttribute、TargetClass、Conditionに対応するワークを、ProcedureNameに対応するプロシージャに展開する。
【００４２】
プロシージャ展開ルール２６は、RuleID、ProcedureName及びInstructionNameを含む。RuleIDは、プロシージャ展開ルール２６の識別記号である。ProcedureNameは、プロシージャの名称であり、サーバノード停止／起動、ジョブネット停止／起動、デーモン停止／起動、パッチ適用等が設定されている。ProcedureAttributeは、プロシージャの属性情報であり、ワーク展開ルール２５のWorkAttributeと同様に、stop、start、normal等が設定されている。
【００４３】
InstructionNameは、プロシージャから展開されるインストラクションの名称であり、１つ又は複数のインストラクションが設定される。インストラクションは、サーバノード停止／起動、サーバノード停止／起動確認、ジョブネット停止／起動、ジョブネット停止／起動確認、デーモン停止／起動、デーモン停止／起動確認、パッチモジュール準備、パッチ適用、パッチ適用確認等である。
【００４４】
手順作成装置１０は、プロシージャ展開ルール２６に基づいて、RuleID、ProcedureNameに対応するプロシージャを、InstructionNameに対応するインストラクションに展開する。
【００４５】
より具体的に、手順作成装置１０が手順を自動生成する方法について説明する。
ＣＰＵ１１は、作業項目及び作業対象を受け付ける。ここでは、作業対象は“Ap1 Server”、作業項目は停止であったものとする。
図９は、手順生成処理により生成される木構造の例１を示す説明図である。ＣＰＵ１１は、（停止，Ap1 Server）の組をルートの子ノードとして、ワークレベルの木構造に追加する。
【００４６】
ＣＰＵ１１は、（停止，Ap1 Server）の組を書き換える手順書き換えルールがあるか調べる。図６Ａの手順書き換えルールにおける<actionClass>はWorkであり、<actionAttribute>はstopであるため、（停止，Ap1 Server）の組は手順書き換えルールのＲ８における<Left>の条件に一致する。そこで、ＣＰＵ１１は、ワークレベルの（停止，Ap1 Server）の組にＲ８の手順書き換えルールを適用することを決定する。
【００４７】
ＣＰＵ１１は、手順書き換えルールＲ８の<Right>の最初のノード条件である<objectFuntion>がDependであることから、図４Ｂの関連情報２２を参照する。ＣＰＵ１１は、関連先であるターゲットの“Ap1 Server”に対する関連元の要素“Web Server”を特定して、（停止，Web Server）の組を生成する。
【００４８】
図１０は、手順生成処理により生成される木構造の例２を示す説明図である。
ＣＰＵ１１は、同一階層（ワークレベル）かつノードの関連関係が関連元→関連先となるように、図１０の木構造に示すように、生成した（停止，Web Server）の組を兄ノードとして追加する。
【００４９】
ＣＰＵ１１は、手順書き換えルールＲ８における<Right>の次のノード条件である<actionFunction>がExpandであることから、図７のワーク展開ルール２５を参照する。（停止，Ap1 Server）の組に対応するワーク展開ルール２５は、WorkNameが停止であり、TargetClassがLogicalServerであるRuleID＝Ｗ１のルールである。ＣＰＵ１１は、（停止，Ap1 Server）の組に対してＷ１のワーク展開ルール２５を適用することを決定する。Ｗ１のProcedureNameは、サーバ停止である。そこで、ＣＰＵ１１は、（停止，Ap1 Server）の組を、１つ下位のプロシージャレベルの（サーバ停止，Ap1 Server）の組に書き換える。
【００５０】
図１１は、手順生成処理により生成される木構造の例３を示す説明図である。
ＣＰＵ１１は、書き換えた（サーバ停止，Ap1 Server）の組を、図１１に示すように、（停止，Ap1 Server）の組の子ノードとして木構造に追加する。
【００５１】
ＣＰＵ１１は、木構造に追加したプロシージャレベルの（サーバ停止，Ap1 Server）の組について、該当する手順書き換えルールがあるか否かを調べる。図６Ｂの手順書き換えルールにおける<actionClass>はProcedureであり、<actionAttribute>はStopであるため、（サーバ停止，Ap1 Server）の組は手順書き換えルールのＲ５における<Left>の条件に一致する。そこで、ＣＰＵ１１は、プロシージャレベルの（サーバ停止，Ap1 Server）の組にＲ５の手順書き換えルールを適用することを決定する。
【００５２】
ＣＰＵ１１は、手順書き換えルールＲ５における<Right>の最初のノード条件である<objectFuntion>がLayerUpであることから、図４Ｂの関連情報２２を参照する。ＣＰＵ１１は、関連先であるターゲットの“Ap1 Server”に対して、直上階層に位置する関連元の要素“jobnet”を特定して、（ジョブネット停止，jobnet）の組を生成する。
【００５３】
図１２は、手順生成処理により生成される木構造の例４を示す説明図である。
ＣＰＵ１１は、同一階層（プロシージャレベル）かつノードの先後関係が関連元→関連先となるように、図１２の木構造に示すように、生成した（ジョブネット停止，jobnet）の組を、（サーバ停止，Ap1 Server）の組に対する兄ノードとして追加する。
【００５４】
ＣＰＵ１１は、手順書き換えルールＲ５における<Right>の次のノード条件である<actionFunction>がExpandであることから、図８のプロシージャ展開ルール２６を参照する。プロシージャレベルの（サーバ停止，Ap1 Server）の組に対応するプロシージャ展開ルール２６は、ProducerNameがサーバノード停止であり、ProducerAttributeがstopであるRuleID＝Ｐ１のルールである。ＣＰＵ１１は、（サーバ停止，Ap1 Server）の組に対してＰ１のプロシージャ展開ルール２６を適用することとする。Ｐ１のInstructionNameは、サーバノード停止及びサーバノード停止確認である。そこで、ＣＰＵ１１は、（サーバ停止，Ap1 Server）の組を、１つ下位のインストラクションレベルの（サーバノード停止，Ap1 Server）、（サーバノード停止確認，Ap1 Server）の組に書き換える。
【００５５】
図１３は、手順生成処理により生成される木構造の例５を示す説明図である。
ＣＰＵ１１は、書き換えた（サーバノード停止，Ap1 Server）、（サーバノード停止確認，Ap1 Server）の組を、図１３に示すように、プロシージャレベルの（サーバ停止，Ap1 Server）の組に対する子ノードとして木構造に追加する。
【００５６】
図１４は、手順生成処理により生成される木構造の例６を示す説明図である。
ＣＰＵ１１は、プロシージャレベルの（ジョブネット停止，jobnet）の組についても同様に、（ジョブネット停止，jobnet）、（ジョブネット停止確認，jobnet）の組に書き換える。ＣＰＵ１１は、図１４に示すように、（ジョブネット停止，jobnet）、（ジョブネット停止確認，jobnet）の組を（ジョブネット停止，jobnet）の組に対する子ノードとして木構造に追加する。
【００５７】
図１５は、手順生成処理により生成される木構造の例７を示す説明図である。
ＣＰＵ１１は、全ての（アクション，ターゲット）の組が（インストラクション，ターゲット）の組に展開されるまで上記の書き換え処理を実行する。
ＣＰＵ１１は、図１５に示すように、全ての組がインストラクションレベルの（インストラクション，ターゲット）の組に展開された時点で、インストラクションレベルの組をノードの先後関係に基づいて先頭のノードから順に取り出す。
【００５８】
図１６は、手順生成処理において生成される手順の一例を示す説明図である。ＣＰＵ１１は、取り出した（インストラクション，ターゲット）の組を並べて要素に対する操作の手順とする。
【００５９】
次に、手順作成装置１０の機能について説明する。
図１７は、手順作成装置１０の機能構成例を示す機能ブロック図である。手順作成装置１０は、受付部１００、差分抽出部２００、手順自動生成部３００、部分手順抽出部４００、判定部５００、設定部６００及び出力部７００の各機能部を含む。受付部１００は、操作部１７に対応する機能部である。受付部１００は、作業内容すなわち作業項目及び作業対象を受け付ける。
【００６０】
差分抽出部２００は、変更前のシステム構成情報と、変更後のシステム構成情報とを比較することにより、変更前のシステムに係る要素と、変更後のシステムに係る要素との差分を抽出する機能部である。また、差分抽出部２００は、変更前のシステムに係る要素間の関連と、変更後のシステムに係る要素間の関連との差分を抽出する。差分抽出部２００は、抽出した差分を、差分情報として、ＲＡＭ１３又はハードディスク１４に記憶する。
【００６１】
手順自動生成部３００は、変更内容がシステムへの要素の追加又は要素間の関連の変更である場合、手順自動生成ルールを参照して、受付部１００が受け付けた作業内容と、変更後のシステム構成情報とから新規手順を自動生成する構成部である。ここでの手順自動生成ルールとは、手順書き換えルール及び作業手順ルールのことである。また、手順自動生成部３００は、変更内容がシステムからの要素の削除である場合、手順自動生成ルールを参照して、受付部１００が受け付けた作業内容と、変更前のシステム構成情報とから手順を自動生成する。
【００６２】
部分手順抽出部４００は、差分抽出部２００が抽出した差分情報に基づいて、変更前及び変更後の差分の要素を操作する部分的な手順を抽出する機能部である。以下、ここでの部分的な手順を部分手順と呼ぶ。部分手順抽出部４００は、差分の要素に基づいて生成される手順（手順生成処理において展開される部分木に相当）を部分手順として、ＲＡＭ１３又はハードディスク１４に記憶する。
また、部分手順抽出部４００は、手順自動生成部３００が新規手順を生成する過程で、差分の要素に対して適用される手順書き換えルールを検出する。部分手順抽出部４００は、構成情報差分検出までの手順書き換えルール列を取得する。部分手順抽出部４００は、取得した手順書き換えルール列をＲＡＭ１３又はハードディスク１４に記憶する。
部分手順抽出部４００が実行する処理は、手順自動生成部３００による処理と同時並行に行われる。
【００６３】
判定部５００は、変更前の手順を極力変更せずに、部分手順を変更前の手順に組み込んだ場合、部分手順により操作される要素の関連に矛盾が生じないか否かを判定する機能部である。以下、変更前の手順を既存手順と呼ぶ。また、判定部５００は、変更内容がシステムからの要素の削除である場合、部分手順に基づいて既存手順を処理するが、処理した手順が部分手順により操作される要素の関連に矛盾が生じないか否かを判定しない。
【００６４】
判定部５００は、部分手順抽出部４００が取得した手順書き換えルール列に、指定手順展開ルールが含まれているか否かを判定する。指定手順展開ルールとは、手順書き換えルールのうち、ワーク展開ルール２５又はプロシージャ展開ルール２６を直接適用するものであり、システム構成に関係なく決まった手順を展開するルールである。指定手順展開ルールで展開される手順列は変更することができない。そのため、判定部５００は、取得した手順書き換えルール列に、指定手順展開ルールが含まれていると判定した場合、変更後のシステムに対する手順作成に対して既存手順を流用することはできないと判定する。
【００６５】
設定部６００は、判定部５００が判定した結果に応じて、既存手順を極力変更せずに、部分手順が組み込まれた既存手順を新たな手順に設定する機能部である。また、設定部６００は、既存手順に対する新たな手順の変更箇所を設定する。設定部６００は、判定部５００が既存手順を流用することはできないと判定した場合、新たな手順及び手順変更箇所を設定しない。
なお、設定部６００が実行する処理は、判定部５００により部分手順が組み込まれた既存手順の結果を利用する。
【００６６】
出力部７００は、設定部６００が設定した変更後のシステムに対する新たな手順と、手順変更箇所とを出力する機能部である。出力部７００は、設定部６００が新たな手順及び手順変更箇所を設定しない場合、手順自動生成部３００が生成した新規手順を出力する。
【００６７】
図１８は、変更後のシステム運用に用いる手順を作成する処理の概要手順の一例を示すフローチャートである。
ＣＰＵ１１は、操作対象の要素及び操作項目を受け付ける（ステップＳ１）。ＣＰＵ１１は、変更前及び変更後のシステム構成情報から差分を抽出する（ステップＳ２）。ＣＰＵ１１は、受け付けた操作対象の要素及び操作項目、変更後又は変更前のシステムにおける構成情報及び手順自動生成ルールに基づいて、変更後又は変更前の手順を自動生成する（ステップＳ３）。
【００６８】
ＣＰＵ１１は、自動生成した変更後又は変更前の手順から、抽出した差分の要素を操作する部分手順を抽出する（ステップＳ４）。ステップＳ４において、システムの変更が要素の追加又は要素間の関連情報２２の変更である場合、ＣＰＵ１１は、自動生成した変更後の手順から、抽出した差分の要素を操作する部分手順を抽出する。システムの変更が要素の削除である場合、ＣＰＵ１１は、自動生成した変更前の手順から、抽出した差分の要素を操作する部分手順を抽出する。ＣＰＵ１１は、抽出した部分手順を用いて、変更前の手順を処理する（ステップＳ５）。
【００６９】
ＣＰＵ１１は、処理した手順が変更前及び変更後に係る差分の要素間の関連と整合するか否かを判定する（ステップＳ６）。ＣＰＵ１１は、判定した結果に応じて、処理した手順を変更後のシステム運用に用いる手順に設定する（ステップＳ７）。ステップＳ７において、ＣＰＵ１１は、変更内容が要素の削除である場合、ステップＳ６を経ずに、ステップＳ５で処理した手順を変更後のシステム運用に用いる手順に設定する。ＣＰＵ１１は、設定した変更後のシステム運用に用いる手順と、手順変更箇所とを出力し（ステップＳ８）、処理を終了する。
【００７０】
手順作成装置１０の動作について説明する。
図１９は、変更前及び変更後のシステム構成例を示す説明図である。図１９Ａは、変更前のシステム構成を示している。図１９Ｂは、変更後のシステム構成を示している。
変更対象のシステムは、ハードウェアの要素と、ソフトウェアの要素とを含む。図２と同様に、ハードウェアの要素は四角で、ソフトウェアの要素は角丸四角で表されている。
【００７１】
変更前のシステムにおけるハードウェアの要素は、“ServerX”と、“ServerY”とを含む。変更前のシステムにおけるソフトウェアの要素は、“ApA”と、“ApB”とを含む。“ServerX”上で、“ApA”が実行される。“ServerY”上で、“ApB”が実行される。“ApB”から“ApA”へ向かう矢印は、“ApB”を関連元とし、“ApA”を関連先とする関連を示している。
【００７２】
図１９Ｂに示す変更後のシステムには、ハードウェアの要素と、ソフトウェアの要素とが追加されている。追加された要素のボックスには、斜線が描かれている。追加されたハードウェアの要素は、“ServerZ”である。追加されたソフトウェアの要素は、“ApC”及び“ApD”である。“ServerY”上で、“ApC”が実行される。“ServerZ”上で、“ApD”が実行される。“ApD”から“ApC”へ向かう矢印は、“ApD”を関連元とし、“ApC”を関連先とする関連を示している。
【００７３】
図２０は、変更前のシステム構成情報を示す説明図である。図２０Ａは、要素情報２１を示している。図２０Ｂは、関連情報２２を示している。図２０Ａの要素情報２１及び図２０Ｂの関連情報２２の表示態様は、夫々図４Ａ及び図４Ｂの表示態様と同じである。
【００７４】
図２１は、変更後のシステム構成情報を示す説明図である。図２１Ａは、要素情報２１を示している。図２１Ｂは、関連情報２２を示している。図２１Ａの要素情報２１及び図２１Ｂの関連情報２２の表示態様は、夫々図４Ａ及び図４Ｂの表示態様と同じである。
【００７５】
ＣＰＵ１１は、作業項目及び作業対象を受け付ける。ここでは、ＣＰＵ１１は、“ServerX,Y”の停止を受け付けるものとする。
【００７６】
図２２は、変更前のシステムにおける既存手順を示す説明図である。ハードウェアの“ServerX”と“ServerY”とを停止するためには、関連元のアプリケーションから先に停止する必要がある。また、複数のアプリケーションを停止する場合、関連元のアプリケーションから停止する必要がある。そこで、既存手順では、まず関連元の“ApB”を停止した後、関連先の“ApA”を停止する。“ServerX”と“ServerY”とは、いずれが先に停止されてもよいので、図２２の操作順序には、共に３が記されている。作業対象の要素を手順に従って並べた場合、例えば次のようになる。
“ApB”→“ApA”→“ServerX”→“ServerY”
【００７７】
ＣＰＵ１１は、変更前及び変更後におけるシステム構成情報の差分を、図２０及び図２１に夫々示したシステム構成情報から抽出する。ＣＰＵ１１は、変更前及び変更後の要素情報２１及び関連情報２２のデータを１行ずつ比較することにより、差分を抽出する。
図２３は、システム構成の差分情報を示す説明図である。図２３Ａは、要素情報２１の差分を示している。図２３Ｂは関連情報２２の差分を示している。図２３Ａの要素情報２１及び図２３Ｂの関連情報２２の表示態様は、夫々図４Ａ及び図４Ｂの表示態様に分類の項目が追加されたものである。
ここで扱っているシステムの変更内容は、要素の追加及び関連情報の追加であるため、図２３Ａ及び図２３Ｂの分類には夫々追加が記されている。なお、システムの変更内容が要素間の関連の変更、要素の削除等である場合、夫々分類には変更、削除が記される。
【００７８】
図２３Ａには、要素の差分として、変更前のシステムに追加された“ServerZ”、“ApC”及び“ApD”が示されている。図２３Ｂには、関連の差分として、変更前のシステムに追加された“ApD”と“ApC”の関連、“ApC”と“ServerY”の関連及び“ApD”と“ServerZ”の関連が示されている。
【００７９】
ＣＰＵ１１は、変更後のシステムに対して作業内容が“ServerX,Y”の停止である手順を自動生成する。自動生成の方法は、既述した方法と同じである。
図２４は、変更後のシステムに対して自動生成された手順を示す説明図である。作業対象の要素を自動生成された手順に従って並べた場合、次のようになる。
“ApB”→“ApA”→“ServerX”→“ApD”→“ApC”→“ServerY”
自動生成された手順では、既存手順における“ServerX”→“ServerY”の間に、“ApD”→“ApC”が挿入されている。従って、自動生成された手順では、既存手順はそのまま流用されていない。
【００８０】
図２５は、変更後のシステムに対して自動生成された木構造の一部を示す説明図である。ＣＰＵ１１は、手順を自動生成する際に、ノードを展開して木構造に追加する。その際、ＣＰＵ１１は、ノードを展開するときに適用した手順書き換えルールの適用条件が差分のシステム構成に対応するか否かを判定する。ＣＰＵ１１は、適用した手順書き換えルールの適用条件がシステム構成に対応すると判定した場合、そのノードを部分手順ルートノードに追加し、差分のシステム構成に対応すると判定するまでに適用してきた手順書き換えルールの列を取得する。例えば図２５の例では、プロシージャレベルの（物理サーバノード停止，ServerY）の組を、プロシージャレベルの（アプリケーション停止，ApC）の組に書き換える際に、RuleID=Ｒ５の手順書き換えルールが適用された場合を示している。ＣＰＵ１１は、取得した手順書き換えルールの列を、後の判定処理で利用する材料とする。後の判定処置とは、手順書き換えルールの列が指定手順展開ルールを含むか否かを判定する処理である。
【００８１】
ＣＰＵ１１は、部分手順ルートノード毎に、生成した木構造から部分手順ルートをルートとする部分木を取得する。図２５において、破線で囲まれた２つの部分木が部分手順ルートをルートとする部分木である。ＣＰＵ１１は、部分木からリーフノードを抽出し、抽出したリーフノードを、変更後のシステムにおける関連情報２２に整合する順序で出力する。すなわち、ＣＰＵ１１は、部分手順を出力する。
【００８２】
図２６は、部分手順の一例を示す説明図である。ここでの部分手順は２つあり、便宜上夫々を部分手順１、部分手順２と呼ぶ。図２６Ａは、部分手順１を示している。図２６Ｂは、部分手順２を示している。図２６Ｃは、部分手順１を検出するまでに、適用された手順書き換えルールを示している。図２６Ｄは、部分手順２を検出するまでに、適用された手順書き換えルールを示している。
作業対象の要素を部分手順１に従って並べた場合、次のようになる。
“ApD”→“ApC”
作業対象の要素を部分手順２に従って並べた場合、次のようになる。
“ApC”→“ServerY”
【００８３】
図２７は、部分手順抽出処理の手順の一例を示すフローチャートである。
ＣＰＵ１１は、自動生成された未処理のノードを選択する（ステップＳ１１）。ＣＰＵ１１は、選択したノードに適用される手順書き換えルールを記憶する（ステップＳ１２）。ＣＰＵ１１は、適用した手順書き換えルールの適用条件が差分のシステム構成情報に対応するか否かを判定する（ステップＳ１３）。ＣＰＵ１１は、適用した手順書き換えルールの適用条件が差分のシステム構成情報に対応しないと判定した場合（ステップＳ１３：ＮＯ）、ステップＳ１１に処理を戻す。
【００８４】
ＣＰＵ１１は、適用した手順書き換えルールの適用条件が差分のシステム構成情報に対応すると判定した場合（ステップＳ１３：ＹＥＳ）、選択したノードを部分手順ルートノードに追加して、ここまでの手順書き換えルールの列を取得する（ステップＳ１４）。ＣＰＵ１１は、全てのノードを処理したか否かを判定する（ステップＳ１５）。ＣＰＵ１１は、全てのノードを処理していないと判定した場合（ステップＳ１５：ＮＯ）、ステップＳ１１へ処理を戻す。ＣＰＵ１１は、全てのノードを処理したと判定した場合（ステップＳ１５：ＹＥＳ）、未処理の部分手順ルートノードを選択する（ステップＳ１６）。
【００８５】
ＣＰＵ１１は、選択した部分手順ルートノードをルートとする部分木を木構造から取得する（ステップＳ１７）。ＣＰＵ１１は、取得した部分木のリーフノードを順に出力する（ステップＳ１８）。すなわち、ＣＰＵ１１は、部分手順を出力する。ＣＰＵ１１は、全ての部分手順ルートノードを処理したか否かを判定する（ステップＳ１９）。ＣＰＵ１１は、全ての部分手順ルートノードを処理していないと判定した場合（ステップＳ１９：ＮＯ）、ステップＳ１６へ処理を戻す。ＣＰＵ１１は、全ての部分手順ルートノードを処理したと判定した場合（ステップＳ１９：ＹＥＳ）、処理を終了する。
【００８６】
ＣＰＵ１１は、抽出した部分手順が既存手順に含まれている場合、既存手順をシステム構成変更後の新たな手順に適用する。システムの要素が変更された場合であっても、既存手順が部分手順を含む限り、変更後のシステムは既存手順で運用可能である。その結果、実績のある既存手順が流用されることになる。
【００８７】
ＣＰＵ１１は、抽出した部分手順が既存手順に全く含まれていない場合、部分手順を既存手順の先頭又は末尾に配置する。ＣＰＵ１１は、先頭又は末尾に部分手順が配置された既存手順をシステム構成変更後の新たな手順に適用する。部分手順が既存手順の先頭又は末尾に配置されるということは、既存手順は全く変更されないことを意味する。これにより、既存手順の流用を図ることができる。
【００８８】
ＣＰＵ１１は、部分手順を構成する１つの操作が既存手順に含まれ、部分手順を構成するもう１つの操作が既存手順に含まれない場合、もう１つの操作を既存手順の先頭又は末尾に配置しても、部分手順の順序に矛盾が生じないか判定する。ＣＰＵ１１は、既存手順に含まれないもう１つの操作を既存手順の先頭又は末尾に配置した場合、部分手順の順序に矛盾が生じないと判定したとき、先頭又は末尾に部分手順に係るもう一つの操作を配置した既存手順を、システム構成変更後の新たな手順に適用する。
【００８９】
ＣＰＵ１１は、既存手順に含まれないもう１つの操作を既存手順の先頭又は末尾に配置した場合、部分手順の順序に矛盾が生じると判定したとき、既存手順に含まれないもう１つの操作を既存手順の間に配置する。ＣＰＵ１１は、既存手順に含まれないもう１つの操作を既存手順の間に配置した場合、部分手順の順序に矛盾が生じないか判定する。ＣＰＵ１１は、既存手順に含まれないもう１つの操作を既存手順の間に配置した場合、部分手順の順序に矛盾が生じないと判定したとき、既存手順に含まれないもう１つの操作が間に配置された既存手順を、システム構成変更後の新たな手順に適用する。
既存手順の間に部分手順を構成する操作が配置されても、既存手順は部分的に流用されることとなる。
【００９０】
ＣＰＵ１１は、既存手順に含まれないもう１つの操作を既存手順の間に配置した場合、部分手順の順序に矛盾が生じると判定したとき、自動生成した新規手順をシステム構成変更後の新たな手順に適用する。
【００９１】
部分手順又は部分手順を構成する操作を既存手順の先頭又は末尾に配置する具体例について説明する。部分手順を構成する操作であり、かつ既存手順に含まれない操作を既存手順の間に配置する場合の具体例は、部分手順に基づいて既存手順を処理する後述のフローを説明した後に説明する。
図２８は、部分手順と、部分手順を構成する操作とを既存手順の先頭又は末尾に配置した一例を示す説明図である。図２８は、図２２の既存手順の先頭に図２６Ａの部分手順１を配置し、図２２の既存手順の先頭に図２６Ｂの部分手順２を構成する“ApC”の停止操作を配置した手順を示している。
【００９２】
部分手順１が操作する対象の要素は、操作順に並べた場合、“ApD”→“ApC”である。部分手順２が操作する対象の要素は、操作順に並べた場合、“ApC”→“ServerY”である。図２８の操作順序１、２は、部分手順１と矛盾しない。部分手順２を構成する“ApC”の停止操作は、既存手順に含まれていない。部分手順２を構成する“ServerY”の停止操作は、既存手順に含まれている。既存手順に含まれないApC”の停止操作を既存手順の先頭に配置した場合（本ケースでは、既存手順の先頭に部分手順１を配置した場合と重複する）、図２８に示す新たな手順は、部分手順２の順序“ApC”→“ServerY”に矛盾しない。従って、図２８の手順をシステム構成変更後の新たな手順に適用することで、既存手順の流用を図ることができる。
新たな手順が部分手順と矛盾しないということは、新たな手順が差分情報における関連情報２２と整合しているということである。
【００９３】
システムを構成する要素が削除された場合について、手順作成装置１０が作成するシステム変更後の新たな手順を説明する。
図２９は、変更前及び変更後のシステム構成例を示す説明図である。図２９Ａは、変更前のシステム構成を示している。図２９Ｂは、変更後のシステム構成を示している。
変更対象のシステムは、ハードウェアの要素と、ソフトウェアの要素とを含む。図２と同様に、ハードウェアの要素は四角で、ソフトウェアの要素は角丸四角で表されている。
【００９４】
変更前のシステムにおけるハードウェアの要素は、“ServerX”と、“ServerY”とを含む。変更前のシステムにおけるソフトウェアの要素は、“ApA”、“ApB”及び“ApC”を含む。“ServerX”上で、“ApA”が実行される。“ServerY”上で、“ApB”及び“ApC”が実行される。“ApA”から“ApB”へ向かう矢印は、“ApA”を関連元とし、“ApB”を関連先とする関連を示している。
【００９５】
変更後のシステムには、ソフトウェアの要素である“ApB”が削除されている。そのため、“ApA”から“ApB”への関連情報も削除されている。
【００９６】
ここでの操作内容は、“ServerY”の停止であるとする。既存手順は、停止対象の要素を操作順に並べた場合、“ApC”→“ApA”→“ApB”→“ServerY”であったとする。変更後のシステムに対して自動生成された新規手順は、停止対象の要素を操作順に並べた場合、“ApC”→“ServerY”になる。ＣＰＵ１１は、変更前及び変更後の要素の差分である“ApB”と、差分の関連情報２２である“ApA”から“ApB”への関連とから、２つの部分手順を抽出する。この２つの部分手順は、停止対象の要素を操作順に並べた場合、“ApA”→“ApB”、“ApB”→“ServerY”となる。ここで便宜上、“ApA”→“ApB”に対応する部分手順を部分手順３、“ApB”→“ServerY”に対応する部分手順を部分手順４と呼ぶ。
なお、ＣＰＵ１１は、要素を削除するシステム変更の場合、変更前のシステム構成等に基づいて、手順を自動生成し、差分の要素を操作する部分手順を抽出する。
【００９７】
ＣＰＵ１１は、部分手順で操作する要素の全てが自動生成された新規手順で操作する要素に含まれないか否かを判定する。部分手順３の場合、全ての要素“ApA”及び“ApB”が、自動生成された新規手順“ApC”→“ServerY”で操作する要素に含まれない。かかる場合、ＣＰＵ１１は、既存手順から部分手順３を削除する。他方、部分手順４の場合、自動生成された新規手順“ApC”→“ServerY”で操作する要素に、一部の要素“ServerY”が含まれ、一部の要素“ApB”が含まれない。かかる場合、ＣＰＵ１１は、自動生成された新規手順で操作する要素に含まれない“ApB”に対する操作を既存手順から削除する。ただし、既存手順から部分手順３を削除した段階で、既存手順から“ApB”に対する操作が削除されているため、ＣＰＵ１１は、部分手順４に係る処理はしない。こうして、ＣＰＵ１１は、変更後のシステムに対する手順を作成する。ここでの新たに作成された手順で操作する要素を操作順に並べた場合、“ApC”→“ServerY”になる。
なお、既存手順から手順又は操作を削除する場合、部分手順で操作する要素の関連に矛盾は生じないので、ＣＰＵ１１は部分手順を構成する要素間の関連を考慮した判定処理を実行しない。
【００９８】
図３０は、既存手順変更要否判定処理の手順の一例を示すフローチャートである。ＣＰＵ１１は、既存手順変更要否判定処理において、既存手順を変更する必要があるか否かを判定し、変更する必要がある場合には、部分手順を用いて既存手順を変更する。ＣＰＵ１１は、既存手順変更要否判定処理において、既存手順を変更する必要がないと判定した場合、既存手順を変更しない。既存手順変更要否判定処理の結果、部分手順で組み換えられる既存手順又は変更されない既存手順は、手順作成装置１０が作成したシステム変更後の新たな手順となる。
なお、ＣＰＵ１１は、既存手順変更要否判定処理において、既に取得した手順書き換えルールの列が指定手順展開ルールを含んでいる場合、自動生成した新規手順をシステム変更後の新たな手順とする。
【００９９】
以下、システムの変更が要素の追加又は要素間の関連情報２２の変更である場合における部分手順を追加部分手順という。また、システムの変更が要素の削除である場合における部分手順を削除部分手順という。
【０１００】
ＣＰＵ１１は、未処理の部分手順を選択する（ステップＳ２０１）。ＣＰＵ１１は、選択した部分手順を抽出するまでに取得した手順書き換えルール列が指定手順展開ルールを含むか否かを判定する（ステップＳ２０２）。ＣＰＵ１１は、手順書き換えルール列が指定手順展開ルールを含むと判定した場合（ステップＳ２０２：ＹＥＳ）、自動生成された新規手順をシステム変更後の新たな手順に設定し（ステップＳ２０３）、処理を終了する。
【０１０１】
ＣＰＵ１１は、手順書き換えルール列が指定手順展開ルールを含まないと判定した場合（ステップＳ２０２：ＮＯ）、全ての部分手順に係る手順書き換えルール列を処理したか否かを判定する（ステップＳ２０４）。ＣＰＵ１１は、全ての部分手順に係る手順書き換えルール列を処理していないと判定した場合（ステップＳ２０４：ＮＯ）、ステップＳ２０１へ処理を戻す。ＣＰＵ１１は、全ての部分手順に係る手順書き換えルール列を処理したと判定した場合（ステップＳ２０４：ＹＥＳ）、既存手順を変更後暫定手順に設定する（ステップＳ２０５）。変更後暫定手順は、極力既存手順を流用して、システム変更後の新たな手順を作成するための暫定的な手順である。
【０１０２】
ＣＰＵ１１は、未処理の部分手順を選択する（ステップＳ２０６）。ＣＰＵ１１は、選択した部分手順が追加部分手順か否かを判定する（ステップＳ２０７）。ＣＰＵ１１は、選択した部分手順が追加部分手順であると判定した場合（ステップＳ２０７：ＹＥＳ）、追加手順処理を実行し（ステップＳ２０８）、ステップＳ２１２へ処理を進める。
【０１０３】
ＣＰＵ１１は、選択した部分手順が追加部分手順でないと判定した場合（ステップＳ２０７：ＮＯ）、部分手順で操作する要素の全てが変更後のシステムの要素情報２１に含まれないか否かを判定する（ステップＳ２０９）。ここで、部分手順が追加部分手順でない場合とは、部分手順が削除部分手順である場合である。ＣＰＵ１１は、部分手順で操作する要素の全てが変更後のシステムの要素情報２１に含まれないと判定した場合（ステップＳ２０９：ＹＥＳ）、変更後暫定手順から部分手順を削除する（ステップＳ２１０）。ＣＰＵ１１は、部分手順で操作する要素の全てが変更後のシステムの要素情報２１に含まれないことはないと判定した場合（ステップＳ２０９：ＮＯ）、次に示すステップＳ２１１の操作削除処理を実行する。部分手順で操作する要素の全てが変更後のシステムの要素情報２１に含まれないことはない場合は、部分手順で操作する要素の一部が変更後のシステムの要素情報２１に含まれない場合である。ＣＰＵ１１は、部分手順で操作する要素のうち、変更後のシステムの要素情報２１に含まれない要素に対する操作を変更後暫定手順から削除する（ステップＳ２１１）。
【０１０４】
ＣＰＵ１１は、全ての部分手順を処理したか否かを判定する（ステップＳ２１２）。ＣＰＵ１１は、全ての部分手順を処理していないと判定した場合（ステップＳ２１２：ＮＯ）、ステップＳ２０６へ処理を戻す。ＣＰＵ１１は、全ての部分手順を処理したと判定した場合（ステップＳ２１２：ＹＥＳ）、変更後暫定手順をシステム変更後の新たな手順に設定し（ステップＳ２１３）、処理を終了する。
【０１０５】
図３０における追加手順処理は、部分手順で行う操作のうち、変更後暫定手順に含まれない操作を、変更後暫定手順の間に配置する処理を含んでいる。そこで、追加手順処理のフローを説明する前に、部分手順で行う操作のうち、変更後暫定手順に含まれない操作を、変更後暫定手順の間に配置する処理を、具体例を挙げて説明する。
【０１０６】
図３１は、変更前及び変更後のシステム構成例を示す説明図である。図３１Ａは、変更前のシステム構成を示している。なお、図３１Ａに示すシステム構成は、図１９Ａに示すシステム構成と同じである。図３１Ｂは、変更後のシステム構成を示している。
変更対象のシステムは、ハードウェアの要素と、ソフトウェアの要素とを含む。図２と同様に、ハードウェアの要素は四角で、ソフトウェアの要素は角丸四角で表されている。
【０１０７】
変更前のシステムにおけるハードウェアの要素は、“ServerX”と、“ServerY”とを含む。変更前のシステムにおけるソフトウェアの要素は、“ApA”と、“ApB”とを含む。“ServerX”上で、“ApA”が実行される。“ServerY”上で、“ApB”が実行される。“ApB”から“ApA”へ向かう矢印は、“ApB”を関連元とし、“ApA”を関連先とする関連を示している。
【０１０８】
変更後のシステムには、“ServerY”上で実行される、ソフトウェアの要素である“ApC”が追加されている。また、変更後のシステムには、“ApB”を関連元とし、“ApC”を関連先とする関連が追加されている。更には当然、ソフトウェア“ApC”からハードウェア“ServerY”への関連が追加されている。
【０１０９】
変更前のシステム構成情報は、図２０に示したものと同一である。また、変更前のシステムにおける既存手順は、図２２に示したものと同じである。そこで、ここでの変更後暫定手順は、図２２に示したものと同じであるとする。
【０１１０】
図３２は、変更後のシステム構成情報を示す説明図である。図３２Ａは、要素情報２１を示している。図３２Ｂは、関連情報２２を示している。図３２Ａの要素情報２１及び図３２Ｂの関連情報２２の表示態様は、夫々図４Ａ及び図４Ｂの表示態様と同じである。
【０１１１】
ＣＰＵ１１は、変更前及び変更後におけるシステム構成情報の差分を、図２０及び図３２に夫々示したシステム構成情報から抽出する。ＣＰＵ１１は、変更前及び変更後の要素情報２１及び関連情報２２のデータを１行ずつ比較することにより、差分を抽出する。
図３３は、差分情報を示す説明図である。図３３Ａは、要素情報２１の差分を示している。図３３Ｂは関連情報２２の差分を示している。図３３Ａの要素情報２１及び図３３Ｂの関連情報２２の表示態様は、夫々図４Ａ及び図４Ｂの表示態様に分類の項目が追加されたものである。
【０１１２】
図３３Ａには、要素の差分として、変更前のシステムに追加された“ApC”が示されている。図３３Ｂには、関連情報の差分として、変更前のシステムに追加された“ApB”と“ApC”の関連及び“ApC”と“ServerY”の関連が示されている。
【０１１３】
ＣＰＵ１１は、作業項目及び作業対象を受け付ける。ここでは、ＣＰＵ１１は、“ServerX,Y”の停止を受け付けるものとする。ＣＰＵ１１は、変更後のシステムについて、作業内容が“ServerX,Y”の停止である手順を自動生成する。自動生成の方法は、既述した方法と同じである。
【０１１４】
図３４は、変更後のシステムに対して自動生成された手順を示す説明図である。停止対象の要素を自動生成された手順に従って並べた場合、次のようになる。
“ApB”→“ApA”→“ServerX”→“ApC”→“ServerY”
なお、停止対象の要素を変更後暫定手順に従って並べた場合、次のようになる。
“ApB”→“ApA”→“ServerX”→“ServerY”
自動生成された手順では、変更後暫定手順における“ServerX”→“ServerY”の間に、“ApC”が挿入されている。従って、自動生成された手順では、変更後暫定手順はそのまま流用されていない。
【０１１５】
ＣＰＵ１１は、差分情報に基づいて、自動生成された手順から２つの部分手順を抽出する。この２つの部分手順は、停止対象の要素を操作順に並べた場合、“ApB”→“ApC”と、“ApC”→“ServerY”とである。ここで便宜上、“ApB”→“ApC”に対応する部分手順を部分手順５、“ApC”→“ServerY”に対応する部分手順を部分手順６と呼ぶ。
ＣＰＵ１１は、まず部分手順５を変更後暫定手順に組み込むことを試みる。その後、ＣＰＵ１１は、部分手順６を変更後暫定手順に組み込むことを試みる。
【０１１６】
変更後暫定手順で操作される要素の中に、部分手順５で操作する要素である“ApB”は含まれているが、部分手順５で操作する要素である“ApC”は含まれていない。そこで、ＣＰＵ１１は、変更後暫定手順における“ApB”への操作の順序を変更せずに、“ApC”への操作を変更後暫定手順の先頭又は末尾に配置した場合、部分手順５及び部分手順６の順序に矛盾が生じるか否かを判定する。“ApC”への操作を変更後暫定手順の先頭へ配置した場合、配置後の手順において、“ApC”→“ApB”となるため、部分手順５の順序と逆になり、矛盾する。他方、“ApC”への操作を変更後暫定手順の末尾へ配置した場合、配置後の手順において、“ServerY”→“ApC”となるため、部分手順６の順序と逆になり、矛盾する。
【０１１７】
次に、ＣＰＵ１１は、変更後暫定手順を極力変更せずに、“ApC”への操作を変更後暫定手順の間に配置して、部分手順５及び部分手順６の順序に矛盾が生じるか否かを判定する。
図３５は、部分手順の操作が間に入れられた変更後暫定手順の一例を示す説明図である。図３５は、“ApC”への操作が変更後暫定手順の先頭から２番目の操作として、変更後暫定手順の間に配置された場合を示している。図３５に示す変更後暫定手順では、部分手順５及び部分手順６の順序に整合し、矛盾していない。しかも、“ApC”への操作が配置された後の変更後暫定手順の一部分“ApA”→“ServerX”→“ServerY”は、流用されている。そこで、ＣＰＵ１１は、図３５の手順を作成して、部分手順５を変更後暫定手順に組み込む処理を終了する。この時点で、変更後暫定手順は、図２２の手順から図３５の手順に更新される。
【０１１８】
図３５の変更後暫定手順で操作される要素の中に、部分手順６で操作する要素である“ApC”及び“ServerY”の全てが既に含まれている。そこで、ＣＰＵ１１は、部分手順６を変更後暫定手順に組み込む処理を終了する。
【０１１９】
図３６は、追加手順処理の手順の一例を示すフローチャートである。
ＣＰＵ１１は、部分手順が変更後暫定手順に含まれるか否かを判定する（ステップＳ３１）。ＣＰＵ１１は、部分手順が変更後暫定手順に含まれると判定した場合（ステップＳ３１：ＹＥＳ）、処理を終了する。なお、部分手順が変更後暫定手順に含まれる場合は、部分手順で行う操作が全て変更後暫定手順に含まれる場合である。部分手順が変更後暫定手順に含まれない場合は、部分手順で行う操作の全てが変更後暫定手順に含まれない場合と、部分手順で行う操作の一部が変更後暫定手順に含まれない場合とを含む。部分手順で行う操作の一部が変更後暫定手順に含まれない場合は、部分手順で行う操作の一部が変更後暫定手順に含まれ、他の一部が変更後暫定手順に含まれない場合である。
【０１２０】
ＣＰＵ１１は、部分手順が変更後暫定手順に含まれないと判定した場合（ステップＳ３１：ＮＯ）、部分手順で行う操作の全てが変更後暫定手順に含まれないか否かを判定する（ステップＳ３２）。ＣＰＵ１１は、部分手順で行う操作の全てが変更後暫定手順に含まれないと判定した場合（ステップＳ３２：ＹＥＳ）、部分手順を変更後暫定手順の先頭又は末尾に配置し（ステップＳ３３）、処理を終了する。
【０１２１】
ＣＰＵ１１は、部分手順で行う操作の全てが変更後暫定手順に含まれないことはないと判定した場合（ステップＳ３２：ＮＯ）、ステップＳ３４を実行する。なお、部分手順で行う操作の全てが変更後暫定手順に含まれないことはない場合は、部分手順で行う操作の一部が変更後暫定手順に含まれ、他の一部が変更後暫定手順に含まれない場合である。ステップＳ３４において、ＣＰＵ１１は、部分手順で行う操作のうち、変更後暫定手順に含まれない操作を、変更後暫定手順の先頭又は末尾に配置して、部分手順の順序と矛盾しないか否かを判定する。
【０１２２】
ＣＰＵ１１は、部分手順で行う操作のうち、変更後暫定手順に含まれない操作を、変更後暫定手順の先頭又は末尾に配置して、部分手順の順序と矛盾しないと判定した場合（ステップＳ３４：ＹＥＳ）、ステップＳ３５を実行し、処理を終了する。ステップＳ３５において、ＣＰＵ１１は、部分手順で操作する要素間の関連に整合するように、変更後暫定手順に含まれない部分手順の操作を、変更後暫定手順の先頭又は末尾のいずれかに配置する。
【０１２３】
ＣＰＵ１１は、部分手順で行う操作のうち、変更後暫定手順に含まれない操作を、変更後暫定手順の先頭又は末尾に配置して、部分手順の順序と矛盾しないことはないと判定した場合（ステップＳ３４：ＮＯ）、ステップＳ３６を実行し、処理を終了する。部分手順の順序と矛盾しないことはない場合は、部分手順の順序と矛盾する場合である。ステップＳ３６において、ＣＰＵ１１は、部分手順で操作する要素間の関連に整合するように、変更後暫定手順に含まれない部分手順の操作を、変更後暫定手順の間に配置する。
【０１２４】
ＣＰＵ１１は、変更後暫定手順を変更後のシステムにおける新手順として出力する。
図３７は、変更後のシステムにおける新手順についての出力の一例を示す説明図である。図３７は、図１９Ａに示す変更前のシステム構成から図１９Ｂに示すシステム構成へ変更された場合、操作が“ServerX,Y”の停止であるときに、新手順が表形式で出力される例を示している。図３７の表の右端には、変更箇所の項目がある。図３７の場合、操作順序１の“ApD”に対する停止と、操作順序２の“ApC”に対する停止とに、変更箇所として追加が示されている。このように、ＣＰＵ１１は、変更後のシステムにおける新手順と、既存手順に対する操作の変更箇所とを出力する。
【０１２５】
手順作成装置１０によれば、システムを構成する要素の変更に応じて、変更前における既存手順を流用した手順を作成することができる。抽出した部分手順を用いて既存手順から更新後のシステムにおける新たな手順を作成することにより、実績がある既存手順に対する変更を極力阻止することができる。
手順作成装置１０によれば、システム変更前に、運用手順の変更範囲を取得することができるため、全体の影響を測定することができる。それによって、運用への影響範囲を抑えるようにシステム変更の仕方事態を見直すことができる。
【０１２６】
自動生成した手順の一部を部品フローとして抽出した場合、抽出した部品フローが部品手順抽出時の部品手順を含むとき、その部品手順を生成することとなったシステム構成を取得することができる。これにより、部品フローを他の手順へ適用する場合におけるシステム構成要件とすることができる。
【０１２７】
実施の形態２
実施の形態２は、部分手順を流用する形態に関する。手順作成装置１０は、手順を自動生成する際に、抽出した部分手順と、当該部分手順で操作する要素の関連情報２２とを対応付けてハードディスク１４に記憶する。手順作成装置１０は、別のシステム変更に対する新たな手順を作成する場合、ハードディスク１４に記憶した部分手順を流用して、新たな手順を作成する。
なお、実施の形態２において、実施の形態１と同様である構成要素には同一の参照番号を付してその詳細な説明を省略する。
【０１２８】
図３８は、手順作成装置１０の機能構成例を示す機能ブロック図である。図３８では、図１７の機能ブロック図と重複する機能部の多くが省略されている。手順作成装置１０は、部分手順蓄積部８００及び変更後手順作成部９００を含む。
部分手順蓄積部８００は、部分手順抽出部４００が抽出した部分手順を、当該部分手順で操作する要素の関連情報２２と対応付けて部分手順データ１Ｄに記憶する機能部である。部分手順データ１Ｄは、部分手順を蓄積する記憶部である。
【０１２９】
図３９は、部分手順データ１Ｄのデータレイアウトの一例を示す説明図である。図３９の部分手順データ１Ｄはテーブル形式であるが、部分手順データ１Ｄは他のデータ形式であってもよいことは勿論である。部分手順データ１Ｄは、管理ＩＤ、部分手順ＩＤ及び対応システム構成を含む。管理ＩＤは、部分手順データ１Ｄのデータを識別する識別記号である。部分手順ＩＤは、部分手順を識別する識別記号である。対応システム構成は、部分手順と対応付けられた要素間の関連情報２２である。
【０１３０】
変更後手順作成部９００は、部分手順蓄積部８００が部分手順データ１Ｄに蓄積した部分手順を用いて、別のシステム変更に対する新たな手順を作成する機能部である。別のシステム変更とは、部分手順蓄積部８００が部分手順データ１Ｄに部分手順を蓄積した対象のシステム更新に対する、その後のバージョンアップに係るシステム変更である。あるいは、別のシステム変更は、部分手順蓄積部８００が部分手順データ１Ｄに部分手順を蓄積した対象のシステムとは、異なる他のシステムの更新である。いずれにしても、変更後手順作成部９００が作成する手順は、部分手順蓄積部８００が部分手順データ１Ｄに部分手順を蓄積した対象のシステム変更と異なるシステム変更について行われる。
【０１３１】
変更後手順作成部９００は、既存手順と、システム更新前後のシステム構成情報に基づく差分情報とを入力する。差分情報には、差分の要素に係る関連情報２２が含まれている。変更後手順作成部９００は、手順を作成する対象の変更後システムについて、システム変更前後の差分の要素に係る関連情報２２に対応する部分手順を部分手順データ１Ｄから検索する。そして、変更後手順作成部９００は、検索した部分手順を用いて、図３０に示した既存手順変更要否判定処理を実行し、別のシステム変更に対する新たな手順を作成する。
【０１３２】
部分手順蓄積処理について説明する。図２７に示した部分手順抽出処理のステップＳ１３において、ＣＰＵ１１は、選択したノードが差分の要素に対応するか否かを判定した。実施の形態２では、ＣＰＵ１１は、選択したノードが差分の要素に対応すると判定した場合（ステップＳ１３：ＹＥＳ）、選択したノードに対応する差分に係る関連情報２２を取得する処理を実行した後に、ステップＳ１４を実行する。すなわち、ＣＰＵ１１は、ステップＳ１３とステップＳ１４との間で、選択したノードに対応する差分に係る関連情報２２を取得する。
【０１３３】
ＣＰＵ１１は、図２７に示した部分手順抽出処理のステップＳ１８における出力処理で、取得した関連情報２２と、抽出した部分手順とを対応付けて部分手順データ１Ｄに記憶する。図３９の管理ＩＤ＝００１、００２のデータは、夫々図２６の部分手順１、部分手順２と、図２３Ｂの差分情報に係る関連情報２２とを例示している。
【０１３４】
なお、ＣＰＵ１１は、新規データを部分手順データ１Ｄに登録する際、関連情報２２に対応する部分手順と同じ部分手順が既に部分手順データ１Ｄに登録済みでないか否かを、部分手順データ１Ｄを走査することにより、判定する。ＣＰＵ１１は、同じ部分手順が部分手順データ１Ｄに登録済みであると判定した場合、重複登録を避けるために、新規データを部分手順データ１Ｄに登録しない。他方、ＣＰＵ１１は、同じ部分手順が部分手順データ１Ｄに登録済みでないと判定した場合、新規の管理ＩＤを生成して、新規データを部分手順データ１Ｄに登録する。
【０１３５】
図４０は、部分手順蓄積処理の手順の一例を示すフローチャートである。
ＣＰＵ１１は、変更前及び変更後のシステムを構成する要素から差分を抽出する（ステップＳ４１）。ＣＰＵ１１は、受け付けた操作対象の要素及び操作項目、変更後又は変更前のシステムにおける構成情報及び手順自動生成ルールに基づいて、変更後又は変更前の手順を自動生成する（ステップＳ４２）。ＣＰＵ１１は、図２７に示した手順に従って、部分手順を抽出する（ステップＳ４３）。なお、ステップＳ４３において、ＣＰＵ１１は、部分手順に対応する要素間の関連情報２２を取得する。ＣＰＵ１１は、取得した要素間の関連情報２２と、抽出した部分手順とを対応付けて部分手順データ１Ｄに記憶することで、部分手順をハードディスク１４に蓄積し（ステップＳ４４）、処理を終了する。
【０１３６】
図４１は、変更後手順作成処理の手順の一例を示すフローチャートである。
ＣＰＵ１１は、別のシステム変更に係る変更前及び変更後のシステムにおける差分情報を抽出する（ステップＳ５１）。ステップＳ５１における差分情報は、差分の要素間における一又は複数の関連情報２２を含んでいる。ＣＰＵ１１は抽出した差分情報から、未処理の関連情報２２を選択する（ステップＳ５２）。ＣＰＵ１１は、選択した関連情報２２に対応する部分手順を部分手順データ１Ｄから検索する（ステップＳ５３）。ＣＰＵ１１は、検索に成功したか否かを判定する（ステップＳ５４）。ＣＰＵ１１は、検索に成功したと判定した場合（ステップＳ５４：ＹＥＳ）、図３０に示した既存手順変更要否判定処理を実行する（ステップＳ５５）。
【０１３７】
ＣＰＵ１１は、検索に成功しなかったと判定した場合（ステップＳ５４：ＮＯ）、実施の形態１で説明した手順自動生成処理を実行する（ステップＳ５６）。ＣＰＵ１１は、手順自動生成処理により自動生成した手順から、ステップＳ５２で選択した関連情報２２と対応する部分手順を抽出する（ステップＳ５７）。ＣＰＵ１１は、抽出した部分手順をステップＳ５２で選択した関連情報と対応付けて部分手順データ１Ｄに蓄積し（ステップＳ５８）、ステップＳ５５へ処理を進める。ＣＰＵ１１は、全ての関連情報２２を処理したか否かを判定する（ステップＳ５９）。ＣＰＵ１１は、全ての関連情報２２を処理していないと判定した場合（ステップＳ５９：ＮＯ）、ステップＳ５２へ処理を戻す。ＣＰＵ１１は、全ての関連情報２２を処理したと判定した場合（ステップＳ５９：ＹＥＳ）、処理を終了する。
【０１３８】
手順作成装置１０によれば、部分手順を流用することができる。運用実績がある既存手順を極力流用すべきであることと同様に、手順作成装置１０は、抽出した部分手順を記憶装置に記憶しておくことで、部分手順を再利用する。これにより、手順作成装置１０は、新たな手順及びシステム構成の変更箇所を作成する処理速度を向上させることができる。
【０１３９】
操作部１７は、受付部の一例である。ＣＰＵ１１は、抽出部、生成部、第二手順抽出部、判定部、設定部及び出力部の一例である。ＲＡＭ１３又はハードディスク１４は、記憶部の一例である。
【０１４０】
以上の実施の形態に関し、更に以下の付記を開示する。
【０１４１】
（付記１）
システムを構成するハードウェア又はソフトウェアの要素に変更が生じた場合、要素を操作する変更前の手順から変更後の手順を作成する処理をコンピュータに実行させる手順作成プログラムであって、
変更前及び変更後におけるシステムの要素に係る差分を抽出し、
操作対象の要素及び操作項目並びに変更後のシステムの構成情報及び変更後の手順を生成するためのルールに基づいて、変更後の第一手順を生成し、
生成した変更後の第一手順から、前記差分に係る要素を操作する第二手順を抽出し、
抽出した第二手順に基づいて、変更前の手順を処理し、
処理した手順を変更後の第三手順に設定する
処理をコンピュータに実行させる手順作成プログラム。
【０１４２】
（付記２）
システムを構成するハードウェア又はソフトウェアの要素に変更が生じた場合、要素を操作する変更前の手順から変更後の手順を作成する処理をコンピュータに実行させる手順作成プログラムであって、
変更前及び変更後におけるシステムの要素並びに該要素間の関連に係る差分を抽出し、
操作対象の要素及び操作項目並びに変更後のシステムの構成情報及び変更後の手順を生成するためのルールに基づいて、変更後の第一手順を生成し、
生成した変更後の第一手順から、前記差分に係る要素を操作する第二手順を抽出し、
抽出した第二手順に基づいて、変更前の手順を処理し、
処理した手順が前記差分に係る要素間の関連と整合するか否かを判定し、
整合すると判定した場合、処理した手順を第三手順に設定する
処理をコンピュータに実行させる手順作成プログラム。
【０１４３】
（付記３）
前記差分を抽出する処理が変更前のシステムに追加された要素又は変更前のシステムから関連が変更された要素を抽出した場合、変更前の手順に前記第二手順が含まれるか否かを判定し、
変更前の手順に前記第二手順が含まれないと判定した場合、変更前の手順の先頭又は末尾に前記第二手順を配置する
付記１又は付記２に記載の手順作成プログラム。
【０１４４】
（付記４）
変更前の手順に前記第二手順が含まれると判定した場合、変更前の手順を第三手順に設定する
付記３に記載の手順作成プログラム。
【０１４５】
（付記５）
変更前及び変更後におけるシステムの要素間の関連に係る差分を抽出し、
変更前の手順に前記第二手順が含まれないと判定した場合、該第二手順で行なう一の操作が変更前の手順で行う操作に含まれるか否かを判定し、
前記一の操作が変更前の手順で行う操作に含まれないと判定した場合、該一の操作を変更前の手順の先頭又は末尾に配置し、
配置した前記一の操作が含まれた変更前の手順が前記差分に係る要素間の関連と整合するか否かを判定し、
整合すると判定した場合、前記一の操作が含まれた変更前の手順を第三手順に設定する
付記３又は付記４に記載の手順作成プログラム。
【０１４６】
（付記６）
前記一の操作が含まれた変更前の手順が前記差分に係る要素間の関連と整合しないと判定した場合、前記一の操作を変更前の手順の間に配置し、
配置した前記一の操作が含まれた変更前の手順が前記差分に係る要素間の関連と整合するか否かを判定し、
整合すると判定した場合、前記一の操作が含まれた変更前の手順を第三手順に設定する
付記５に記載の手順作成プログラム。
【０１４７】
（付記７）
操作対象の要素及び操作項目並びに変更前のシステムの構成情報及び変更前の手順を生成するためのルールに基づいて、変更前の第四手順を生成し、
生成した変更前の第四手順から、前記差分に係る要素を操作する第二手順を抽出し、
前記差分を抽出する処理が変更前のシステムから削除された要素を抽出した場合、前記第二手順で操作する要素の全てが変更後のシステムの構成情報に含まれないか否かを判定し、
前記要素の全てが変更後のシステムの構成情報に含まれないと判定した場合、変更前の手順から前記第二手順を削除した手順を第三手順に設定する
付記１から付記６までのいずれか一つに記載の手順作成プログラム。
【０１４８】
（付記８）
前記第二手順で操作する要素の一部が変更後のシステムの構成情報に含まれない場合、該第二手順で操作する要素のうち、変更後のシステムの構成情報に含まれない要素に対する操作を変更前の手順から削除した手順を第三手順に設定する
付記７に記載の手順作成プログラム。
【０１４９】
（付記９）
前記第二手順に変更が禁止された手順が含まれる場合、生成した変更後の第一手順を第三手順に設定する
付記１から付記８までのいずれか一つに記載の手順作成プログラム。
【０１５０】
（付記１０）
前記第二手順及び該第二手順で操作する要素間の関連を対応付けて、アクセス可能な記憶部に記憶する
付記１から付記９までのいずれか一つに記載の手順作成プログラム。
【０１５１】
（付記１１）
前記システムと異なる第二システムに対して、変更前及び変更後における該第二システムの要素間の関連に係る差分を抽出し、
抽出した前記差分に係る要素間の関連に基づいて、前記記憶部から第二手順を検索し、
検索した第二手順に基づいて、変更前の第二システムに係る手順を処理し、
処理した手順を第二システムの第三手順に設定する
付記１０に記載の手順作成プログラム。
【０１５２】
（付記１２）
システムを構成するハードウェア又はソフトウェアの要素に変更が生じた場合、要素を操作する変更前の手順から変更後の手順を作成する手順作成方法であって、
変更前及び変更後におけるシステムの要素に係る差分を抽出し、
操作対象の要素及び操作項目並びに変更後のシステムの構成情報及び変更前の手順を生成するためのルールに基づいて、変更後の第一手順を生成し、
生成した変更後の第一手順から、前記差分に係る要素を操作する第二手順を抽出し、
抽出した第二手順に基づいて、変更前の手順を処理し、
処理した手順を変更後の第三手順に設定する
手順作成方法。
【０１５３】
（付記１３）
システムを構成するハードウェア又はソフトウェアの要素に変更が生じた場合、要素を操作する変更前の手順から変更後の手順を作成する手順作成装置であって、
変更前及び変更後におけるシステムの要素に係る差分を抽出する抽出部と、
操作対象の要素及び操作項目を受け付ける受付部と、
該受付部が受け付けた要素及び操作項目並びに変更後のシステムの構成情報及び変更後の手順を生成するためのルールに基づいて、変更後の第一手順を生成する生成部と、
該生成部が生成した変更後の第一手順から、前記抽出部が抽出した差分に係る要素を操作する第二手順を抽出する第二手順抽出部と、
該第二手順抽出部が抽出した第二手順に基づいて、変更前の手順を処理する処理部と、
該処理部が処理した手順を変更後の第三手順に設定する設定部と
を備える手順作成装置。
【０１５４】
（付記１４）
前記設定部が設定した第三手順を出力する出力部を備える
付記１３に記載の手順作成装置。
【０１５５】
（付記１５）
前記出力部は変更前の手順から前記第三手順に変更された変更内容を出力する
付記１４に記載の手順作成装置。
【符号の説明】
【０１５６】
１０  手順作成装置
１１  ＣＰＵ
１３  ＲＡＭ
１４  ハードディスク
１７  操作部
１Ｐ  プログラム
【図１】
2015207059.tif 000003
【図２】
2015207059.tif 000004
【図３】
2015207059.tif 000005
【図４】
2015207059.tif 000006
【図５】
2015207059.tif 000007
【図６】
2015207059.tif 000008
【図７】
2015207059.tif 000009
【図８】
2015207059.tif 000010
【図９】
2015207059.tif 000011
【図１０】
2015207059.tif 000012
【図１１】
2015207059.tif 000013
【図１２】
2015207059.tif 000014
【図１３】
2015207059.tif 000015
【図１４】
2015207059.tif 000016
【図１５】
2015207059.tif 000017
【図１６】
2015207059.tif 000018
【図１７】
2015207059.tif 000019
【図１８】
2015207059.tif 000020
【図１９】
2015207059.tif 000021
【図２０】
2015207059.tif 000022
【図２１】
2015207059.tif 000023
【図２２】
2015207059.tif 000024
【図２３】
2015207059.tif 000025
【図２４】
2015207059.tif 000026
【図２５】
2015207059.tif 000027
【図２６】
2015207059.tif 000028
【図２７】
2015207059.tif 000029
【図２８】
2015207059.tif 000030
【図２９】
2015207059.tif 000031
【図３０】
2015207059.tif 000032
【図３１】
2015207059.tif 000033
【図３２】
2015207059.tif 000034
【図３３】
2015207059.tif 000035
【図３４】
2015207059.tif 000036
【図３５】
2015207059.tif 000037
【図３６】
2015207059.tif 000038
【図３７】
2015207059.tif 000039
【図３８】
2015207059.tif 000040
【図３９】
2015207059.tif 000041
【図４０】
2015207059.tif 000042
【図４１】
2015207059.tif 000043