(57)【要約】  評価モデル生成装置は、プロセスモデルとサーバモデルとアロケーションとを含むシステムモデルをもとに、ＩＴシステムの機能または非機能の評価を行うための評価モデルを生成する。評価モデル生成装置は、プロセスモデル中のプロセス間の経路であるプロセス経路と、プロセス経路に対応するサーバモデル上の経路であるサーバ経路とを抽出する経路列挙手段１１０と、プロセス経路とサーバ経路とをもとにアロケーションを推測するアロケーション推測手段１２０と、プロセス経路とサーバ経路と推測されたアロケーションとを用いて、システムモデルを評価モデルに変換するモデル変換手段１３０とを含む。
2012172747.tif 000002
【特許請求の範囲】
【請求項１】
ＩＴシステム上のプロセス間の処理を記述したプロセスモデルと、物理システムの構成を記述したサーバモデルと、前記プロセスモデル中の要素と前記サーバモデル中の要素との対応関係を表したアロケーションとを含むシステムモデルをもとに、前記ＩＴシステムの機能または非機能の評価を行うための評価モデルを生成する評価モデル生成装置であって、
プロセスモデル中のプロセス間の経路であるプロセス経路と、前記プロセス経路に対応するサーバモデル上の経路であるサーバ経路とを抽出する経路列挙手段と、
前記プロセス経路と前記サーバ経路とをもとにアロケーションを推測するアロケーション推測手段と、
前記プロセス経路と前記サーバ経路と推測された前記アロケーションとを用いて、システムモデルを評価モデルに変換するモデル変換手段とを含む
ことを特徴とする評価モデル生成装置。
【請求項２】
経路列挙手段は、サーバ経路を探索する際に、サーバモデル中の要素間のリンクに付加された属性にもとづいて、過去に抽出したサーバ経路上のリンクと同一の属性を持つリンクを優先して探索する
請求項１に記載の評価モデル生成装置。
【請求項３】
経路列挙手段は、プロセス経路中の要素のうちアロケーションに含まれる要素を前記アロケーションにもとづいてサーバモデル中の要素に変換してアロケーション置換後経路を生成し、前記アロケーション置換後経路を構成する各要素対の間の前記サーバモデル上における最短経路をサーバ経路として抽出する
請求項１または請求項２に記載の評価モデル生成装置。
【請求項４】
アロケーション推測手段は、プロセス経路中の要素がアロケーションに存在しない場合には、前記プロセス経路と前記プロセス経路に対応するサーバ経路とを比較し、前記プロセス経路中の前記要素がサーバ経路中のどの要素に対応するかを推測し、前記プロセス経路中の前記要素と推測した前記サーバ経路中の要素との対応関係を示す情報を前記アロケーションに追加する
請求項１から請求項３のうちのいずれか１項に記載の評価モデル生成装置。
【請求項５】
モデル変換手段は、プロセスモデルまたはサーバモデル中の要素に設定された付加情報に対応する属性値を、前記要素に対応する評価モデル中の要素に設定する
請求項１から請求項４のうちのいずれか１項に記載の評価モデル生成装置。
【請求項６】
ＩＴシステム上のプロセス間の処理を記述したプロセスモデルと、物理システムの構成を記述したサーバモデルと、前記プロセスモデル中の要素と前記サーバモデル中の要素との対応関係を表したアロケーションとを含むシステムモデルをもとに、前記ＩＴシステムの機能または非機能の評価を行うための評価モデルを生成する評価モデル生成方法であって、
プロセスモデル中のプロセス間の経路であるプロセス経路と、プロセス経路に対応する前記サーバモデル上の経路であるサーバ経路とを抽出し、
前記プロセス経路と前記サーバ経路とをもとにアロケーションを推測し、
前記プロセス経路と前記サーバ経路と推測された前記アロケーションとを用いて、システムモデルを評価モデルに変換する
ことを特徴とする評価モデル生成方法。
【請求項７】
サーバ経路を探索する際に、サーバモデル中の要素間のリンクに付加された属性にもとづいて、過去に抽出したサーバ経路上のリンクと同一の属性を持つリンクを優先して探索する
請求項６に記載の評価モデル生成方法。
【請求項８】
ＩＴシステム上のプロセス間の処理を記述したプロセスモデルと、物理システムの構成を記述したサーバモデルと、前記プロセスモデル中の要素と前記サーバモデル中の要素との対応関係を表したアロケーションとを含むシステムモデルをもとに、前記ＩＴシステムの機能または非機能の評価を行うための評価モデルを生成するための評価モデル生成プログラムであって、
コンピュータに、
プロセスモデル中のプロセス間の経路であるプロセス経路と、前記プロセス経路に対応するサーバモデル上の経路であるサーバ経路とを抽出する処理と、
前記プロセス経路と前記サーバ経路とをもとにアロケーションを推測する処理と、
前記プロセス経路と前記サーバ経路と推測された前記アロケーションとを用いて、システムモデルを評価モデルに変換する処理とを実行させる
ための評価モデル生成プログラム。
【請求項９】
コンピュータに、
サーバ経路を探索する際に、サーバモデル中の要素間のリンクに付加された属性にもとづいて、過去に抽出したサーバ経路上のリンクと同一の属性を持つリンクを優先して探索する処理を実行させる
請求項８に記載の評価モデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、評価モデルを記述するための工数を削減できる評価モデル生成装置、評価モデル生成方法および評価モデル生成プログラムに関する。
【背景技術】
【０００２】
ＩＴシステムの設計時には、その設計が要求どおりの機能や非機能（性能や可用性など）を満たしているかを評価・検証する必要がある。評価対象となるシステムをモデル化し、機能や非機能を実施する手法や方式は古くから研究されている。最近では、ＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）やＳｙｓＭＬ（Ｓｙｓｔｅｍｓ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）など、それに類するモデリング言語でシステムの構成や振る舞いを記述し、非機能要件（ＮＦＲ（Ｎｏｎ−ｆｕｎｃｔｉｏｎａｌ  Ｒｅｑｕｉｒｅｍｅｎｔｓ）を評価する方法が提案されている。ＵＭＬは、モデルの記述方法として図面を採用しているので、システムエンジニア（ＳＥ）にも理解されやすく、モデリングしやすいという特徴がある。ＳｙｓＭＬは、システムのモデリングのためにＵＭＬを拡張した言語である。【０００３】
ＵＭＬにおけるシーケンス図やアクティビティ図によって記述されるシステムの振舞いから性能評価モデル、例えば、待ち行列モデルを自動生成する方法がある（例えば、特許文献１、特許文献２および特許文献３参照。）。また、自動生成された性能評価モデルによる性能評価を行って、ＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ）の作動のシミュレーションをする方法がある（例えば、特許文献４参照。）。【０００４】
ＩＴシステムをモデル化する場合、ハードウェアの構成（以下、サーバモデルという。）と、ソフトウェアの構成および振る舞い（以下、プロセスモデルという。）とは、別々に定義できたほうがよい。なぜならば、プロセスモデルとサーバモデルとは独立に設計することが可能であり、実際に、サーバモデルとプロセスモデルとが別々に定義されることが多いためである。また、サーバモデルとプロセスモデルとを別々に扱うことによって、システムモデルがサーバモデルとプロセスモデルとにモジュール化され、各モデルの管理が容易になる。【０００５】
サーバモデルは、サーバのハードウェア構成や諸元、サーバ間のネットワークの接続関係などを表す。また、サーバ上で動作するＯＳやミドルウェアがサーバモデルに含まれることもある。プロセスモデルは、プロセス間の接続関係の他に、プロセス間のデータのやり取りなど、プロセス間の振る舞いを記述する。そして、どのプロセスがどのサーバ上で実行されるかなどを示す情報は、プロセスモデル中の要素とサーバモデル中の要素との対応関係（以下、アロケーションという。）として記述する。【０００６】
このようにサーバモデルとプロセスモデルとを別々に記述する記述方法は、ＭＡＲＴＥ（Ｍｏｄｅｌｉｎｇ  ａｎｄ  Ａｎａｌｙｓｉｓ  ｏｆ  Ｒｅａｌ−Ｔｉｍｅ  ａｎｄ  Ｅｍｂｅｄｄｅｄ  Ｓｙｓｔｅｍｓ）（非特許文献１参照。）、ＡＡＤＬ（Ａｒｃｈｉｔｅｃｔｕｒｅ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｄｅｓｉｇｎ  Ｌａｎｇｕａｇｅ）（非特許文献２参照。）などにおいて行われている。また、このような記述方法は、特許文献３に記載された方法においても採用されている。ＭＡＲＴＥは、性能などの非機能要件を評価するためのＵＭＬの拡張属性（プロファイル）として定義されている。また、ＡＡＤＬは、非機能要件の評価機能を有するモデリング言語であって、ＵＭＬと同様に図形による分かりやすいシステムのモデリングが可能である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−３１８８１２号公報
【特許文献２】特開２００７−１７９１６５号公報
【特許文献３】特開２００７−１８８１７９号公報
【特許文献４】特開２００５−３２７０９４号公報
【非特許文献】
【０００８】
【非特許文献１】Ｏｂｊｅｃｔ  Ｍａｎａｇｅｍｅｎｔ  Ｇｒｏｕｐ，  ＵＭＬ  Ｐｒｏｆｉｌｅ  ｆｏｒ  ＭＡＲＴＥ：  Ｍｏｄｅｌｉｎｇ  ａｎｄ  Ａｎａｌｙｓｉｓ  ｏｆ  Ｒｅａｌ−Ｔｉｍｅ  Ｅｍｂｅｄｄｅｄ  Ｓｙｓｔｅｍｓ，Ｎｏｖｅｍｂｅｒ  ２００９
【非特許文献２】Ｐｅｔｅｒ  Ｈ．  Ｆｅｉｌｅｒ，  Ｄａｖｉｄ  Ｐ．  Ｇｌｕｃｈ，  Ｊｏｈｎ  Ｊ．  Ｈｕｄａｋ，  Ｔｈｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ａｎａｌｙｓｉｓ  ＆  Ｄｅｓｉｇｎ  Ｌａｎｇｕａｇｅ  （ＡＡＤＬ）：  Ａｎ  Ｉｎｔｒｏｄｕｃｔｉｏｎ，Ｆｅｂｒｕａｒｙ  ２００６
【非特許文献３】Ｓｕ−Ｙｏｕｎｇ  Ｌｅｅ，  Ｍａｌｌｅｔ，  Ｆ．，  ｄｅ  Ｓｉｍｏｎｅ，  Ｒ．，  Ｄｅａｌｉｎｇ  ｗｉｔｈ  ＡＡＤＬ  Ｅｎｄ−ｔｏ−ｅｎｄ  Ｆｌｏｗ  Ｌａｔｅｎｃｙ  ｗｉｔｈ  ＵＭＬ  ＭＡＲＴＥ  Ｅｎｇｉｎｅｅｒｉｎｇ  ｏｆ  Ｃｏｍｐｌｅｘ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ，  ２００８．  ＩＣＥＣＣＳ  ２００８．  １３ｔｈ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ，Ｊａｎｕａｒｒｙ  ２００８
【発明の概要】
【発明が解決しようとする課題】
【０００９】
サーバモデルとプロセスモデルとを別々に記述した場合、アロケーションの記述が煩雑になる場合がある。図１４は、非特許文献３に記載されたＭＡＲＴＥによるモデリングの一例を示す説明図である。図１４において、“非周期処理”と記述された矩形内がプロセスモデルを、“実行プラットフォーム”と記述された矩形内がサーバモデルを、“フロー”と記述された矩形内がプロセスモデルの処理を、“＜＜ａｌｌｏｃａｔｅ＞＞”という属性が付加された点線矢印が各要素間のアロケーションを表している。【００１０】
図１４に示すようにＭＡＲＴＥによるモデリングにおいてアロケーションを記述するときに、設計者は、サーバモデル中のＣＰＵやバスの構造を理解しながら、プロセスモデルの処理の各ステップがプロセスモデルおよびサーバモデルのどの要素で実行されるのかを特定する。このような複雑な手順を要するアロケーションの記述は、煩雑になり間違いを生じさせやすい。【００１１】
そこで、本発明は、ＵＭＬやそれに類するモデリング言語によってシステムをサーバモデルとプロセスモデルとに階層的にモデリングする際に、アロケーションの記述量を削減させることができる評価モデル生成装置、評価モデル生成方法および評価モデル生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明による評価モデル生成装置は、ＩＴシステム上のプロセス間の処理を記述したプロセスモデルと、物理システムの構成を記述したサーバモデルと、プロセスモデル中の要素とサーバモデル中の要素との対応関係を表したアロケーションとを含むシステムモデルをもとに、ＩＴシステムの機能または非機能の評価を行うための評価モデルを生成する評価モデル生成装置であって、プロセスモデル中のプロセス間の経路であるプロセス経路と、プロセス経路に対応するサーバモデル上の経路であるサーバ経路とを抽出する経路列挙手段と、プロセス経路とサーバ経路とをもとにアロケーションを推測するアロケーション推測手段と、プロセス経路とサーバ経路と推測されたアロケーションとを用いて、システムモデルを評価モデルに変換するモデル変換手段とを含むことを特徴とする。【００１３】
本発明による評価モデル生成方法は、ＩＴシステム上のプロセス間の処理を記述したプロセスモデルと、物理システムの構成を記述したサーバモデルと、プロセスモデル中の要素とサーバモデル中の要素との対応関係を表したアロケーションとを含むシステムモデルをもとに、ＩＴシステムの機能または非機能の評価を行うための評価モデルを生成する評価モデル生成方法であって、プロセスモデル中のプロセス間の経路であるプロセス経路と、プロセス経路に対応するサーバモデル上の経路であるサーバ経路とを抽出し、プロセス経路とサーバ経路とをもとにアロケーションを推測し、プロセス経路とサーバ経路と推測されたアロケーションとを用いて、システムモデルを評価モデルに変換することを特徴とする。【００１４】
本発明による評価モデル生成プログラムは、ＩＴシステム上のプロセス間の処理を記述したプロセスモデルと、物理システムの構成を記述したサーバモデルと、プロセスモデル中の要素とサーバモデル中の要素との対応関係を表したアロケーションとを含むシステムモデルをもとに、ＩＴシステムの機能または非機能の評価を行うための評価モデルを生成するための評価モデル生成プログラムであって、コンピュータに、プロセスモデル中のプロセス間の経路であるプロセス経路と、プロセス経路に対応するサーバモデル上の経路であるサーバ経路とを抽出する処理と、プロセス経路とサーバ経路とをもとにアロケーションを推測する処理と、プロセス経路とサーバ経路と推測されたアロケーションとを用いて、システムモデルを評価モデルに変換する処理とを実行させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、ＵＭＬやそれに類するモデリング言語によってシステムをサーバモデルとプロセスモデルとに階層的にモデリングする際に、アロケーションの記述量を削減させ、アロケーションの記述ミスを少なくさせることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明による評価モデル生成装置の第１の実施形態の構成を示すブロック図である。
【図２】プロセスモデルの一例を示す説明図である。
【図３】プロセスモデルの一例を示す説明図である。
【図４】サーバモデルの一例を示す説明図である。
【図５】アロケーション元とアロケーション先の対応関係を示す表（アロケーション表）の一例を示す説明図である。
【図６】経路列挙手段の処理の一例を示すフローチャートである。
【図７】プロセス経路、アロケーション置換後経路およびサーバ経路の対応関係を示す説明図である。
【図８】推測されたアロケーションも含めたアロケーション表の一例を示す説明図である。
【図９】図２に示すプロセスモデルにアノテーションを付加した場合の一例を示す説明図である。
【図１０】図４に示すサーバモデルにアノテーションを付加した場合の一例を示す説明図である。
【図１１】図８、図９および図１０で示すシステムモデルから生成された性能評価モデルの一例を示す説明図である。
【図１２】本発明による評価モデル生成装置の第２の実施形態の構成を示すブロック図である。
【図１３】リンクに属性が付加されたサーバモデルの一例を示す説明図である。
【図１４】ＭＡＲＴＥによるモデリングの一例を示す説明図である。
【発明を実施するための形態】
【００１７】
実施形態１．
以下、本発明の第１の実施形態を図面を参照して説明する。
【００１８】
図１は、本発明による評価モデル生成装置の第１の実施形態の構成を示すブロック図である。
【００１９】
図１に示すように、評価モデル生成装置１００は、経路列挙手段１１０と、アロケーション推測手段１２０と、モデル変換手段１３０とを備える。経路列挙手段１１０、アロケーション推測手段１２０およびモデル変換手段１３０は、評価モデル生成装置１００が備えるＣＰＵとプログラムなどによって実現される。
【００２０】
評価モデル生成装置１００は、情報処理装置であって、ＩＴシステムの設計情報をモデル化したシステムモデルを読み込んで、そのシステムの性能などを評価するための評価モデルを出力する。
【００２１】
システムモデルは、ソフトウェアの構成と振る舞いとを表すプロセスモデルと、ハードウェアの構成を表すサーバモデルと、プロセスモデルとサーバモデルとの間の対応関係を表すアロケーションとを含む。システムモデルは、評価モデル生成装置１００が備える記憶手段（図示せず）に記憶されていてもよいし、評価モデル生成装置１００の外部の記憶装置に記憶されていてもよい。
【００２２】
経路列挙手段１１０は、システムモデルに含まれるプロセスモデルおよびサーバモデルに記述された経路を抽出する。
【００２３】
アロケーション推測手段１２０は、経路列挙手段１１０によって抽出された経路情報にもとづいてアロケーションを推測する。
【００２４】
モデル変換手段１３０は、システムモデルの情報と、アロケーション推測手段１２０によって推測されたアロケーションとにもとづいて、システムモデルを評価モデルに変換する。
【００２５】
図２および図３は、プロセスモデルの一例を示す説明図である。
【００２６】
図２に示すように、プロセスモデルはＵＭＬのアクティビティ図などで表される。図２に示すシステム中には、ｃｌｉｅｎｔ、ｗｗｗおよびｄｂの３つの処理（プロセス）が存在し、ｃｌｉｅｎｔ→ｗｗｗ→ｄｂの順に処理が実行されることが表されている。
【００２７】
図２に示す黒丸は、処理の開始を表す開始ノードを表す。二重黒丸は処理の終了を表す終了ノードを表す。子を複数持つひし形のｂｒａｎｃｈ２０３は処理の分岐を表し、矢印上に分岐条件が設定される。親を複数持つひし形のｍｅｒｇｅ２０５は、分岐した処理のマージを表す。角丸矩形のｃｌｉｅｎｔ２０１、ｗｗｗ２０２およびｄｂ２０４は単一の処理を表す。ｍ１〜ｍ５は、メッセージを表す。
【００２８】
ｂｒａｎｃｈ２０３は、分岐の条件が満たされる場合のみｄｂ２０４の処理がなされ、それ以外の場合は、ｄｂ２０４の処理はスキップされることを表している。また、プロセスモデルにおいて「Ａ→Ｂ」というように記述されている場合は、ＡがＢの親であること、または、ＢがＡの子であることを表す。
【００２９】
プロセスモデルは、図３に示すようなシーケンス図を用いて記述されうる。プロセスモデルがシーケンス図を用いて記述されている場合には、シーケンス図をそれと同等のアクティビティ図に変換する処理が実行される。
【００３０】
図４は、サーバモデルの一例を示す説明図である。サーバモデルは、ＵＭＬのコンポジット構成図や、ＳｙｓＭＬの内部ブロック図によって記述される。
【００３１】
図４に示すＣＬＩＥＮＴ４０１はクライアントＰＣ（パーソナルコンピュータ）、ＲＯＵＴＥＲ４０２はルータ、ＳＷ４０３はネットワークスイッチ、ＷＥＢＳＶ４０４およびＤＢＳＶ４０５はサーバ（ウェブサーバおよびデータベースサーバ）を表す。また、各機器の間の線は、ネットワークの配線を表す。
【００３２】
図５は、アロケーション表の一例を示す説明図である。
【００３３】
図５に示すアロケーション表は、プロセスモデルからサーバモデルへのアロケーションの内容を表す。図２または図３に示すプロセスモデル中のｃｌｉｅｎｔプロセス、ｗｗｗプロセス、ｄｂプロセスが、それぞれ、図４に示すサーバモデル中のＣＬＩＥＮＴ４０１、ＷＥＢＳＶ４０４、ＤＢＳＶ４０５で実行されることを表している。
【００３４】
図２または図３、図４および図５に示す内容は、ＳＥなどのユーザによって記述される。
【００３５】
次に、本実施形態の動作を説明する。
【００３６】
まず、評価モデル生成装置１００は、経路列挙手段１１０によって、サーバモデル中の処理の経路を抽出する。図６は、経路列挙手段１１０の処理の一例を示すフローチャートである。
【００３７】
最初に、経路列挙手段１１０は、プロセスモデルから、アロケーション元になっている要素間の経路（以下、プロセス経路という。）を抽出する（ステップＳ６０１）。図２に示す例では、アロケーション元となるプロセスは、ｃｌｉｅｎｔ、ｗｗｗおよびｄｂであるため、それに対応するプロセス経路として「ｃｌｉｅｎｔ→ｍ１→ｗｗｗ」、「ｗｗｗ→ｍ２→ｂｒａｎｃｈ→ｍ３→ｄｂ」が抽出される。
【００３８】
次に、経路列挙手段１１０は、プロセス経路中の要素をアロケーション表にもとづいて置換処理を行う（ステップＳ６０２）。置換後の経路をアロケーション置換後経路と呼ぶ。例えば、プロセス経路「ｃｌｉｅｎｔ→ｍ１→ｗｗｗ」に含まれるｃｌｉｅｎｔとｗｗｗとは、図５に示すアロケーション表にもとづいて、ＣＬＩＥＮＴとＷＥＢＳＶとに置換される。また、アロケーション元がｍ１であるアロケーション先はアロケーション表に存在しないので、アロケーション置換後経路にはｍ１に対応する要素は生成されない。その結果、プロセス経路「ｃｌｉｅｎｔ→ｍ１→ｗｗｗ」に対応するアロケーション置換後経路は、「ＣＬＩＥＮＴ→ＷＥＢＳＶ」となる。
【００３９】
最後に、経路列挙手段１１０は、アロケーション置換後経路を構成する各要素対の間の、サーバモデル上での最短経路を調べ、要素対をその最短経路で置換する（ステップＳ６０３）。置換後の経路をサーバ経路と呼ぶ。例えば、アロケーション置換後経路「ＣＬＩＥＮＴ→ＷＥＢＳＶ」は、ＣＬＩＥＮＴとＷＥＢＳＶという対を含む。そして、この対を両端に持つサーバモデル上の最短経路は、「ＣＬＩＥＮＴ→ＲＯＵＴＥＲ→ＳＷ→ＷＥＢＳＶ」となる。なお、最短経路の探索は、公知のグラフの幅優先探索アルゴリズムによって実現することができる。
【００４０】
図７は、ステップＳ６０１〜６０３の処理によって抽出されたプロセス経路、アロケーション置換後経路およびサーバ経路の対応関係を示す説明図である。
【００４１】
次に、評価モデル生成装置１００において、アロケーション推測手段１２０は、アロケーション表に明示的に指定されていないアロケーションを推測する。アロケーション推測手段１２０は、プロセス経路とサーバ経路とを比較し、プロセス経路中の要素のうちアロケーション表にない要素が、サーバ経路中のどの要素に対応するかを判定する。
【００４２】
図７に示す例では、アロケーション推測手段１２０は、プロセス経路「ｃｌｉｅｎｔ→ｍ１→ｗｗｗ」と、サーバ経路「ＣＬＩＥＮＴ→ＲＯＵＴＥＲ→ＳＷ→ＷＥＢＳＶ」とを比較して、アロケーション表にない要素ｍ１に対応する要素を推測することにより、ｍ１は、ＲＯＵＴＥＲとＳＷとにアロケートされるものと推測できる。図８は、推測されたアロケーションも含めたアロケーション表の一例を示す説明図である。
【００４３】
次に、評価モデル生成装置１００において、モデル変換手段１３０は、推測されたアロケーションを含むシステムモデルを評価モデルに変換する。評価モデルへの変換方法は、評価対象によって異なる。本実施形態では性能評価モデルへの変換方法が用いられる場合を例にする。性能評価モデルは、サーバモデル上での処理の流れ（フロー）を表す。また、性能評価モデルには、性能評価に必要な属性が付加される。
【００４４】
性能評価が行われる場合、システムモデルの各要素には予め性能評価のための付加情報（アノテーション）が付加される。図９は、図２に示すプロセスモデルにアノテーションが付加された場合の一例を示す説明図である。図１０は、図４に示すサーバモデルにアノテーションが付加された場合の一例を示す説明図である。図９および図１０に示すように、アノテーションは、右上の角が折り曲げられた長方形として記述される。
【００４５】
図９に示すアノテーション「ｍｅｓｓａｇｅ＝１０ＫＢ」は、ｃｌｉｅｎｔ２０１からｗｗｗ２０２に対して送信されるリクエストのメッセージｍ１のデータサイズが平均１０ＫＢであることを表す。アノテーション「ｃｐｕＤｅｍａｎｄ＝５ｍｓ」は、ｗｗｗ２０２においてリクエストを処理するのに必要なＣＰＵ時間は平均５ｍｓであることを表す。アノテーション「ｂｒａｎｃｈＲａｔｅ＝９０％」は、ｂｒａｎｃｈ２０３においてＯＫのほうに分岐する確率は平均９０％であることを表す。アノテーション「ｃｐｕＤｅｍａｎｄ＝１０ｍｓ」は、ｄｂ２０４においてリクエストを処理するために必要なＣＰＵ時間が平均１０ｍｓであることを表す。
【００４６】
図１０に示すアノテーション「ｌａｔｅｎｃｙ＝１ｍｓ」は、ＲＯＵＴＥＲ４０２において平均１ｍｓの遅延が生じることを表す。アノテーション「ｔｈｒｏｕｐｕｔ＝１Ｇｂｐｓ」は、ＳＷ４０３のスループットが１００Ｍｂｐｓであることを表す。
【００４７】
モデル変換手段１３０は、図９に示すプロセスモデルから、親を持たないか、または親が全て変換済みである要素（ノード）を取り出す。そのようなノードが無ければ処理を終了する。
【００４８】
モデル変換手段１３０は、取り出したノードＮが開始ノード、終了ノード、分岐ノード、マージノードであった場合は、それに対応する開始ノード、終了ノード、分岐ノード、マージノードＮ´を生成する。ノードＮが親ノードＰを持つ場合、ノードＰの変換後のノードＰ´からノートＮ´へのリンクを生成する。
【００４９】
モデル変換手段１３０は、取り出したノードＮが処理ノードであった場合は、アロケーション表にもとづいて、ノードＮに対応する処理ノードＮ´を生成する。そして、モデル変換手段１３０は、経路列挙手段１１０によって抽出されたサーバ経路にもとづいて、ノードＰの変換後のノードＰ´からノードＮ´への経路が存在するか否かを調べる。経路が存在すれば、モデル変換手段１３０は、その経路上のサーバモデル要素に対応するノードを生成し、経路に対応するノード間のリンクを生成する。
【００５０】
そして、モデル変換手段１３０は、プロセスモデルまたはサーバモデルに設定されたアノテーションにもとづいて、以下に示すルール（１）〜（４）に従って、生成されたノードに対して属性値を与える。ここで、生成されたノードをＮ´、ノードＮ´を生成する元になったサーバモデル中の要素をＲ、Ｒのアロケーション元のプロセスモデル中の要素をＱとする。
【００５１】
（１）モデル変換手段１３０は、Ｎ´に対して、「ｒｅｓ＝Ｒ」という属性を付加する。
【００５２】
（２）モデル変換手段１３０は、Ｑに対してｃｐｕＤｅｍａｎｄ属性が設定されていた場合は、その値をｄ秒とすると、生成したノードＮ´に対して「ｄｅｍａｎｄ＝ｄ」という属性を設定する。
【００５３】
（３）モデル変換手段１３０は、Ｑに対してｍｅｓｓａｇｅＳｉｚｅ属性が設定されていて、Ｒに対してｔｈｒｏｕｇｈｐｕｔ属性が設定されている場合は、ｍｅｓｓａｇｅＳｉｚｅ属性の値をＳ、ｔｈｒｏｕｇｈｐｕｔ属性の値をＸとすると、生成したノードＮ´に対して「ｄｅｍａｎｄ＝Ｓ／Ｘ」という属性を設定する。
【００５４】
（４）モデル変換手段１３０は、Ｒに対してｌａｔｅｎｃｙ属性が設定されている場合は、その値をｄ秒とすると、生成したノードＮ´に対して「ｄｅｌａｙ＝ｄ」という属性を設定する。
【００５５】
また、リンクを生成する際には、親ノードが分岐ノードであった場合は、モデル変換手段１３０は、変換元の分岐ノードから出力するリンクの付加情報として設定されていた遷移確率（ｂｒａｎｃｈＲａｔｅ）を、生成するリンクに設定する。
【００５６】
モデル変換手段１３０は、プロセスモデルを性能評価モデルに変換した後、ｄｅｍａｎｄもｄｅｌａｙも設定されていない処理ノードを削除する。
【００５７】
図１１を参照して、図８、図９および図１０で示すシステムモデルから性能評価モデルを生成する場合を説明する。図１１は、図８、図９および図１０で示すシステムモデルから生成された性能評価モデルの一例を示す説明図である。
【００５８】
モデル変換手段１３０は、図８に示す情報をもとに、ｃｌｉｅｎｔのアロケーション先ＣＬＩＥＮＴに対応するノードを生成する。なお、ＣＬＩＥＮＴに対応するノードは、ｄｅｍａｎｄもｄｅｌａｙも設定されないため、最終的には削除されるので図１１に示す性能評価モデルには含まれていない。
【００５９】
モデル変換手段１３０は、次に、図８に示す情報をもとに、ｗｗｗのアロケーション先ＷＥＢＳＶに対応するノード１１０３を生成する。図７に示すサーバ経路には、ＣＬＩＥＮＴとＷＥＢＳＶとの間の経路上にＲＯＵＴＥＲとＳＷとが存在するため、モデル変換手段１３０は、ＣＬＩＥＮＴに対応するノードとノード１１０３の間に、ＲＯＵＴＥＲに対応するノード１１０１、ＳＷに対応するノード１１０２を生成し、１１０１、１１０２、１１０３の順にリンクを生成する。
【００６０】
ノード１１０１に対応するサーバモデル中の要素ＲはＲＯＵＴＥＲ４０２であり，ＲＯＵＴＥＲ４０２には１ｍｓのｌａｔｅｎｃｙ属性が設定されているため、上記ルール（４）にもとづいて、ノード１１０１に対して「ｄｅｌａｙ＝１ｍｓ」という属性が設定される。
【００６１】
また、ノード１１０２に対応するサーバモデル中の要素ＲはＳＷ４０３であり、ＳＷ４０３には１Ｇｂｐｓ（１２５ＭＢ／ｓ）のｔｈｒｏｕｇｈｐｕｔ属性が設定されており、Ｒのアロケーション元のプロセスモデル中の要素Ｑはｍ１であり、ｍ１には、ｍｅｓｓａｇｅＳｉｚｅ属性が設定されているため、上記ルール（３）にもとづいて、ノード１１０２に対して、ｄｅｍａｎｄ＝０．００８％（＝１０ＫＢ／１２５ＭＢ）という属性が設定される。
【００６２】
以上のようにして生成された性能評価モデルをシミュレーションしたりすることによって、システムの性能評価が可能となる。
【００６３】
以上に説明したように、本実施形態では、サーバモデル上でのネットワーク構成を考慮せずに、単に、図５に示すようなサーバとクライアント間のアロケーションを記述するだけで、サーバモデル上のネットワーク機器の遅延なども含めた評価モデルが生成される。よって、モデリングするユーザによるアロケーションの記述量の増加が抑えられ、モデリングの工数およびアロケーションの記述ミスによる評価結果のエラーが削減される。
【００６４】
なお、本実施形態では、プロセスモデルはアクティビティ図でのみ与えられるが、図１４に示す“非周期処理”と記述された矩形内のモデルのように、プロセスモデルに対してもサーバモデルと同様に構造を表すモデルを設け、アクティビティ図の各要素とのアロケーションを設定するようにしてもよい。その場合、評価モデル生成装置１００は、アクティビティ図で表されたモデルを一旦プロセスモデル上のフローに変換する処理と、変換して生成されたプロセスモデル上のフローとサーバモデルとをもとに、サーバモデル上のフローを生成する処理とを行う。
【００６５】
また、プロセスモデルとサーバモデルの２階層のモデル化だけでなく、多階層のモデル化をすることも可能である。例えば、仮想環境の評価をするために、プロセスモデル、仮想サーバモデル、物理サーバモデルの３階層のモデリングをすることも可能である。この場合も、本実施形態で示したモデルの変換処理を繰り返すことによって、物理サーバモデル上でのフローに変換し、性能などを評価することができる。
【００６６】
また、本実施形態では、システムモデルの制御構造として、分岐処理を含む例を示したが、並列処理や繰り返し処理を含んでいてもよい。
【００６７】
実施形態２．
以下、本発明の第２の実施形態を図面を参照して説明する。
【００６８】
図１２は、本発明による評価モデル生成装置の第２の実施形態の構成を示すブロック図である。
【００６９】
図１２に示すように、評価モデル生成装置５００は、属性付き経路列挙手段５１０と、アロケーション推測手段１２０と、モデル変換手段１３０とを備える。属性付き経路列挙手段５１０は、評価モデル生成装置５００が備えるＣＰＵとプログラムなどによって実現される。
【００７０】
属性付き経路列挙手段５１０は、第１の実施形態における経路列挙手段１１０の処理と同様の処理を行う。しかし、属性付き経路列挙手段５１０は、サーバモデル上での最短経路を調べる際に、サーバモデル上のリンクに設定された属性を考慮する。具体的には、アロケーション置換後経路に対応するサーバ経路が複数存在しうる場合に、以前に抽出されたサーバ経路上のリンクと同一の属性を持つリンクを優先して探索する。
【００７１】
図１３は、リンクに属性が付加されたサーバモデルの一例を示す説明図である。
【００７２】
ＣＬＩＥＮＴ１３０１はクライアントＰＣ、ＲＯＵＴＥＲ１３０２はルータ、ＳＷ１３０３およびＭＮＴＳＷ１３０６はネットワークスイッチ、ＷＥＢＳＶ１３０４およびＤＢＳＶ１３０５はサーバ、ＭＮＴＳＶ１３０７は運用管理サーバを表す。
【００７３】
図１３に示す例では、ＷＥＢＳＶ１３０４およびＤＢＳＶ１３０５は、ＳＷ１３０３とＲＯＵＴＥＲ１３０２とを介して、ＣＬＩＥＮＴ１３０１と接続されているだけでなく、ＭＮＴＳＷ１３０６を介して、ＭＮＴＳＶ１３０７とも接続されている。そして、ＣＬＩＥＮＴ１３０１との接続を表すリンクには“＜＜ａｃｃｅｓｓ＞＞”という属性が設定されている。ＭＮＴＳＶ１３０７との接続を表すリンクには“＜＜ｍｎｔ＞＞”という属性が設定されている。
【００７４】
図１３に示す例では、図７に示す表のアロケーション置換後経路「ＷＥＢＳＶ→ＤＢＳＶ」に対応するサーバ経路として、「ＷＥＢＳＶ→ＳＷ→ＤＢＳV」と「ＷＥＢＳＶ→ＭＮＴＳＷ→ＤＢＳV」の２通りが存在する。
【００７５】
属性付き経路列挙手段５１０は、図７に示す表の１行目のサーバ経路「ＣＬＩＥＮＴ→ＲＯＵＴＥＲ→ＳＷ→ＷＥＢＳＶ」が“＜＜ａｃｃｅｓｓ＞＞”属性を持つ経路を抽出する。従って、属性付き経路列挙手段５１０は、アロケーション置換後経路「ＷＥＢＳＶ→ＤＢＳＶ」に対応するサーバ経路を探索する際に、異なる属性が設定されたリンクを辿る「ＷＥＢＳＶ→ＭＮＴＳＷ→ＤＢＳV」よりも「ＷＥＢＳＶ→ＳＷ→ＤＢＳV」を優先し、「ＷＥＢＳＶ→ＳＷ→ＤＢＳV」をサーバ経路と判定する。
【００７６】
本実施形態では、サーバが複数のネットワークに接続された場合であっても、サーバモデル上のリンクに設定された属性にもとづいて、サーバモデル上での最短経路が探索される。
【００７７】
また、第１の実施形態では、図１３に示す例のようにサーバが複数のネットワークに接続された場合は、アロケーションのあいまい性が生ずる。あいまい性を解消するために、明示的にアロケーションが設定される。例えば、図７に示す例において、プロセス経路「ｗｗｗ→ｍ２→ｂｒａｎｃｈ→ｍ３→ｄｂ」中の要素ｍ３に対するアロケーションを推測する際に、アロケーション推測手段１２０は、アロケーション先がＳＷであるかＭＮＴＳＷであるか不明である。あいまい性を解消するために明示的にｍ３とＳＷとの間にアロケーションが設定されるべきである。第２の実施形態では、属性付き経路列挙手段５１０が、サーバモデル上のリンクに設定された属性にもとづいて最短経路の探索を行っているので、あいまい性を解消するためのアロケーションの設定を省くことができる。
【００７８】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００７９】
この出願は、２０１１年６月１４日に出願された日本特許出願２０１１−１３２３７７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００８０】
１１０  経路列挙手段
１２０  アロケーション推測手段
１３０  モデル変換手段
１００、５００  評価モデル生成装置
２０１  ｃｌｉｅｎｔ
２０２  ｗｗｗ
２０３  ｂｒａｎｃｈ
２０４  ｄｂ
２０５  ｍｅｒｇｅ
４０１、１３０１  ＣＬＩＥＮＴ
４０２、１３０２  ＲＯＵＴＥＲ
４０３、１３０３  ＳＷ
４０４、１３０４  ＷＥＢＳＶ
４０５、１３０５  ＤＢＳＶ
５１０  属性付き経路列挙手段
１１０１〜１１０６  ノード
１３０６  ＭＮＴＳＷ
１３０７  ＭＮＴＳＶ
【図１】
2012172747.tif 000003
【図２】
2012172747.tif 000004
【図３】
2012172747.tif 000005
【図４】
2012172747.tif 000006
【図５】
2012172747.tif 000007
【図６】
2012172747.tif 000008
【図７】
2012172747.tif 000009
【図８】
2012172747.tif 000010
【図９】
2012172747.tif 000011
【図１０】
2012172747.tif 000012
【図１１】
2012172747.tif 000013
【図１２】
2012172747.tif 000014
【図１３】
2012172747.tif 000015
【図１４】
2012172747.tif 000016
【国際調査報告】
2012172747.tif 000017
2012172747.tif 000018
2012172747.tif 000019
2012172747.tif 000020