(57)【要約】【課題】ベンチマーク用のソフトウェアの開発を容易にし、かつ、ベンチマークの実施に要するコストを低減できるフレームワークを提供する。【解決手段】データの入出力を行うユーザインターフェイス層１０、データの処理を行うドメイン層１１、データの蓄積および検索を行うデータベース層１２、通信、ログ出力を行う共通層１３の四階層に分類されたソフトウェア部品の複合体からなり、前記階層に属する各々の前記ソフトウェア部品が前記階層における性能を測定できるベンチマーク機能を備えることを特徴とする。【選択図】図１
2008123351.tif 000002
【特許請求の範囲】
【請求項１】
データの入出力を行うユーザインターフェイス層、
データの処理を行うドメイン層、
データの蓄積および検索を行うデータベース層、
通信、ログ出力やオペレーティングシステム層、ミドルウェア層の隠蔽を行う共通層の四階層に分類されたソフトウェア部品の複合体からなり、
前記階層に属する各々の前記ソフトウェア部品が前記階層における性能を測定できるベンチマーク機能を備えることを特徴とするベンチマーク用フレームワーク。
【請求項２】
前記階層に属する各ソフトウェア部品が、更に、予め登録されたベンチマーク機能を有する共通ソフトウェア部品と、ベンチマーク対象に適応すべく前記共通ソフトウェア部品から派生して追加登録された派生ソフトウェア部品とに分類されることを特徴とする請求項１に記載のベンチマーク用フレームワーク。
【請求項３】
前記ソフトウェア部品が前記ベンチマーク機能として少なくとも処理時間測定機能およびＣＰＵ負荷測定機能を含むことを特徴とする請求項１または請求項２に記載のベンチマーク用フレームワーク。
【請求項４】
ベンチマーク機能を備える共通ソフトウェア部品および前記共通ソフトウェア部品から派生した派生ソフトウェア部品を、データの入出力を行うユーザインターフェイス層、データの処理を行うドメイン層、データの蓄積および検索を行うデータベース層、および通信、ログ出力やオペレーティングシステム層、ミドルウェア層の隠蔽を行う共通層の四階層に分類して備えるベンチマーク用フレームワークを用いたベンチマーク用ソフトウェア作成方法であって、
コンピュータがベンチマークに必要とされる情報を取得するステップと、
コンピュータが前記取得された情報からベンチマークに関連する前記階層を解析するステップと、
コンピュータが前記解析結果に基づいてベンチマークに関連する階層に属する既存ソフトウェア部品をソフトウェア部品群から取得するステップと、
コンピュータが前記取得した既存ソフトウェア部品がベンチマークに再利用できるか否かを判定するステップと、
前記既存ソフトウェア部品をベンチマークに再利用できない場合には、コンピュータが前記共通ソフトウェア部品から前記派生ソフトウェア部品を作成するステップと、
コンピュータが前記ソフトウェア部品群から取得された既存ソフトウェア部品および作成された前記派生ソフトウェア部品の中からソフトウェア部品を前記解析結果に基づいて選択し、組み合わせたベンチマーク用のソフトウェアを作成するステップと、
を有することを特徴とするベンチマーク用ソフトウェア作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベンチマークを目的としたソフトウェア開発におけるフレームワークおよびソフトウェア作成方法に関する。
【背景技術】
【０００２】
ベンチマーク（benchmark）とは、コンピュータ分野においてはハードウェアまたはソフトウェアの性能を定量的に測定する試験をいい、性能測定のための特別なソフトウェア（プログラム）を実行し、一定量のデータ処理に要する時間や演算実行回数等を計測することにより行われる。
【０００３】
従来、ベンチマークを実施する場合には、計測対象となるソフトウェアまたはハードウェアの用途に合わせて専用のソフトウェアを用意し、処理時間や単位時間当たりの演算回数等の性能を測定していた（特許文献１参照）。
【特許文献１】特開２００２−２４４８９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術においては、例えば、多数の製品に対してベンチマークを実施する場合には、各製品に合せてベンチマーク用のソフトウェアを作る必要があった。すなわち、機能単位で再利用可能な部分があっても有効に利用できず、再度作成する必要があった。この結果、多数の製品間で性能比較を行うためには非常に多くのコストを要するという問題があった。
【０００５】
そこで、本発明は上記の問題点に鑑み、ベンチマーク用のソフトウェアの開発を容易とし、ベンチマークの実施に要するコストを低減できるベンチマーク用フレームワークを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るベンチマーク用フレームワークは、データの入出力を行うユーザインターフェイス層、データの処理を行うドメイン層、データの蓄積および検索を行うデータベース層、通信、ログ出力やオペレーティングシステム層、ミドルウェア層の隠蔽を行う共通層の四階層に分類されたソフトウェア部品の複合体からなり、前記階層に属する各々の前記ソフトウェア部品が前記階層における性能を測定できるベンチマーク機能を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ベンチマーク用のソフトウェアの開発を容易とし、ベンチマークの実施に要するコストを低減できるという効果が得られる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の一実施形態について図面を用いて説明する。
【０００９】
図１は本発明の一実施形態の全体構成例を示す図である。
【００１０】
本発明に係るベンチマーク用フレームワーク１は、ユーザインターフェイス層１０、ドメイン層１１、データベース層１２、および共通層１３の四階層で構成されたソフトウェア部品の複合体からなり、これらの階層は本発明の対象外であるデータベース管理システム（ＤＢＭＳ）などのミドルウェアが属するミドルウェア層１４およびオペレーティングシステム（ＯＳ）が属するオペレーティングシステム層１５の上位層に位置づけられている。ここで、ソフトウェア部品とは、再利用を目的として作成された機能単位のプログラムをいい、オブジェクト指向のプログラムにおいてはクラスが該当する。
【００１１】
ユーザインターフェイス層１０は、画面への表示等のデータ出力やオペレータからのデータ入力を司る。ドメイン層１１は、処理ロジックを実行する。データベース層１２は、データベースやファイルへのデータ登録処理および蓄積されたデータの検索処理を行う。共通層１３は、ユーザインターフェイス層１０、ドメイン層１１、およびデータベース層１２にまたがって存在し、階層間の通信を行い、単純な演算処理やログ出力といったライブラリ群を提供する。更に、共通層１３は、下位層のミドルウェア層１４およびオペレーティングシステム層１５を隠蔽する機能を有する。例えば、ミドルウェア層１４やオペレーティングシステム層１５においてどのようなソフトウェアが選択されてもベンチマーク用フレームワーク１の各階層が影響を受けないようにプロトコル変換を行う。また、各階層は互いに独立しており、ベンチマークに必要な時間計測の仕組みをソフトウェア部品の共通機能、例えば基底クラスのメソッドとして備えているものとする。
【００１２】
図２は、図１のベンチマーク用フレームワーク１を用いたベンチマーク用ソフトウェア作成装置２０の具体例を示す図である。尚、ベンチマーク用ソフトウェア作成装置２０はコンピュータ等の処理装置である。情報取得部２１では、キーボード等の入力手段により入力されたベンチマーク対象（ハードウェアまたはソフトウェア）に関する情報が取得される。解析部２２では、取得された情報が解析され、ベンチマーク用フレームワーク１中のベンチマークに関連する階層が出力される。検索部２３では、この解析結果に基づいて階層毎に既存のソフトウェア部品が取得される。次に、判定部２４では、取得された既存ソフトウェア部品がベンチマークに再利用可能か否かが判定される。ここで、再利用できないと判定された場合、あるいは、機能面で補充が必要の場合には、各階層のソフトウェア部品の基礎となる共通ソフトウェア部品（基底クラス）からベンチマーク対象に応じて派生させたソフトウェア部品（派生クラス）が作成部２５において作成される。更に、作成部２５では、解析部２２での解析結果に基づいて関連する階層のソフトウェア部品を選択され、これを組み合わしたベンチマーク用のソフトウェアが作成される。そして、登録部２６では、この作成されたソフトウェア部品（派生クラス）がベンチマーク用フレームワーク１の階層に分類されてソフトウェア部品記憶部２７に登録される。
【００１３】
次に、本発明の動作を図３乃至図５に基づいて説明する。
【００１４】
図３は、ベンチマーク用ソフトウェア作成装置２０内での処理の流れ、すなわちベンチマーク用ソフトウェアの作成の流れを示すフローチャートである。また、図４および図５は、本発明に係るベンチマーク用フレームワーク１の使用の具体例を示す図である。
【００１５】
まず、ベンチマークの対象となるハードウェアまたはソフトウェアに関する情報が情報取得部２１において取得される（Ｓ３０１）。
【００１６】
次に、ベンチマークの実施に関連するベンチマーク用フレームワーク１中の階層が入力情報に基づいて解析部２２で解析される（Ｓ３０２）。
【００１７】
次に、この解析結果に基づいて階層毎にソフトウェア部品記憶部２７から既存ソフトウェア部品（基底クラスおよび派生クラス）が検索部２３で取得される（Ｓ３０３）。
【００１８】
次に、取得された既存ソフトウェア部品が再利用できるか否かが判定部２４で判定される（Ｓ３０４）。ここで、再利用できると判定された場合には、ステップＳ３０５へ進む。また、再利用できないと判定された場合には、ステップＳ３０６へ進む。
【００１９】
ステップＳ３０５においては、既存ソフトウェア部品が機能の補充無しでベンチマークに再利用できるか否かの判定が階層毎になされる。ここで、そのまま再利用できると判定された場合には処理を終了する。また、機能を補充する必要があると判定された場合には、ステップＳ３０６に進む。
【００２０】
ステップ３０６においては、既存ソフトウェア部品からベンチマークの対象に適応すべく派生したソフトウェア部品（派生クラス）が必要な階層についてのみ作成部２５で作成される。
【００２１】
次に、登録部２６では新たに作成されたソフトウェア部品（派生クラス）のソフトウェア部品記憶部２７への登録処理が行われ（Ｓ３０７）、再利用が可能となる。
【００２２】
そして、ベンチマークに関連する階層のソフトウェア部品を組み合わせたベンチマーク用のソフトウェアが作成部２５で作成される（Ｓ３０８）。
【００２３】
図４は、「他システムから受信したデータを表示する」というユースケースにおけるベンチマーク用フレームワーク１を用いたソフトウェア作成の具体例を示す図である。上記ユースケースを解析すると、データの受信は、オペレーティングシステム層１５若しくはミドルウェア層を経由して行われると考えられるため、共通層１３で「通信」を行うソフトウェア部品が必要となる。更に、ドメイン層１１で受信データを「処理」を、ユーザインターフェイス層１０で「表示」を行うソフトウェア部品が必要となる。このように、ユーザインターフェイス層１０、ドメイン層１１、および共通層１３を実装することにより、このユースケースにおけるベンチマークが可能となり、データ受信から表示までの時間、データ処理時間、プロトコル変換に要した時間等が測定できる。尚、このユースケースにおいては、データベース層１２を実装する必要がない。
【００２４】
図５は、「他システムから受信したデータを蓄積する」というユースケースにおけるベンチマーク用フレームワーク１を用いたソフトウェア作成の具体例を示す図である。このユースケースでは、図４の場合と異なり「表示」の代わりに「蓄積（保存）」を行うソフトウェア部品が必要と解析される。したがって、ユーザインターフェイス層１０の実装は不要であり、代わりにデータベース層１２の実装が必要となる。そして、ベンチマークの実施により、データベース層１２におけるデータ取得から登録までの時間等を測定することが可能となる。また、ドメイン層１１の「処理」と共通層１３の「通信」に関するソフトウェア部品は、図４のベンチマークで作成したものが再利用できる。
【００２５】
このように、本発明に係るベンチマーク用フレームワーク１を用いることで、
１）ベンチマークに必要なソフトウェアの開発が容易に行え、かつ、一度作成したソフトウェアを再利用できる。例えば、多数あるボードの中からシステム構築に最適なボードを選定する場合に、ソフトウェアを再利用することで性能比較が容易に行える。
【００２６】
２）各階層がベンチマークに必要な機能をソフトウェア部品の共通機能として備えているので、階層毎に時間計測等の性能評価が可能となる。したがって、ボトルネックとなる階層の判別も容易となる。
【００２７】
３）ベンチマークに要するコスト（時間や費用）を低減できる。
【００２８】
というベンチマーク用のソフトウェア開発において有益な効果が生じる。
【００２９】
尚、本発明は上記実施形態に限定されるものではなく、本発明の技術的思想の範囲内で種々変形して実施可能である。例えば、本実施形態においては、新たに作成したソフトウェア部品（派生クラス）のみを登録するとしたが、ベンチマークに関連する階層のソフトウェア部品を組合せたソフトウェア複合体を構成要素のソフトウェア部品と関連付けて登録しても良い。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態に係るベンチマーク用フレームワークの階層を示す図。
【図２】本発明の一実施形態に係るベンチマーク用フレームワークを用いた装置の具体例を示す図。
【図３】本発明の一実施形態に係るベンチマーク用のソフトウェア作成処理の流れを示すフローチャート。
【図４】本発明の一実施形態に係るベンチマーク用フレームワークのユースケースを示す図。
【図５】本発明の一実施形態に係るベンチマーク用フレームワークのユースケースを示す図。
【符号の説明】
【００３１】
１…ベンチマーク用フレームワーク、
１０…ユーザインターフェイス層、１１…ドメイン層、
１２…データベース層、１３…共通層、１４…ミドルウェア層、
１５…オペレーティングシステム層、
２０…ベンチマーク用ソフトウェア作成装置。
【図１】
2008123351.tif 000003
【図２】
2008123351.tif 000004
【図３】
2008123351.tif 000005
【図４】
2008123351.tif 000006
【図５】
2008123351.tif 000007