(57)【要約】【課題】システムの性能要求を満足する為に各コンポーネントに要求される条件を予測すること。【解決手段】データベース31は、既存システムのコンポーネントの種別毎に資源使用量を記憶する。計算手段21は、開発対象システムの各コンポーネントと同じ種別のコンポーネントについてデータベース31に記憶されている資源使用量を比較して、開発対象システムの複数のコンポーネントへの資源使用量の配分比を算出する。決定手段22は、開発対象システムの各コンポーネントに対して配分比を満足する範囲内で或る量の資源使用量を配分して、トランザクションを複数同時に実行した場合のシステム全体の性能を予測手段23によって予測し、予測結果が性能要求を満たさない場合には、配分比を満足する範囲内で前回と異なる量の資源使用量を配分し直して予測手段23による予測を再度繰り返すことにより、性能要求を満足するのに必要な各コンポーネントの資源使用量を探索する。【選択図】図１
2010128835.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンポーネントから構成されるシステムの開発を支援する開発支援装置であって、
既存システムを構成する個々のコンポーネントの種別毎に資源使用量を記憶するコンポーネント別資源使用量記憶手段と、
開発対象システムを構成する各コンポーネントと同じ種別のコンポーネントについて前記コンポーネント別資源使用量記憶手段に記憶されている資源使用量を比較して、開発対象システムを構成する複数のコンポーネントへの資源使用量の配分比を算出する資源使用量配分比計算手段と、
開発対象システムを構成する複数のコンポーネントが関与するトランザクションを複数同時に実行した場合のシステム全体の性能を予測するシステム性能予測手段と、
開発対象システムを構成する複数のコンポーネントに対して前記算出された配分比を満足する範囲内で或る量の資源使用量を配分して、前記トランザクションを複数同時に実行した場合のシステム全体の性能を前記システム性能予測手段によって予測を行い、その予測結果が開発対象システムに要求される性能を満たさない場合には、前記配分比を満足する範囲内で前回と異なる量の資源使用量を配分し直して、前記システム性能予測手段による予測を再度繰り返すことにより、性能要求を満足するために必要となる各コンポーネントの資源使用量を探索するコンポーネント制約条件決定手段とを備えることを特徴とする開発支援装置。
【請求項２】
前記資源使用量配分比計算手段は、コンポーネント種別毎に複数の資源使用量から予め定められた種類の統計値を計算し、統計値どうしを比較して、開発対象システムを構成する複数のコンポーネントへの資源使用量の配分比を算出することを特徴とする請求項１に記載の開発支援装置。
【請求項３】
前記コンポーネント制約条件決定手段は、前記資源使用量配分比計算手段で計算された各コンポーネントの統計値を加算して、最初に使用する資源使用量の初期値を求めることを特徴とする請求項２に記載の開発支援装置。
【請求項４】
前記コンポーネント制約条件決定手段は、資源使用量の初期値を用いた予測結果が性能要求を満足しない場合には、今回の資源使用量を上限値として保存した上で、予め定められた一定量だけ資源使用量を削減し、逆に、資源使用量の初期値を用いた予測結果が性能要求を満足しているが、性能要求との差が閾値より大きければ、今回の資源使用量を下限値として保存した上で、予め定められた一定量だけ資源使用量を増加し、２度目以降の予測時においては、予測結果が性能要求を満足しない場合には、今回の資源使用量を上限値として保存した上で、下限値が保存されていなければ一定量だけ資源使用量を削減し、下限値が保存されていれば上限値と下限値との中間の値を、削減した資源使用量の値とし、また、予測結果が性能要求を満足しているが、性能要求との差が閾値より大きければ、今回の資源使用量を下限値として保存した上で、上限値が保存されていなければ一定量だけ資源使用量を増加し、上限値が保存されていれば上限値と下限値との中間の値を、増加した資源使用量の値とすることを特徴とする請求項３に記載の開発支援装置。
【請求項５】
前記コンポーネント制約条件決定手段により探索された、性能要求を満足するために必要となる各コンポーネントの資源使用量を、性能要求およびコンポーネントと関連付けてデータベースに登録する登録手段を備えることを特徴とする請求項１乃至４の何れか１項に記載の開発支援装置。
【請求項６】
前記コンポーネントの識別子をキーとした検索要求を入力し、そのコンポーネントに関連する全ての制約条件と、各制約条件に対応する性能要求とを前記データベースから検索して出力する検索手段を備えることを特徴とする請求項５に記載の開発支援装置。
【請求項７】
性能要求をキーとした検索要求を入力し、その性能要求に関連する全ての制約条件と、その制約条件が課されるコンポーネントとを前記データベースから検索して出力する検索手段を備えることを特徴とする請求項５に記載の開発支援装置。
【請求項８】
既存システムを構成する個々のコンポーネントの種別毎に資源使用量を記憶するコンポーネント別資源使用量記憶手段と、開発対象システムを構成する複数のコンポーネントが関与するトランザクションを複数同時に実行した場合のシステム全体の性能を予測するシステム性能予測手段とを備え、複数のコンポーネントから構成されるシステムの開発を支援する開発支援装置における開発支援方法であって、
資源使用量配分比計算手段が、開発対象システムを構成する各コンポーネントと同じ種別のコンポーネントについて前記コンポーネント別資源使用量記憶手段に記憶されている資源使用量を比較して、開発対象システムを構成する複数のコンポーネントへの資源使用量の配分比を算出する資源使用量配分比計算ステップと、
コンポーネント制約条件決定手段が、開発対象システムを構成する複数のコンポーネントに対して前記算出された配分比を満足する範囲内で或る量の資源使用量を配分して、前記トランザクションを複数同時に実行した場合のシステム全体の性能を前記システム性能予測手段によって予測を行い、その予測結果が開発対象システムに要求される性能を満たさない場合には、前記配分比を満足する範囲内で前回と異なる量の資源使用量を配分し直して前記システム性能予測手段による予測を再度繰り返すことにより、性能要求を満足するために必要となる各コンポーネントの資源使用量を探索するコンポーネント制約条件決定ステップとを含むことを特徴とする開発支援方法。
【請求項９】
既存システムを構成する個々のコンポーネントの種別毎に資源使用量を記憶するコンポーネント別資源使用量記憶手段を備え、複数のコンポーネントから構成されるシステムの開発を支援する開発支援装置を構成するコンピュータを、
開発対象システムを構成する各コンポーネントと同じ種別のコンポーネントについて前記コンポーネント別資源使用量記憶手段に記憶されている資源使用量を比較して、開発対象システムを構成する複数のコンポーネントへの資源使用量の配分比を算出する資源使用量配分比計算手段と、
開発対象システムを構成する複数のコンポーネントが関与するトランザクションを複数同時に実行した場合のシステム全体の性能を予測するシステム性能予測手段と、
開発対象システムを構成する複数のコンポーネントに対して前記算出された配分比を満足する範囲内で或る量の資源使用量を配分して、前記トランザクションを複数同時に実行した場合のシステム全体の性能を前記システム性能予測手段によって予測を行い、その予測結果が開発対象システムに要求される性能を満たさない場合には、前記配分比を満足する範囲内で前回と異なる量の資源使用量を配分し直して前記システム性能予測手段による予測を再度繰り返すことにより、性能要求を満足するために必要となる各コンポーネントの資源使用量を探索するコンポーネント制約条件決定手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は開発支援装置に関し、特に複数のコンポーネントから構成されるシステムの開発を支援する開発支援装置に関する。
【背景技術】
【０００２】
一般に、複数のソフトウェア・コンポーネント（以下、コンポーネントと記す）から構成される情報処理システムの開発は、幾つかの工程に分けて行われ、各工程毎にテストが実施される。
【０００３】
例えば、コンポーネントの設計が行われた段階では、そのコンポーネント内のコードが正しい論理かどうかをチェックしたり、正しく機能するかどうかをチェックする単体テストが実施される。この単体テストの結果、誤りが検出された場合には、コンポーネントの再設計等が行われ、誤りが検出されなかった場合には次の工程へと作業が進められる。
【０００４】
また、全てのコンポーネントが出来上がった段階では、それらを結合してみて、コンポーネント間のつながりが正しいかどうかをチェックしたり、システム全体として要求されている機能や性能が満たされているかどうかをチェックする結合テストが実施される。この結合テストの結果、誤りや性能不足が検出された場合には、コンポーネントの設計段階など、より上流の工程に戻って設計をやり直し、誤りが検出されなかった場合には次の工程へと作業が進められる。
【０００５】
このように設計の下流工程で誤りや不具合が見つかると、上流工程から設計をやり直す必要があるために、開発期間の長期化による納期遅れや開発コストの増大を引き起こすことになる。このような後戻りをできるだけ少なくするために、本来は上流工程で行われるテスト項目をより下流で実施できるようにする技術が幾つか提案されている。
【０００６】
例えば特許文献１には、テスト対象となるコンポーネントの上位コンポーネントおよび下位コンポーネントが未完成の状態でも、コンポーネントの資源使用量（具体的にはＣＰＵ時間）を予測できるコンポーネント性能測定手段が記載されている。また、このコンポーネント性能測定手段を使って予測した各コンポーネントの資源使用量と、各コンポーネントの処理の組み合わせによって実現されるトランザクションの処理内容とから、１トランザクションの資源使用量を算出し、この算出した１トランザクションの資源使用量をシステム性能予測モデルに入力して、複数のトランザクションを並行して実行した場合のシステム全体の性能（スループット、トランザクションのレスポンス時間）を予測する方法が記載されている。
【０００７】
【特許文献１】特開２００４−２２０４５３号公報
【非特許文献１】Ｃｏｎｎｉｅ  Ｕ．Ｓｍｉｔｈ，Ｓｏｆｔｗａｒｅ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｅｎｇｉｎｅｅｒｉｎｇ，ｐｐ１５７−２２４，Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ，Ｒｅａｄｉｎｇ，ＭＡ
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載の技術によれば、複数のコンポーネントから構成されるシステム全体の性能を実システムを構築することなく予測することができる。つまり、全てのコンポーネントの設計が終了していない段階で、これらのコンポーネントを結合したシステム全体の性能を予測することができるため、若し性能が不足していることが判明したならば、コンポーネントの再設計などを早い段階で着手することが可能になる。しかし、より好ましくは、各コンポーネントの設計に着手する前など、より早い段階で、システム全体に要求される性能を満足するために各コンポーネントが満足すべき条件が予測できれば良い。
【０００９】
本発明はこのような事情に鑑みて提案されたものであり、複数のコンポーネントから構成されるシステム全体に要求される性能を満足するために各コンポーネントに要求される制約条件を開発の早い段階で予測することができるようにすることにある。
【課題を解決するための手段】
【００１０】
本発明の開発支援装置は、複数のコンポーネントから構成されるシステムの開発を支援する開発支援装置であって、既存システムを構成する個々のコンポーネントの種別毎に資源使用量を記憶する既存コンポーネント別資源使用量記憶手段と、開発対象システムを構成する各コンポーネントと同じ種別のコンポーネントについて前記既存コンポーネント別資源使用量記憶手段に記憶されている資源使用量を比較して、開発対象システムを構成する複数のコンポーネントへの資源使用量の配分比を算出する資源使用量配分比計算手段と、開発対象システムを構成する複数のコンポーネントが関与するトランザクションを複数同時に実行した場合のシステム全体の性能を予測するシステム性能予測手段と、開発対象システムを構成する複数のコンポーネントに対して前記算出された配分比を満足する範囲内で或る量の資源使用量を配分して前記システム性能予測手段による予測を行い、その予測結果が開発対象システムに要求される性能を満たさない場合には、前記配分比を満足する範囲内で前回と異なる量の資源使用量を配分して前記システム性能予測手段による予測を再度繰り返すことにより、性能要求を満足するために必要となる各コンポーネントの資源使用量を探索するコンポーネント制約条件決定手段とを備える。
【発明の効果】
【００１１】
本発明によれば、複数のコンポーネントから構成されるシステム全体に要求される性能を満足するために各コンポーネントに要求される制約条件を開発の早い段階で予測することができる。
【発明を実施するための最良の形態】
【００１２】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００１３】
図１を参照すると、本発明の実施の形態に係わる開発支援装置１０は、データ処理装置２０と、記憶装置３０と、入力装置４０と、表示装置５０とで構成される。
【００１４】
データ処理装置２０は、１台または複数台のＣＰＵで構成され、資源使用量配分比計算手段２１、コンポーネント制約条件決定手段２２、システム性能予測手段２３、制約条件登録手段２４および制約条件検索手段２５を機能手段として備えている。これらの機能手段は、図示しないプログラムをＣＰＵ上で実行することにより実現される。各機能手段は、概ね以下のような機能を有する。
【００１５】
資源使用量配分比計算手段２１は、開発対象システムを構成する複数のコンポーネントへの資源使用量の配分比を算出する機能を有する。ここで、資源使用量とは、本実施の形態ではＣＰＵ使用時間である。
【００１６】
システム性能予測手段２３は、開発対象システムを構成する複数のコンポーネントが関与するトランザクションを複数同時に実行した場合のシステム全体の性能を予測する機能を有する。ここで、システム全体の性能とは、スループット、１トランザクション当たりのターンアラウンドタイム（レスポンスタイム）などのことである。システム構築における性能評価（予測）の方法論として、プログラム実行に必要な資源使用量を、見積り可能な程度にソフトウェア実行を分割した上で、各処理ステップについて見積もった資源使用量からシステム性能を予測する手法が公知である（例えば非特許文献１参照）。システム性能予測手段２３は、この公知の予測手法を用いて実現されている。
【００１７】
コンポーネント制約条件決定手段２２は、システム性能予測手段２３による予測動作を繰り返すことにより、開発対象システムに対して要求される性能を満足するために必要となる各コンポーネントの資源使用量を決定する機能を有する。
【００１８】
制約条件登録手段２４は、コンポーネント制約条件決定手段２２で決定された各コンポーネントの資源使用量を各コンポーネントの制約条件として、開発対象システムの性能要求および各コンポーネントと関連付けて制約条件データベース３９に格納する機能を有する。
【００１９】
制約条件検索手段２５は、入力装置４０から入力された検索要求にしたがって、制約条件データベース３９を検索し、その検索結果を表示装置５０に出力する機能を有する。
【００２０】
記憶装置３０は、磁気ディスクや主記憶メモリ等で構成され、コンポーネント別資源使用量データベース３１、システム性能予測モデル３２、開発対象システムのコンポーネント情報３３、開発対象システムの性能要求３４、コンポーネントが関与するトランザクションの処理情報３５、各コンポーネントへの資源使用量配分比３６、各コンポーネントへの配分資源使用量３７、予測結果３８および制約条件データベース３９を記憶する。
【００２１】
コンポーネント別資源使用量データベース３１は、既存システムを構成する個々のコンポーネントの種別毎の資源使用量を記憶する。図２を参照すると、コンポーネント別資源使用量データベース３１には、コンポーネント種別が通信コンポーネント、検索・更新要求コンポーネント、データベースコンポーネントのそれぞれについて、既存システム中のコンポーネントを特定するコンポーネント識別子とそのコンポーネントの資源使用量との組が記憶されている。個々の資源使用量は、実際に稼動しているシステムから計測した値であっても良いし、特許文献１に記載されるようなコンポーネント性能測定手段によって測定（予測）された値であっても良い。図２には、３種類のコンポーネントについてしか資源使用量が記録されていないが、一般的にはより数多くの種類のコンポーネントについてその資源使用量が記録されている。或るコンポーネントがどの種別に分類されるかは、そのコンポーネントの持つ機能によって決定する。つまり、同じような機能を持つコンポーネントは同じ種別のコンポーネントに分類される。
【００２２】
システム性能予測モデル３２は、システム性能予測手段２３が予測に使用するモデルであり、待ち行列網モデルやシミュレーションモデルを用いたものが既存技術として存在している（例えば、非特許文献１参照）。
【００２３】
開発対象システムのコンポーネント情報３３は、開発対象システムを構成する各コンポーネントに関する情報として、コンポーネント識別子、フローチャート形式やテキスト形式で記述されたコンポーネントの機能説明などで構成される。
【００２４】
開発対象システムの性能要求３４は、開発対象システムの非機能要求の内容である。具体的には、例えば「同時アクセス数が３０のときに、ターンアラウンドタイムが３秒以内」といった内容が記載されている。
【００２５】
コンポーネントが関与するトランザクションの処理情報３５は、開発対象システムを構成する複数のコンポーネントが関与するトランザクションの処理の流れを、フローチャート形式やテキスト形式で記述した情報である。開発対象システムを構成する複数のコンポーネントが関与するトランザクションの処理の流れの一例を図３に示す。この例では、開発対象システムは、通信コンポーネントＡ、検索・更新要求コンポーネントＢ、データベースコンポーネントＣの３種類のコンポーネントから構成されている。
【００２６】
通信コンポーネントＡは、システム外部より処理要求メッセージを受信し、メッセージ中の処理番号で示される処理を引数を付けて呼び出すことにより検索・更新要求コンポーネントＢに依頼し、処理の戻り値を処理結果として検索・更新要求コンポーネントＢから受け取って要求元に送信する。
【００２７】
検索・更新要求コンポーネントＢは、通信コンポーネントＡから引数で渡される処理番号に応じた要求（検索要求や更新要求）を作成してデータベースコンポーネントＣに送信し、データベースコンポーネントＣから処理結果を受け取って通信コンポーネントＡに送信する。
【００２８】
これらの処理のために各コンポーネントＡ、Ｂ、Ｃが必要とするＣＰＵ使用時間の上限が、各コンポーネントＡ、Ｂ、Ｃの制約条件になる。また、各コンポーネントＡ〜Ｃによる処理はシーケンシャルに行われるため、各コンポーネントＡ、Ｂ、Ｃが必要とするＣＰＵ使用時間の合計がトランザクションに必要なＣＰＵ使用時間になる。
【００２９】
データベースコンポーネントＣは、検索・更新要求コンポーネントＢから要求を受信し、その要求に応じて検索あるいは更新を行い、結果を検索・更新要求コンポーネントＢへ送信する。
【００３０】
各コンポーネントへの資源使用量配分比３６、各コンポーネントへの配分資源使用量３７、予測結果３８は、開発対象システムの各コンポーネントの制約条件を求める過程で一時的に生成される情報である。また、制約条件データベース３９は、求められた各コンポーネントの制約条件を記憶するデータベースである。
【００３１】
入力装置４０は、キーボードやマウス等で構成され、表示装置５０は、ＬＣＤディスプレイ等で構成される。
【００３２】
次に本実施の形態に係わる開発支援装置１００の動作を、図４のフローチャートの流れに沿って説明する。
【００３３】
まず、データ処理装置２０の資源使用量配分比計算手段２１は、開発対象システムのコンポーネント情報３３を参照して、開発対象システムを構成する各コンポーネントの種別を判別し、各コンポーネントの種別と同じ種別の既存コンポーネントの資源使用量をコンポーネント別資源使用量データベース３１から読み出す（ステップＳ１０１）。例えば、開発対象システムが、図３で示したような通信コンポーネントＡ、検索・更新要求コンポーネントＢ、データベースコンポーネントＣで構成されており、コンポーネント別資源使用量データベース３１に図２に示したような資源使用量が記憶されている場合、資源使用量配分比計算手段２１は、通信コンポーネントの資源使用量として、１０、１２、…、検索・更新要求コンポーネントの資源使用量として、５、８、…、データベースコンポーネントＣの資源使用量として５０、７０、…を読み出す。
【００３４】
次に資源使用量配分比計算手段２１は、読み出した各コンポーネント種別の資源使用量を比較して、開発対象システムを構成する複数のコンポーネントへの資源使用量の配分比を算出し、各コンポーネントへの資源使用量配分比３６として記憶装置３０に記憶する（ステップＳ１０２）。比較に際しては、各コンポーネント種別毎に、資源使用量の平均、中央値、最小値あるいは最大値などの予め定められた統計値を計算し、統計値どうしを比較する。そして、例えば通信コンポーネントの資源使用量の統計値を１０、検索・更新要求コンポーネントの資源使用量の統計値を５、データベースコンポーネントの資源使用量の統計値を４５とすると、資源使用量配分比計算手段２１は、コンポーネントＡ、Ｂ、Ｃで構成される開発対象システムの当該コンポーネントへの資源使用量の配分比を、１０：５：４５、つまり、２：１：９に決定する。
【００３５】
次に、コンポーネント制約条件決定手段２２は、開発対象システムを構成する複数のコンポーネントが関与するトランザクションへ割り当てる資源使用量の初期値を設定する（ステップＳ１０３）。初期値としては、資源使用量配分比計算手段２１で計算された各コンポーネント種別毎の資源使用量の統計値の和とすることができる。例えば、通信コンポーネント、検索・更新要求コンポーネントおよびデータベースコンポーネントの資源使用量の統計値がそれぞれ、１０、５、４５の場合、６０を資源使用量の初期値に設定する。
【００３６】
次にコンポーネント制約条件決定手段２２は、記憶装置３０から各コンポーネントへの資源使用量配分比３６を読み出し、資源使用量の初期値をその配分比３６で配分することにより、各コンポーネントへの配分資源使用量を計算し、記憶装置３０に記憶する（ステップＳ１０４）。例えば、配分比が２：１：９、資源使用量の初期値が６０のとき、通信コンポーネントＡには１０、検索・更新要求コンポーネントＢには５、データベースコンポーネントＣには４５を分配する。
【００３７】
次にコンポーネント制約条件決定手段２２は、予測に必要な情報をシステム性能予測手段２３に入力して、開発対象システムを構成する複数のコンポーネントが関与するトランザクションを複数同時に実行した場合のシステム全体の性能を予測させる（ステップＳ１０５）。このとき、開発対象システムを構成する複数のコンポーネントが関与するトランザクションの情報は、コンポーネントが関与するトランザクションの処理情報３５を記憶装置３０から読み出して用いる。また、トランザクションの同時実行数は、記憶装置３０から読み出した開発対象システムの性能要求３４から抽出する。例えば、性能要求３４が「同時アクセス数が３０のときに、ターンアラウンドタイムが３秒以内」であれば、「同時アクセス数が３０」の部分を認識して、トランザクションの同時実行数を３０とする。
【００３８】
システム性能予測手段２３は、記憶装置３０からシステム性能予測モデル３２を読み出し、このシステム性能予測モデル３２に対して、開発対象システムを構成する複数のコンポーネントが関与するトランザクション当たりの資源使用量や同時実行トランザクション数などの情報を入力して、システム全体の性能（ターンアラウンドタイムなど）を予測し、その予測結果３８を記憶装置３０に記憶する。
【００３９】
次にコンポーネント制約条件決定手段２２は、記憶装置３０から予測結果３８を読み出し、記憶装置３０から読み出した開発対象システムの性能要求３４と比較する（ステップＳ１０６）。例えば、性能要求３４が「同時アクセス数が３０のときに、ターンアラウンドタイムが３秒以内」であれば、予測結果３８で与えられるターンアラウンドタイムと３秒とを比較する。
【００４０】
その結果、予測結果３８が性能要求３４を満足していなければ（ステップＳ１０７でＮＯ）、開発対象システムを構成する複数のコンポーネントが関与するトランザクションへ割り当てる資源使用量をより削減するように変更し（ステップＳ１０８）、ステップＳ１０４に戻って上述した処理と同様の処理を繰り返す。他方、予測結果３８が性能要求３４を満足していれば（ステップＳ１０７でＹＥＳ）、コンポーネント制約条件決定手段２２は、予測結果３８と性能要求３４との差が予め設定された閾値以下かどうかを判定する（ステップＳ１０９）。例えば、性能要求３４がターンアラウンドタイム３秒以下、予測結果３８が１秒、予め設定されたターンアラウンドタイムの閾値が０．３秒であれば、予測結果３８と性能要求３４との差が閾値以下でないと判定する。予測結果３８と性能要求３４との差が閾値以下でなければ、制約条件が厳しすぎることになるので、コンポーネント制約条件決定手段２２は、開発対象システムを構成する複数のコンポーネントが関与するトランザクションへ割り当てる資源使用量を増加する方向に変更し（ステップＳ１１０）、ステップＳ１０４に戻って上述した処理と同様の処理を繰り返す。
【００４１】
ステップＳ１０８およびステップＳ１１０において実施される資源使用量の変更アルゴリズムの一例を以下に説明する。まず、資源使用量の初期値を用いた予測結果が性能要求を満足しない場合には、今回の資源使用量を上限値として保存した上で、予め定められた一定量だけ資源使用量を削減する。逆に、資源使用量の初期値を用いた予測結果が性能要求を満足しているが、性能要求との差が閾値より大きければ、今回の資源使用量を下限値として保存した上で、予め定められた一定量だけ資源使用量を増加する。
【００４２】
２度目以降の予測時においては、予測結果が性能要求を満足しない場合には、今回の資源使用量を上限値として保存した上で、下限値が保存されていなければ一定量だけ資源使用量を削減し、下限値が保存されていれば上限値と下限値との中間の値を、削減した資源使用量の値とする。また、予測結果が性能要求を満足しているが、性能要求との差が閾値より大きければ、今回の資源使用量を下限値として保存した上で、上限値が保存されていなければ一定量だけ資源使用量を増加し、上限値が保存されていれば上限値と下限値との中間の値を、増加した資源使用量の値とする。
【００４３】
以上のような変更アルゴリズムを用いることにより、予測結果が性能要求を満足し、且つその差が閾値以内に収まる資源使用量を探索することができる。なお、変更アルゴリズムは上記の例に限定されるものではなく、例えば、資源使用量の初期値を用いた予測結果が性能要求を満足しない場合には、資源使用量を少しずつ削減し、逆に資源使用量の初期値を用いた予測結果が性能要求を満足するが、閾値以上の差がある場合には、資源使用量を少しずつ増加するといったアルゴリズムも採用することができる。
【００４４】
コンポーネント制約条件決定手段２２は、予測結果３８と性能要求との差が閾値以下になると、その時点の各コンポーネントへの配分資源使用量３７を各コンポーネントの制約条件として確定する（ステップＳ１１１）。制約条件登録手段２４は、記憶装置３０から各コンポーネントへの配分資源使用量３７を読み出し、各コンポーネントの制約条件として、開発対象システムの性能要求３４および各コンポーネントと対応付けて制約条件データベース３９に格納する（ステップＳ１１２）。
【００４５】
図５を参照すると、制約条件データベース３９は、開発対象システムＸを特定する情報（例えば開発対象システムを一意に識別する識別子）に対応付けて、構成コンポーネントＡ、Ｂ、Ｃが記憶されている。また、各コンポーネントＡ、Ｂ、Ｃに対応付けて、その制約条件ａ、ｂ、ｃが記憶されている。さらに、開発対象システムＸの性能要求Ｙと制約条件ａ、ｂ、ｃとが対応付けられている。開発対象システムＸ、その性能要求Ｙ、その構成コンポーネントＡ〜Ｃ、その制約条件ａ〜ｃの相互の関係が一意に辿れる構造であれば、対応付けの仕方は図５に示す方法以外の方法でも良い。
【００４６】
設計者（ユーザ）は、入力装置４０から制約条件検索手段２５に対して検索条件を指定した検索要求を送信することにより、制約条件データベース３９の内容を検索することができる。この場合、制約条件検索手段２５は、コンポーネントの識別子をキーとした検索要求が入力された場合、そのコンポーネントに関連する全ての制約条件と、各制約条件に対応する性能要求とを制約条件データベース３９から検索し、表示装置５０に出力する。また、制約条件検索手段２５は、性能要求をキーとした検索要求が入力された場合、その性能要求に関連する全ての制約条件と、その制約条件が課されるコンポーネントと、その性能要求が課される開発対象システムとを制約条件データベース３９から検索し、表示装置５０に出力する。
【００４７】
次に本実施の形態の効果を説明する。
【００４８】
本実施の形態によれば、複数のコンポーネントから構成される開発対象システムの性能要求を満足するために各コンポーネントに要求される制約条件を、各コンポーネントの詳細な設計前に予測することができる。これにより、開発の早い段階から性能要求の検証を行うことが可能となり、無駄な後戻りによるコストの抑制や製品品質の向上につながる。
【００４９】
一般にシステム性能予測手段２３は、複数のコンポーネントが関与するトランザクションにおける各コンポーネント毎の資源使用量（トランザクションの総資源使用量）が不明であれば、トランザクションを複数同時に実行した場合のシステム全体の性能は予測できない。このため、何らかの基準で、各コンポーネントの配分資源使用量を決定する必要がある。しかし、開発対象システムの各コンポーネントの設計が未だ完了していない段階では、各コンポーネントで必要な資源使用量を測定することはできない。また、トランザクションの総資源使用量を各コンポーネントに均等に割り当てたのでは、個々のコンポーネントの正確な制約条件は求められない。何故なら、コンポーネントの機能の違いによって、本来的に必要とする資源使用量に数倍から十数倍以上の差があるためである。そこで、本発明は、開発対象システムを構成する各コンポーネントと同じ種別のコンポーネントについて過去に計測された資源使用量を比較して、開発対象システムを構成する複数のコンポーネントへの資源使用量の配分比を算出することで、この課題を解決している。
【００５０】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。例えば、前記の実施の形態では資源使用量がＣＰＵ使用時間である場合について説明したが、本発明は資源使用量がＣＰＵ使用時間に限定されるものではなく、資源使用量がネットワーク帯域の使用量、メモリ使用量などのリソース使用量とすることもできる。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施の形態に係わる開発支援装置のブロック図である。
【図２】コンポーネント別資源使用量データベースの内容例を示す図である。
【図３】開発対象システムを構成する複数のコンポーネントが関与するトランザクションの処理情報の内容説明図である。
【図４】本発明の実施の形態に係わる開発支援装置の処理例を示すフローチャートである。
【図５】制約条件データベースの内容例を示す図である。
【符号の説明】
【００５２】
１０…開発支援装置
２０…データ処理装置
３０…記憶装置
４０…入力装置
５０…表示装置
【図１】
2010128835.tif 000003
【図２】
2010128835.tif 000004
【図３】
2010128835.tif 000005
【図４】
2010128835.tif 000006
【図５】
2010128835.tif 000007