(57)【要約】【課題】  システム全体を見通しながら最適な設計パラメータを追求するアーキテクチャ設計を行うことができるＵＭＬ設計方法を提供する。【解決手段】  本発明のＵＭＬ設計方法は、設計パラメータが格納されたプロファイルを用いて対象システムをＵＭＬモデル化して設計を行うＵＭＬ設計方法であって、ステレオタイプおよびタグ付き値を設計パラメータとしてプロファイルに格納し、その格納されたステレオタイプおよびタグ付き値を対象システムのＵＭＬモデルにアノテーションし、そのアノテーションされたステレオタイプおよびタグ付き値を、ＵＭＬモデルを構成する各クラスに関連付けて、この関連付けられたステレオタイプ、タグ付き値、およびＵＭＬモデルをＧＵＩ（Graphical  User  Interface）に表示することを特徴とする。【選択図】        図１
2005327094.tif 000002
【特許請求の範囲】
【請求項１】
設計パラメータが格納されたプロファイルを用いて対象システムをＵＭＬ（Unified  Modeling  Language）モデル化して設計を行うコンピュータシステムであって、
前記プロファイルに、特定問題領域についてのステレオタイプおよびタグ付き値を設計パラメータとして格納して、プロファイルを設定する特定問題領域プロファイル設定手段と、
前記プロファイルに含まれる設計パラメータを、前記対象システムのＵＭＬモデルに付与する設計パラメータ付与手段と、
前記プロファイルに含まれる設計パラメータと前記ＵＭＬモデルとを関連付けて、この関連付けられた前記設計パラメータおよび前記ＵＭＬモデルをＧＵＩ（Graphical  User  Interface）に表示するＧＵＩ表示手段と、を備えたことを特徴とするコンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムにおいて、
前記ステレオタイプおよび前記タグ付き値が、ＲＴ−ＵＭＬ（Real  Time  Unified  Modeling  Language）で設定されることを特徴とするコンピュータシステム。
【請求項３】
請求項１に記載のコンピュータシステムにおいて、
前記ステレオタイプおよび前記タグ付き値が、前記対象システムの処理の時間制約および該対象システムの資源制約に関する設計パラメータを含むことを特徴とするコンピュータシステム。
【請求項４】
請求項１に記載のコンピュータシステムにおいて、
前記ＵＭＬモデルに付与された前記設計パラメータに基づいて性能評価モデルを作成して該性能評価モデルから前記対象システムの性能指標を取得する第１性能指標取得手段、および、前記設計パラメータに基づいて前記ＵＭＬモデルのシミュレーションを行って該シミュレーション実行結果から前記対象システムの性能指標を取得する第２性能指標取得手段のうち少なくとも一方と、
前記取得した性能指標を蓄積記憶する性能指標蓄積記憶手段と、を備えたことを特徴とするコンピュータシステム。
【請求項５】
請求項４に記載のコンピュータシステムにおいて、
前記対象システムのアーキテクチャ設計に必要な前記性能指標が前記性能指標蓄積記憶手段から選択されると、前記ＧＵＩ表示手段が、前記選択された性能指標および全ての前記性能指標に基づく前記対象システムのパフォーマンスを、視覚的かつ定量的に表示することを特徴とするコンピュータシステム。
【請求項６】
請求項５に記載のコンピュータシステムにおいて、
前記ＧＵＩ表示手段が、前記表示される性能指標を変更できるＧＵＩ要素を有し、
前記性能指標が前記ＧＵＩ要素で変更されると、この変更された性能指標に対応して、前記プロファイルに格納された前記設計パラメータを変更するフィードバック手段を備えたことを特徴とするコンピュータシステム。
【請求項７】
設計パラメータが格納されたプロファイルを用いて対象システムをＵＭＬ（Unified  Modeling  Language）モデル化して設計を行うＵＭＬ設計方法であって、
前記プロファイルに、特定問題領域についてのステレオタイプおよびタグ付き値を設計パラメータとして格納して、プロファイルを設定するステップと、
前記プロファイルを用いて、前記設計パラメータを前記対象システムのＵＭＬモデルに付与するステップと、
前記プロファイルを用いて、前記設計パラメータと前記ＵＭＬモデルとを関連付けて、この関連付けられた前記設計パラメータおよび前記ＵＭＬモデルをＧＵＩ（Graphical  User  Interface）に表示するステップと、を備えたことを特徴とするＵＭＬ設計方法。
【請求項８】
請求項７に記載のＵＭＬ設計方法において、
前記ステレオタイプおよび前記タグ付き値が、ＲＴ−ＵＭＬ（Real  Time  Unified  Modeling  Language）で設定されることを特徴とするＵＭＬ設計方法。
【請求項９】
請求項７に記載のＵＭＬ設計方法において、
前記ステレオタイプおよび前記タグ付き値が、前記対象システムの処理の時間制約および該対象システムの資源制約に関する設計パラメータを含むことを特徴とするＵＭＬ設計方法。
【請求項１０】
請求項７に記載のＵＭＬ設計方法において、
前記ＵＭＬモデルに付与された前記設計パラメータに基づいて性能評価モデルを作成して該性能評価モデルから前記対象システムの性能指標を取得する第１性能指標取得ステップ、および、前記ＵＭＬモデルのシミュレーションを行って該シミュレーション実行結果から前記対象システムの性能指標を取得する第２性能指標取得ステップのうち少なくとも一方と、
前記取得した性能指標を蓄積記憶するステップと、を備えたことを特徴とするＵＭＬ設計方法。
【請求項１１】
請求項１０に記載のＵＭＬ設計方法において、
前記対象システムのアーキテクチャ設計に必要な前記蓄積記憶された性能指標が選択されると、前記ＧＵＩが、前記選択されたそれぞれの性能指標および全ての前記性能指標に基づく前記対象システムのパフォーマンスを、視覚的かつ定量的に表示することを特徴とするＵＭＬ設計方法。
【請求項１２】
請求項１１に記載のＵＭＬ設計方法において、
前記ＧＵＩ表示手段が、前記表示される性能指標を変更できるＧＵＩ要素を有し、
前記性能指標が前記ＧＵＩ要素で変更されると、この変更された性能指標に対応して、前記プロファイルに格納された前記設計パラメータを変更するステップを備えたことを特徴とするＵＭＬ設計方法。
【請求項１３】
請求項７から１２のいずれかに記載のＵＭＬ設計方法を実行するプログラムを記録したコンピュータ読取可能記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＭＬ（Unified  Modeling  Language）設計方法に関する。
【背景技術】
【０００２】
高性能かつ多機能な処理をワンチップに集積したシステムオンチップ（System  on  a  Chip、以下ＳｏＣとする）の需要が、近年急速に高まりつつある。ＳｏＣの設計においては、大規模かつ複雑な構成を持つＳｏＣを、短期間かつ低コストで開発しなければならないという、相反する要求を解決することが要求されてきている。
【０００３】
ところで、システム開発においては、設計対象の要求仕様に基づくシステム仕様の分析および抽象化を精度よく行うことにより、アーキテクチャ設計を的確に行う必要がある。そこで、アーキテクチャ設計を的確かつ効率的に行うため、対象システムを抽象化するＵＭＬを用いたシステムの設計手法が開発されている。
【０００４】
ＵＭＬは、ＯＭＧ（Object  Management  Group）の標準として1997年に最初のバージョンが採択された。ＵＭＬは、ソフトウェアシステムやソフトウェアシステム以外のシステム（たとえば、ビジネスプロセスなど）の設計の最上流工程において、設計対象の抽象化、視覚化、仕様決定、およびそれらに係るドキュメントの作成を行う設計手法である。ＵＭＬは、プログラミング言語やデータベーススキーマの様に、システム定義を厳密に取り扱うだけでなく、システムを抽象化して概略レベルで取り扱うことによって、複雑なシステムをより簡単に取り扱うことができるという特徴を有している。
【０００５】
ここで、上記ＵＭＬをＳｏＣに適用することにより、最適な設計パラメータを追求するアーキテクチャ設計を実現することが試みられている。
【０００６】
例えば、ＳｏＣの設計を行うことができる市販のＵＭＬベースのツールには、唯一キャッツ（CATS）社のクロスモデリンク（XModelink）がある。このツールは、ＵＭＬモデルからSystemCコードを自動生成し、SystemCシミュレータを実行しながら仕様の確認を行うことができる仕組みを提供している。
【０００７】
しかし、クロスモデリンクは、ＵＭＬモデルからプログラムコードを自動生成することができ、実装を考慮したシステム設計への橋渡しを可能とするが、ＵＭＬモデルから性能評価モデルを生成することによってアーキテクチャ設計を支援する機能を有していない。
【０００８】
そこで、ＵＭＬモデルから設計対象システムの性能評価モデルを自動的に生成することができる性能評価モデル生成装置が提案されている（例えば、特許文献１参照）。この性能評価モデル生成装置は、ＵＭＬモデル解析部と、性能評価モデル生成部と、性能評価モデル生成部により生成された性能評価モデルを格納する性能モデル格納部と、で構成されている。この性能評価モデル生成装置は、入力されたＵＭＬモデルをＵＭＬモデル解析部で解析し、ＵＭＬモデル解析部による解析結果から性能評価モデルを生成し、性能評価モデル生成部により生成された性能評価モデルを蓄積記録する。このことによって、設計対象システムの性能評価モデルを自動生成することができ、システムの設計の都度、性能評価モデルを容易に作成することができる。
【特許文献１】特開２００１−３１８８１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記の性能評価モデル生成装置は、ＵＭＬモデルをもとに性能評価モデルを自動生成して性能評価を蓄積するが、その性能評価の表示は、前記性能評価モデル生成装置と連携しない外部の性能評価ツールを利用して行なわれる。このため、ソフトウェアとハードウェアとを含むシステム全体を見通しながら、最適な設計パラメータを追求するアーキテクチャ設計を行うことができない場合がある。
【００１０】
本発明は、ＵＭＬモデル上で、ソフトウェアとハードウェアとを含むシステム全体を見通しながら、最適な設計パラメータを追求するアーキテクチャ設計を行うことができるＵＭＬ設計方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、設計パラメータが格納されたプロファイルを用いて対象システムをＵＭＬモデル化して設計を行うＵＭＬ設計方法であって、ステレオタイプおよびタグ付き値を設計パラメータとしてプロファイルに格納し、その格納されたステレオタイプおよびタグ付き値を対象システムのＵＭＬモデルにアノテーションし、そのアノテーションされたステレオタイプおよびタグ付き値を、ＵＭＬモデルを構成する各クラスに関連付けて、この関連付けられたステレオタイプ、タグ付き値、およびＵＭＬモデルをＧＵＩ（Graphical  User  Interface）に表示することを特徴とするＵＭＬ設計方法である。
【００１２】
このＵＭＬ設計方法によれば、例えば、ＳｏＣ設計に必要なステレオタイプおよびタグ付き値を、ＵＭＬモデルを構成する各クラスに関連付け、この関連付けられたステレオタイプ、タグ付き値、およびＵＭＬモデルを構成する各クラスをＧＵＩに表示する。これにより、ＵＭＬモデル上で、対象システム全体を見通しながら、最適な設計パラメータを追求するアーキテクチャ設計を行うことができる。
【発明の効果】
【００１３】
本発明によれば、システム設計に関し、ＵＭＬモデル上で、ステレオタイプおよびタグ付き値をＵＭＬモデルの各クラスに関連付けて、この関連付けられたステレオタイプ、タグ付き値、およびＵＭＬモデルを構成する各クラスをＧＵＩに表示する。これにより、ＵＭＬモデル上で、対象システム全体を見通しながら、最適な設計パラメータを追求するアーキテクチャ設計を行うことができ、ＵＭＬを用いたシステム設計の精密化、効率化を図ることができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明のＵＭＬ設計方法をＳｏＣの開発に適用したＵＭＬ設計コンピュータシステムの実施形態を図面に基づいて説明する。ここで、ＳｏＣとは、例えば、ファイバーチャネル（以下、ＦＣとする）から信号を受信し、その信号を変換してシリアルＡＴアーキテクト（以下、ＳＡＴＡとする）から送信に出力するプロトコルコンバータである。
【００１５】
［ＵＭＬ設計コンピュータシステムのハードウェア構成］
図１に示すように、ＵＭＬ設計コンピュータシステム１００は、ＣＰＵ、ＲＡＭ、およびＲＯＭから構成される制御回路１０と、この制御回路に接続されたストレージデバイス２０と、この制御回路に接続されたディスプレイ３０と、この制御回路に接続された入力装置４０と、で構成されている。
【００１６】
ストレージデバイス２０は、ハードディスク装置で構成され、プロファイル２０ａ、シミュレーションログ蓄積部２０ｂ、モデルプロファイル２０ｃ、および性能評価蓄積部２０ｄを含む。ストレージデバイス２０は、所定のインターフェイスを介して制御回路１０と接続され、制御回路１０との間で双方向の通信が可能である。
【００１７】
プロファイルは、ＲＴ−ＵＭＬで定義されるものであって、ＵＭＬモデルの時間制約や資源制約に関するパラメータを格納する。しかし、ＳｏＣの設計など特定の問題領域で必要なプロファイルは、ＲＴ−ＵＭＬでは定義されていない。このため、この特定の問題領域で必要なプロファイルを用意する必要がある。プロファイルは、この特定の問題領域のために定義される固有の、時間制約や資源制約に関するパラメータであるステレオタイプおよびタグ付き値を格納する。
【００１８】
ディスプレイ３０は、ＣＲＴやＬＥＤのディスプレイ装置で構成される。ディスプレイ３０は、所定のインターフェイスを介して制御回路１０と接続され、制御回路１０から送信される信号に基づいて画面表示を行う。
【００１９】
入力装置４０は、キーボード４０ａおよびマウス４０ｂで構成される。ユーザがキーボード４０ａの操作およびマウス４０ｂの操作を介してマウスポインタを移動させることにより、性能表示ＧＵＩ３０ａに表示された性能指標が変更され、この変更された性能指標に基づく性能評価の再計算の指示が、制御回路１０に入力される。入力装置４０は、所定のインターフェイスを介して制御回路１０と接続され、制御回路１０へ所定の信号を送信する。
【００２０】
制御回路１０は、ＵＭＬモデル生成部１１、アノテーション部１２、シミュレーション実行部１３、性能評価モデル生成部１４、性能評価部１５、性能表示部１６、およびフィードバック制御部１７から構成される。
【００２１】
ＵＭＬモデル生成部１１は、ＳｏＣの各構成要素（例えば、ＣＰＵ、メモリ、バス、および各種周辺装置などのハードウェア、各種プロトコルエンジンなどのソフトウェア）を概念的にオブジェクト化し、その各オブジェクトをそれらの関連を示して表示するＵＭＬクラス図を生成する。
【００２２】
アノテーション部１２は、ＵＭＬモデル生成部１１によって生成されたＵＭＬクラス図に含まれる各オブジェクトに対して、プロファイル２０aに格納されたＳｏＣの設計に必要な時間制約や資源制約に関するパラメータを読み出して注釈する。
【００２３】
なお、ＳｏＣの設計では、クロック、バス幅、メモリサイズ、バッファサイズ、処理レイテンシ、優先度などハードウェアリソースを表すステレオタイプとタグが必要となる。
【００２４】
シミュレーション実行部１３は、アノテーションされたクラス図に基づいて、C++やSystemCなどの実行可能コードを生成し、その実行可能コードを実行することによってＳｏＣの作動のシミュレーションを行う。そのシミュレーション結果は、シミュレーションログ蓄積部２０ｂに蓄積記録される。
【００２５】
性能評価モデル生成部１４は、ＵＭＬクラス図を分析してＳｏＣの各構成要件の性能指標（以下、性能指標とする）を取得し、その性能指標をモデルプロファイル２０ｃに蓄積記録する。そして、その性能指標に基づき性能評価モデルを生成する。
【００２６】
なお、シミュレーション実行部１３および性能評価モデル生成部１４は、ともにＳｏＣの性能評価を行うが、シミュレーション実行部１３はシミュレーションベースの性能評価を行い、性能評価モデル生成部１４はモデルベースの性能評価を行う、という違いがある。
【００２７】
性能評価部１５は、シミュレーション実行部１３によって得られたシミュレーション結果、または性能評価モデル生成部１４によって生成された性能評価モデルに基づき、ＳｏＣ全体の性能評価（以下、性能評価とする）を計算して、その性能評価をＳｏＣの各構成要素の性能指標とともに性能評価蓄積部２０ｄに蓄積記録する。なお、シミュレーション結果に基づく性能評価は、シミュレーションログ蓄積部２０ｂに蓄積記録されるシミュレーションログから取得される。また、性能評価モデルに基づく性能評価は、性能評価モデルを駆動した出力として取得される。
【００２８】
性能表示部１６は、性能表示ＧＵＩ３０ａを起動させる。この性能表示ＧＵＩ３０ａは、性能評価蓄積部２０ｄに蓄積記録された性能指標および性能評価を表示する。この性能指標には、例えば、バスの占有率やコンテンション、メモリのRead／Writeの速さ、キャッシュやプロセッサの使用率およびスループット、チップサイズ、消費電力などがある。
【００２９】
フィードバック制御部１７は、ユーザによるキーボード４０ａの操作およびマウス４０ｂの操作を介したマウスポインタの移動により、変更された性能指標に基づく性能評価の再計算の指示が入力されると、この変更された性能指標をプロファイル２０aに書き込んで、プロファイル２０aに既に格納された性能指標を更新する。そして、その変更された性能指標がアノテーション部１２によってＵＭＬクラス図に含まれる各オブジェクトに注釈され、その注釈に基づきシミュレーション実行部１３または性能評価モデル生成部１４、および性能評価部１５の処理を経て性能評価が得られ、性能表示ＧＵＩ３０ａに表示される性能評価が更新される。
【００３０】
［ＵＭＬ設計コンピュータシステムの制御回路の動作］
図２を参照して、ＵＭＬ設計コンピュータシステムの制御回路１０の動作を説明する。
【００３１】
先ず、制御回路１０のＵＭＬモデル生成部１１は、ＳｏＣの各構成要素を概念的にオブジェクト化し、その各オブジェクトをそれらの関連を示して表示するＵＭＬクラス図を生成する（ステップＳ１１）。
【００３２】
続いて、制御回路１０のアノテーション部１２は、ＵＭＬモデル生成部１１によって生成されたＵＭＬクラス図に含まれる各オブジェクトに対して、プロファイル２０aに格納されたＳｏＣの設計に必要な時間制約や資源制約などの非機能要件を読み出して注釈する（ステップＳ１２）。
【００３３】
続いて、制御回路１０は、性能評価を行う方法として、シミュレーションによる性能評価（シミュレーションベース）または性能評価モデルによる性能評価（性能評価モデルベース）のいずれがユーザにより選択されたかを判定する（ステップＳ１３）。シミュレーションベースが選択されたと判定するときはステップＳ１４へ移り、性能評価モデルベースが選択されたと判定するときはステップＳ１６へ移る。
【００３４】
ステップＳ１４で、制御回路１０のシミュレーション実行部１３は、アノテーションされたクラス図に基づいて実行可能コードを生成し、その実行可能コードを実行することによってＳｏＣの作動のシミュレーションを行う。そして、そのシミュレーション結果をシミュレーションログ蓄積部２０ｂに蓄積記録する（ステップＳ１５）。
【００３５】
一方、ステップＳ１６で、制御回路１０の性能評価モデル生成部１４は、ＵＭＬクラス図を分析してＳｏＣの各構成要件の性能指標を取得し、その性能指標をモデルプロファイル２０ｃに蓄積記録する。そして、その性能指標に基づき性能評価モデルを生成する（ステップＳ１７）。
【００３６】
続いて、制御回路１０の性能評価部１５は、シミュレーション実行部１３によって得られたシミュレーション結果、または性能評価モデル生成部１４によって生成された性能評価モデルに基づき、ＳｏＣの各構成要素およびＳｏＣ全体の性能評価を計算する（ステップＳ１８）。シミュレーション結果に基づく性能評価として、例えば、バスの使用率は、シミュレーションログ蓄積部２０ｂに蓄積されているバスマスタ（ＳｏＣの構成要素のうちバスを介して情報の転送を行う構成要素）のバス転送時間を足し合わせて、その値をシミュレーション時間で除算することによって得られる。また、性能評価モデルに基づくＳｏＣの性能評価として、例えば、モデルプロファイル２０ｃに蓄積されている各性能指標にマルコフ過程などの確率モデルを適用し、得られた結果の線形和を取る方法によって生成される。
【００３７】
続いて、その性能評価をＳｏＣの各構成要素の性能指標とともに性能評価蓄積部２０ｄに蓄積記録する（ステップＳ１９）。
【００３８】
続いて、制御回路１０の性能表示部１６は、性能評価蓄積部２０ｄに蓄積記録された性能指標および性能評価をＧＵＩ３０ａに表示する（ステップＳ２０）。
【００３９】
続いて、制御回路１０は、ユーザによるキーボード４０ａの操作およびマウス４０ｂの操作を介したマウスポインタの移動により、変更された性能指標に基づく性能評価の再計算の指示が入力されたかどうかの判定を行う（ステップＳ２１）。この判定がＹＥＳのときステップＳ２２へ処理を移し、ＮＯのとき本処理を終了する。
【００４０】
続いて、ステップＳ２２では、制御回路１０のフィードバック制御部１７は、プロファイル２０aに格納される性能指標を、変更された性能指標で更新する。この処理が終了すると、ステップＳ１２へ処理を移す。
【００４１】
［ＲＴ−ＵＭＬのステレオタイプとタグ付き値の使用例］
図３は、ＲＴ−ＵＭＬのステレオタイプとタグ付き値の使用例を示す図である。
【００４２】
ユーザは、組込、リアルタイム、ネットワークシステムの開発をＵＭＬで行うことができる。これらの分野のシステムは、イベント駆動、並列処理、分散処理を必要とする上に、処理の遅延時間、スループット、信頼性などに関しての厳しい条件をクリアしなければならない。ＲＴ−ＵＭＬは、それらの分野のシステムの設計をＵＭＬ上で行うために必要な要件をプロファイルで提供する。
【００４３】
しかし、特定問題領域については、上記ＲＴ−ＵＭＬのプロファイルに定義されていない要件があるため、ＲＴ−ＵＭＬは、その特定問題領域における固有のステレオタイプおよびタグ付き値をプロファイルに定義する機能を提供する。
【００４４】
例えば、ＳｏＣの設計では、クロックレート、バス幅、メモリサイズ、バッファサイズ、処理レイテンシ、優先度などハードウェアリソースを表すステレオタイプとタグ付き値が必要となる。ドメイン固有のＵＭＬモデル作成に必要となるステレオタイプとタグ付き値、およびとその解釈は、プロファイルに記述される。
【００４５】
図３には、プロファイル５１、５２、５３が表示されている。各プロファイルには、ステレオタイプ５１ａおよびタグ付き値５１ｂ、ステレオタイプ５２ａおよびタグ付き値５２ｂ、およびステレオタイプ５３ａおよびタグ付き値５３ｂが記述されている。
【００４６】
図３の例は、InstanceAおよびInstanceBの間での通信の例を示す。InstanceAは、プロファイル５１の＜＜RT  stimulus＞＞のステレオタイプ５１ａとそのタグ付き値５１ｂに従って、時刻０ミリ秒から時刻1.5ミリ秒の間にInstanceBへhello  Msg（hello  Message）を送信完了する。そして、InstanceBは、hello  Msgの受信後、プロファイル５２の＜＜RT  action＞＞のステレオタイプ５２ａとそのタグ付き値５２ｂに従って、時刻２ミリ秒から時刻11ミリ秒の間にInstanceAへack  Msg（acknowledge  Message）を送信する。さらに、InstanceBは、プロファイル５３の＜＜RT  stimulus＞＞のステレオタイプ５３ａとそのタグ付き値５３ｂに従って、時刻4.7ミリ秒から時刻10.2ミリ秒の間にInstanceAへack  Msg（acknowledge  Message）を送信完了する。
【００４７】
［ＵＭＬによるＳｏＣ（例えば、プロトコルコンバータ）のノードのクラス図］
図４は、ＵＭＬによるＳｏＣ（例えば、プロトコルコンバータ）のノードの各クラスの上下関係を示すクラス図である。
【００４８】
図４では、ＳｏＣ（例えば、プロトコルコンバータ）のクラスの中でも、中心的なクラスであるノードとなるクラスが示されている。そのようなクラスをカプセルという。図４では、＜＜Capsule＞＞と表示されるクラスと＜＜Protocol＞＞と表示されるクラスが表示されている。
【００４９】
図４の矢印６１は、汎化を表わす。汎化は、あるクラスからサブクラスが派生されるという概念を表わす。汎化は、サブクラスから親クラスへ向かう矢印で示され、サブクラスは親クラスから派生されたことを示す。図４の矢印６１の例では、DDR  memoryがSlave  Baseに汎化されることを示す。
【００５０】
図４の矢印６２は、ライフタイムが同一のクラスのコンポジションを表わす。コンポジションは、全体と部分の関係を表わす概念であり、ライフタイムが同一であるとは、全体のクラスが消滅すると部分のクラスも消滅するということを表わす。コンポジションは、全体のクラスから部分のクラスへ向かう矢印で示される。サブクラスは親クラスの部分であることを示す。図４の矢印６２の例では、FC  to  SATAが全体のクラスであり、FCtoSATA  Transactionが部分のクラスであることを示す。
【００５１】
なお、図４において、本発明を適用したＵＭＬ設計コンピュータシステムにおけるＳｏＣ（例えば、プロトコルコンバータ）の設計では、ＰＬＢ  ＢＵＳとＡＭＢＡ  ＢＵＳは選択的であり、いずれか一方が選択されて表示される。
【００５２】
［Master  Baseクラスの構成の詳細を示すクラス図］
図５は、図４に示されるMaster  Baseクラスの構成の詳細を示すクラス図である。
【００５３】
図５によると、ＦＰＥ（Fiber  cannel  Protocol  Engine）、ＳＳＣ（Sector  Size  Converter）、ＣＥ（Compression  Engine）、ＸＥ（XOR  Engine）、ＳＰＥ（SATA  Protocol  Engine）のクラスは、全てMaster  Baseクラスに汎化されることがわかる。
【００５４】
［ＵＭＬによるＳｏＣの各クラスの連係関係を示すクラス図］
図６は、ＵＭＬによるＳｏＣ（例えば、プロトコルコンバータ）のノードの各クラスの連係関係を示すクラス図である。図６は、ＳｏＣ（例えば、プロトコルコンバータ）のクラス図を、図４のノードのクラス図から視点を変えて表示したものである。図６は、ＵＭＬによるＳｏＣ（例えば、プロトコルコンバータ）のノードの各クラスの連係関係を示す。
【００５５】
プロファイル７１には、ＰＬＢ  ＢＵＳのステレオタイプ７１ａおよびタグ付き値７１ｂが格納されている。
【００５６】
［ＵＭＬによるＳｏＣ（例えば、プロトコルコンバータ）のシーケンス図］
図７は、ＵＭＬによるＳｏＣ（例えば、プロトコルコンバータ）のノードの各クラスの時系列の相互作用を示すシーケンス図である。
【００５７】
図７のシーケンス図は、ＳｏＣ（例えば、プロトコルコンバータ）の動的な関係をモデル化した図である。図７に示される全てのクラスおよび各矢印で示されるRead／Writeの入出力は、性能評価シミュレーションの実行および性能評価モデルの作成に関係する。各矢印で示されるRead／Writeの入出力の、矢印の始点および終点が接続されている各長矩形は、各クラスの実際の動作手順を時系列に沿って配置したものであり、上の方が相対的に早い時刻を表している。各クラスは、前記矢印の方向で、Ｂｕｓ＋ＲＡＭに向かって、その近傍に記されたReadまたはWriteの動作を行う。この各長矩形には、プロファイルに格納されるステレオタイプおよびタグ付き値がアノテーションされている。また、図７において、斜線で網掛けされた各方形は、その領域に含まれる各クラスの上記実際の動作手順の反復を示している。その各方形の右下隅に表示される数値は、その反復の回数を表わす。このシーケンス図に従った各クラスの動作を前提として、性能評価シミュレーションの実行および性能評価モデルの作成が行われ、ＳｏＣ（例えば、プロトコルコンバータ）の性能評価を得ることができる。
【００５８】
［ＵＭＬによるクラス図から性能表示ＧＵＩ３０ａに表示させるクラスを選択させる方法のイメージ図］
図８は、ＵＭＬによるＳｏＣ（例えば、プロトコルコンバータ）のクラス図から、シミュレーションベースの性能指標および性能評価を表示する性能表示ＧＵＩ３０ａに表示させるクラスを選択させる方法のイメージ図である。
【００５９】
図８を参照すると、ディスプレイ３０の表示画面上で、図６のイメージを表示する表示画面３０ｂと図９の性能表示ＧＵＩ３０ａを並列に表示されている。マウス４０ｂ（図１参照）の操作によるマウスポインタ１０９の移動およびクリック操作により、ユーザは、表示画面３０ｂから任意のクラスを選択して、その選択したクラスをドラッグアンドドロップによって、性能表示ＧＵＩ３０ａに表示させる。このようにして、性能表示ＧＵＩ３０ａに表示させるクラスが選択されると、性能表示ＧＵＩ３０ａには、後述の図９に示すように、選択されたクラスの性能指標の入力表示と、その性能指標に基づく性能評価の出力表示と、が表示される。
【００６０】
なお、クラスを性能表示ＧＵＩ３０ａに配置すると、性能表示部１６（図１参照）は、性能評価蓄積部２０ｄ（図１参照）を参照して、それらのクラスの性能指標およびそれらのクラスにより構成させる全体システムの性能評価を取得して、性能表示ＧＵＩ３０ａに表示する。その後、クラスの種類およびクラスの構成を変更しない限り、性能指標蓄積部２０ｄに再びアクセスする必要はない。性能表示ＧＵＩ３０ａを使った性能指標の変更、性能評価の再取得および出力、性能表示ＧＵＩ３０ａ上での性能評価の再表示、確認という流れでアーキテクチャ設計が進む。
【００６１】
［性能表示ＧＵＩ３０ａのイメージ図］
図９は、性能表示ＧＵＩ３０ａのイメージ図である。なお、図９は、シミュレーションベースでＳｏＣの性能評価を行った場合の性能表示ＧＵＩ３０ａの表示イメージであるが、性能評価モデルベースでＳｏＣの性能評価を行った場合もほぼ同様な表示がなされる。
【００６２】
図８に示した方法で、図５に示したクラス図から選択され、性能表示ＧＵＩ３０ａへドラッグアンドドロップされた各クラスは、機能ブロック１０１、バス１０２、およびメモリ１０３として、図９に図示されるように配置される。各機能ブロック１０１、バス１０２、およびメモリ１０３は、それぞれに対応する各クラスの性能指標を表示する。機能ブロック１０１には、ＦＣ１、ＳＣ、ＣＥ、ＸＯＲ、ＳＡＴＡ１、ＳＡＴＡ２、およびＳＡＴＡ３が含まれる。
【００６３】
先ず、性能表示ＧＵＩ３０ａにおける性能指標の入力表示について説明する。
【００６４】
機能ブロック１０１のうち、例えば、ＦＣ１の遅延時間は入力表示１０１ａで示され、スライダーコントロール１０１ｂを操作することによってその値の変更が可能である。スライダーコントロール１０１ｂの移動は、予め指定されている所定値の範囲で可能である。機能ブロック１０１のＦＣ１の遅延時間を、推定値、変更値、または固定値とするかは、ラジオボタン１０１ｃまたはチェックボックス１０１ｄによって、ユーザの任意で設定可能である。なお、その他の機能ブロック１０１の遅延時間も、ＦＣ１と同様である。
【００６５】
バス１０２のバスクロックは入力表示１０２ａで示され、スライダーコントロール１０２ｂを操作することによってその値の変更が可能である。スライダーコントロール１０２ｂの移動は、予め指定されている所定値の範囲で可能である。バス１０２のバスクロックを固定値とするかどうかは、チェックボックス１０２ｄによって、ユーザの任意で設定可能である。また、バス１０２のバス幅は、ラジオボタン１０２ｃによって、ユーザの任意で設定可能である。
【００６６】
メモリ１０３のウェイト時間は入力表示１０３ａで示され、スライダーコントロール１０３ｂを操作することによってその値の変更が可能である。スライダーコントロール１０３ｂの移動は、予め指定されている所定値の範囲で可能である。メモリ１０３のウェイト時間を固定値とするかどうかは、チェックボックス１０３ｄによって、ユーザの任意で設定可能である。
【００６７】
ＳｏＣ（例えば、プロトコルコンバータ）への入力データレートの指定は入力表示１０４ａで示され、スライダーコントロール１０４ｂを操作することによってその値の変更が可能である。スライダーコントロール１０４ｂの移動は、予め指定されている所定値の範囲で可能である。入力データレートを固定値とするかどうかは、チェックボックス１０４ｄによって、ユーザの任意で設定可能である。
【００６８】
次に、性能表示ＧＵＩ３０ａにおける性能評価の出力表示について説明する。
【００６９】
凡例表示１０５は、性能表示ＧＵＩ３０ａにおける性能評価の出力表示の凡例を示す。例えば、出力表示１０６のR／SおよびW／Sの表示の右側のインジケータは、各機能ブロック１０１の遅延時間を示し、その横方向の長さが遅延時間の絶対値を表わす。ここで、遅延時間は性能指標の１種である。この遅延時間の内訳は、凡例表示１０５が示す通りであり、右からウェイト時間、転送時間、計算時間を表わす。そしてそれらの横方向の長さが、それぞれの時間の絶対値を表わす。このようにインジケータでグラフィカルに表示することによって、各機能ブロック１０１の遅延時間を直感的に分かりやすく表示することができる。
【００７０】
性能評価出力表示１０７は、各機能ブロック１０１、バス１０２、およびメモリ１０３にそれぞれ設定され性能表示ＧＵＩ３０ａに表示されている各性能指標に基づく、ＳｏＣ（例えば、プロトコルコンバータ）の全体の性能評価としての遅延時間を示す。
【００７１】
再計算ボタン１０８は、各スライダーコントロールを操作して各性能指標を変更した後に押下されると、フィードバック制御部１７（図１参照）が、変更された性能指標によってプロファイルのタグ付き値を更新する。そして、アノテーション部１２、シミュレーション実行部１３または性能評価モデル生成部１４、性能評価部１５、性能表示部１６（いずれも図１参照）が順次作動して、更新されたタグ付き値に基づき性能評価が再計算される。
【００７２】
なお、性能表示ＧＵＩ３０ａにはマウスポインタ１０９が表示され、マウス４０ｂの操作によるマウスポインタ１０９の移動およびクリック操作により、ユーザは、各スライダーコントロール、各ラジオボタン、各チェックボックス、再計算ボタン１０８の操作を行うことができる。
【００７３】
また、性能評価モデルベースによる性能評価を性能表示ＧＵＩ３０ａに表示する場合、各スライダーコントロールによる各性能指標の変更のみのときは、再計算ボタン１０８の押下操作を行うことなく、変更された各性能指標に基づく性能評価が表示されるが、機能ブロックおよび機能ブロック構成が変更されたときには、再計算ボタン１０８の押下操作を行うことにより、変更された各性能指標に基づいて性能評価が更新される。なお、性能評価モデルベースによる性能評価を性能表示ＧＵＩ３０ａに表示する場合、性能表示ＧＵＩ３０ａ画面上の表示R／S、W／S、Latency  by  Simulationは、それぞれR／M、W／M、Latency  by  Modelと表示される。
【００７４】
なお、シミュレーション結果および性能評価モデルによる性能指標および性能評価を蓄積記録し、最新の性能評価と過去の性能評価との比較を行う機能を備えていてもよい。これにより、ＵＭＬモデル上で、ソフトウェアとハードウェアとを含むシステム全体を見通しながら、最適な設計パラメータを追求するアーキテクチャ設計をより効率的に行うことができる場合がある。
【００７５】
本発明のＵＭＬ設計方法によれば、要求分析や要求分析に基づくシステム分析から、性能解析結果を使ったアーキテクチャ設計まで、一貫してＵＭＬモデル上で行うことができる。
【００７６】
また、性能表示ＧＵＩ３０ａにおいて、性能評価出力表示１０７の表示内容を考慮しつつ各機能ブロックに対応する出力表示１０６を見ることによって、どの機能ブロック１０１がボトルネックとなってＳｏＣ（例えば、プロトコルコンバータ）の全体の性能評価としての遅延時間を長くしているかを見極めることができる。このことにより、機能ブロック１０１を、ハードウェアで実現する機能ブロックとソフトウェアで実現する機能ブロックに切り分ける（パーティショニングする）ことが容易となる場合がある。
【００７７】
今日ではハードウェア単独で動作するシステムは稀で、ハードウェアとソフトウェアが協調して動作するのが普通である。ＵＭＬモデル上では、ハードウェアもソフトウェアも同じ記法で記述でき、シームレスな設計が可能である。本発明のＵＭＬ設計方法によれば、ハードウェアとソフトウェアを区別しない抽象度の高いモデルからアーキテクチャ探索を進めながら、次第にモデルを詳細化していく段階で、ハードウェアで実現する機能とソフトウェアで実現する機能に切り分ける（パーティショニングする）ことが容易にできる場合がある。
【００７８】
ＵＭＬには、ＵＭＬプロファイルが用意されており、さらに、特定問題領域においてＵＭＬのモデルを作成するために、拡張された方法が提供されている。例えば、ステレオタイプを使えば、役割や用法上の違いなどをモデル要素に修飾することができるようになり、また、タグ付き値を使えば、時間制約や資源制約に代表される非機能用件をモデル要素に加えることができる。これらの機能は、ユーザが独自のモデル要素や制約事項を独自に定義するための仕組みを提供しており、拡張性に優れていると言い得る。
【００７９】
あるＡＳＩＣの設計例では、マスタユニットのバス獲得権の優先度、処理ユニットの処理時間の違いを吸収するためのバッファのサイズ、データ圧縮ユニットでの圧縮率の劣化が計全体の処理時間に及ぼす影響を、設計時に確認するには、ハードウェア記述言語を使って実装レベルの詳細な記述をする必要があった。そのため、設計がかなり進んだ段階において初めて確認できるのが実情であった。しかし、本発明のＵＭＬ設計方法は、設計の初期段階で、それらを定量的に確認する手段を提供した。
【００８０】
以上の実施形態によると、以下の各項目に示すＵＭＬ設計コンピュータシステム、ＵＭＬ設計方法、およびそれを記録したコンピュータ読取可能記憶媒体が実現される。
【００８１】
（１）  設計パラメータが格納されたプロファイルを用いて対象システムをＵＭＬ（Unified  Modeling  Language）モデル化して設計を行うコンピュータシステムであって、前記プロファイルに、特定問題領域についてのステレオタイプおよびタグ付き値を設計パラメータとして格納して、プロファイルを設定する特定問題領域プロファイル設定手段と、前記プロファイルに含まれる設計パラメータを、前記対象システムのＵＭＬモデルに付与する設計パラメータ付与手段と、前記プロファイルに含まれる設計パラメータと前記ＵＭＬモデルとを関連付けて、この関連付けられた前記設計パラメータおよび前記ＵＭＬモデルをＧＵＩ（Graphical  User  Interface）に表示するＧＵＩ表示手段と、を備えたことを特徴とするコンピュータシステム。
【００８２】
（２）  （１）に記載のコンピュータシステムにおいて、前記ステレオタイプおよび前記タグ付き値が、ＲＴ−ＵＭＬ（Real  Time  Unified  Modeling  Language）で設定されることを特徴とするコンピュータシステム。
【００８３】
（３）  （１）に記載のコンピュータシステムにおいて、前記ステレオタイプおよび前記タグ付き値が、前記対象システムの処理の時間制約および該対象システムの資源制約に関する設計パラメータを含むことを特徴とするコンピュータシステム。
【００８４】
（４）  （１）に記載のコンピュータシステムにおいて、前記ＵＭＬモデルに付与された前記設計パラメータに基づいて性能評価モデルを作成して該性能評価モデルから前記対象システムの性能指標を取得する第１性能指標取得手段、および、前記設計パラメータに基づいて前記ＵＭＬモデルのシミュレーションを行って該シミュレーション実行結果から前記対象システムの性能指標を取得する第２性能指標取得手段のうち少なくとも一方と、前記取得した性能指標を蓄積記憶する性能指標蓄積記憶手段と、を備えたことを特徴とするコンピュータシステム。
【００８５】
（５）  （４）に記載のコンピュータシステムにおいて、前記対象システムのアーキテクチャ設計に必要な前記性能指標が前記性能指標蓄積記憶手段から選択されると、前記ＧＵＩ表示手段が、前記選択された性能指標および全ての前記性能指標に基づく前記対象システムのパフォーマンスを、視覚的かつ定量的に表示することを特徴とするコンピュータシステム。
【００８６】
（６）  （５）に記載のコンピュータシステムにおいて、前記ＧＵＩ表示手段が、前記表示される性能指標を変更できるＧＵＩ要素を有し、前記性能指標が前記ＧＵＩ要素で変更されると、この変更された性能指標に対応して、前記プロファイルに格納された前記設計パラメータを変更するフィードバック手段を備えたことを特徴とするコンピュータシステム。
【００８７】
（７）  設計パラメータが格納されたプロファイルを用いて対象システムをＵＭＬ（Unified  Modeling  Language）モデル化して設計を行うＵＭＬ設計方法であって、前記プロファイルに、特定問題領域についてのステレオタイプおよびタグ付き値を設計パラメータとして格納して、プロファイルを設定するステップと、前記プロファイルを用いて、前記設計パラメータを前記対象システムのＵＭＬモデルに付与するステップと、前記プロファイルを用いて、前記設計パラメータと前記ＵＭＬモデルとを関連付けて、この関連付けられた前記設計パラメータおよび前記ＵＭＬモデルをＧＵＩ（Graphical  User  Interface）に表示するステップと、を備えたことを特徴とするＵＭＬ設計方法。
【００８８】
（８）  （７）に記載のＵＭＬ設計方法において、前記ステレオタイプおよび前記タグ付き値が、ＲＴ−ＵＭＬ（Real  Time  Unified  Modeling  Language）で設定されることを特徴とするＵＭＬ設計方法。
【００８９】
（９）  （７）に記載のＵＭＬ設計方法において、前記ステレオタイプおよび前記タグ付き値が、前記対象システムの処理の時間制約および該対象システムの資源制約に関する設計パラメータを含むことを特徴とするＵＭＬ設計方法。
【００９０】
（１０）  （７）に記載のＵＭＬ設計方法において、前記ＵＭＬモデルに付与された前記設計パラメータに基づいて性能評価モデルを作成して該性能評価モデルから前記対象システムの性能指標を取得する第１性能指標取得ステップ、および、前記ＵＭＬモデルのシミュレーションを行って該シミュレーション実行結果から前記対象システムの性能指標を取得する第２性能指標取得ステップのうち少なくとも一方と、前記取得した性能指標を蓄積記憶するステップと、を備えたことを特徴とするＵＭＬ設計方法。
【００９１】
（１１）  （１０）に記載のＵＭＬ設計方法において、前記対象システムのアーキテクチャ設計に必要な前記蓄積記憶された性能指標が選択されると、前記ＧＵＩが、前記選択されたそれぞれの性能指標および全ての前記性能指標に基づく前記対象システムのパフォーマンスを、視覚的かつ定量的に表示することを特徴とするＵＭＬ設計方法。
【００９２】
（１２）  （１１）に記載のＵＭＬ設計方法において、前記ＧＵＩ表示手段が、前記表示される性能指標を変更できるＧＵＩ要素を有し、前記性能指標が前記ＧＵＩ要素で変更されると、この変更された性能指標に対応して、前記プロファイルに格納された前記設計パラメータを変更するステップを備えたことを特徴とするＵＭＬ設計方法。
【００９３】
（１３）  （７）から（１２）のいずれかに記載のＵＭＬ設計方法を実行するプログラムを記録したコンピュータ読取可能記録媒体。
【産業上の利用可能性】
【００９４】
本発明は、ＳｏＣに代表されるハードウェアとソフトウェアを複雑に組合せて構成されるＡＳＩＣ（Application  Specific  Integrated  Circuit）システムの最上流工程の設計に適用可能であるばかりでなく、多数のソフトウェアモジュールによって構成されるアプリケーションソフトウェアシステムの最上流工程の設計にも適用可能である。
【図面の簡単な説明】
【００９５】
【図１】本発明のＵＭＬ設計コンピュータシステムのハードウェア構成を示す図である。
【図２】本発明のＵＭＬ設計コンピュータシステムの制御回路の動作を示すフローチャート図である。
【図３】ＲＴ−ＵＭＬのステレオタイプとタグ付き値の使用例を示す図である。
【図４】ＵＭＬによるＳｏＣ（例えば、プロトコルコンバータ）のノードの各クラスの上下関係を示すクラス図である。
【図５】Master  Baseクラスの構成の詳細を示すクラス図である。
【図６】ＵＭＬによるＳｏＣ（例えば、プロトコルコンバータ）のノードの各クラスの連係関係を示すクラス図である。
【図７】ＵＭＬによるＳｏＣ（例えば、プロトコルコンバータ）のノードの各クラスの時系列の相互作用を示すシーケンス図である。
【図８】ＵＭＬによるＳｏＣ（例えば、プロトコルコンバータ）のクラス図から、性能指標および性能評価を表示する性能表示ＧＵＩ３０ａに表示させるクラスを選択させる方法のイメージ図である。
【図９】性能指標および性能評価を表示する性能表示ＧＵＩ３０ａの表示イメージ図である。
【符号の説明】
【００９６】
１０    制御回路
１６    性能表示部
１７    フィードバック制御部
２０    ストレージデバイス
２０ａ    プロファイル
２０ｄ    性能評価蓄積部
３０    ディスプレイ
３０ａ    性能表示ＧＵＩ３０ａ
４０    入力装置
【図１】
2005327094.tif 000003
【図２】
2005327094.tif 000004
【図３】
2005327094.tif 000005
【図４】
2005327094.tif 000006
【図５】
2005327094.tif 000007
【図６】
2005327094.tif 000008
【図７】
2005327094.tif 000009
【図８】
2005327094.tif 000010
【図９】
2005327094.tif 000011