(57)【特許請求の範囲】
【請求項１】
モジュールが実行する処理手順を示す振る舞いモデルを、前記モジュール別に記憶した記憶手段と、
複数の前記モジュールから構成されるシステムにおける前記モジュール間の接続関係を示す構造モデルを取得する取得手段と、
前記取得手段によって取得された前記構造モデルが示す前記システムに含まれる前記モジュールに対応する前記振る舞いモデルを前記記憶手段から抽出し、抽出された複数の前記振る舞いモデル同士を当該構造モデルに基づいて組み合わせて、前記システムが実行する処理手順を示す統合モデルを生成する生成手段と、
前記生成手段によって生成された前記統合モデルが示す処理手順に含まれる各々の処理の処理時間と成功確率とを取得し、取得した前記処理時間と前記成功確率とに基づいて当該統合モデルが示す処理手順の実行に要する所要時間の期待値を算出する期待値算出手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記取得手段が、前記システムを構成する第１モジュールと第２モジュールとが多重系の接続関係にある前記構造モデルを取得したとき、
前記生成手段は、前記第１モジュールに対応する第１の振る舞いモデルに含まれる処理から前記第２モジュールに対応する第２の振る舞いモデルに含まれる処理へと移行する処理手順を含む前記統合モデルを生成することを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記第１の振る舞いモデルは、前記第１の振る舞いモデルに含まれる処理へと移行する第１分岐方向と、前記第２の振る舞いモデルに含まれる処理へと移行する第２分岐方向と、を有する分岐点を含み、
前記取得手段が、前記第１モジュールと前記第２モジュールとが多重系の接続関係にある前記構造モデルを取得したとき、
前記生成手段は、前記分岐点において前記第２分岐方向を選択する処理手順を含む前記統合モデルを生成することを特徴とする情報処理装置。
【請求項４】
請求項１乃至３いずれか一項に記載の情報処理装置であって、
前記生成手段によって生成された前記統合モデルが示す処理手順に含まれる各々の処理の処理時間を取得し、取得した前記処理時間に基づいて当該統合モデルが示す処理手順の実行に要する所要時間を算出する処理時間算出手段を備えることを特徴とする情報処理装置。
【請求項５】
請求項１乃至４いずれか一項に記載の情報処理装置であって、
前記統合モデルは、前記システムに含まれるいずれかの前記モジュールが故障してから当該システムが正常に戻るまでの復旧手順を示すことを特徴とする情報処理装置。
【請求項６】
請求項１乃至５いずれか一項に記載の情報処理装置であって、
前記振る舞いモデル、前記統合モデルまたは前記構造モデルは、モデリング言語で記述されていることを特徴とする情報処理装置。
【請求項７】
コンピュータによって実行される情報処理方法であって、
モジュールが実行する処理手順を示す振る舞いモデルを、前記モジュール別に記憶手段に記憶する記憶ステップと、
複数の前記モジュールからなるシステムにおける前記モジュール間の接続関係を示す構造モデルを取得する取得ステップと、
前記取得ステップで取得された前記構造モデルが示す前記システムに含まれる前記モジュールに対応する前記振る舞いモデルを前記記憶手段から抽出し、抽出された複数の前記振る舞いモデル同士を当該構造モデルに基づいて組み合わせて、前記システムが実行する処理手順を示す統合モデルを生成する生成ステップと、
前記生成ステップで生成された前記統合モデルが示す処理手順に含まれる各々の処理の処理時間と成功確率とを取得し、取得した前記処理時間と前記成功確率とに基づいて当該統合モデルが示す処理手順の実行に要する所要時間の期待値を算出する期待値算出ステップと、
を備えることを特徴とする情報処理方法。
【請求項８】
コンピュータが読み出し可能な記憶媒体に格納されているプログラムであって、
モジュールが実行する処理手順を示す振る舞いモデルを、前記モジュール別に記憶手段に記憶する記憶処理と、
複数の前記モジュールからなるシステムにおける前記モジュール間の接続関係を示す構造モデルを取得する取得処理と、
前記取得処理で取得された前記構造モデルが示す前記システムに含まれる前記モジュールに対応する前記振る舞いモデルを前記記憶手段から抽出し、抽出された複数の前記振る舞いモデル同士を当該構造モデルに基づいて組み合わせて、前記システムが実行する処理手順を示す統合モデルを生成する生成処理と、
前記生成処理によって生成された前記統合モデルが示す処理手順に含まれる各々の処理の処理時間と成功確率とを取得し、取得した前記処理時間と前記成功確率とに基づいて当該統合モデルが示す処理手順の実行に要する所要時間の期待値を算出する期待値算出処理と、
を前記コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、ＩＴシステムの大規模化、複雑化に伴い、システム開発に要する労力が増大している。また、開発サイクルの短期化や品質向上のための仕様変更などによって、さらなる負担を強いられている。このような負担を軽減し、システム開発工数を短縮するために、システムの設計段階において、ある程度システムのディペンダビリティ（非機能要求）を見積もる必要がある。ここで、ディペンダビリティとは、性能・可用性・セキュリティなど、システムに対する機能以外の部分に関するユーザの要求全般のことである。このように、事前に設計対象のＩＴシステムのディペンダビリティを予測することで、開発作業を効率的に進め、開発に要する工数を低減させることができる。
【０００３】
この種の技術として、特許文献１（特開２００４−３１８６５４号公報）には、次のような性能評価装置が記載されている。この性能評価装置は、半導体装置の設計に用いられ、設計対象の半導体装置の機能をモデル化した機能モデルと、当該半導体装置の物理アーキテクチャをモデル化したアーキテクチャモデルと、を入力し保持し、アーキテクチャモデルに機能モデルを割り当てて性能を評価する。ここでの性能とは、具体的には、各プロセスの実行遅延、通信リソースへの通信遅延、記憶リソースへのデータ転送遅延等が挙げられている。この性能評価装置を用いることにより、ユーザは設計段階で最適なアーキテクチャを決定することができる。
【０００４】
また、この種の技術として、特許文献２（特開２００１−１８４２０４号公報）には、次のようなモジュール実行順序の決定方法が記載されている。各モジュールとＣＰＵとの並列動作可能性または接続関係の情報に基づいて、各モジュール間の実行順序の組み合わせを導出する。そして、各モジュールの実行処理時間または復帰時間の情報に基づいて、導出された実行順序の組み合わせで動作させたときの全体プログラムの実行時間を計算し、当該全体プログラムの実行時間が最短になる実行順序の組み合わせを選択する。これにより、最適なモジュール実行順序を自動的に決定することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３１８６５４号公報
【特許文献２】特開２００１−１８４２０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら上記技術は、モジュールまたはプロセスの各々の処理時間が決まっていないと、アーキテクチャの評価や実行順序の決定が行えないという点で改善の余地を有していた。特に、システムの設計段階において、全てのモジュールまたはプロセスの処理時間が決まっていることは稀であり、一部のモジュールまたはプロセスの処理時間については推測値を与えるしかない場合も多い。この推測値と実際値とが大きく異なってしまうと、上記技術においては最適な評価や決定にならない可能性がある。
【０００７】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、限られた情報に基づいて、システムが実行する処理手順を生成する情報処理装置、情報処理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明によれば、モジュールが実行する処理手順を示す振る舞いモデルを、前記モジュール別に記憶した記憶手段と、複数の前記モジュールから構成されるシステムにおける前記モジュール間の接続関係を示す構造モデルを取得する取得手段と、前記取得手段によって取得された前記構造モデルが示す前記システムに含まれる前記モジュールに対応する前記振る舞いモデルを前記記憶手段から抽出し、抽出された複数の前記振る舞いモデル同士を当該構造モデルに基づいて組み合わせて、前記システムが実行する処理手順を示す統合モデルを生成する生成手段と、を備えることを特徴とする情報処理装置が提供される。
【０００９】
また、本発明によれば、モジュールが実行する処理手順を示す振る舞いモデルを、前記モジュール別に記憶手段に記憶する記憶ステップと、複数の前記モジュールからなるシステムにおける前記モジュール間の接続関係を示す構造モデルを取得する取得ステップと、前記取得ステップで取得された前記構造モデルが示す前記システムに含まれる前記モジュールに対応する前記振る舞いモデルを前記記憶手段から抽出し、抽出された複数の前記振る舞いモデル同士を当該構造モデルに基づいて組み合わせて、前記システムが実行する処理手順を示す統合モデルを生成する生成ステップと、を備えることを特徴とする情報処理方法が提供される。
【００１０】
さらに、本発明によれば、コンピュータが読み出し可能な記憶媒体に格納されているプログラムであって、モジュールが実行する処理手順を示す振る舞いモデルを、前記モジュール別に記憶手段に記憶する記憶処理と、複数の前記モジュールからなるシステムにおける前記モジュール間の接続関係を示す構造モデルを取得する取得処理と、前記取得処理で取得された前記構造モデルが示す前記システムに含まれる前記モジュールに対応する前記振る舞いモデルを前記記憶手段から抽出し、抽出された複数の前記振る舞いモデル同士を当該構造モデルに基づいて組み合わせて、前記システムが実行する処理手順を示す統合モデルを生成する生成処理と、を前記コンピュータに実行させることを特徴とするプログラムが提供される。
【発明の効果】
【００１１】
本発明によれば、限られた情報に基づいて、システムが実行する処理手順を生成する情報処理装置、情報処理方法およびプログラムが提供される。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態に係る情報処理装置の構成図である。
【図２】本実施形態の構造モデルの例を示す図である。
【図３】本実施形態の振る舞いモデルの例を示す図である。
【図４】本実施形態の統合モデルの例を示す図である。
【図５】本実施形態の統合モデルの例を示す図である。
【図６】本実施形態の情報処理装置の動作を表すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
〔第１の実施形態〕
【００１４】
図１は、本発明の実施の形態に係る情報処理装置１０の構成図である。情報処理装置１０は、構造モデル取得部１１、統合モデル生成部１２、ディペンダビリティ算出部１３、構造モデル記憶部１４、振る舞いモデル記憶部１５、関係情報記憶部１６を備える。
【００１５】
なお、構造モデル記憶部１４、振る舞いモデル記憶部１５および関係情報記憶部１６は、それぞれ別の記憶媒体であってもよいし、単一の記憶媒体内の異なる記憶領域であってもよい。
【００１６】
構造モデル記憶部１４は、複数のモジュールから構成されるシステムにおけるモジュール間の接続関係を示す構造モデルを少なくとも一つ記憶している。構造モデル取得部１１（取得手段）は、構造モデルを構造モデル記憶部１４から取得する。なお、本実施形態において構造モデルの取得先は構造モデル記憶部１４に限定して記載するが、必ずしもこれに限らない。例えば、構造モデル取得部１１は、他の装置（図示せず）で生成された構造モデルを取得してもよい。
【００１７】
振る舞いモデル記憶部１５（記憶手段）は、モジュールが実行する処理手順を示す振る舞いモデルを、モジュール別に記憶している。統合モデル生成部１２（生成手段）は、構造モデル取得部１１によって取得された構造モデルが示すシステムに含まれるモジュールに対応する振る舞いモデルを振る舞いモデル記憶部１５から抽出する。そして、統合モデル生成部１２は、抽出された複数の振る舞いモデル同士を当該構造モデルに基づいて組み合わせて、システムが実行する処理手順を示す統合モデルを生成する。
【００１８】
ディペンダビリティ算出部１３は、統合モデル生成部１２によって生成された統合モデル、および関係情報記憶部１６に記憶されている情報に基づいて、分析対象であるシステムのディペンダビリティを算出する。
【００１９】
上述のモジュールとは、当該システムを構成する要素となるもので、いくつかの部分的機能を集め、まとまりのある機能を有するものである。具体的には、例えばＷｅｂサーバやストレージサーバなどの各種サーバ機器やファイアウォール、クライアントＰＣなどである。
【００２０】
上述の構造モデルとは、様々な業務内容や規模に応じて構築されるシステムの設計図に相当するもので、評価対象となるシステムに関する情報をＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）やＳｙｓＭＬ（Ｓｙｓｔｅｍｓ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）などのモデリング言語で表現したものである。
【００２１】
図２は、本実施形態の構造モデルの例を示す図である。図２（Ａ）に示す構造モデルは、モジュール１１１およびモジュール１１３から構成されるシステムを示している。従って、当該構造モデルによって示されるシステムは、モジュール１１１が正常に動作し、かつモジュール１１３が正常に動作していれば稼動可能である。なお、ここで正常に動作するとは、モジュール１１１やモジュール１１３がフルスペックで動作できなくても、最低限の機能を満足する程度に動作できれば、正常と見なしてよい。
【００２２】
図２（Ｂ）に示す構造モデルは、モジュール１１１、モジュール１１２およびモジュール１１３から構成されるシステムを示している。モジュール１１１とモジュール１１２とは多重系の接続関係にある。すなわち、モジュール１１１が故障したときはモジュール１１２が代替可能であり、モジュール１１２が故障したときはモジュール１１１が代替可能である。従って、当該構造モデルによって示されるシステムは、モジュール１１１またはモジュール１１２の少なくとも一方が正常に動作し、かつモジュール１１３が正常に動作していれば稼動可能である。なお、本実施形態において、モジュール１１１が主系、モジュール１１２が待機系として動作していることを前提として説明する。
【００２３】
上述の振る舞いモデルとは、各モジュールに対して行われる動作や処理を時系列に沿ってモデル化したもので、ＵＭＬやＳｙｓＭＬのようなモデリング言語を用いて表すことができる。また、振る舞いモデルは、ある条件によって動作や処理の流れがいくつかの方向に分かれる条件分岐（以下、分岐ノードと呼ぶ）を含む。
【００２４】
図３は、本実施形態の振る舞いモデルの例を示す図である。図３（Ａ）の振る舞いモデルは、モジュールに故障が発生してから、当該モジュールが正常に動作するまでの処理手順をアクティビティ図によってモデル化したものである。本実施形態においては、図３（Ａ）の振る舞いモデルは、モジュール１１３、または主系として動作しているモジュール１１１に対応する。
【００２５】
図３（Ａ）の振る舞いモデルには、以下のような動作や処理が含まれる。
・モジュールが故障する。
・モジュールで実行されているプロセスを再起動する。
・モジュールのオペレーティングシステム（ＯＳ）を再起動する。
・モジュール交換する。
・モジュールが正常に動作する。
【００２６】
また、図３（Ａ）の振る舞いモデルは５つの分岐ノードを有している。分岐ノードＡ１は、当該振る舞いモデルに対応するモジュールに対して行われる動作や処理で復旧する選択肢（Ａ１１）と、当該モジュールから他のモジュールへの切替処理で復旧する選択肢（Ａ１２）があり得ることを示す分岐ノードであり、構造的ノードと呼ばれる。分岐ノードＡ２は、プロセスを再起動する選択肢（Ａ２１）とＯＳを再起動する選択肢（Ａ２２）があり得ることを示す分岐ノードであり、運用的ノードと呼ばれる。分岐ノードＡ３は、プロセスを再起動するとき、成功する選択肢（Ａ３１）と失敗する選択肢（Ａ３２）とがあり得ることを示す分岐ノードであり、確率的ノードと呼ばれる。また、分岐ノードＡ４は、ＯＳを再起動するとき、成功する選択肢（Ａ４１）と失敗する選択肢（Ａ４２）とがあり得ることを示す分岐ノードであり、分岐ノードＡ３と同様に確率的ノードと呼ばれる。分岐ノードＡ５は、ＯＳを再起動する選択肢（Ａ５１）とモジュールを交換する選択肢（Ａ５２）があり得ることを示す分岐ノードであり、分岐ノードＡ２と同様に運用的ノードと呼ばれる。なお、モジュールを交換する処理は必ず成功して、当該モジュールが復旧することを前提としており、ステップＳ４に対応する確率的ノードは存在しない。
【００２７】
図３（Ａ１）の振る舞いモデルにおいて、モジュールに故障が発生したら（ステップＳ１）、まず分岐ノードＡ１に移行する。分岐ノードＡ１でＡ１１が選択されたとき、分岐ノードＡ２に移行する。分岐ノードＡ１でＡ１２が選択されたときは、当該モジュールから他のモジュールへの切替処理に移行するが、この処理は他のモジュールに関わる処理なので、ここでは図示しないものとする。
【００２８】
分岐ノードＡ２でＡ２１が選択されたとき、プロセスを再起動する（ステップＳ２）。また、分岐ノードＡ２でＡ２２が選択されたとき、ＯＳを再起動する（ステップＳ３）。プロセスの再起動が成功したとき（分岐ノードＡ３でＡ３１が選択されたとき）、またはＯＳの再起動が成功したとき（分岐ノードＡ４でＡ４１が選択されたとき）、当該モジュールは正常に動作する（ステップＳ５）。
【００２９】
プロセスの再起動が失敗したとき（分岐ノードＡ３でＡ３２が選択されたとき）、分岐ノードＡ５に移行する。続いて、分岐ノードＡ５でＡ５１が選択されたとき、ＯＳを再起動する（ステップＳ３）。また、分岐ノードＡ５でＡ５２が選択されたとき、あるいは、ＯＳの再起動が失敗したとき（分岐ノードＡ４でＡ４２が選択されたとき）、モジュールを交換し（ステップＳ４）、当該モジュールは正常に動作する（ステップＳ５）。
【００３０】
図３（Ｂ）の振る舞いモデルは、待機系で動作していたモジュールが主系の動作に切り替わるまでの処理手順をアクティビティ図によってモデル化したものである。本実施形態においては、図３（Ｂ）の振る舞いモデルは、待機系として動作しているモジュール１１２に対応する。
【００３１】
図３（Ｂ）の振る舞いモデルには、以下のような動作や処理が含まれる。
・モジュールが待機系として動作する。
・モジュールの動作を待機系から主系に切り替える。
・モジュールが主系として正常に動作する。
【００３２】
また、図３（Ｂ）の振る舞いモデルには、分岐モードが含まれず、上記の動作や処理は全て直列につながっている。すなわち、モジュールの動作を待機系から主系に動作を切り替えるは必ず成功することを前提とするものである。
【００３３】
図３（Ｂ）の振る舞いモデルにおいて、まず、モジュールが待機系として動作しており（ステップＴ１）、当該モジュールが待機系から主系に動作を切り替えると（ステップＴ２）、当該モジュールは主系として正常に動作する（ステップＴ３）。
【００３４】
なお、図３（Ａ）、（Ｂ）で示す振る舞いモデルに含まれる動作や処理、またそれを実行する順序は例であって、本発明はこれに限定されるものではない。
【００３５】
統合モデル生成部１２は、取得された構造モデルの情報を、振る舞いモデル上にマッピングし、両者の情報を統合する機能を持つ。ここでは、図２に示す構造モデルおよび図３に示す振る舞いモデルを用いて、統合モデル生成部１２が統合モデルを生成する処理について、具体的に説明する。なお、統合モデルとは、あるシステムに含まれるいずれかのモジュールが故障してから当該システムが正常に戻るまでの復旧手順を示す振る舞いモデルのことであり、ＵＭＬやＳｙｓＭＬのようなモデリング言語を用いて表すことができる。
【００３６】
まず、構造モデル取得部１１が、図２（Ａ）に示す構造モデルを取得した場合について説明する。このとき、統合モデル生成部１２は、モジュール１１１に対応する振る舞いモデルとして図３（Ａ）の振る舞いモデルを抽出し、またモジュール１１３に対応する振る舞いモデルとしても図３（Ａ）の振る舞いモデルを抽出する。そして、統合モデル生成部１２は、図２（Ａ）の構造モデルからモジュール１１１とモジュール１１３とが直列に接続していることを判断し、抽出された二つの振る舞いモデルを判断結果に基づいて組合せて、図４に示す統合モデルを生成する。なお、統合モデル生成部１２は、構造モデルからモジュール１１１とモジュール１１３とが直列に接続していることを示す情報自体を抽出することによって判断結果を得てもよい。あるいは、統合モデル生成部１２は、構造モデルに対して解析処理を行うことによってモジュール１１１とモジュール１１３とが直列に接続していることを示す情報を生成して判断結果を得てもよい。
【００３７】
図４は、本実施形態の統合モデルの例である。まず、システムダウンすると（ステップＵ１）、分岐ノードＢ１に移行する。分岐ノードＢ１は、システムダウンの原因がモジュール１１１の故障である選択肢（Ｂ１１）と、モジュール１１３の故障である選択肢（Ｂ１２）があり得ることを示している。
【００３８】
分岐ノードＢ１でＢ１１が選択されたとき、モジュール１１１の故障（ステップＳ１１）に移行し、次に分岐ノードＢ２に移行する。分岐ノードＢ２は、図３（Ａ）で説明した分岐ノードＡ１と同様に構造的ノードであり、モジュール１１１に対して行われる動作や処理で復旧する選択肢（Ｂ２１）と、モジュール１１１から他のモジュールへの切替処理で復旧する選択肢（Ｂ２２）があり得ることを示している。しかし、図２（Ａ）の構造モデルによれば、モジュール１１１の待機系に相当する他のジュールは存在しないので、分岐ノードＢ２では、常にＢ２１が選択され、Ｂ２２という選択肢は実際には選択されない。従って、図４において、Ｂ２１の選択肢のみが図示される。
【００３９】
分岐ノードＢ２でＢ２１が選択されたとき、分岐ノードＢ３に移行する。分岐ノードＢ３に移行してから、モジュール１１１が正常に動作する（ステップＳ１５）までの動作フローについては、図３（Ａ）の説明の分岐ノードＡ２からステップＳ５まで動作フローと同様なので、詳細な説明は割愛する。
【００４０】
分岐ノードＢ１でＢ１２が選択されたとき、モジュール１１３の故障（ステップＳ２１）に移行し、次に分岐ノードＢ７に移行する。分岐ノードＢ７は、図３（Ａ）で説明した分岐ノードＡ１と同様に構造的ノードであり、モジュール１１３に対して行われる動作や処理で復旧する選択肢（Ｂ７１）と、モジュール１１３から他のモジュールへの切替処理で復旧する選択肢（Ｂ７２）があり得ることを示している。しかし、図２（Ａ）の構造モデルによれば、モジュール１１３の待機系に相当する他のジュールは存在しないので、分岐ノードＢ７では、常にＢ７１が選択され、Ｂ７２という選択肢は実際には選択されない。従って、図４において、Ｂ７１の選択肢のみが図示される。
【００４１】
分岐ノードＢ７でＢ７１が選択されたとき、分岐ノードＢ８に移行する。分岐ノードＢ８に移行してから、モジュール１１３が正常に動作する（ステップＳ２５）までの動作フローについては、図３（Ａ）の説明の分岐ノードＡ２からステップＳ５まで動作フローと同様なので、詳細な説明は割愛する。
【００４２】
故障していたモジュール１１１が正常に動作すると（ステップＳ１５）、または故障していたモジュール１１３が正常に動作すると（ステップＳ２５）、当該システムは復旧し、正常に稼動する（ステップＵ２）。
【００４３】
次ぎに、構造モデル取得部１１が、図２（Ｂ）に示す構造モデルを取得した場合について説明する。このとき、統合モデル生成部１２は、モジュール１１１に対応する振る舞いモデルとして図３（Ａ）の振る舞いモデルを抽出し、モジュール１１３に対応する振る舞いモデルとしても図３（Ａ）の振る舞いモデルを抽出する。また、統合モデル生成部１２は、モジュール１１２に対応する振る舞いモデルとして図３（Ｂ）の振る舞いモデルを抽出する。そして、統合モデル生成部１２は、図２（Ｂ）の構造モデルからモジュール１１１とモジュール１１２とが多重系の接続関係にあること、モジュール１１１とモジュール１１３とが直列に接続していること、モジュール１１２とモジュール１１３とが直列に接続していること等を判断する。さらに、統合モデル生成部１２は、抽出された三つの振る舞いモデルを判断結果に基づいて組合せて、図５に示す統合モデルを生成する。
【００４４】
図５は、本実施形態の統合モデルの例である。まず、システムダウンすると（ステップＶ１）、分岐ノードＣ１に移行する。分岐ノードＣ１は、システムダウンの原因がモジュール１１１の故障である選択肢（Ｃ１１）と、モジュール１１３の故障である選択肢（Ｃ１２）があり得ることを示している。なお、本実施形態においては、待機系として動作しているモジュール１１２は、故障しないことを前提として説明する。
【００４５】
分岐ノードＣ１でＣ１１が選択されたとき、モジュール１１１の故障（ステップＳ３１）に移行し、次に分岐ノードＣ２に移行する。分岐ノードＣ２は、図３（Ａ）で説明した分岐ノードＡ１と同様に構造的ノードであり、モジュール１１１に対して行われる動作や処理で復旧する選択肢（Ｃ２１）と、モジュール１１１から他のモジュールへの切替処理で復旧する選択肢（Ｃ２２）があり得ることを示している。図２（Ｂ）の構造モデルによれば、モジュール１１１に対してモジュール１１２が待機系として存在する。従って、図５において、Ｃ２１とＣ２２の選択肢が共に図示される。
【００４６】
分岐ノードＣ２でＣ２１が選択されたとき、分岐ノードＣ３に移行する。分岐ノードＣ３に移行してから、モジュール１１１が正常に動作する（ステップＳ３５）までの動作フローについては、図３（Ａ）の説明の分岐ノードＡ２からステップＳ５まで動作フローと同様なので、詳細な説明は割愛する。
【００４７】
分岐ノードＣ２でＣ２２が選択されたとき、モジュール１１２は待機系から主系に動作を切り替え（ステップＴ１２）、モジュール１１２はモジュール１１１の代わりに主系として正常に動作する（ステップＴ１３）。すなわち、ステップＴ１２とステップＴ１３は、図３（Ｂ）の振る舞いモデルにおけるステップＴ２とステップＴ３に相当する。すなわち、統合モデル生成部１２は、モジュール１１１に対応する図３（Ａ）の振る舞いモデルに含まれる処理から、モジュール１１２に対応する図３（Ｂ）の振る舞いモデルに含まれる処理へと移行する処理手順を含めて、統合モデルを生成する。
【００４８】
分岐ノードＣ１でＣ１２が選択されたとき、モジュール１１３の故障（ステップＳ４１）に移行し、次に分岐ノードＣ７に移行する。分岐ノードＣ７は、図３（Ａ）で説明した分岐ノードＡ１と同様に構造的ノードであり、モジュール１１３に対して行われる動作や処理で復旧する選択肢（Ｃ７１）と、モジュール１１３から他のモジュールへの切替処理で復旧する選択肢（Ｃ７２）があり得ることを示している。しかし、図２（Ｂ）の構造モデルによれば、モジュール１１３の待機系に相当する他のジュールは存在しないので、分岐ノードＣ７では、常にＣ７１が選択され、Ｃ７２という選択肢は実際には選択されない。従って、図４において、Ｃ７１の選択肢のみが図示される。
【００４９】
分岐ノードＣ７でＣ７１が選択されたとき、分岐ノードＣ８に移行する。分岐ノードＣ８に移行してから、モジュール１１３が正常に動作する（ステップＳ４５）までの動作フローについては、図３（Ａ）の説明の分岐ノードＡ２からステップＳ５まで動作フローと同様なので、詳細な説明は割愛する。
【００５０】
故障していたモジュール１１１が正常に動作する（ステップＳ３５）、モジュール１１２がモジュール１１１の代わりに主系として正常に動作する（ステップＴ１３）、または故障していたモジュール１１３が正常に動作すると（ステップＳ４５）、当該システムは復旧し、正常に稼動する（ステップＶ２）。
【００５１】
ディペンダビリティ算出部１３は、上記統合モデルに書かれた情報に基づいて、分析対象のシステムのディペンダビリティを算出する。なお、ディペンダビリティ算出部１３の処理は、算出するディペンダビリティの内容によって異なる。
【００５２】
例えば、ディペンダビリティ算出部１３が、統合モデルが示す処理手順の実行に要する所要時間をディペンダビリティとして算出する場合、統合モデル生成部１２によって生成された統合モデルが示す処理手順に含まれる各々の処理の処理時間を取得し、取得した処理時間に基づいて所要時間を算出してもよい。このとき、ディペンダビリティ算出部１３は、各々の処理の処理時間を関係情報記憶部１６から取得してもよい。
【００５３】
また、ディペンダビリティ算出部１３が、統合モデルが示す処理手順の実行に要する所要時間の期待値をディペンダビリティとして算出する場合、統合モデル生成部１２によって生成された統合モデルが示す処理手順に含まれる各々の処理の処理時間と成功確率とを取得し、取得した処理時間と成功確率とに基づいて所要時間の期待値を算出してもよい。このとき、ディペンダビリティ算出部１３は、各々の処理の処理時間と成功確率とを関係情報記憶部１６から取得してもよい。
【００５４】
なお、ディペンダビリティ算出部１３は、統合モデルによって示される処理手順の全部についてディペンダビリティを算出してもよいし、処理手順の一部についてディペンダビリティを算出してもよい。
【００５５】
また、ディペンダビリティ算出部１３は、算出されたディペンダビリティの一部または全部を、情報処理装置１０の表示部（図示せず）に表示出力してもよいし、印刷部（図示せず）に印刷出力してもよい。また、ディペンダビリティ算出部１３は、算出されたディペンダビリティの一部または全部を、他の装置に出力してもよい。
【００５６】
また、ディペンダビリティ算出部１３は、算出されたディペンダビリティに基づいて最適な処理手順を選択して出力してもよい。例えば、ディペンダビリティ算出部１３は、算出された所用時間が最短である処理手順を選択して出力してもよいし、算出された所用時間が長い処理手順から順番に処理手順を選択して出力してもよい。あるいは、ディペンダビリティ算出部１３は、算出された所用時間の期待値が最も小さい処理手順を選択して出力してもよいし、算出された所用時間の期待値が大きい順番に処理手順を選択して出力してもよい。
【００５７】
図６は、本実施形態の情報処理装置１０の動作を表すフローチャートである。図６に示したフローチャートを参照して、情報処理装置１０の動作について説明する。 まず、情報処理装置１０は、モジュールが実行する処理手順を示す振る舞いモデルを、モジュール別に振る舞いモデル記憶部１５に予め記憶しておく（ステップＸ１）。
【００５８】
続いて、情報処理装置１０は、あるタイミングで、分析対象となるシステムにおけるモジュール間の接続関係を示す構造モデルを取得する（ステップＸ２）。ここで、あるタイミングとは、情報処理装置１０の運用者が入力した指令を受け付けたときであってもよいし、予め設定された時刻に情報処理装置１０が自律的に動作してもよい。
【００５９】
そして、情報処理装置１０は、ステップＸ２で取得された構造モデルが示すシステムに含まれるモジュールに対応する振る舞いモデルを振る舞いモデル記憶部１５から抽出し、抽出された複数の振る舞いモデル同士を当該構造モデルに基づいて組み合わせて、システムが実行する処理手順を示す統合モデルを生成する（ステップＸ３）。
【００６０】
そして、情報処理装置１０は、各処理手順に関するディペンダビリティを算出する（ステップＸ４）。 
【００６１】
本実施形態で説明した情報処理装置１０に内包される構成の全部または一部は、ハードウェアで実現されてもよいし、あるいは、プロセッサに処理を実行させるプログラム（またはプログラムコード）で実現されてもよい。この場合、プロセッサは、不揮発性メモリなどの記録媒体からそのプログラムを読み出し実行する。
【００６２】
ここで、本実施形態の効果について説明する。本実施形態では、個々のモジュールの動作フローを示す振る舞いモデルと、モジュール間の接続関係を示す構造モデルとに基づいて、構造モデルが示すシステムの処理手順を示す統合モデルを生成することができる。また、統合モデルに基づいてディペンダビリティを算出することができる。
【００６３】
従って、システムを構成するモジュールと、それらの接続関係、そして各々のモジュールの動作フローが決まった段階で、システム全体の動作フローを作成することができる。そして、本実施形態の情報処理装置の運用者は、当該システムのディペンダビリティを評価することができる。
【００６４】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【００６５】
例えば、上記の実施形態では、統合モデルはシステムの復旧手順に関するものであったが、統合モデルの内容は、予め記憶しておく振る舞いモデルや、取得する構造モデルの内容に依存するものである。したがって、統合モデルは他のプロセス処理を示すものであっても構わない。
【００６６】
また、上記の実施形態では、構造モデル、振る舞いモデル、あるいは統合モデルはモデリング言語で記述されるように説明したが、必ずしもこれに限る必要はなく、他の言語で記述されても構わない。
【００６７】
また、上記実施形態の説明には、複数のフローチャートを用いており、それぞれに複数のステップを順番に記載してあるが、その記載の順番は、本発明の情報処理方法のステップを実行する順番を限定するものではない。このため、本発明の情報処理方法を実行するときには、その複数のステップの順番は内容的に支障しない範囲で変更することができる。
【００６８】
なお、当然ながら、上述した実施の形態および複数の変形例は、その内容が相反しない範囲で組み合わせることができる。また、上述した実施の形態および変形例では、各構成要素の機能などを具体的に説明したが、その機能などは本願発明を満足する範囲で各種に変更することができる。
以下、参考形態の例を付記する。
１．  モジュールが実行する処理手順を示す振る舞いモデルを、前記モジュール別に記憶した記憶手段と、
複数の前記モジュールから構成されるシステムにおける前記モジュール間の接続関係を示す構造モデルを取得する取得手段と、
前記取得手段によって取得された前記構造モデルが示す前記システムに含まれる前記モジュールに対応する前記振る舞いモデルを前記記憶手段から抽出し、抽出された複数の前記振る舞いモデル同士を当該構造モデルに基づいて組み合わせて、前記システムが実行する処理手順を示す統合モデルを生成する生成手段と、
を備えることを特徴とする情報処理装置。
２．  １．に記載の情報処理装置であって、
前記取得手段が、前記システムを構成する第１モジュールと第２モジュールとが多重系の接続関係にある前記構造モデルを取得したとき、
前記生成手段は、前記第１モジュールに対応する第１の振る舞いモデルに含まれる処理から前記第２モジュールに対応する第２の振る舞いモデルに含まれる処理へと移行する処理手順を含む前記統合モデルを生成することを特徴とする情報処理装置。
３．  ２．に記載の情報処理装置であって、
前記第１の振る舞いモデルは、前記第１の振る舞いモデルに含まれる処理へと移行する第１分岐方向と、前記第２の振る舞いモデルに含まれる処理へと移行する第２分岐方向と、を有する分岐点を含み、
前記取得手段が、前記第１モジュールと前記第２モジュールとが多重系の接続関係にある前記構造モデルを取得したとき、
前記生成手段は、前記分岐点において前記第２分岐方向を選択する処理手順を含む前記統合モデルを生成することを特徴とする情報処理装置。
４．  １．乃至３．いずれか一項に記載の情報処理装置であって、
前記生成手段によって生成された前記統合モデルが示す処理手順に含まれる各々の処理の処理時間を取得し、取得した前記処理時間に基づいて当該統合モデルが示す処理手順の実行に要する所要時間を算出する処理時間算出手段を備えることを特徴とする情報処理装置。
５．  １．乃至４．いずれか一項に記載の情報処理装置であって、
前記生成手段によって生成された前記統合モデルが示す処理手順に含まれる各々の処理の処理時間と成功確率とを取得し、取得した前記処理時間と前記成功確率とに基づいて当該統合モデルが示す処理手順の実行に要する所要時間の期待値を算出する期待値算出手段を備えることを特徴とする情報処理装置。
６．  １．乃至５．いずれか一項に記載の情報処理装置であって、
前記統合モデルは、前記システムに含まれるいずれかの前記モジュールが故障してから当該システムが正常に戻るまでの復旧手順を示すことを特徴とする情報処理装置。
７．  １．乃至６．いずれか一項に記載の情報処理装置であって、
前記振る舞いモデル、前記統合モデルまたは前記構造モデルは、モデリング言語で記述されていることを特徴とする情報処理装置。
８．  モジュールが実行する処理手順を示す振る舞いモデルを、前記モジュール別に記憶手段に記憶する記憶ステップと、
複数の前記モジュールからなるシステムにおける前記モジュール間の接続関係を示す構造モデルを取得する取得ステップと、
前記取得ステップで取得された前記構造モデルが示す前記システムに含まれる前記モジュールに対応する前記振る舞いモデルを前記記憶手段から抽出し、抽出された複数の前記振る舞いモデル同士を当該構造モデルに基づいて組み合わせて、前記システムが実行する処理手順を示す統合モデルを生成する生成ステップと、
を備えることを特徴とする情報処理方法。
９．  コンピュータが読み出し可能な記憶媒体に格納されているプログラムであって、
モジュールが実行する処理手順を示す振る舞いモデルを、前記モジュール別に記憶手段に記憶する記憶処理と、
複数の前記モジュールからなるシステムにおける前記モジュール間の接続関係を示す構造モデルを取得する取得処理と、
前記取得処理で取得された前記構造モデルが示す前記システムに含まれる前記モジュールに対応する前記振る舞いモデルを前記記憶手段から抽出し、抽出された複数の前記振る舞いモデル同士を当該構造モデルに基づいて組み合わせて、前記システムが実行する処理手順を示す統合モデルを生成する生成処理と、
を前記コンピュータに実行させることを特徴とするプログラム。
【符号の説明】
【００６９】
１０  情報処理装置
１１  構造モデル取得部
１２  統合モデル生成部
１３  ディペンダビリティ算出部
１４  構造モデル記憶部
１５  振る舞いモデル記憶部
１６  関係情報記憶部
１１１、１１２、１１３  モジュール
【図１】
0005458947.tif 000002
【図２】
0005458947.tif 000003
【図３】
0005458947.tif 000004
【図４】
0005458947.tif 000005
【図５】
0005458947.tif 000006
【図６】
0005458947.tif 000007