(57)【要約】  システム設計を容易にする性能見積もり装置等が開示される。  性能見積もり装置は、ＩＴシステムが有するプラットフォームに関する情報を含むシステムモデルと、前記ＩＴシステムにおける機能を実現するアプリケーションに固有な処理であるＡＰ固有処理に関する情報及び前記アプリケーションに含まれるパラメータに関する情報を含むＡＰモデルとが、共通して含むメッセージに基づき、前記システムモデルと前記ＡＰモデルとを合成することにより、性能モデルを作成するモデル合成部と、前記性能モデルに基づき、所定の算出手順に従い、前記ＩＴシステムにおける性能を算出する見積り部とを有する。
2014068979.tif 000002
【特許請求の範囲】
【請求項１】
ＩＴシステムが有するプラットフォームに関する情報を含むシステムモデルと、前記ＩＴシステムにおける機能を実現するアプリケーションに固有な処理であるＡＰ固有処理に関する情報及び前記アプリケーションに含まれるパラメータに関する情報を含むＡＰモデルとが、共通して含むメッセージに基づき、前記システムモデルと前記ＡＰモデルとを合成することにより、性能モデルを作成するモデル合成手段と、
前記性能モデルに基づき、所定の算出手順に従い、前記ＩＴシステムにおける性能を算出する見積り手段と
を備える性能見積もり装置。
【請求項２】
前記システムモデルは、前記プラットフォームが有する構成を抽象化した機能レベルにおける前記ＩＴシステムに関する処理を表す機能フローを含み、
前記ＡＰモデルは、前記ＡＰ固有処理を表すシーケンスを含み、
前記モデル合成手段は、前記ＡＰモデルと前記システムモデルを合成することにより、機能レベルにおける実行フローを生成する
請求項１に記載の性能見積もり装置。
【請求項３】
前記システムモデルは、前記プラットフォームが有する構成を抽象化した一連の機能を表す機能フローを含み、
前記ＡＰモデルは、前記アプリケーションが有する固有の機能間における処理に関するシーケンスを表すＡＰ機能フローを含み、
前記モデル合成手段は、前記ＡＰモデルと前記システムモデルを合成することにより、機能レベルにおける実行フローを生成する
請求項１に記載の性能見積もり装置。
【請求項４】
前記ＡＰモデルは、アプリケーションレベルにおいて設計する項目を表すＡＰパラメータと、前記ＡＰパラメータが表す内容を前記システムモデルが含むパラメータに変換するパラメータ変換式を含む、
請求項２または請求項３に記載の性能見積もり装置。
【請求項５】
情報処理装置において、ＩＴシステムが有するプラットフォームに関する情報を含むシステムモデルと、前記ＩＴシステムにおける機能を実現するアプリケーションに固有な処理であるＡＰ固有処理に関する情報及び前記アプリケーションに含まれるパラメータに関する情報を含むＡＰモデルとが、共通して含むメッセージに基づき、前記システムモデルと前記ＡＰモデルとを合成することにより、性能モデルを作成し、前記性能モデルに基づき、所定の算出手順に従い、前記ＩＴシステムにおける性能を算出する性能見積もり方法。
【請求項６】
ＩＴシステムが有するプラットフォームに関する情報を含むシステムモデルと、前記ＩＴシステムにおける機能を実現するアプリケーションに固有な処理であるＡＰ固有処理に関する情報及び前記アプリケーションに含まれるパラメータに関する情報を含むＡＰモデルとが、共通して含むメッセージに基づき、前記システムモデルと前記ＡＰモデルとを合成することにより、性能モデルを作成するモデル合成機能と、
前記性能モデルに基づき、所定の算出手順に従い、前記ＩＴシステムにおける性能を算出する見積り機能と
をコンピュータに実現させる性能見積もりプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）システムに関する性能見積もり装置、性能見積もり方法、及びプログラムに関する。
【背景技術】
【０００２】
ＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）等のモデリング言語を用いて記述されたシステム・ソフトウェアに関するモデルに基づいて、ＩＴシステムに関する性能（たとえば、最大スループット、平均応答時間等）を見積もる技術（すなわち、モデルに基づく性能評価技術）が知られている。この技術によれば、ＩＴシステムを開発する初期段階から該ＩＴシステムに関する性能を見積もることによって、該ＩＴシステムが有する機能を実現するアプリケーションソフトウェア（以降、「アプリケーション」と記す。）が必要な性能を満たすか否かを検証できる。【０００３】
また、顧客に新しいＩＴシステムを提案する際には、アプリケーションが有する詳細な機能を決定していない状況においても、該ＩＴシステムが有する構成及び該ＩＴシステムが有する規模を見積もり、該ＩＴシステムの価格を決定する場合がある。このような場合にも、該ＩＴシステムに類似するＩＴシステムが既に運用されている場合には、類似するＩＴシステムが有する性能に関する情報などに基づいて、該ＩＴシステムが要求された性能を満たすか否かを見積もる。該ＩＴシステムが要求された性能を満たすか否かを評価することにより、該ＩＴシステムを設計するプロジェクトが失敗する可能性を低減する。【０００４】
たとえば、非特許文献１が開示するＭＡＲＴＥ（Ｍｏｄｅｌｉｎｇ  ａｎｄ  Ａｎａｌｙｓｉｓ  ｏｆ  Ｒｅａｌ−Ｔｉｍｅ  Ｅｍｂｅｄｄｅｄ  Ｓｙｓｔｅｍｓ）は、ＩＴシステムに関する性能を見積もる。また、非特許文献２は、モデルに基づく技術を、ＩＴシステムに関する設計に適用する技術を開示する。該技術は、設計の初期段階から、設計するＩＴシステムが要求された性能（たとえば、機能、及び、可用性等）を満たすか否かを検証する。【０００５】
また、特許文献１は、係るＭＡＲＴＥを用いる性能評価装置を開示する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１８８１７９号公報
【非特許文献】
【０００７】
【非特許文献１】Ｏｂｊｅｃｔ  Ｍａｎａｇｅｍｅｎｔ  Ｇｒｏｕｐ，  “ＵＭＬ  Ｐｒｏｆｉｌｅ  ｆｏｒ  ＭＡＲＴＥ：  Ｍｏｄｅｌｉｎｇ  ａｎｄ  Ａｎａｌｙｓｉｓ  ｏｆ  Ｒｅａｌ−Ｔｉｍｅ  Ｅｍｂｅｄｄｅｄ  Ｓｙｓｔｅｍｓ”
【非特許文献２】Ｉｚｕｋｕｒａ，  Ｓ．，  Ｙａｎｏｏ，  Ｋ．，  Ｏｓａｋｉ  Ｔ．，  Ｓａｋａｋｉ，  Ｈ，  Ｋｉｍｕｒａ，  Ｄ．，  Ｘｉａｎｇ，  Ｊ．，  “Ａｐｐｌｙｉｎｇ  ａ  Ｍｏｄｅｌ−Ｂａｓｅｄ  Ａｐｐｒｏａｃｈ  ｔｏ  ＩＴ  Ｓｙｓｔｅｍｓ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｕｓｉｎｇ  ＳｙｓＭＬ  Ｅｘｔｅｎｓｉｏｎ”，  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍｏｄｅｌ  Ｄｒｉｖｅｎ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｌａｎｇｕａｇｅｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，  ＭＯＤＥＬＳ  ２０１１
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１並びに非特許文献１及び２が開示する技術においては、ＩＴシステムに関する性能を見積もるために、ユーザは、パラメータを、ＩＴシステムが有するプラットフォームを表すシステムモデルに、直接記述する。【０００９】
このため、上流工程においてＩＴシステムを設計するシステムエンジニア（上流ＳＥ）は、該システムモデルにおいて、必要なパラメータが記述されている場所を見つけることが難しいこともある。上流ＳＥは、顧客からシステムが有する要件を聞き出し、聞き出した要件に基づいて、ＩＴシステムを提案する。【００１０】
さらに、ＩＴシステムを提案する段階や、該ＩＴシステムを開発する初期の段階においては、該ＩＴシステムが有する機能を実現するアプリケーションは存在しない。このため、上流ＳＥは、アプリケーションを用いて、実行時間等に関するパラメータの値を得ることはできない。この場合、上流ＳＥは、入出力するファイル数や、データベースにアクセスする回数等、アプリケーションが有する機能に近い情報と、過去における事例とに基づいて、実行時間等に関するパラメータを推測する。【００１１】
パラメータを推測するためには、アプリケーションおよびプラットフォームに関する詳細な知識と経験が必要である。しかし、上流ＳＥは、そのような知識や経験について十分に知らないこともある。したがって、上流工程においてモデルベースに関する性能を評価することは難しい。さらに、システムモデルを異なるＩＴシステムに転用することは難しい。【００１２】
アプリケーションが行う処理に関する情報を、システムモデルに記述することにより、さらに正確な性能を見積もることができる。たとえば、アプリケーションが同期に必要なオブジェクト（たとえば、ロック、クリティカルセクション、セマフォ等）を取得する処理、及び、取得したオブジェクトを解放する処理を含む場合や、並列処理を含む場合に、同期するオブジェクト（以降、「同期オブジェクト」と表す。）や並列処理をシステムモデルに記述する。システムモデルに記述することにより、同期オブジェクトがボトルネックになるか否か、または、並列処理において同期することが原因となり応答時間が増大するか否か等について考察することができる。【００１３】
しかし、個々のアプリケーションに特有な情報をシステムモデルに記述する場合には、該アプリケーションに関するシステムモデルを、異なるアプリケーションに転用することが難しい。【００１４】
そこで、本発明は、上流ＳＥにも利用しやすく、モデルの再利用もしやすいＩＴシステムの性能見積もり装置を提供することを一つの目的とする。すなわち、本発明の主たる目的は、システム設計を容易にする性能見積もり装置等を提供することである。
【課題を解決するための手段】
【００１５】
前述の目的を達成するために、本発明に係る性能見積もり装置は、以下の構成を備えることを特徴とする。【００１６】
すなわち、本発明に係る性能見積もり装置は、
ＩＴシステムが有するプラットフォームに関する情報を含むシステムモデルと、前記ＩＴシステムにおける機能を実現するアプリケーションに固有な処理であるＡＰ固有処理に関する情報及び前記アプリケーションに含まれるパラメータに関する情報を含むＡＰモデルとが、共通して含むメッセージに基づき、前記システムモデルと前記ＡＰモデルとを合成することにより、性能モデルを作成するモデル合成手段と、
前記性能モデルに基づき、所定の算出手順に従い、前記ＩＴシステムにおける性能を算出する見積り手段と
を備えることを特徴とする。【００１７】
また、本発明の他の見地として、本発明に係る性能見積もり方法は、
情報処理装置において、ＩＴシステムが有するプラットフォームに関する情報を含むシステムモデルと、前記ＩＴシステムにおける機能を実現するアプリケーションに固有な処理であるＡＰ固有処理に関する情報及び前記アプリケーションに含まれるパラメータに関する情報を含むＡＰモデルとが、共通して含むメッセージに基づき、前記システムモデルと前記ＡＰモデルとを合成することにより、性能モデルを作成し、前記性能モデルに基づき、所定の算出手順に従い、前記ＩＴシステムにおける性能を算出する
ことを特徴とする。【００１８】
さらに、同目的は、係る性能見積もりプログラム、および、そのプログラムを記録するコンピュータ読み取り可能な記録媒体によっても実現される。
【発明の効果】
【００１９】
本発明によれば、上流ＳＥにも利用しやすく、モデルの再利用もしやすいＩＴシステムの性能見積もり装置を提供することができる。すなわち、本発明に係る性能見積もり装置等によれば、システム設計を容易にする性能見積もり装置等を提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態に係る性能見積もり装置が有する構成を示すブロック図である。
【図２Ａ】システムモデルの例を表す図である。
【図２Ｂ】システムモデルの例を表す図である。
【図３】本実施の形態による、ＡＰモデルの例を示す図である。
【図４】本実施の形態による、ＡＰ固有処理の例を示す図である。
【図５Ａ】本実施の形態におけるユースケースについて説明する図である。
【図５Ｂ】本実施の形態におけるユースケースについて説明する図である。
【図５Ｃ】本実施の形態におけるユースケースについて説明する図である。
【図６】本実施の形態による、モデル合成部の動作に関するフローチャートである。
【図７】本実施の形態による、機能レベルの実行フロー生成を説明する図である。
【図８】本実施の形態による、システムモデルの他の例を示す図である。
【図９Ａ】本実施の形態による、ＡＰモデルの一例を示す図である。
【図９Ｂ】本実施の形態による、ＡＰモデルの一例を示す図である。
【図９Ｃ】本実施の形態による、ＡＰモデルの一例を示す図である。
【図９Ｄ】本実施の形態による、ＡＰモデルの一例を示す図である。
【図１０】本発明の各実施形態に係る性能見積もり装置を実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である。
【発明を実施するための形態】
【００２１】
この出願は、２０１２年１１月２日に出願された日本出願特願２０１２−２４２６０６を基礎とする優先権を主張し、その開示の全てをここに取り込む。そして、本国際出願では、説明の便宜上から、係る日本出願の図面の表現を、国際出願の規定を満足すべく複数の図面に展開することとする。これに応じて、本出願人は、以降に説明する各実施形態の説明も、調整後の図面に応じた記載に調整することとする。これらの処置は、言語の違いに起因する、各国移行時の言語変換への配慮であり、何ら新規事項を含む処置ではない。
【００２２】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
【００２３】
図１は、本発明の実施の形態に係る性能見積もり装置１０が有する構成を示すブロック図である。図１に示すように、性能見積もり装置１０は、モデル選択部１０１、ＡＰパラメータ入力部１０２、モデル合成部１０３、見積もり部１０４、モデル記憶部１０５、及び、出力装置１０６を有する。
【００２４】
性能見積もり装置１０は、中央処理演算装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、以降「ＣＰＵ」と表す。）、リードオンリーメモリ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ、以降「ＲＯＭ」と表す。）、または、ランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、以降「ＲＡＭ」と表す。）等の記憶装置、外部記憶装置、入力インタフェース、出力インタフェース、通信インタフェース及び各装置を結ぶバス（すなわち、「ｂｕｓ」）を有する専用、または、汎用のコンピュータを用いて実現できる。
【００２５】
なお、性能見積もり装置１０は、単一のコンピュータにより構成されるものであっても、通信回線（通信ネットワーク、以降、単に「ネットワーク」と表す）を介して互いに接続する複数のコンピュータを有する構成であってもよい。
【００２６】
モデル選択部１０１、ＡＰパラメータ入力部１０２、モデル合成部１０３、見積もり部１０４は、ＣＰＵがＲＯＭ等に格納されている所定のプログラムを実行することにより実現する機能を表すモジュールに相当する。モデル記憶部１０５は、外部記憶装置（不図示）により実現できる。外部記憶装置は、性能見積もり装置１０及びネットワーク等を介して、性能見積もり装置１０と接続してもよい。
【００２７】
出力装置１０６は、たとえば、ディスプレイ等の表示装置やプリンタであり、性能見積もり装置１０が有するＣＰＵが出力する信号を受けて、各種画像や文字を出力する。
【００２８】
図１０に、上述した本発明の各実施形態における性能見積もり装置を、１つの計算処理装置（情報処理装置、コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。図１０は、後述する本発明の各実施形態に係る性能見積もり装置を実現可能な計算処理装置のハードウェア構成を概略的に示す図である。
【００２９】
計算処理装置２０は、ＣＰＵ２１、メモリ２２、ディスク２３、不揮発性記録媒体２４、入力装置２５、および、出力装置２６を有する。
【００３０】
不揮発性記録媒体２４は、コンピュータが読み取り可能な、たとえば、コンパクトディスク（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、デジタルバーサタイルディスク（Ｄｉｇｉｔａｌ＿Ｖｅｒｓａｔｉｌｅ＿Ｄｉｓｃ）、ブルーレイディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ。登録商標）、ユニバーサルシリアルバスメモリ（ＵＳＢメモリ）、ソリッドステートドライブ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等を指しており、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体２４は、上述した媒体に限定されない。また、不揮発性記録媒体２４の代わりに、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
【００３１】
すなわち、ＣＰＵ２１は、ディスク２３が記憶するソフトウェア・プログラム（コンピュータ・プログラム：以下、単に「プログラム」と称する）を、実行する際にメモリ２２にコピーし、演算処理を実行する。ＣＰＵ２１は、プログラム実行に必要なデータをメモリ２２から読み取る。表示が必要な場合には、ＣＰＵ２１は、出力装置２６に出力結果を表示する。外部からプログラムを入力する場合、ＣＰＵ２１は、入力装置２５からプログラムを読み取る。ＣＰＵ２１は、上述した図１に示した各部が表す機能（処理）に対応するところのメモリ２２にある性能見積もり装置制御プログラム（図６）を解釈し実行する。ＣＰＵ２１は、上述した本発明の各実施形態において説明した処理を順次行う。
【００３２】
すなわち、このような場合、本発明は、係る性能見積もり装置制御プログラムによっても成し得ると捉えることができる。更に、係る性能見積もり装置制御プログラムが記録されたコンピュータ読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
【００３３】
モデル記憶部１０５は、複数のシステムモデルと、複数のアプリケーションモデル（以降、「ＡＰモデル」と表す。）とを記憶できる。
【００３４】
システムモデルは、ＩＴシステムにおけるプラットフォームが有する構成要素に関する情報と、各構成要素間における動作に関する情報とを含む。ＡＰモデルは、アプリケーションにおけるパラメータ（以降、「ＡＰパラメータ」と表す。）及び該アプリケーションに固有な処理に関する情報を含む。
【００３５】
まず、モデル選択部１０１は、モデル記憶部１０５から必要なシステムモデルとＡＰモデルとを選択する。ＡＰパラメータ入力部１０２は、選択したＡＰモデルが含むＡＰパラメータを取得する。
【００３６】
モデル合成部１０３は、モデル選択部１０１が選択するシステムモデル及びＡＰモデル、及び、ＡＰパラメータ入力部１０２が取得したＡＰパラメータを用いて、評価対象であるＩＴシステムに関する性能を見積もるモデルを合成する。見積もり部１０４は、モデル合成部１０３が合成するモデルに基づいて、ＩＴシステムに関する性能を見積もる。出力装置１０６は、見積もり部１０４が見積もった結果を出力する。
【００３７】
図２Ａ及び図２Ｂは、システムモデルの例を表す図である。図２Ａ及び図２Ｂを参照すると、システムモデルは、サーバ図、プロセス図、及び、機能フロー図を含む。サーバ図は、ＩＴシステムが有するプラットフォーム（以降、「ハードウェア」とも表現する。）に関する構成を表す図である。
【００３８】
図２Ｂに示す例において、サーバ図は、「ＷｅｂＳｅｒｖｅｒ」、「ＤＢＳｅｒｖｅｒ」という２台のサーバと１台のクライアントＰＣとを、通信ネットワークスイッチ（以降、「ネットワークスイッチ」と表す。）とルータとを介して接続することを表す。
【００３９】
プロセス図は、アプリケーションを実現するプロセス間の接続関係を表す。図２Ｂの例において、プロセス図は、「Ａｐａｃｈｅ」、「Ｔｏｍｃａｔ」、「ＭｙＳＱＬ」なる３つのプロセスが直列に接続する関係を表す。
【００４０】
サーバ図とプロセス図は、図２Ａ及び図２Ｂに示すように、統一モデリング言語（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ、以降、「ＵＭＬ」と表す。）におけるコンポジット構成図（Ｃｏｍｐｏｓｉｔｅ  Ｓｔｒｕｃｔｕｒｅ  Ｄｉａｇｒａｍ）を用いて記述することができる。ここで、矩形の中の「ＷｅｂＳｅｒｖｅｒ：Ｓｅｒｖｅｒ」は、「ＳｅｒｖｅｒクラスのロールＷｅｂＳｅｒｖｅｒ」を表す。なお、サーバ図とプロセス図とを、システムモデリング言語（Ｓｙｓｔｅｍｓ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ、以降、「ＳｙｓＭＬ」と表す）における内部ブロック図（Ｉｎｔｅｒｎａｌ  Ｂｌｏｃｋ  Ｄｉａｇｒａｍ）を用いて記述してもよい。あるいは、サーバ図とプロセス図とを、ＵＭＬにおけるオブジェクト図を用いて記述してもよい。
【００４１】
図２Ｂにおける点線矢印は、サーバ図中のどの要素（すなわち、ハードウェア）が、プロセス図中の要素（すなわち、プロセス）を実行するかを表す。これは、ＳｙｓＭＬまたはＭＡＲＴＥが規定する「アロケーション」を用いて記述できる。
【００４２】
プロセス図中の要素に関するクラスは、プロセスが有する「機能」を表す。
【００４３】
ここで、機能フロー図は、プロセスが有する「機能」を実現するシーケンス（以降、「実行シーケンス」と表す、）を表す。図２Ａ及び図２Ｂが示す例において、機能フロー図は、２つの実行シーケンスを定義する。機能フローは、たとえば、最初のメッセージが有する名前を用いて識別することができる。
【００４４】
機能フロー図が定義する１つ目の機能フローは「静的閲覧」である。「静的閲覧」は、クライアント機能からワールドワイドウェブ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ、以降、「ＷＷＷ」と表す。）機能に静的コンテンツを閲覧する要求を行い、要求した結果を受け取るシーケンスを表す。
【００４５】
機能フロー図が定義する２つ目の機能フローは「動的処理」である。「動的処理」は、たとえば、動的処理１乃至動的処理３に示す実行シーケンスを表す。
【００４６】
（動的処理１）ＷＷＷ機能は、クライアント機能からＷＷＷ機能に動的コンテンツを閲覧する要求に応じて、ＡＰ機能に処理を依頼する、
（動的処理２）ＡＰ機能は、依頼に応じて、データベース（ｄａｔａｂａｓｅ、以降「ＤＢ」と表す）機能にデータベースに関して問い合わせる、
（動的処理３）ＡＰ機能は、ＤＢが行う応答に基づいて、動的に算出するコンテンツに関する内容をＷＷＷ機能に返す。
【００４７】
図２Ａ及び図２Ｂに示すように、ＵＭＬにおけるコラボレーション図（Ｃｏｌｌａｂｏｒａｔｉｏｎ  ｄｉａｇｒａｍ、あるいは、コミュニケーション図（Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｄｉａｇｒａｍ）））を用いて、機能フロー図を記述することができる。本実施形態においては、機能フロー図を、コラボレーション図を用いて記述するが、機能フロー図を、シーケンス図またはアクティビティ図を用いて記述してもよい。たとえば、機能フロー図を、シーケンス図やアクティビティ図を用いて記述することにより、分岐処理や並列処理等も記述することができる。
【００４８】
また、本実施形態においては、プロセス図中の要素に関するクラスに基づいて、プロセス図中の要素と、機能フロー図中の要素との間の関係を定義するが、プロセス図中の要素と、サーバ図中の要素との間の関係のように、アロケーションを用いて記述してもよい。
【００４９】
図３は、ＡＰモデルの例を表す図である。ＡＰモデルは、ワークロードごとに、ＡＰパラメータ、パラメータ変換式、及び、ＡＰ機能等を関連付ける。本実施形態において、ワークロードは、アプリケーションレベルにおける一連の処理（または、「機能フロー」、「シーケンス」等とも表す。）を表す。各ワークロードは、そのワークロードを実現可能な機能フローに関連づけされている。
【００５０】
たとえば、図３において、ＡＰモデルは、「購入処理」と、「動的処理」と、「データサイズ、ＡＰ時間、及び、背景処理時間」と、機能Ａ（図４に機能Ａに関するシーケンス図を表す。）とを関連付ける。
【００５１】
ＡＰパラメータは、アプリケーションレベルにおける設計パラメータである。ＡＰモデルの作成者（すなわち、アプリケーション開発者）は、対象とするアプリケーションに関する個々の事情に応じてＡＰパラメータを定義する。
【００５２】
パラメータ変換式は、ＡＰパラメータに関する内容を、システムモデル中のパラメータに変換する計算式である。ＡＰモデルの作成者は、対象となるアプリケーションに応じて、パラメータ変換式を定義する。
【００５３】
図３に示す例においては、ワークロード「ＨＰ表示」は、ＡＰパラメータ「データサイズ」を含む。ＡＰパラメータ「データサイズ」は、表示するＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）コンテンツが有するデータサイズの平均を表す。また、パラメータ変換式は、たとえば、「静的閲覧」処理における１トランザクションあたりのサービス時間をＡＰパラメータ「データサイズ」の一次式で表す。図３に示す例において、パラメータ変換式は、該一次式における係数が０．０１であることを表す。
【００５４】
ここで、「静的閲覧」処理に関するサービス時間は、基準となるサーバが静的閲覧を処理する場合の１トランザクション当たりのＣＰＵ使用時間である。
【００５５】
ＣＰＵ使用時間を正確に得るためには、実装したアプリケーションを用いて測定する必要がある。しかし、該アプリケーションを提案する段階においては、該アプリケーションの実装は完了していない。この場合には、過去の事例や測定値に基づき、エキスパートが目安となる計算式を作成してもよい。
【００５６】
過去の事例等に基づいて作成された計算式は、提案時においてＩＴシステムが有する規模や価格等を見積もる場合には有用である。
【００５７】
ワークロード「商品閲覧」は、ＡＰパラメータ「データサイズ」の他にＡＰパラメータ「ＡＰ処理負荷」を含む。ＡＰパラメータ「ＡＰ処理負荷」は、１トランザクション当たりの「ＡＰ処理」のＣＰＵ処理時間を見積もる場合におけるパラメータである。パラメータ変換式は、ＡＰパラメータ「ＡＰ処理負荷」に高、中、または、低のいずれかの値を設定可能である。
【００５８】
ＡＰパラメータ「ＡＰ処理負荷」が「高」は、たとえば、ＣＰＵ処理時間が１００ミリ秒（以降、「ｍｓ」と表す）であることを表す。ＡＰパラメータ「ＡＰ処理負荷」が「中」は、たとえば、ＣＰＵ処理時間が５０ｍｓであることを表す。ＡＰパラメータ「ＡＰ処理負荷」が「中」は、たとえば、ＣＰＵ処理時間が５ｍｓであることを表す。
【００５９】
この場合、ユーザは、「ＡＰ処理負荷」は高、中、または、低のいずれが適切かをあらかじめ判定する。この方法は、ＣＰＵ処理時間を明示的に見積もる場合に比べると容易である。
【００６０】
ワークロード「購入処理」におけるパラメータ変換式は、ＡＰ機能における１トランザクションあたりのサービス時間が、ＡＰパラメータ「ＡＰ処理時間」と等しいことを表す。この場合、ＡＰパラメータ「ＡＰ処理時間」を上流ＳＥは、ＡＰ機能の１トランザクション当たりのＣＰＵ処理時間を明示的に見積もることにより入力する。
【００６１】
ＡＰ固有処理は、あるワークロードにおいて、機能が行う処理を表す。
【００６２】
図４は、ワークロードが「購入処理」である場合において、「ＡＰ機能」におけるＡＰ固有処理を表すシーケンス図である。図４に示すように、ＡＰサーバは、データベース（以降、「ＤＢ」と表す。）への問い合わせを同期的に実行しながら、作業スレッドを生成し、生成した作業スレッドにおいて並行してあるいは、擬似的に並行して（以降、単に、「並列に」と表す。）作業する。ここで、図４中のメッセージ「ＡＰ処理」、「ＤＢ問い合わせ」、「結果」、及び、「ＤＢ結果」は、それぞれ、図２Ａ及び図２Ｂに示す機能フロー図中のメッセージ「ＡＰ処理」、「ＤＢ問い合わせ」、「結果」、「ＤＢ結果」に関連付けされている。
【００６３】
なお、本実施形態においては、ＡＰ固有処理を、シーケンス図を用いて記述するが、コラボレーション図やアクティビティ図を用いて記述してもよい。
【００６４】
次に、性能見積もり装置１０における動作について説明する。
【００６５】
まず、本実施形態におけるユースケース（Ｕｓｅ  Ｃａｓｅ）について図５Ａ乃至図５Ｃを用いて説明する。図５Ａ乃至図５Ｃは、本発明の実施の形態におけるユースケースの一例を表す図である。
【００６６】
図５Ａ乃至図５Ｃに示すように、後述の説明においては、（ａ）乃至（ｃ）の３種類のアクタを想定する。
【００６７】
（ａ）システムモデルを作成し、作成したシステムモデルをリポジトリに登録するプラットフォームアーキテクト、
（ｂ）ＡＰモデルを作成して、作成したＡＰモデルをリポジトリに登録するアプリケーション開発者、
（ｃ）リポジトリを参照することによりモデルを検索し、検出したモデルに基づいてアプリケーションの性能を見積もり、見積もった性能を顧客に対するシステム提案に活用する上流ＳＥ。
【００６８】
プラットフォームアーキテクトは、機能レベルで同一と見なせるシステムモデルに対して、同一の機能フロー図を持つシステムモデルを作成する。図５Ａ乃至図５Ｃが示す例では、プラットフォームアーキテクトは、同一の機能フロー図を持つ異なる２つのシステムモデル「Ｗｅｂ３層システムモデル（ＯＳＳ）」と「Ｗｅｂ３層システムモデル（高可用）」とを作成する。
【００６９】
この運用を遵守すれば、アプリケーション開発者は、機能フロー図以外のシステムモデルの詳細を考慮することなく、ＡＰモデルを作成できる。さらに、プラットフォームアーキテクトは、アプリケーションのことを考慮することなく、システムモデルを蓄積することができる。
【００７０】
上流ＳＥは、ＡＰモデルとシステムモデルを選択し、選択したＡＰモデルが含むそれぞれのワークロードに関するＡＰパラメータを設定する。これにより、上流ＳＥは、アプリケーションやプラットフォーム等の詳細を知らなくても、ＩＴシステムが有する性能を見積もることができる。
【００７１】
次に、システムの性能見積もり処理の流れについて説明する。
【００７２】
まず、上流ＳＥは、モデル選択部１０１を介して、顧客に提案するアプリケーションを選択する。その後、モデル選択部１０１は、そのアプリケーションを実現可能なシステムモデルの一覧を表示する。具体的には、モデル選択部１０１は、ＡＰモデルに関連付けされた処理フローを全て含むシステムモデルを検索することによって、システムモデルの一覧を表示する。
【００７３】
次に、上流ＳＥは、ＡＰパラメータ入力部１０２を介して、案件固有の事情に応じてＡＰパラメータを入力する。その後、モデル合成部１０３は、上流ＳＥが入力したＡＰパラメータと、選択されたシステムモデルと、ＡＰモデルとに基づいて、ＩＴシステムが有する性能を見積もる場合に参照するモデル（以降、「性能モデル」と表す。）を生成する。
【００７４】
次に、見積もり部１０４は、所定の算出手順に従い、モデル合成部１０３が生成した性能モデルに基づいて、上流ＳＥが入力したパラメータにおける性能を見積った結果を、出力装置１０６に表示する。見積もり部１０４は、所定の算出手順として、性能モデルを解析的に計算することにより見積もり値を算出してもよいし、シミュレーションすることにより見積もり値を算出してもよい。たとえば、特願２０１１−１３２３７７号（以降、「特許文献２」と表す。）が開示する手法を用いて、見積もり部１０４を実現してもよい。
【００７５】
次に、図６を参照しながら、モデル合成部１０３における処理について説明する。
【００７６】
ここでは、上流ＳＥが、図２のシステムモデルと図３のＡＰモデルとが選択する場合において、モデル合成部１０３がワークロード「購入処理」に関連する性能モデルを生成する例を参照しながら説明する。
【００７７】
まず、対象とするワークロードに関連付けされた処理フローとＡＰ固有処理とに基づいて、機能レベルにおける実行フローを生成する（ステップＳ１）。図７は、変換後の実行フローをアクティビティ図で表す場合に、機能レベルにおける実行フローを生成する様子を表す図である。
【００７８】
本実施形態においては、処理フローを、コラボレーション図を用いて記述するとともに、ＡＰ固有処理を、シーケンス図を用いて記述する。両者は、メッセージ名を介して関連付けされている。機能レベルにおける実行フローを生成する処理は、生成手順１乃至生成手順３に従い実現できる。
【００７９】
（生成手順１）処理フロー中のメッセージの順に従い、メッセージをノード（すなわち、グラフ理論における節点）に関連付けすることにより、実行フロー（以降、「第１実行フロー」と表す。）を生成する、
（生成手順２）ＡＰ固有処理中の処理内容を、メッセージをノードに関連付けすることにより、実行フロー（以降、「第２実行フロー」と表す。）を生成する。シーケンス図に関する内容を、たとえば、参考文献２が記述する方法を用いて解釈し、解釈したシーケンス図に関する内容と同等のアクティビティ図を用いて表してもよい、
（生成手順３）第１実行フローと、第２実行フローとを合成する。第１実行フロー中のノード、及び、第２実行フロー中のノードは、メッセージ名に関連付けされている。そこで、合成処理においては、第１実行フロー及び第２実行フローにおいて、同じメッセージ名に関連付けされたノードを同一のノードと見なす。
【００８０】
（参考文献２）Ｚｏｌｔａｎ  Ｍｉｃｓｋｅｉ，  Ｈｅｌｅｎｅ  Ｗａｅｓｅｌｙｎｃｋ，  “Ｔｈｅ  ｍａｎｙ  ｍｅａｎｉｎｇｓ  ｏｆ  ＵＭＬ２  Ｓｅｑｕｅｎｃｅ  Ｄｉａｇｒａｍｓ：  ａ  ｓｕｒｖｅｙ“，  Ｓｏｆｔｗａｒｅ  ａｎｄ  Ｓｙｓｔｅｍｓ  Ｍｏｄｅｌｉｎｇ  Ｖｏｌｕｍｅ  １０，  Ｎｕｍｂｅｒ  ４，  ４８９−５１４。
【００８１】
次に、ＡＰパラメータ入力部１０２に入力されたＡＰパラメータと、該ＡＰパラメータに関連付けされたパラメータ変換式とに基づいて、機能レベルにおけるパラメータを算出する（ステップＳ２）。
【００８２】
たとえば、入力されたＡＰパラメータが、以下のように表されるとする。
【００８３】
データサイズ＝１メガバイト（以降、「ＭＢ」と表す）、
ＡＰ処理時間＝０．０１秒（以降、「ｓ」と表す）、
背景処理時間＝０．００５（ｓ）。
【００８４】
パラメータ変換式に、入力されたＡＰパラメータの値を代入すると、以下の値が得られる。代入により得られた値が、機能フロー図中のパラメータを表す。
【００８５】
動的処理．ｄｅｍａｎｄ＝０．０１、
ＡＰ処理．ｄｅｍａｎｄ＝０．０１、
背景処理．ｄｅｍａｎｄ＝０．００５。
【００８６】
次に、機能レベルにおける実行フローを、プロセスレベルにおける実行フローに変換する（ステップＳ３）。本実施形態においては、機能とプロセスとは、一対一に関連付けされる。このため、この変換処理は、機能レベルにおける実行フロー中のノードを、該機能に関連付けされたプロセスを表すノードに置き換えることにより実現できる。なお、機能とプロセスとが多対一に関連付けされる場合であっても、一対一に関連付けされると同様に処理できる。
【００８７】
次に、プロセスレベルにおける実行フローを性能モデルに変換する（ステップＳ４）。この処理の例は、たとえば、特許文献２に記載されている。このため、本実施形態においては、変換する処理に関する詳細な説明を省略する。
【００８８】
上述した処理を行うことにより、本実施形態により、以下の効果を得ることができる。
【００８９】
まず、上流ＳＥは、大幅に容易にパラメータを入力することができる。これは、プラットフォームに関する情報が上流ＳＥに隠蔽されるため、上流ＳＥは、ＡＰパラメータのみを設定すれば済むためである。
【００９０】
また、システムモデルを再利用することが大幅に容易になる。これは、図４に示すようなＡＰ固有処理がシステムモデルに記載されないために、システムモデルに従いアプリケーションを実装する場合と、固有の処理とが分離されるためである。
【００９１】
なお、本実施形態においては、ＡＰモデルとシステムモデルとを最初に決定するが、ＡＰモデルの決定及びＡＰパラメータの入力を先に行い、その後、システムモデルを選択するようにしてもよい。これにより、見積もりの結果、提案するＩＴシステムがユーザと価格や性能に関する面において折り合わなかった場合に、ＡＰモデルとＡＰパラメータの入力結果とを変更することなく、システムモデルのみ変更することにより再見積もりをすることが容易になる。
【００９２】
また、本実施形態においては、システムモデルが含む機能フロー図と、ＡＰモデルが含むＡＰ固有処理とを合成する。しかし、システムモデル中に処理のシーケンスを記述せずに、ＡＰモデル中に処理のシーケンス（機能フロー）を記述してもよい。
【００９３】
たとえば、システムモデルを図８に示すように記述し、ＡＰモデルを図９Ａに示すようように記述し、これらを含まず、機能を定義する機能図を持つシステムモデルの例である。機能とプロセスとの関係を、アロケーションを用いて記述する。図９Ａにおいては、ＡＰ固有処理の代わりに、そのワークロード中の機能レベルにおける実行シーケンスが記述されている。このような構成にした場合、ＡＰモデル作成者が、より詳細にＡＰの処理をモデル化しやすい。
【００９４】
たとえば、図９Ａにおいて、「ＨＰ表示」と、「データサイズ」と、「静的閲覧ｄｅｍａｎｄ＝データサイズ×０．０１」と、「機能Ｂ」とは、関連付けされている。
【００９５】
図９Ａにおける、機能Ｂ、機能Ｃ及び機能Ｄは、それぞれ、図９Ｂにおけるシーケンス図、図９Ｃにおけるシーケンス図、及び、図９Ｄにおけるシーケンス図を表す。
【００９６】
たとえば、図９Ｂにおいて、クライアント機能は、ＷＷＷ機能に静的閲覧を要求する。次に、ＷＷＷ機能は、該要求に応じて処理を行い、処理した結果をクライアント機能に送信する。
【００９７】
すなわち、本実施形態に係る性能見積もり装置によれば、システム設計が容易になる。
【００９８】
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００９９】
１０    性能見積もり装置
１０１    モデル選択部
１０２    ＡＰパラメータ入力部
１０３    モデル合成部
１０４    見積もり部
１０５    モデル記憶部
１０６    出力装置
２０    計算処理装置
２１    ＣＰＵ
２２    メモリ
２３    ディスク
２４    不揮発性記録媒体
２５    入力装置
２６    出力装置
【図１】
2014068979.tif 000003
【図２Ａ】
2014068979.tif 000004
【図２Ｂ】
2014068979.tif 000005
【図３】
2014068979.tif 000006
【図４】
2014068979.tif 000007
【図５Ａ】
2014068979.tif 000008
【図５Ｂ】
2014068979.tif 000009
【図５Ｃ】
2014068979.tif 000010
【図６】
2014068979.tif 000011
【図７】
2014068979.tif 000012
【図８】
2014068979.tif 000013
【図９Ａ】
2014068979.tif 000014
【図９Ｂ】
2014068979.tif 000015
【図９Ｃ】
2014068979.tif 000016
【図９Ｄ】
2014068979.tif 000017
【図１０】
2014068979.tif 000018
【国際調査報告】
2014068979.tif 000019
2014068979.tif 000020
2014068979.tif 000021
2014068979.tif 000022