JPWO2005043419A1 - 検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体 - Google Patents

検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体 Download PDF

Info

Publication number
JPWO2005043419A1
JPWO2005043419A1 JP2005510142A JP2005510142A JPWO2005043419A1 JP WO2005043419 A1 JPWO2005043419 A1 JP WO2005043419A1 JP 2005510142 A JP2005510142 A JP 2005510142A JP 2005510142 A JP2005510142 A JP 2005510142A JP WO2005043419 A1 JPWO2005043419 A1 JP WO2005043419A1
Authority
JP
Japan
Prior art keywords
verified
model element
unverified
verification
score
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005510142A
Other languages
English (en)
Other versions
JP3920308B2 (ja
Inventor
庄司 稔
稔 庄司
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2005043419A1 publication Critical patent/JPWO2005043419A1/ja
Application granted granted Critical
Publication of JP3920308B2 publication Critical patent/JP3920308B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

検証支援装置(1500)では、入力部(1502)は、未検証モデル要素によって構成された、未検証設計対象をあらわす未検証仕様記述の入力を受け付ける。検索部(1503)は、検証済モデル要素によって構成された、検証済設計対象をあらわす検証済仕様記述から、未検証モデル要素および検証済モデル要素に基づいて、入力部(1502)によって入力された未検証仕様記述と同一または類似の検証済仕様記述を検索する。論理検証内容抽出部(1504)は、検索部(1503)によって検索された検索結果に基づいて、検証済設計対象についておこなわれた論理検証内容を抽出する。出力部(1505)は、論理検証内容抽出部(1504)によって抽出された論理検証内容を出力する。

Description

本発明は、LSI設計における論理検証作業を支援する検証支援装置、検証支援方法、検証支援プログラムおよび該プログラムを記録した記録媒体に関する。
LSI設計では、ハードウェアやソフトウェアによって構成された設計対象システムの論理検証をおこなう場合、論理検証の方式、論理検証に必要なデータや環境、およびそれらの入手(開発や購入、導入)のための費用に関しては、各セクション内のリーダなどの経験者がその経験に照らして予測を立て、それにしたがって論理検証計画を決定するのが一般的である。
しかしながら、LSIが正常に動作するか否かを検証する論理検証作業が必要不可欠であり、特に、大規模化、高機能化、高速化および低消費電力化が要求されているLSIについては、高品質を維持するためにもこの論理検証作業は重要である一方、従来から設計期間の短縮による作業効率化が要求されている。このLSIの大規模化、高機能化、高速化および低消費電力化にともない、設計対象システムの種類や規模が増大するため、全体として論理検証の費用が増大してしまうという問題点があった。また、この論理検証に費やされる費用が増大するにしたがって、論理検証にかかる上記経験者の費用の予測が外れた場合のリスク増大が問題となる。したがって、LSI設計において、この論理検証の費用が増大したり、それにともなうリスクが発生すると、その分の費用が製品価格に上乗せされる場合もあり、論理検証の費用の増大やリスクがなかった場合にくらべて、LSIの価格が高価になるという問題があった。
これをできる限り回避するために、各設計対象システムの仕様からどの程度の論理検証が必要で費用がどの程度になるのかといった論理検証に関する情報を多くの経験から導いて、予測誤差を最小限にとどめる作業をおこなうことも考えられる。しかしながら、このような作業を実際におこなおうとすると、設計者の負担が増大して、論理検証作業に支障をきたすこととなり、結果的に作業労力が増大し、論理検証作業の長期化を招くという問題点があった。
また、過去におこなった論理検証に関する情報は、セクションごとに保管されるのが一般的である。このため、一のセクションにおいて設計されたシステムの論理検証が、他のセクションによって過去におこなわれた論理検証に関する情報と同一または類似する場合、一のセクションの設計者は、他のセクションの論理検証に関する情報を発見することは非常に困難なため流用することができず、論理検証に関する情報をセクション間で共有することができないという問題点があった。
本発明は、上記問題点に鑑みてなされたものであって、論理検証作業の低コスト化および作業時間の短縮化を実現する検証支援装置、検証支援方法、検証支援プログラムおよび該プログラムを記録した記録媒体を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明の検証支援装置、検証支援方法、検証支援プログラムおよび該プログラムを記録した記録媒体は、未検証モデル要素によって構成された、未検証設計対象をあらわす未検証仕様記述の入力を受け付け、検証済モデル要素によって構成された、検証済設計対象をあらわす検証済仕様記述から、前記未検証モデル要素および前記検証済モデル要素に基づいて、前記未検証仕様記述と同一または類似の前記検証済仕様記述を検索し、検索された検索結果に基づいて、前記検証済設計対象についておこなわれた論理検証内容を抽出し、抽出された論理検証内容を出力することを特徴とする。
この発明によれば、未検証設計対象の仕様記述と近似する仕様記述にしたがって設計された検証済設計対象を特定することができる。したがって、この検証済設計対象についておこなわれた論理検証内容を得ることができる。
また、前記未検証モデル要素を抽出し、前記検証済モデル要素を抽出し、抽出された未検証モデル要素と抽出された検証済モデル要素との類似度を算出し、算出された類似度に基づいて、前記検証済設計対象についておこなった論理検証内容を抽出することとしてもよい。
この発明によれば、未検証モデル要素と検証済モデル要素との類似度を算出することによって、未検証仕様記述と検証済仕様記述との類似度を算出することができる。
さらに、抽出された未検証モデル要素を示す文章と、抽出された検証済モデル要素を示す文章とを比較し、比較された比較結果に基づいて、前記類似度をあらわすスコアを算出し、算出されたスコアに基づいて、前記検証済設計対象についておこなった論理検証内容を抽出することとしてもよい。
この発明によれば、未検証モデル要素を示す文章と検証済モデル要素を示す文章とを比較することによって、その類似度をスコアにより数値化することができる。したがって、未検証仕様記述と検証済仕様記述との類似度を客観的に捉えることができる。
また、抽出された未検証モデル要素を示す文章と抽出された検証済モデル要素を示す文章とをそれぞれ単語に分解し、分解された単語に基づいて、抽出された未検証モデル要素を示す文章と抽出された検証済モデル要素を示す文章とを比較することとしてもよい。
この発明によれば、未検証モデル要素を示す文章を構成する単語と検証済モデル要素を示す文章を構成する単語とを比較することによって、さらに詳細にその類似度をスコアにより数値化することができる。したがって、未検証仕様記述と検証済仕様記述との類似度をより効果的に客観的に捉えることができる。
さらに、前記未検証モデル要素を示す文章を分解することによって得られる単語に重み付けし、比較された比較結果と、重み付けられた単語の重みとに基づいて、前記未検証モデル要素と前記検証済モデル要素との前記類似度をあらわすスコアを算出することとしてもよい。この発明によれば、重要度の高い単語を含む検証済仕様記述を優先的に検索することができる。
また、前記未検証設計対象をあらわす未検証仕様記述および前記検証済設計対象をあらわす検証済仕様記述は、UML(Unified Modeling Language)によって記述されていることとしてもよい。この発明によれば、機能、相互作用、状態変化、プロセス、物理的構造などの視点から、未検証仕様記述と同一または類似する検証済仕様記述を検索することができる。
さらに、前記論理検証内容は、少なくとも、論理検証の方針、論理検証する項目、論理検証方式、論理検証に必要なコスト情報または前記検証済設計対象について論理検証をおこなったときに用いられたツールを示す論理検証環境のいずれか一つを含むこととしてもよい。この発明によれば、論理検証内容の具体例を設計者に提供することができる。
第1図は、この発明の実施の形態にかかる検証支援装置のハードウェア構成を示すブロック図であり、第2図は、この発明の実施の形態にかかる検証資産データベースの記憶内容を示す説明図であり、第3図は、検証済のシステムAについてのユースケース図であり、第4図は、検証済のシステムAについてのシーケンス図であり、第5図は、検証済のシステムAについての配置図であり、第6図は、検証済のシステムAについての検証方針、検証項目および検証方式を示す説明図であり、第7図は、検証済のシステムAについてのコスト情報を示す説明図であり、第8図は、検証済のシステムAについての検証環境を示す説明図であり、第9図は、検証済のシステムBについてのユースケース図であり、第10図は、検証済のシステムBについてのシーケンス図であり、第11図は、検証済のシステムBについての配置図であり、第12図は、検証済のシステムBについての検証方針、検証項目および検証方式を示す説明図であり、第13図は、検証済のシステムBについてのコスト情報を示す説明図であり、第14図は、検証済のシステムBについての検証環境を示す説明図であり、第15図は、この発明の実施の形態にかかる検証支援装置の機能的構成を示すブロック図であり、第16図は、未検証のシステムXについてのユースケース図であり、第17図は、未検証のシステムXについてのシーケンス図であり、第18図は、未検証のシステムXについての配置図であり、第19図は、未検証モデル要素を示す文章を分解した一例を示す説明図であり、第20図は、検証済モデル要素を示す文章を分解した一例を示す説明図であり、第21図は、単語どうしを比較した場合のスコアの条件と、その場合の基本スコアおよび関連スコアとの関係を示す図表であり、第22図は、未検証システムXと比較対象になった検証済システムAとスコアとの関係を示す説明図であり、第23図は、未検証システムXと比較対象になった検証済システムBとスコアとの関係を示す説明図であり、第24図は、未検証のシステムXと検証済のシステムA,Bとの関係を示す説明図であり、第25図は、この発明の検証支援装置の実施の形態にかかる検索結果表示例を示す説明図であり、第26図は、検証済のシステムCについてのシーケンス図であり、第27図は、検証済のシステムCについての配置図であり、第28図は、未検証のシステムXの仕様記述がUMLのシーケンス図であった場合における、未検証のシステムXの検証済イベント組を示す説明図であり、第29図は、検証済のシステムAの検証済モデル要素およびそのスコアとの関係を示す説明図であり、第30図は、検証済のシステムCの検証済モデル要素およびそのスコアとの関係を示す説明図であり、第31図は、未検証のシステムXの仕様記述がUMLの配置図であった場合における、未検証のシステムXの検証済モデル要素組を示す説明図であり、第32図は、検証済のシステムAの検証済モデル要素およびそのスコアとの関係を示す説明図であり、第33図は、検証済のシステムCの検証済モデル要素およびそのスコアとの関係を示す説明図であり、第34図は、この発明の実施の形態にかかる検証支援装置の検証支援処置手順を示すフローチャート(その1)であり、第35図は、この発明の実施の形態にかかる検証支援装置の検証支援処置手順を示すフローチャート(その2)であり、第36図は、この発明の実施の形態にかかる検証支援装置の検証支援処置手順を示すフローチャート(その3)であり、第37図は、この発明の実施の形態にかかる検証支援装置の検証支援処置手順を示すフローチャート(その4)である。
以下に、この発明の検証支援装置、検証支援方法、検証支援プログラムおよび該プログラムを記録した記録媒体の実施形態について図面を参照しつつ詳細に説明する。
(実施の形態)
(検証支援装置のハードウェア構成)
まず、この発明の実施の形態にかかる検証支援装置のハードウェア構成について説明する。第1図は、この発明の実施の形態にかかる検証支援装置のハードウェア構成を示すブロック図である。第1図において、検証支援装置は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フレキシブルディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)107と、ディスプレイ108と、I/F(インターフェース)109と、キーボード110と、マウス111と、スキャナ112と、プリンタ113と、を備えている。また、各構成部はバス100によってそれぞれ接続されている。
ここで、CPU101は、検証支援装置の全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御にしたがってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。
FDD106は、CPU101の制御にしたがってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶したり、FD107に記憶されたデータを検証支援装置に読み取らせたりする。
着脱可能な記録媒体として、FD107のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ108は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F109は、通信回線を通じてインターネットなどのネットワーク114に接続され、このネットワーク114を介して他の装置に接続される。そして、I/F109は、ネットワーク114と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F109には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード110は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス111は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ112は、画像を光学的に読み取り、検証支援装置内に画像データを取り込む。なお、スキャナ112は、OCR機能を持たせてもよい。また、プリンタ113は、画像データや文書データを印刷する。プリンタ113には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(検証資産データベースの記憶内容)
つぎに、この発明の実施の形態にかかる検証資産データベースの記憶内容について説明する。第2図は、この発明の実施の形態にかかる検証資産データベースの記憶内容を示す説明図である。第2図において、検証資産データベース200は、検証済システム名201、仕様記述内容202および論理検証内容203を含む構成となっている。
仕様記述としては、たとえばUMLが採用されており、検証済システムは、このUMLによって記述することができるユースケース図221、シーケンス図222および配置図223などのダイアグラムを記憶することができる。また、論理検証内容203とは、その検証済システムでおこなわれた論理検証の検証内容である。ここで、検証済システム名「システムA」を例に挙げて説明すると、検証内容には、検証方針231、検証項目232、検証方式233、コスト情報234および検証環境235が含まれている。
つぎに、第2図に示した検証資産データベース200に記憶されている検証済システム名「システムA」の記憶内容について説明する。第3図は、検証済のシステムAについてのユースケース図であり、第4図は、検証済のシステムAについてのシーケンス図であり、第5図は、検証済のシステムAについての配置図であり、第6図は、検証済のシステムAについての検証方針、検証項目および検証方式を示す説明図であり、第7図は、検証済のシステムAについてのコスト情報を示す説明図であり、第8図は、検証済のシステムAについての検証環境を示す説明図である。
第3図のユースケース図では、システムAの機能をあらわしている。第3図において、アクター301は、外部装置であるディジタルデータ入力装置をあらわす検証済モデル要素であり、ユースケース302は、システムA内のユースケース記述「ディジタルデータを入力する」をあらわす検証済モデル要素である。また、ユースケース303は、システムA内のユースケース記述「ディジタルデータを書き込む」をあらわす検証済モデル要素であり、アクター304は、外部装置であるSCSI−HD装置をあらわす検証済モデル要素である。
また、第4図のシーケンス図では、システムAにおけるデータのやり取りを時系列であらわしている。第4図において、シーケンス番号1によって、アクター301であるディジタルデータ入力装置からオブジェクト400であるシステムAに対して、検証済モデル要素となるイベント「データ入力(ディジタルデータ)」をおこなう。そして、シーケンス番号1.1.によって、オブジェクト400であるシステムAからアクター304であるSCSI−HD装置に対し、検証済モデル要素となるイベント「SCSI−HDに出力(ディジタルデータ)」をおこなう。
さらに、第5図の配置図では、システムAの物理的な構成をあらわしている。第5図において、ノード501はディジタルデータ入力装置をあらわす検証済モデル要素であり、ノード502はMPUをあらわす検証済モデル要素であり、ノード503はSCSI−HD装置をあらわす検証済モデル要素である。また、リンク504はノード501とノード502を連結するBUSをあらわす検証済モデル要素であり、リンク505はノード502とノード503を連結するSCSIをあらわす検証済モデル要素である。
また、第6図では、システムAの構成ごとに、検証方針601、検証項目602および検証方式603が示されている。検証方針601は、どのような手法によって論理検証をおこなうべきかをあらわしている。たとえば、SCSI−HD装置は、「インターフェース部のアサーションチェック」をおこなうべきであるとされている。また、検証項目602は、検証内容の細目をあらわしている。たとえば、MPUは、「SCSIアクセス、BUSアクセス、初期化」という3つの検証項目があげられている。さらに、検証方式603は、実際に論理検証をおこなったときの手法をあらわしている。ディジタルデータ入力装置の論理検証は、「RTLシミュレーション」によっておこなわれたことをあらわしている。
また、第7図では、システムAの論理検証作業に要したコストをあらわすコスト情報が示されている。コスト情報700は、設備費用、工数、要員、リリース後発覚論理バグ数、リメーク回数などがあげられる。さらに、第8図では、システムAの論理検証作業をおこなったときの検証環境800が示されている。検証環境800は、検証済のシステムについて論理検証をおこなったときに用いられたツールを示している。
つぎに、第2図に示した検証資産データベース200に記憶されている検証済システム名「システムB」の記憶内容について説明する。第9図は、検証済のシステムBについてのユースケース図であり、第10図は、検証済のシステムBについてのシーケンス図であり、第11図は、検証済のシステムBについての配置図であり、第12図は、検証済のシステムBについての検証方針、検証項目および検証方式を示す説明図であり、第13図は、検証済のシステムBについてのコスト情報を示す説明図であり、第14図は、検証済のシステムBについての検証環境を示す説明図である。
第9図のユースケース図では、検証済のシステムBの機能をあらわしている。第9図において、アクター901は、外部装置であるNTSC信号パターン設定システムをあらわす検証済モデル要素であり、ユースケース902は、システムB内のユースケース記述「NTSC信号パターンを設定する」をあらわす検証済モデル要素である。また、アクター903は、外部装置であるNTSC信号生成制御システムをあらわす検証済モデル要素であり、ユースケース904は、システムB内のユースケース記述「NTSC信号出力を開始する」をあらわす検証済モデル要素であり、ユースケース905は、システムB内のユースケース記述「NTSC信号出力を終了する」をあらわす検証済モデル要素である。さらに、ユースケース906は、システムB内のユースケース記述「NTSC信号を出力する」をあらわす検証済モデル要素であり、アクター907は、外部装置であるNTSC信号入力システムをあらわす検証済モデル要素である。
また、第10図のシーケンス図では、検証済のシステムBにおけるデータのやり取りを時系列であらわしている。第10図において、シーケンス番号1によって、アクター901であるNTSC信号パターン設定システムからオブジェクト1000であるシステムBに対して、検証済モデル要素であるイベント「NTSC信号パターン設定」をおこなう。つぎに、シーケンス番号2によって、アクター903であるNTSC信号生成制御システムからオブジェクト1000であるシステムBに対して、検証済モデル要素であるイベント「信号生成開始」をおこなう。そして、シーケンス番号2.1.によって、オブジェクト1000であるシステムBからアクター907であるNTSC信号入力システムに対して、検証済モデル要素であるイベント「信号生成」をおこなう。また、シーケンス番号3によって、アクター903であるNTSC信号生成制御システムからオブジェクト1000であるシステムBに対して、検証済モデル要素であるイベント「信号生成停止」をおこなう。
さらに、第11図の配置図では、検証済のシステムBの物理的な構成をあらわしている。第11図において、ノード1101はNTSC信号パターン設定システムをあらわしており、ノード1102はNTSC信号生成制御システムをあらわす検証済モデル要素であり、ノード1103はシステムBであるNTSC信号出力システムをあらわす検証済モデル要素であり、ノード1104はNTSC信号入力システムをあらわす検証済モデル要素である。また、リンク1105はノード1101とノード1103を連結する信号ケーブルをあらわす検証済モデル要素であり、リンク1106はノード1102とノード1103を連結する信号ケーブルをあらわす検証済モデル要素であり、リンク1107はノード1103とノード1104を連結する信号ケーブルをあらわす検証済モデル要素である。
また、第12図では、システムBであるNTSC信号出力システムの検証方針1201、検証項目1202および検証方式1203が示されている。また、第13図では、システムBの論理検証作業に要したコストをあらわすコスト情報1300が示されている。さらに、第14図では、システムBの論理検証作業をおこなったときの検証環境1400が示されている。
(検証支援装置の機能的構成)
つぎに、この発明の実施の形態にかかる検証支援装置の機能的構成について説明する。第15図は、この発明の実施の形態にかかる検証支援装置の機能的構成を示すブロック図である。第15図において、検証支援装置1500は、記憶部1501と、入力部1502と、検索部1503と、論理検証内容抽出部1504と、出力部1505とを含む構成となっている。
記憶部1501は、論理検証がおこなわれた検証済のシステムを記述したUMLおよびその論理検証内容を記憶する。記憶部1501は、第2図において示した検証資産データベース200を含んでいる。この記憶部1501は、検証支援装置1500に設けられる構成としてもよく、また、第1図に示したインターネット、LAN、WANなどのネットワーク114を介して図示しない外部のサーバに設けられる構成としてもよい。また、記憶部1501は、具体的には、たとえば、第1図に示したROM102、RAM103、HD105、FD107などによってその機能を実現する。
入力部1502は、未検証モデル要素によって記述された、未検証設計対象をあらわす未検証仕様記述の入力を受け付ける。ここで、未検証設計対象は、たとえば、上述した、論理検証がおこなわれていない未検証のシステムXとすることができる。また、仕様記述は、設計対象の機能、処理、構造などをあらわすUML、またはそのUMLによって表現されたダイアグラムとすることができる。具体的には、たとえば、上述したUMLのユースケース図、シーケンス図または配置図などのダイアグラムによって表現することができる。
また、モデル要素は、設計対象をあらわすための、仕様記述を構成する図、記号、単語、文章またはそれらの集合であり、仕様記述としてUMLを用いる場合は、アクター、ユースケース、クラス、オブジェクト、イベント、ガード条件、ノード、リンクなどをあらわすことができる。
ここで、入力部1502によって入力される未検証仕様記述について第16図〜第18図を用いて説明する。第16図は、未検証のシステムXについてのユースケース図であり、第17図は、未検証のシステムXについてのシーケンス図であり、第18図は、未検証のシステムXについての配置図である。
第16図のユースケース図では、システムXの機能をあらわしている。第16図において、アクター1601は、外部装置であるNTSC画像入力装置をあらわすモデル要素であり、ユースケース1602は、システムX内のユースケース記述「NTSC画像を入力する」が記述されたモデル要素である。また、アクター1603は、外部装置であるPAL画像入力装置をあらわすモデル要素であり、ユースケース1604は、システムX内のユースケース記述「PAL画像を入力する」が記述されたモデル要素である。さらに、ユースケース1605は、システムX内のユースケース記述「ディジタルデータを書き込む」が記述されたモデル要素であり、アクター1606は、外部装置であるSCSI−HD装置をあらわすモデル要素である。
また、第17図のシーケンス図では、システムXにおけるデータのやり取りを時系列であらわしている。第17図において、シーケンス番号1によって、アクター1601であるNTSC画像入力装置からオブジェクト1700であるシステムXに対して、モデル要素となるイベント「信号入力」をおこなう。また、シーケンス番号1.1.によって、オブジェクト1700であるシステムXにおいて、モデル要素となるイベント「ディジタルデータに変換(入力信号)」をおこなう。そして、シーケンス番号1.2.によって、オブジェクト1700であるシステムXからアクター1606であるSCSI−HD装置に対し、モデル要素となるイベント「SCSI−HDに出力(ディジタルデータ)」をおこなう。
さらに、第18図の配置図では、システムXの物理的な構成をあらわしている。第18図において、ノード1801はNTSC画像入力装置をあらわすモデル要素であり、ノード1802はPAL画像入力装置をあらわすモデル要素であり、ノード1803はMPUをあらわすモデル要素であり、ノード1804はSCSI−HD装置をあらわすモデル要素である。また、リンク1805はノード1801とノード1803を連結するBUSをあらわすモデル要素であり、リンク1806はノード1802とノード1803を連結するBUSをあらわすモデル要素である。リンク1807はノード1803とノード1804を連結するSCSIをあらわすモデル要素である。
また第15図において、検索部1503は、検証済モデル要素によって記述された、検証済設計対象をあらわす検証済仕様記述から、未検証モデル要素および検証済モデル要素に基づいて、入力部1502によって入力された未検証仕様記述と同一または類似の検証済仕様記述を検索する。ここで、未検証仕様記述と検証済仕様記述との同一、類似、非類似は、たとえば、未検証モデル要素と検証済モデル要素とが一致する数や、一致する数を点数化したスコアにより数値化することによってあらわすことができる。また、検索部1503は、未使用仕様記述であるUMLが入力された場合、たとえば、その表記がユースケース図である場合は、入力されたユースケース図と同一または類似するユースケース図のUMLを、記憶部1501から検索することができる。なお、検索部1503の内部構成については後述する。
論理検証内容抽出部1504は、検索部1503によって検索された検証済のシステムについておこなわれた論理検証内容、すなわち、第2図に示した検証方針231、検証項目232、検証方式233、コスト情報234および検証環境235を記憶部1501から抽出する。また、出力部1505は、論理検証内容抽出部1504によって抽出された論理検証内容を出力する。また、入力部1502、検索部1503、論理検証内容抽出部1504および出力部1505は、具体的には、たとえば、第1図に示したROM102、RAM103、HD105、FD107などに記録されたプログラムをCPU101が実行することによって、またはI/F109によって、その機能を実現する。
つぎに、検索部1503の内部構成について説明する。第15図において、検索部1503は、未検証モデル要素抽出部1511と、検証済モデル要素抽出部1512と、加工部1513と、類似度算出部1514とを含む構成とされている。
未検証モデル要素抽出部1511は、入力部1502によって入力された未検証仕様記述から未検証モデル要素を抽出する。たとえば、第16図に示したユースケース図が入力された場合、このユースケース図に記述されているユースケース記述である未検証モデル要素X1「NTSC画像を入力する」、未検証モデル要素X2「PAL画像を入力する」および未検証モデル要素X3「ディジタルデータを書き込む」を抽出する。
検証済モデル要素抽出部1512は、入力部1502によって未検証仕様記述が入力された場合、記憶部1501に記憶された検証済仕様記述から検証済モデル要素を抽出する。たとえば、入力部1502にユースケース図が入力された場合、検証済のシステムAを例に挙げると、第3図に示したユースケース記述である未検証モデル要素A1「ディジタルデータを入力する」およびユースケース記述である未検証モデル要素A2「ディジタルデータを書き込む」を抽出する。この検証済モデル要素の抽出は、記憶部1501に記憶されたすべての検証済仕様記述についておこなうことができる。
加工部1513は、未検証モデル要素と検証済モデル要素とをそれぞれ加工する。加工部1513は、分解部1515と組生成部1516とを含む構成となっている。分解部1515は、入力されたUMLがユースケース図である場合に分解をおこなう。また、組生成部1516は、入力されたUMLがシーケンス図や配置図である場合に後述するイベント組や配置組の生成をおこなう。
分解部1515は、未検証モデル要素抽出部1511によって抽出された未検証モデル要素を示す文章であるユースケース記述と、検証済モデル要素抽出部1512によって抽出された検証済モデル要素を示す文章であるユースケース記述とを、それぞれ単語に分解する。この分解部1515によって得られた単語は、名詞と動詞のみ採用され、「が」、「は」、「に」、「へ」、「を」などの助詞を示す単語は消去される。第19図は、未検証モデル要素を示す文章を分解した一例を示す説明図であり、第20図は、検証済モデル要素を示す文章を分解した一例を示す説明図である。
第19図において、たとえば、未検証モデル要素X1「NTSC画像を入力する」の場合、分解部1515はこの文章を単語ごとに区切って、「NTSC画像」と「を」と「入力する」とに分解する。単語「を」は助詞であるため消去され、「NTSC画像」と「入力する」とが採用される。また、第20図において、検証済モデル要素A1「ディジタルデータを入力する」の場合、分解部1515はこの文章を文節ごとに区切って、「ディジタルデータ」と「を」と「入力する」とに分解する。単語「を」は助詞であるため消去され、「ディジタルデータ」と「入力する」とが採用される。また、ここで分解された単語には、重み設定部1517によって重み付けすることができる。たとえば、「入力する」という単語に基本スコアを「+1」するなど、重要視したい単語について重みをつけることとしてもよい。
また、組生成部1516は、未検証のシーケンス図が入力された場合、未検証モデル要素抽出部1511によって抽出された未検証モデル要素を示すイベントから、イベント組を生成する。また、同様に、検証済モデル要素抽出部1512によって抽出された検証済モデル要素を示すイベントから、イベント組を生成する。イベント組の具体例については後述する。
組生成部1516は、さらに、未検証の配置図が入力された場合、未検証モデル要素抽出部1511によって抽出された未検証モデル要素を示すノードおよびリンクから配置組を生成する。また、同様に、検証済モデル要素抽出部1512によって抽出された検証済モデル要素を示すノードおよびリンクから配置組を生成する。配置組の具体例についても後述する。
類似度算出部1514は、未検証モデル要素抽出部1511によって抽出された未検証モデル要素と、検証済モデル要素抽出部1512によって抽出された検証済モデル要素との類似度を算出する。類似度算出部1514は、具体的には、比較部1518とスコア算出部1519とを含む構成となっている。
比較部1518は、未検証モデル要素抽出部1511によって抽出された未検証モデル要素と、検証済モデル要素抽出部1512によって抽出された検証済モデル要素とを比較する。具体的には、入力部1502によってUMLのユースケース図が入力された場合、分解部1515によって得られた単語に基づいて比較をおこなう。たとえば、第19図に示した未検証モデル要素X1と第20図に示した検証済モデル要素A1とを比較すると、未検証モデル要素X1の単語「NTSC画像」は、検証済モデル要素A1の単語「ディジタルデータ」と一致しない。一方、未検証モデル要素X1の単語「入力する」は、検証済モデル要素A1の単語「入力する」と一致する。この場合は、両モデル要素X1,A1の一部が一致することとなる。また、未検証モデル要素X3と検証済モデル要素A2とを比較すると、未検証モデル要素X3の単語「ディジタルデータ」は、検証済モデル要素A2の単語「ディジタルデータ」と一致する。同様に、ユースケース記述X3の単語「書き込む」は、検証済モデル要素A1の単語「書き込む」と一致する。この場合は、両モデル要素X3,A2が完全一致する。
スコア算出部1519は、比較部1518によって比較された比較結果に基づいて、未検証モデル要素と検証済モデル要素との類似度をあらわすスコアを算出する。第21図は、単語どうしを比較した場合のスコアの条件と、その場合の基本スコアおよび関連スコアとの関係を示す図表である。基本スコアは、未検証モデル要素と検証済モデル要素とを比較したときに加算または乗算されるスコアである。また、関連スコアは、比較部1518による比較によって特定の条件に合致した場合に追加して加算されるスコアである。このスコアは、検証済システムごとの未検証システムとの類似度をあらわしており、設計者は、所定値以下のスコアの場合は非類似、所定値よりも大きいスコアの場合は類似と判断することができる。また、検証済システムのスコアのうち、上位k番目までを類似とし、k+1番目以下を非類似と判断することもできる。また、一番高いスコアの検証済システムが未検証システムに最も類似している。
つぎに、未検証システムXと比較対象になった検証済システムとスコアとの関係について説明する。第22図は、未検証システムXと比較対象になった検証済システムAとスコアとの関係を示す説明図であり、第23図は、未検証システムXと比較対象になった検証済システムBとスコアとの関係を示す説明図である。
第22図および第23図において、各検証済モデル要素A1,A2,B1〜B4は、それぞれ未検証モデル要素X1〜X3と比較することによって、スコア算出部1519によって算出されたスコアを得る。
たとえば、第22図の検証済モデル要素A1については、未検証モデル要素X1と比較した場合、検証済モデル要素A1の単語「ディジタルデータ」は、未検証モデル要素X1の単語「ディジタルデータ」と一致するため、第21図に示した「単語が一致した場合」に該当し、基本スコア「1」が加算される。一方、未検証モデル要素X2、X3とは、単語が一致しないので、基本スコアは加算されない。したがって、検証済モデル要素A1の単語「ディジタルデータ」の基本スコアは「1」となる。
また、第22図の検証済モデル要素A1については、未検証モデル要素X1と比較した場合、検証済モデル要素A1の単語「入力する」は、未検証モデル要素X1の単語「入力する」と一致するため、第21図の図表に示した「単語が一致した場合」に該当し、基本スコア「1」が加算される。同様に、未検証モデル要素X2と比較した場合、検証済モデル要素A1の単語「入力する」は、未検証モデル要素X1の単語「入力する」と一致するため、第22図に示した「単語が一致した場合」に該当し、基本スコア「1」が加算される。一方、未検証モデル要素X3とは、単語が一致しないので、基本スコアは加算されない。したがって、検証済モデル要素A1の単語「入力する」の基本スコアは「2」となる。
また、検証済モデル要素A1には、第21図において示した関連スコアが加算されるスコアの条件に合致しないため、関連スコアは「0」である。したがって、基本スコアと関連スコアとのスコア小計は「3」である。
つぎに、第22図の検証済モデル要素A2については、未検証モデル要素X3と比較した場合、検証済モデル要素A2の単語「ディジタルデータ」は、未検証モデル要素X3の単語「ディジタルデータ」と一致するため、第21図の図表に示した「単語が一致した場合」に該当し、基本スコア「1」が加算される。同様に、検証済モデル要素A2の単語「書き込む」は、未検証モデル要素X3の単語「書き込む」と一致するため、第21図の図表に示した「単語が一致した場合」に該当し、基本スコア「1」が加算される。
また、検証済モデル要素A2は、第21図において示した関連スコアが加算されるスコアの条件「一つの未検証モデル要素においてすべての単語が一致した場合」に合致するため、関連スコアを加算することができる。また、単語の総数n=2であるから、加算される関連スコアは「2」である。したがって、検証済モデル要素A2における基本スコアと関連スコアとのスコア小計は「4」である。
これにより、未検証のシステムXに対する検証済のシステムAの類似度を示すスコアは、検証済モデル要素A1,A2のスコア小計の値の合計値、すなわち、「7」となる。
また、第23図に示した検証済モデル要素B1〜B4と、未検証モデル要素X1、X2と比較した場合、いずれの単語も一致しないため、第21図に示した図表のスコア条件に合致しない。しがたって、未検証のシステムXに対する検証済のシステムBの類似度を示すスコアは、「0」である。
つぎに、未検証のシステムXと検証済のシステムA,Bとの関係について説明する。第24図は、未検証のシステムXと検証済のシステムA,Bとの関係を示す説明図である。第24図において、未検証のシステムXと検証済のシステムA,Bとを結ぶ細線は、未検証モデル要素と検証済モデル要素とが一部一致していることを示し、太線は全部一致していることを示している。第24図では、未検証モデル要素X1〜X3は、検証済モデル要素A1と一部一致しているため、細線で結ばれているが、全部一致ではないため関連スコアは「0」である。一方、未検証モデル要素X3と検証済モデル要素A2とは全部一致しているため、第21図に示したように関連スコアは「2」となる。
一方、未検証モデル要素X1〜X3は、検証済モデル要素B1〜B4のいずれにも一致していないため、細線、太線のいずれも結ばれていない。したがって、この図からもシステムBは、類似度を示すスコアが「0」であることがわかり、システムXと非類似となる。
つぎに、この発明の検証支援装置の実施の形態にかかる検索結果表示例について説明する。第25図は、この発明の検証支援装置の実施の形態にかかる検索結果表示例を示す説明図である。第25図において、検索画面2500は、第1図に示したディスプレイ108に表示される。また、プリンタ113によって出力することもできる。この検索画面2500は、フレーム2501とフレーム2502とフレーム2503とを有している。フレーム2501には、検索結果として最も類似度を示すスコアが高い検索システム名とそのスコアとを表示されている。また、フレーム2502には、検索結果一覧2504が表示されている。この検索結果一覧には、類似度を示すスコアの高い順に検証済のシステム名が表示されている。さらに、フレーム2503には、検索結果として最も類似度を示すスコアが高い検索システムの検証方針2505、検証項目2506、検証方式2507、コスト情報2508および検証環境2509が表示されている。
つぎに、検証済のシステムのユースケース図が同一で、シーケンス図および配置図が異なる場合の例について説明する。第26図は、検証済のシステムCについてのシーケンス図であり、第27図は、検証済のシステムCについての配置図である。なお、この検証済のシステムCのユースケース図は、第3図に示した検証済のシステムAについてのユースケース図と同一であるため省略する。
第26図のシーケンス図では、検証済システムCにおけるデータのやり取りを時系列であらわしている。第26図において、シーケンス番号1によって、アクター301であるディジタルデータ入力装置からオブジェクト2601である制御ASICに対して、検証済モデル要素であるイベント「データ入力(ディジタルデータ)」をおこなう。そして、シーケンス番号1.1.によって、オブジェクト2601である制御ASICからオブジェクト2602であるRAMに対して、検証済モデル要素であるイベント「書き込み(ディジタルデータ)」をおこなう。また、シーケンス番号1.2.によって、オブジェクト2601である制御ASICからオブジェクト2602であるRAMに対して、検証済モデル要素であるイベント「読み出し()」をおこなう。このときのガード条件は[RAMがFULL]である。つぎに、シーケンス番号1.3.によって、オブジェクト2601である制御ASICからオブジェクト2603であるSCSI−Controllerに対し、検証済モデル要素であるイベント「SCSIへの書き込み(ディジタルデータ)」をおこなう。このときのガード条件は[RAMがFULL]である。そして、シーケンス番号1.3.1.によって、オブジェクト2603であるSCSI−Controllerからアクター304であるSCSI−HD装置に対し、検証済モデル要素であるイベント「SCSI−HDに出力(ディジタルデータ)」をおこなう。
また、第27図の配置図では、システムCの物理的な構成をあらわしている。第27図において、ノード2701は制御ASICをあらわす検証済モデル要素であり、ノード2702はRAMをあらわす検証済モデル要素であり、ノード2703はSCSI−Controllerをあらわす検証済モデル要素である。また、リンク2704はノード501とノード2702を連結する制御Interfaceをあらわす検証済モデル要素であり、リンク2705はノード2701とノード2702を連結するRAMInterfaceをあらわす検証済モデル要素であり、リンク2706は、ノード2701とノード2703を連結するSCSI制御Interfaceをあらわす検証済モデル要素であり、リンク2707は、ノード2703とノード503を連結するSCSIをあらわす検証済モデル要素である。
つぎに、未検証のシステムXの仕様記述の記述内容がUMLのシーケンス図であった場合における、検証済のシステムA,Cの検証済モデル要素およびそのスコアとの関係について説明する。第28図は、未検証のシステムXの仕様記述がUMLのシーケンス図であった場合における、未検証のシステムXの検証済イベント組を示す説明図であり、第29図は、検証済のシステムAの検証済モデル要素およびそのスコアとの関係を示す説明図であり、第30図は、検証済のシステムCの検証済モデル要素およびそのスコアとの関係を示す説明図である。
第28図において、未検証モデル要素組X11は、第17図に示したシーケンス番号1のイベント「信号入力」と、シーケンス番号1.1.のイベント「ディジタルデータに変換(入力信号)」とが組み合わさったイベント組である。また、未検証モデル要素組X12は、シーケンス番号1.1.のイベント「ディジタルデータに変換(入力信号)」と、シーケンス番号1.2.のイベント「SCSI−HDに出力(ディジタルデータ)」とが組み合わさったイベント組である。
また、第29図において、検証済モデル要素組A11は、第4図に示したシーケンス番号1のイベント「データ入力(ディジタルデータ)」と、シーケンス番号1.1.のイベント「SCSI−HDに出力(ディジタルデータ)」とが組み合わさったイベント組である。この検証済モデル要素組A11と未検証モデル要素組X11とを比較した場合、第21図に示したように、イベント「SCSI−HDに出力(ディジタルデータ)」のみが一致するため、基本スコアが「1」、関連スコアが「0」となり、スコア合計は「1」となる。同様に、この検証済モデル要素組C11〜C14と未検証モデル要素組X11とを比較した場合、第21図に示したように、検証済モデル要素組C11〜C13についてはスコア小計が「0」、イベント組C14については、イベント「SCSI−HDに出力(ディジタルデータ)」のみが一致し、かつ、ガード条件「[RAMがFULL]」があるため、基本スコアが「0.5」、関連スコアが「0」となり、スコア小計は「0.5」となる。したがって、検証済のシステムCについてのスコア合計は、「0.5」となる。これにより、システム内のデータの流れに関しては、検証済のシステムCが検証済のシステムAよりもシステムXに類似していることが分かる。
つぎに、未検証のシステムXの仕様記述の記述内容がUMLの配置図であった場合における、検証済のシステムA,Cの検証済モデル要素およびそのスコアとの関係について説明する。第31図は、未検証のシステムXの仕様記述がUMLの配置図であった場合における、未検証のシステムXの検証済モデル要素組を示す説明図であり、第32図は、検証済のシステムAの検証済モデル要素およびそのスコアとの関係を示す説明図であり、第33図は、検証済のシステムCの検証済モデル要素およびそのスコアとの関係を示す説明図である。
第31図において、配置組である未検証モデル要素組は、第5図に示した配置図において連結されているノードおよびリンクの組み合わさったモデル要素組である。未検証モデル要素組X21は、第18図に示したノード1801とリンク1805が組み合わさった配置組であり、未検証モデル要素組X22は、第18図に示したノード1802とリンク1806が組み合わさった配置組であり、未検証モデル要素組X23は、第18図に示したノード1803とリンク1807が組み合わさった配置組であり、未検証モデル要素組X24は、第18図に示したリンク1807とノード1804が組み合わさった配置組である。
また、第32図において、検証済のシステムAの検証済モデル要素組A21は、第5図に示したノード501とリンク504が組み合わさった配置組であり、検証済モデル要素組A22は、第5図に示したノード502とリンク505が組み合わさった配置組であり、検証済モデル要素組A23は、第5図に示したノード505とリンク503が組み合わさった配置組である。
ここで、システムAの検証済モデル要素組A21〜A24を第31図に示したシステムXの未検証モデル要素組X21〜X25と比較すると、検証済モデル要素組A21は、いずれの検証済モデル要素組X21〜X25とも一致しないため、基本スコアが「0」となる。
検証済モデル要素組A22は、未検証モデル要素組X23と一致するため、基本スコアは「1」となる。検証済モデル要素組A23は、未検証モデル要素組X24と一致するため、基本スコアは「1」となる。検証済モデル要素組A24は、未検証モデル要素組X25と一致するため、基本スコアは「1」となる。したがって、検証済のシステムAのスコア合計は、「3」となる。
また、第33図において、検証済のシステムCの検証済モデル要素組C21は、第27図に示したノード501とリンク2704が組み合わさった配置組であり、検証済モデル要素組C22は、第27図に示したリンク2704とノード2701が組み合わさった配置組であり、検証済モデル要素組C23は、第27図に示したノード2701とリンク2705が組み合わさった配置組であり、検証済モデル要素組C24は、第27図に示したリンク2705とノード2702が組み合わさった配置組であり、検証済モデル要素組C25は、第27図に示したノード2701とリンク2706が組み合わさった配置組であり、検証済モデル要素組C26は、第27図に示したリンク2706とノード2703が組み合わさった配置組であり、検証済モデル要素組C27は、第27図に示したノード2703とリンク2707が組み合わさった配置組であり、検証済モデル要素組C28は、第27図に示したリンク2707とノード503が組み合わさった配置組である。
ここで、システムCの検証済モデル要素組C21〜C28を第31図に示したシステムXの未検証モデル要素組X21〜X25と比較すると、検証済モデル要素組C21〜C27は、いずれの未検証モデル要素組X21〜X25とも一致しないため、基本スコアが「0」となる。一方、検証済モデル要素組C28は、未検証モデル要素組X25と一致するため、基本スコアは「1」となる。したがって、検証済のシステムCのスコア合計は、「1」となる。これにより、システムのハードウェア構成に関しては、検証済のシステムAが検証済のシステムCよりもシステムXに類似していることが分かる。
(検証支援装置の検証支援処理手順)
つぎに、この発明の実施の形態にかかる検証支援装置の検証支援処置手順について説明する。第34図〜第37図は、この発明の実施の形態にかかる検証支援装置の検証支援処置手順を示すフローチャートである。第34図において、未検証のシステムのUMLが入力された場合(ステップS3401:Yes)、入力されたUMLがユースケース図であるか否かを判定する(ステップS3402)。ユースケース図でない場合(ステップS3402:No)、入力されたUMLがシーケンス図であるか否かを判定する(ステップS3403)。シーケンス図でない場合(ステップS3403:No)、入力されたUMLが配置図であるか否かを判定する(ステップS3404)。配置図でない場合(ステップS3404:No)、ステップS3402に戻る。
入力されたUMLがユースケース図である場合(ステップS3402:Yes)、第35図において、入力されたユースケース図から未検証モデル要素を抽出する(ステップS3501)。そして、分解部1515によって抽出された未検証モデル要素を示す文章を単語に分解し(ステップS3502)、i=1に設定する(ステップS3503)。そして、記憶部1501から、i番目の検証済システムのユースケース図があるか否かを検索する(ステップS3504)。ユースケース図がない場合(ステップS3504:No)、iを1つインクリメントし(ステップS3505)、ステップS3504に戻る。
i番目の検証済システムのユースケース図がある場合(ステップS3504:Yes)、記憶部1501からi番目の検証済システムのユースケース図を抽出する(ステップS3506)。そして、抽出されたユースケース図から検証済モデル要素を抽出し(ステップS3507)、その文章を単語に分解する(ステップS3508)。
そして、未検証モデル要素と検証済モデル要素とを比較する(ステップS3509)。この比較は、分解された単語どうしでおこなう。このあと、比較結果に基づいて、i番目の検証済システムのスコアを算出する(ステップS3510)。iが記憶部1501に記憶されている検証済システムの総数Nと一致しない場合(ステップS3511:No)、iを1つインクリメントして(ステップS3512)、ステップS3504に戻る。
一方、iが記憶部1501に記憶されている検証済システムの総数Nと一致した場合(ステップS3511:Yes)、記憶部1501から、スコアが最大となる検証済システムの論理検証内容を抽出する(ステップS3513)。そして、抽出した論理検証内容を出力し(ステップS3514)、ディスプレイ108に表示する。
また、第34図において、入力されたUMLがシーケンス図である場合(ステップS3403:Yes)、第36図において、入力されたシーケンス図から未検証モデル要素を抽出する(ステップS3601)。そして、連続するシーケンス番号の未検証モデル要素を一つのイベント組とし(ステップS3602)、i=1に設定する(ステップS3603)。そして、記憶部1501から、i番目の検証済システムのシーケンス図があるか否かを検索する(ステップS3604)。シーケンス図がない場合(ステップS3604:No)、iを1つインクリメントし(ステップS3605)、ステップS3604に戻る。
i番目の検証済システムのシーケンス図がある場合(ステップS3604:Yes)、記憶部1501からi番目の検証済システムのシーケンス図を抽出する(ステップS3606)。そして、抽出されたユースケース図から検証済モデル要素を抽出し(ステップS3607)、連続するシーケンス番号の検証済モデル要素を一つのイベント組とする(ステップS3608)。
そして、イベント組となった未検証モデル要素と検証済モデル要素とを比較する(ステップS3609)。このあと、比較結果に基づいて、i番目の検証済システムのスコアを算出する(ステップS3610)。iが記憶部1501に記憶されている検証済システムの総数Nと一致しない場合(ステップS3611:No)、iを1つインクリメントして(ステップS3612)、ステップS3604に戻る。
一方、iが記憶部1501に記憶されている検証済システムの総数Nと一致した場合(ステップS3611:Yes)、記憶部1501から、スコアが最大となる検証済システムの論理検証内容を抽出する(ステップS3613)。そして、抽出した論理検証内容を出力し(ステップS3614)、ディスプレイ108に表示する。
また、第34図において、入力されたUMLが配置図である場合(ステップS3404:Yes)、第37図において、入力された配置図から未検証モデル要素を抽出する(ステップS3701)。そして、連続するシーケンス番号の未検証モデル要素組を一つの配置組とし(ステップS3702)、i=1に設定する(ステップS3703)。そして、記憶部1501から、i番目の検証済システムの配置図があるか否かを検索する(ステップS3704)。配置図がない場合(ステップS3704:No)、iを1つインクリメントし(ステップS3705)、ステップS3704に戻る。
i番目の検証済システムの配置図がある場合(ステップS3704:Yes)、記憶部1501からi番目の検証済システムの配置図を抽出する(ステップS3706)。そして、抽出された配置図から、検証済モデル要素であるノードとリンクを抽出し(ステップS3707)、連続する連結されているノードおよびリンクを一つの配置組とする(ステップS3708)。
そして、配置組となった未検証モデル要素と検証済モデル要素とを比較する(ステップS3709)。このあと、比較結果に基づいて、i番目の検証済システムのスコアを算出する(ステップS3710)。iが記憶部1501に記憶されている検証済システムの総数Nと一致しない場合(ステップS3711:No)、iを1つインクリメントして(ステップS3712)、ステップS3704に戻る。
一方、iが記憶部1501に記憶されている検証済システムの総数Nと一致した場合(ステップS3711:Yes)、記憶部1501から、スコアが最大となる検証済システムの論理検証内容を抽出する(ステップS3713)。そして、抽出した論理検証内容を出力し(ステップS3714)、ディスプレイ108に表示する。
これにより、入力されたUMLのダイアグラムにしたがって、未検証のUMLと検証済のUMLとの類似度を点数化して算出することができ、最も類似度の高い検証済システムについておこなった論理検証内容を、設計者に提供することができる。
また、上述した実施の形態では、仕様記述としてUMLの表記として、ユースケース図、シーケンス図および配置図を用いて説明したが、そのほかにも、クラス図、オブジェクト図、コラボレーション図、ステートチャート図、アクティビティ図、パッケージ図またはコンポーネント図を用いることとしてもよい。
また、上述した実施の形態では、検証済の仕様記述およびその論理検証内容を記憶部1501に記憶することとしているが、検証をおこなっていない一般的な仕様記述およびその論理検証内容を記憶することとしてもよい。また、未検証の設計対象の入力の際に、その名称を入力することとしてもよい。
以上説明したように、この実施の形態にかかる検証支援装置によれば、設計対象となるシステムにおこなわれる論理検証の費用の低減を図ることができる。またこれにより、論理検証にかかる費用の予測が外れた場合の損失についても低減することができる。したがって、この論理検証の費用および損失の低減により、安価なLSIを市場に供給することができる。
また、論理検証作業に必要な費用の予測を設計者がすべておこなう必要がないため、設計者の負担を軽減することができ、またこれにより、作業労力の軽減および論理検証作業の工期の短縮化を図ることができる。
さらに、セクションごとに保管されている論理検証内容をセクション間で共有することができる。これにより、設計資産を流用することができ、作業労力の軽減および論理検証作業の工期の短縮化を図ることができる。
また、従来は、論理検証費用の予測については、セクションリーダなどの熟練した設計者がおこなっていたが、この検証支援装置を用いることにより、熟練者でなくても論理検証費用の予測を簡単におこなうことができる。
なお、本実施の形態で説明した検証支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
以上説明したように、本発明によれば、未検証設計対象の仕様記述と近似する仕様記述にしたがって設計された検証済設計対象を特定することができ、この検証済設計対象についておこなわれた論理検証内容を得ることができる。これにより、論理検証作業の低コスト化および作業時間の短縮化を実現することができるという効果を奏する。
以上のように本発明は、ハードウェアやソフトウェアによって構成されたシステムの検証を支援する検証支援装置、検証支援方法、検証支援プログラムおよびそのプログラムを記録した記録媒体を提供することに適している。
本発明は、LSI設計における論理検証作業を支援する検証支援装置、検証支援方法、検証支援プログラムおよび該プログラムを記録した記録媒体に関する。
LSI設計では、ハードウェアやソフトウェアによって構成された設計対象システムの論理検証をおこなう場合、論理検証の方式、論理検証に必要なデータや環境、およびそれらの入手(開発や購入、導入)のための費用に関しては、各セクション内のリーダなどの経験者がその経験に照らして予測を立て、それにしたがって論理検証計画を決定するのが一般的である。
しかしながら、LSIが正常に動作するか否かを検証する論理検証作業が必要不可欠であり、特に、大規模化、高機能化、高速化および低消費電力化が要求されているLSIについては、高品質を維持するためにもこの論理検証作業は重要である一方、従来から設計期間の短縮による作業効率化が要求されている。このLSIの大規模化、高機能化、高速化および低消費電力化にともない、設計対象システムの種類や規模が増大するため、全体として論理検証の費用が増大してしまうという問題点があった。
また、この論理検証に費やされる費用が増大するにしたがって、論理検証にかかる上記経験者の費用の予測が外れた場合のリスク増大が問題となる。したがって、LSI設計において、この論理検証の費用が増大したり、それにともなうリスクが発生すると、その分の費用が製品価格に上乗せされる場合もあり、論理検証の費用の増大やリスクがなかった場合にくらべて、LSIの価格が高価になるという問題があった。
これをできる限り回避するために、各設計対象システムの仕様からどの程度の論理検証が必要で費用がどの程度になるのかといった論理検証に関する情報を多くの経験から導いて、予測誤差を最小限にとどめる作業をおこなうことも考えられる。
しかしながら、このような作業を実際におこなおうとすると、設計者の負担が増大して、論理検証作業に支障をきたすこととなり、結果的に作業労力が増大し、論理検証作業の長期化を招くという問題点があった。
また、過去におこなった論理検証に関する情報は、セクションごとに保管されるのが一般的である。このため、一のセクションにおいて設計されたシステムの論理検証が、他のセクションによって過去におこなわれた論理検証に関する情報と同一または類似する場合、一のセクションの設計者は、他のセクションの論理検証に関する情報を発見することは非常に困難なため流用することができず、論理検証に関する情報をセクション間で共有することができないという問題点があった。
本発明は、上記問題点に鑑みてなされたものであって、論理検証作業の低コスト化および作業時間の短縮化を実現する検証支援装置、検証支援方法、検証支援プログラムおよび該プログラムを記録した記録媒体を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明の検証支援装置、検証支援方法、検証支援プログラムおよび該プログラムを記録した記録媒体は、未検証モデル要素によって構成された、未検証設計対象をあらわす未検証仕様記述の入力を受け付け、入力された未検証仕様記述の表記がどの表記に該当するかを判定し、検証済モデル要素によって構成された、検証済設計対象をあらわす一または複数の表記の検証済仕様記述と当該検証済仕様記述についておこなわれた論理検証内容とを前記検証済設計対象ごとに記憶する記憶手段の中から、前記未検証モデル要素および前記検証済モデル要素に基づいて、判定された前記未検証仕様記述の表記と同一表記でかつ、同一または類似の検証済仕様記述を検索し、検索結果に基づいて、前記記憶手段の中から、検証済設計対象についておこなわれた論理検証内容を抽出し、抽出された論理検証内容を出力することを特徴とする。
この発明によれば、未検証設計対象の仕様記述と近似する仕様記述にしたがって設計さ
れた検証済設計対象を特定することができる。したがって、この検証済設計対象についておこなわれた論理検証内容を得ることができる。
また、前記未検証仕様記述の中から、前記未検証モデル要素を抽出し、前記記憶手段の中から、前記検証済モデル要素を抽出し、抽出された未検証モデル要素と、抽出された検証済モデル要素との類似度を算出し、算出された類似度に基づいて、前記記憶手段の中から、検証済設計対象についておこなった論理検証内容を抽出することとしてもよい。
この発明によれば、未検証モデル要素と検証済モデル要素との類似度を算出することによって、未検証仕様記述と検証済仕様記述との類似度を算出することができる。
さらに、抽出された未検証モデル要素を示す文章と、抽出された検証済モデル要素を示す文章とを比較し、比較された比較結果に基づいて、前記類似度をあらわすスコアを算出し、算出されたスコアに基づいて、前記記憶手段の中から、検証済設計対象についておこなった論理検証内容を抽出することとしてもよい。
この発明によれば、未検証モデル要素を示す文章と検証済モデル要素を示す文章とを比較することによって、その類似度をスコアにより数値化することができる。したがって、未検証仕様記述と検証済仕様記述との類似度を客観的に捉えることができる。
また、抽出された未検証モデル要素を示す文章と、抽出された検証済モデル要素を示す文章とを、それぞれ単語に分解し、分解された単語に基づいて、抽出された未検証モデル要素を示す文章と、抽出された検証済モデル要素を示す文章とを比較することとしてもよい。
この発明によれば、未検証モデル要素を示す文章を構成する単語と検証済モデル要素を示す文章を構成する単語とを比較することによって、さらに詳細にその類似度をスコアにより数値化することができる。したがって、未検証仕様記述と検証済仕様記述との類似度をより効果的に客観的に捉えることができる。
さらに、前記未検証モデル要素を示す文章を分解することによって得られる単語に重み付けし、比較された比較結果と、重み付けられた単語の重みとに基づいて、前記類似度をあらわすスコアを算出することとしてもよい。
この発明によれば、重要度の高い単語を含む検証済仕様記述を優先的に検索することができる。
また、前記未検証設計対象をあらわす未検証仕様記述および前記検証済設計対象をあらわす検証済仕様記述は、UMLによって記述されていることとしてもよい。
この発明によれば、機能、相互作用、状態変化、プロセス、物理的構造などの視点から、未検証仕様記述と同一または類似する検証済仕様記述を検索することができる。
また、前記論理検証内容は、少なくとも、論理検証の方針、論理検証する項目、論理検証方式、論理検証に必要なコスト情報または前記検証済設計対象について論理検証をおこなったときに用いられたツールを示す論理検証環境のいずれか一つを含むこととしてもよい。
この発明によれば、論理検証内容の具体例を設計者に提供することができる。
本発明にかかる検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体によれば、未検証設計対象の仕様記述と近似する仕様記述にしたがって設計された検証済設計対象を特定することができ、この検証済設計対象についておこなわれた論理検証内容を得ることができる。これにより、論理検証作業の低コスト化および作業時間の短縮化を実現することができるという効果を奏する。
以下に、この発明の検証支援装置、検証支援方法、検証支援プログラムおよび該プログラムを記録した記録媒体の実施形態について図面を参照しつつ詳細に説明する。
(実施の形態)
(検証支援装置のハードウェア構成)
まず、この発明の実施の形態にかかる検証支援装置のハードウェア構成について説明する。第1図は、この発明の実施の形態にかかる検証支援装置のハードウェア構成を示すブロック図である。
第1図において、検証支援装置は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フレキシブルディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)107と、ディスプレイ108と、I/F(インターフェース)109と、キーボード110と、マウス111と、スキャナ112と、プリンタ113と、を備えている。また、各構成部はバス100によってそれぞれ接続されている。
ここで、CPU101は、検証支援装置の全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御にしたがってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。
FDD106は、CPU101の制御にしたがってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶したり、FD107に記憶されたデータを検証支援装置に読み取らせたりする。
着脱可能な記録媒体として、FD107のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ108は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F109は、通信回線を通じてインターネットなどのネットワーク114に接続され、このネットワーク114を介して他の装置に接続される。そして、I/F109は、ネットワーク114と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F109には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード110は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス111は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ112は、画像を光学的に読み取り、検証支援装置内に画像データを取り込む。なお、スキャナ112は、OCR機能を持たせてもよい。また、プリンタ113は、画像データや文書データを印刷する。プリンタ113には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(検証資産データベースの記憶内容)
つぎに、この発明の実施の形態にかかる検証資産データベースの記憶内容について説明する。第2図は、この発明の実施の形態にかかる検証資産データベースの記憶内容を示す説明図である。第2図において、検証資産データベース200は、検証済システム名201、仕様記述内容202および論理検証内容203を含む構成となっている。
仕様記述としては、たとえばUMLが採用されており、検証済システムは、このUMLによって記述することができるユースケース図221、シーケンス図222および配置図223などのダイアグラムを記憶することができる。また、論理検証内容203とは、その検証済システムでおこなわれた論理検証の検証内容である。ここで、検証済システム名「システムA」を例に挙げて説明すると、検証内容には、検証方針231、検証項目232、検証方式233、コスト情報234および検証環境235が含まれている。
つぎに、第2図に示した検証資産データベース200に記憶されている検証済システム名「システムA」の記憶内容について説明する。第3図は、検証済のシステムAについてのユースケース図であり、第4図は、検証済のシステムAについてのシーケンス図であり、第5図は、検証済のシステムAについての配置図であり、第6図は、検証済のシステムAについての検証方針、検証項目および検証方式を示す説明図であり、第7図は、検証済のシステムAについてのコスト情報を示す説明図であり、第8図は、検証済のシステムAについての検証環境を示す説明図である。
第3図のユースケース図では、システムAの機能をあらわしている。第3図において、アクター301は、外部装置であるディジタルデータ入力装置をあらわす検証済モデル要素であり、ユースケース302は、システムA内のユースケース記述「ディジタルデータを入力する」をあらわす検証済モデル要素である。また、ユースケース303は、システムA内のユースケース記述「ディジタルデータを書き込む」をあらわす検証済モデル要素であり、アクター304は、外部装置であるSCSI−HD装置をあらわす検証済モデル要素である。
また、第4図のシーケンス図では、システムAにおけるデータのやり取りを時系列であらわしている。第4図において、シーケンス番号1によって、アクター301であるディジタルデータ入力装置からオブジェクト400であるシステムAに対して、検証済モデル要素となるイベント「データ入力(ディジタルデータ)」をおこなう。そして、シーケンス番号1.1.によって、オブジェクト400であるシステムAからアクター304であるSCSI−HD装置に対し、検証済モデル要素となるイベント「SCSI−HDに出力(ディジタルデータ)」をおこなう。
さらに、第5図の配置図では、システムAの物理的な構成をあらわしている。第5図において、ノード501はディジタルデータ入力装置をあらわす検証済モデル要素であり、ノード502はMPUをあらわす検証済モデル要素であり、ノード503はSCSI−HD装置をあらわす検証済モデル要素である。また、リンク504はノード501とノード502を連結するBUSをあらわす検証済モデル要素であり、リンク505はノード502とノード503を連結するSCSIをあらわす検証済モデル要素である。
また、第6図では、システムAの構成ごとに、検証方針601、検証項目602および検証方式603が示されている。検証方針601は、どのような手法によって論理検証をおこなうべきかをあらわしている。たとえば、SCSI−HD装置は、「インターフェース部のアサーションチェック」をおこなうべきであるとされている。
また、検証項目602は、検証内容の細目をあらわしている。たとえば、MPUは、「SCSIアクセス、BUSアクセス、初期化」という3つの検証項目があげられている。さらに、検証方式603は、実際に論理検証をおこなったときの手法をあらわしている。ディジタルデータ入力装置の論理検証は、「RTLシミュレーション」によっておこなわれたことをあらわしている。
また、第7図では、システムAの論理検証作業に要したコストをあらわすコスト情報が示されている。コスト情報700は、設備費用、工数、要員、リリース後発覚論理バグ数、リメーク回数などがあげられる。さらに、第8図では、システムAの論理検証作業をおこなったときの検証環境800が示されている。検証環境800は、検証済のシステムについて論理検証をおこなったときに用いられたツールを示している。
つぎに、第2図に示した検証資産データベース200に記憶されている検証済システム名「システムB」の記憶内容について説明する。第9図は、検証済のシステムBについてのユースケース図であり、第10図は、検証済のシステムBについてのシーケンス図であり、第11図は、検証済のシステムBについての配置図であり、第12図は、検証済のシステムBについての検証方針、検証項目および検証方式を示す説明図であり、第13図は、検証済のシステムBについてのコスト情報を示す説明図であり、第14図は、検証済のシステムBについての検証環境を示す説明図である。
第9図のユースケース図では、検証済のシステムBの機能をあらわしている。第9図において、アクター901は、外部装置であるNTSC信号パターン設定システムをあらわす検証済モデル要素であり、ユースケース902は、システムB内のユースケース記述「NTSC信号パターンを設定する」をあらわす検証済モデル要素である。
また、アクター903は、外部装置であるNTSC信号生成制御システムをあらわす検証済モデル要素であり、ユースケース904は、システムB内のユースケース記述「NTSC信号出力を開始する」をあらわす検証済モデル要素であり、ユースケース905は、システムB内のユースケース記述「NTSC信号出力を終了する」をあらわす検証済モデル要素である。さらに、ユースケース906は、システムB内のユースケース記述「NTSC信号を出力する」をあらわす検証済モデル要素であり、アクター907は、外部装置であるNTSC信号入力システムをあらわす検証済モデル要素である。
また、第10図のシーケンス図では、検証済のシステムBにおけるデータのやり取りを時系列であらわしている。第10図において、シーケンス番号1によって、アクター901であるNTSC信号パターン設定システムからオブジェクト1000であるシステムBに対して、検証済モデル要素であるイベント「NTSC信号パターン設定」をおこなう。
つぎに、シーケンス番号2によって、アクター903であるNTSC信号生成制御システムからオブジェクト1000であるシステムBに対して、検証済モデル要素であるイベント「信号生成開始」をおこなう。そして、シーケンス番号2.1.によって、オブジェクト1000であるシステムBからアクター907であるNTSC信号入力システムに対して、検証済モデル要素であるイベント「信号生成」をおこなう。また、シーケンス番号3によって、アクター903であるNTSC信号生成制御システムからオブジェクト1000であるシステムBに対して、検証済モデル要素であるイベント「信号生成停止」をおこなう。
さらに、第11図の配置図では、検証済のシステムBの物理的な構成をあらわしている。第11図において、ノード1101はNTSC信号パターン設定システムをあらわしており、ノード1102はNTSC信号生成制御システムをあらわす検証済モデル要素であり、ノード1103はシステムBであるNTSC信号出力システムをあらわす検証済モデル要素であり、ノード1104はNTSC信号入力システムをあらわす検証済モデル要素である。
また、リンク1105はノード1101とノード1103を連結する信号ケーブルをあらわす検証済モデル要素であり、リンク1106はノード1102とノード1103を連結する信号ケーブルをあらわす検証済モデル要素であり、リンク1107はノード1103とノード1104を連結する信号ケーブルをあらわす検証済モデル要素である。
また、第12図では、システムBであるNTSC信号出力システムの検証方針1201、検証項目1202および検証方式1203が示されている。また、第13図では、システムBの論理検証作業に要したコストをあらわすコスト情報1300が示されている。さらに、第14図では、システムBの論理検証作業をおこなったときの検証環境1400が示されている。
(検証支援装置の機能的構成)
つぎに、この発明の実施の形態にかかる検証支援装置の機能的構成について説明する。第15図は、この発明の実施の形態にかかる検証支援装置の機能的構成を示すブロック図である。第15図において、検証支援装置1500は、記憶部1501と、入力部1502と、検索部1503と、論理検証内容抽出部1504と、出力部1505とを含む構成となっている。
記憶部1501は、論理検証がおこなわれた検証済のシステムを記述したUMLおよびその論理検証内容を記憶する。記憶部1501は、第2図において示した検証資産データベース200を含んでいる。この記憶部1501は、検証支援装置1500に設けられる構成としてもよく、また、第1図に示したインターネット、LAN、WANなどのネットワーク114を介して図示しない外部のサーバに設けられる構成としてもよい。また、記憶部1501は、具体的には、たとえば、第1図に示したROM102、RAM103、HD105、FD107などによってその機能を実現する。
入力部1502は、未検証モデル要素によって記述された、未検証設計対象をあらわす未検証仕様記述の入力を受け付ける。ここで、未検証設計対象は、たとえば、上述した、論理検証がおこなわれていない未検証のシステムXとすることができる。また、仕様記述は、設計対象の機能、処理、構造などをあらわすUML、またはそのUMLによって表現されたダイアグラムとすることができる。具体的には、たとえば、上述したUMLのユースケース図、シーケンス図または配置図などのダイアグラムによって表現することができる。
また、モデル要素は、設計対象をあらわすための、仕様記述を構成する図、記号、単語、文章またはそれらの集合であり、仕様記述としてUMLを用いる場合は、アクター、ユースケース、クラス、オブジェクト、イベント、ガード条件、ノード、リンクなどをあらわすことができる。
ここで、入力部1502によって入力される未検証仕様記述について第16図〜第18図を用いて説明する。第16図は、未検証のシステムXについてのユースケース図であり、第17図は、未検証のシステムXについてのシーケンス図であり、第18図は、未検証のシステムXについての配置図である。
第16図のユースケース図では、システムXの機能をあらわしている。第16図において、アクター1601は、外部装置であるNTSC画像入力装置をあらわすモデル要素であり、ユースケース1602は、システムX内のユースケース記述「NTSC画像を入力する」が記述されたモデル要素である。
また、アクター1603は、外部装置であるPAL画像入力装置をあらわすモデル要素であり、ユースケース1604は、システムX内のユースケース記述「PAL画像を入力する」が記述されたモデル要素である。さらに、ユースケース1605は、システムX内のユースケース記述「ディジタルデータを書き込む」が記述されたモデル要素であり、アクター1606は、外部装置であるSCSI−HD装置をあらわすモデル要素である。
また、第17図のシーケンス図では、システムXにおけるデータのやり取りを時系列であらわしている。第17図において、シーケンス番号1によって、アクター1601であるNTSC画像入力装置からオブジェクト1700であるシステムXに対して、モデル要素となるイベント「信号入力」をおこなう。
また、シーケンス番号1.1.によって、オブジェクト1700であるシステムXにおいて、モデル要素となるイベント「ディジタルデータに変換(入力信号)」をおこなう。そして、シーケンス番号1.2.によって、オブジェクト1700であるシステムXからアクター1606であるSCSI−HD装置に対し、モデル要素となるイベント「SCSI−HDに出力(ディジタルデータ)」をおこなう。
さらに、第18図の配置図では、システムXの物理的な構成をあらわしている。第18図において、ノード1801はNTSC画像入力装置をあらわすモデル要素であり、ノード1802はPAL画像入力装置をあらわすモデル要素であり、ノード1803はMPUをあらわすモデル要素であり、ノード1804はSCSI−HD装置をあらわすモデル要素である。
また、リンク1805はノード1801とノード1803を連結するBUSをあらわすモデル要素であり、リンク1806はノード1802とノード1803を連結するBUSをあらわすモデル要素である。リンク1807はノード1803とノード1804を連結するSCSIをあらわすモデル要素である。
また第15図において、検索部1503は、検証済モデル要素によって記述された、検証済設計対象をあらわす検証済仕様記述から、未検証モデル要素および検証済モデル要素に基づいて、入力部1502によって入力された未検証仕様記述と同一または類似の検証済仕様記述を検索する。ここで、未検証仕様記述と検証済仕様記述との同一、類似、非類似は、たとえば、未検証モデル要素と検証済モデル要素とが一致する数や、一致する数を点数化したスコアにより数値化することによってあらわすことができる。
また、検索部1503は、未使用仕様記述であるUMLが入力された場合、たとえば、その表記がユースケース図である場合は、入力されたユースケース図と同一または類似するユースケース図のUMLを、記憶部1501から検索することができる。なお、検索部1503の内部構成については後述する。
論理検証内容抽出部1504は、検索部1503によって検索された検証済のシステムについておこなわれた論理検証内容、すなわち、第2図に示した検証方針231、検証項目232、検証方式233、コスト情報234および検証環境235を記憶部1501から抽出する。また、出力部1505は、論理検証内容抽出部1504によって抽出された論理検証内容を出力する。
また、入力部1502、検索部1503、論理検証内容抽出部1504および出力部1505は、具体的には、たとえば、第1図に示したROM102、RAM103、HD105、FD107などに記録されたプログラムをCPU101が実行することによって、またはI/F109によって、その機能を実現する。
つぎに、検索部1503の内部構成について説明する。第15図において、検索部1503は、未検証モデル要素抽出部1511と、検証済モデル要素抽出部1512と、加工部1513と、類似度算出部1514とを含む構成とされている。
未検証モデル要素抽出部1511は、入力部1502によって入力された未検証仕様記述から未検証モデル要素を抽出する。たとえば、第16図に示したユースケース図が入力された場合、このユースケース図に記述されているユースケース記述である未検証モデル要素X1「NTSC画像を入力する」、未検証モデル要素X2「PAL画像を入力する」および未検証モデル要素X3「ディジタルデータを書き込む」を抽出する。
検証済モデル要素抽出部1512は、入力部1502によって未検証仕様記述が入力された場合、記憶部1501に記憶された検証済仕様記述から検証済モデル要素を抽出する。たとえば、入力部1502にユースケース図が入力された場合、検証済のシステムAを例に挙げると、第3図に示したユースケース記述である未検証モデル要素A1「ディジタルデータを入力する」およびユースケース記述である未検証モデル要素A2「ディジタルデータを書き込む」を抽出する。この検証済モデル要素の抽出は、記憶部1501に記憶されたすべての検証済仕様記述についておこなうことができる。
加工部1513は、未検証モデル要素と検証済モデル要素とをそれぞれ加工する。加工部1513は、分解部1515と組生成部1516とを含む構成となっている。分解部1515は、入力されたUMLがユースケース図である場合に分解をおこなう。また、組生成部1516は、入力されたUMLがシーケンス図や配置図である場合に後述するイベント組や配置組の生成をおこなう。
分解部1515は、未検証モデル要素抽出部1511によって抽出された未検証モデル要素を示す文章であるユースケース記述と、検証済モデル要素抽出部1512によって抽出された検証済モデル要素を示す文章であるユースケース記述とを、それぞれ単語に分解する。この分解部1515によって得られた単語は、名詞と動詞のみ採用され、「が」、「は」、「に」、「へ」、「を」などの助詞を示す単語は消去される。第19図は、未検証モデル要素を示す文章を分解した一例を示す説明図であり、第20図は、検証済モデル要素を示す文章を分解した一例を示す説明図である。
第19図において、たとえば、未検証モデル要素X1「NTSC画像を入力する」の場合、分解部1515はこの文章を単語ごとに区切って、「NTSC画像」と「を」と「入力する」とに分解する。単語「を」は助詞であるため消去され、「NTSC画像」と「入力する」とが採用される。
また、第20図において、検証済モデル要素A1「ディジタルデータを入力する」の場合、分解部1515はこの文章を文節ごとに区切って、「ディジタルデータ」と「を」と「入力する」とに分解する。単語「を」は助詞であるため消去され、「ディジタルデータ」と「入力する」とが採用される。また、ここで分解された単語には、重み設定部1517によって重み付けすることができる。たとえば、「入力する」という単語に基本スコアを「+1」するなど、重要視したい単語について重みをつけることとしてもよい。
また、組生成部1516は、未検証のシーケンス図が入力された場合、未検証モデル要素抽出部1511によって抽出された未検証モデル要素を示すイベントから、イベント組を生成する。また、同様に、検証済モデル要素抽出部1512によって抽出された検証済モデル要素を示すイベントから、イベント組を生成する。イベント組の具体例については後述する。
組生成部1516は、さらに、未検証の配置図が入力された場合、未検証モデル要素抽出部1511によって抽出された未検証モデル要素を示すノードおよびリンクから配置組を生成する。また、同様に、検証済モデル要素抽出部1512によって抽出された検証済モデル要素を示すノードおよびリンクから配置組を生成する。配置組の具体例についても後述する。
類似度算出部1514は、未検証モデル要素抽出部1511によって抽出された未検証モデル要素と、検証済モデル要素抽出部1512によって抽出された検証済モデル要素との類似度を算出する。類似度算出部1514は、具体的には、比較部1518とスコア算出部1519とを含む構成となっている。
比較部1518は、未検証モデル要素抽出部1511によって抽出された未検証モデル要素と、検証済モデル要素抽出部1512によって抽出された検証済モデル要素とを比較する。具体的には、入力部1502によってUMLのユースケース図が入力された場合、分解部1515によって得られた単語に基づいて比較をおこなう。
たとえば、第19図に示した未検証モデル要素X1と第20図に示した検証済モデル要素A1とを比較すると、未検証モデル要素X1の単語「NTSC画像」は、検証済モデル要素A1の単語「ディジタルデータ」と一致しない。一方、未検証モデル要素X1の単語「入力する」は、検証済モデル要素A1の単語「入力する」と一致する。この場合は、両モデル要素X1,A1の一部が一致することとなる。
また、未検証モデル要素X3と検証済モデル要素A2とを比較すると、未検証モデル要素X3の単語「ディジタルデータ」は、検証済モデル要素A2の単語「ディジタルデータ」と一致する。同様に、未検証モデル記述X3の単語「書き込む」は、検証済モデル要素A2の単語「書き込む」と一致する。この場合は、両モデル要素X3,A2が完全一致する。
スコア算出部1519は、比較部1518によって比較された比較結果に基づいて、未検証モデル要素と検証済モデル要素との類似度をあらわすスコアを算出する。第21図は、単語どうしを比較した場合のスコアの条件と、その場合の基本スコアおよび関連スコアとの関係を示す図表である。基本スコアは、未検証モデル要素と検証済モデル要素とを比較したときに加算または乗算されるスコアである。
また、関連スコアは、比較部1518による比較によって特定の条件に合致した場合に追加して加算されるスコアである。このスコアは、検証済システムごとの未検証システムとの類似度をあらわしており、設計者は、所定値以下のスコアの場合は非類似、所定値よりも大きいスコアの場合は類似と判断することができる。また、検証済システムのスコアのうち、上位k番目までを類似とし、k+1番目以下を非類似と判断することもできる。また、一番高いスコアの検証済システムが未検証システムに最も類似している。
つぎに、未検証システムXと比較対象になった検証済システムとスコアとの関係について説明する。第22図は、未検証システムXと比較対象になった検証済システムAとスコアとの関係を示す説明図であり、第23図は、未検証システムXと比較対象になった検証済システムBとスコアとの関係を示す説明図である。
第22図および第23図において、各検証済モデル要素A1,A2,B1〜B4は、それぞれ未検証モデル要素X1〜X3と比較することによって、スコア算出部1519によって算出されたスコアを得る。
たとえば、第22図の検証済モデル要素A1については、未検証モデル要素X3と比較した場合、検証済モデル要素A1の単語「ディジタルデータ」は、未検証モデル要素X3の単語「ディジタルデータ」と一致するため、第21図に示した「単語が一致した場合」に該当し、基本スコア「1」が加算される。一方、未検証モデル要素X1、X2とは、単語が一致しないので、基本スコアは加算されない。したがって、検証済モデル要素A1の単語「ディジタルデータ」の基本スコアは「1」となる。
また、第22図の検証済モデル要素A1については、未検証モデル要素X1と比較した場合、検証済モデル要素A1の単語「入力する」は、未検証モデル要素X1の単語「入力する」と一致するため、第21図の図表に示した「単語が一致した場合」に該当し、基本スコア「1」が加算される。
同様に、未検証モデル要素X2と比較した場合、検証済モデル要素A1の単語「入力する」は、未検証モデル要素X2の単語「入力する」と一致するため、第21図に示した「単語が一致した場合」に該当し、基本スコア「1」が加算される。一方、未検証モデル要素X3とは、単語が一致しないので、基本スコアは加算されない。したがって、検証済モデル要素A1の単語「入力する」の基本スコアは「2」となる。
また、検証済モデル要素A1には、第21図において示した関連スコアが加算されるスコアの条件に合致しないため、関連スコアは「0」である。したがって、基本スコアと関連スコアとのスコア小計は「3」である。
つぎに、第22図の検証済モデル要素A2については、未検証モデル要素X3と比較した場合、検証済モデル要素A2の単語「ディジタルデータ」は、未検証モデル要素X3の単語「ディジタルデータ」と一致するため、第21図の図表に示した「単語が一致した場合」に該当し、基本スコア「1」が加算される。同様に、検証済モデル要素A2の単語「書き込む」は、未検証モデル要素X3の単語「書き込む」と一致するため、第21図の図表に示した「単語が一致した場合」に該当し、基本スコア「1」が加算される。
また、検証済モデル要素A2は、第21図において示した関連スコアが加算されるスコアの条件「一つの未検証モデル要素においてすべての単語が一致した場合」に合致するため、関連スコアを加算することができる。また、単語の総数n=2であるから、加算される関連スコアは「2」である。したがって、検証済モデル要素A2における基本スコアと関連スコアとのスコア小計は「4」である。
これにより、未検証のシステムXに対する検証済のシステムAの類似度を示すスコアは、検証済モデル要素A1,A2のスコア小計の値の合計値、すなわち、「7」となる。
また、第23図に示した検証済モデル要素B1〜B4と、未検証モデル要素X1、X2と比較した場合、いずれの単語も一致しないため、第21図に示した図表のスコア条件に合致しない。しがたって、未検証のシステムXに対する検証済のシステムBの類似度を示すスコアは、「0」である。
つぎに、未検証のシステムXと検証済のシステムA,Bとの関係について説明する。第24図は、未検証のシステムXと検証済のシステムA,Bとの関係を示す説明図である。第24図において、未検証のシステムXと検証済のシステムA,Bとを結ぶ細線は、未検証モデル要素と検証済モデル要素とが一部一致していることを示し、太線は全部一致していることを示している。第24図では、未検証モデル要素X1〜X3は、検証済モデル要素A1と一部一致しているため、細線で結ばれているが、全部一致ではないため関連スコアは「0」である。一方、未検証モデル要素X3と検証済モデル要素A2とは全部一致しているため、第21図に示したように関連スコアは「2」となる。
一方、未検証モデル要素X1〜X3は、検証済モデル要素B1〜B4のいずれにも一致していないため、細線、太線のいずれも結ばれていない。したがって、この図からもシステムBは、類似度を示すスコアが「0」であることがわかり、システムXと非類似となる。
つぎに、この発明の検証支援装置の実施の形態にかかる検索結果表示例について説明する。第25図は、この発明の検証支援装置の実施の形態にかかる検索結果表示例を示す説明図である。第25図において、検索画面2500は、第1図に示したディスプレイ108に表示される。また、プリンタ113によって出力することもできる。この検索画面2500は、フレーム2501とフレーム2502とフレーム2503とを有している。フレーム2501には、検索結果として最も類似度を示すスコアが高い検索システム名とそのスコアとを表示されている。
また、フレーム2502には、検索結果一覧2504が表示されている。この検索結果一覧には、類似度を示すスコアの高い順に検証済のシステム名が表示されている。さらに、フレーム2503には、検索結果として最も類似度を示すスコアが高い検索システムの検証方針2505、検証項目2506、検証方式2507、コスト情報2508および検証環境2509が表示されている。
つぎに、検証済のシステムのユースケース図が同一で、シーケンス図および配置図が異なる場合の例について説明する。第26図は、検証済のシステムCについてのシーケンス図であり、第27図は、検証済のシステムCについての配置図である。なお、この検証済のシステムCのユースケース図は、第3図に示した検証済のシステムAについてのユースケース図と同一であるため省略する。
第26図のシーケンス図では、検証済システムCにおけるデータのやり取りを時系列であらわしている。第26図において、シーケンス番号1によって、アクター301であるディジタルデータ入力装置からオブジェクト2601である制御ASICに対して、検証済モデル要素であるイベント「データ入力(ディジタルデータ)」をおこなう。そして、シーケンス番号1.1.によって、オブジェクト2601である制御ASICからオブジェクト2602であるRAMに対して、検証済モデル要素であるイベント「書き込み(ディジタルデータ)」をおこなう。
また、シーケンス番号1.2.によって、オブジェクト2601である制御ASICからオブジェクト2602であるRAMに対して、検証済モデル要素であるイベント「読み出し()」をおこなう。このときのガード条件は[RAMがFULL]である。
つぎに、シーケンス番号1.3.によって、オブジェクト2601である制御ASICからオブジェクト2603であるSCSI−Controllerに対し、検証済モデル要素であるイベント「SCSIへの書き込み(ディジタルデータ)」をおこなう。このときのガード条件は[RAMがFULL]である。そして、シーケンス番号1.3.1.によって、オブジェクト2603であるSCSI−Controllerからアクター304であるSCSI−HD装置に対し、検証済モデル要素であるイベント「SCSI−HDに出力(ディジタルデータ)」をおこなう。
また、第27図の配置図では、システムCの物理的な構成をあらわしている。第27図において、ノード2701は制御ASICをあらわす検証済モデル要素であり、ノード2702はRAMをあらわす検証済モデル要素であり、ノード2703はSCSI−Controllerをあらわす検証済モデル要素である。
また、リンク2704はノード501とノード2701を連結する制御Interfaceをあらわす検証済モデル要素であり、リンク2705はノード2701とノード2702を連結するRAMInterfaceをあらわす検証済モデル要素であり、リンク2706は、ノード2701とノード2703を連結するSCSI制御Interfaceをあらわす検証済モデル要素であり、リンク2707は、ノード2703とノード503を連結するSCSIをあらわす検証済モデル要素である。
つぎに、未検証のシステムXの仕様記述の記述内容がUMLのシーケンス図であった場合における、検証済のシステムA,Cの検証済モデル要素およびそのスコアとの関係について説明する。第28図は、未検証のシステムXの仕様記述がUMLのシーケンス図であった場合における、未検証のシステムXの検証済イベント組を示す説明図であり、第29図は、検証済のシステムAの検証済モデル要素およびそのスコアとの関係を示す説明図であり、第30図は、検証済のシステムCの検証済モデル要素およびそのスコアとの関係を示す説明図である。
第28図において、未検証モデル要素組X11は、第17図に示したシーケンス番号1のイベント「信号入力」と、シーケンス番号1.1.のイベント「ディジタルデータに変換(入力信号)」とが組み合わさったイベント組である。また、未検証モデル要素組X12は、シーケンス番号1.1.のイベント「ディジタルデータに変換(入力信号)」と、シーケンス番号1.2.のイベント「SCSI−HDに出力(ディジタルデータ)」とが組み合わさったイベント組である。
また、第29図において、検証済モデル要素組A11は、第4図に示したシーケンス番号1のイベント「データ入力(ディジタルデータ)」と、シーケンス番号1.1.のイベント「SCSI−HDに出力(ディジタルデータ)」とが組み合わさったイベント組である。
この検証済モデル要素組A11と未検証モデル要素組X12とを比較した場合、第29図に示したように、イベント「SCSI−HDに出力(ディジタルデータ)」のみが一致するため、基本スコアが「1」、関連スコアが「0」となり、スコア合計は「1」となる。
同様に、この検証済モデル要素組C11〜C14と未検証モデル要素組X12とを比較した場合、第30図に示したように、検証済モデル要素組C11〜C13についてはスコア小計が「0」、イベント組C14については、イベント「SCSI−HDに出力(ディジタルデータ)」のみが一致し、かつ、ガード条件「[RAMがFULL]」があるため、基本スコアが「0.5」、関連スコアが「0」となり、スコア小計は「0.5」となる。したがって、検証済のシステムCについてのスコア合計は、「0.5」となる。これにより、システム内のデータの流れに関しては、検証済のシステムAが検証済のシステムCよりもシステムXに類似していることが分かる。
つぎに、未検証のシステムXの仕様記述の記述内容がUMLの配置図であった場合における、検証済のシステムA,Cの検証済モデル要素およびそのスコアとの関係について説明する。第31図は、未検証のシステムXの仕様記述がUMLの配置図であった場合における、未検証のシステムXの未検証モデル要素組を示す説明図であり、第32図は、検証済のシステムAの検証済モデル要素およびそのスコアとの関係を示す説明図であり、第33図は、検証済のシステムCの検証済モデル要素およびそのスコアとの関係を示す説明図である。
第31図において、配置組である未検証モデル要素組は、第5図に示した配置図において連結されているノードおよびリンクの組み合わさったモデル要素組である。未検証モデル要素組X21は、第18図に示したノード1801とリンク1805が組み合わさった配置組であり、未検証モデル要素組X22は、第18図に示したノード1802とリンク1806が組み合わさった配置組であり、未検証モデル要素組X24は、第18図に示したノード1803とリンク1807が組み合わさった配置組であり、未検証モデル要素組X25は、第18図に示したリンク1807とノード1804が組み合わさった配置組である。
また、第32図において、検証済のシステムAの検証済モデル要素組A21は、第5図に示したノード501とリンク504が組み合わさった配置組であり、検証済モデル要素組A22は、第5図に示したノード502とリンク505が組み合わさった配置組であり、検証済モデル要素組A23は、第5図に示したノード505とリンク503が組み合わさった配置組である。
ここで、システムAの検証済モデル要素組A21〜A24を第31図に示したシステムXの未検証モデル要素組X21〜X25と比較すると、検証済モデル要素組A21は、いずれの検証済モデル要素組X21〜X25とも一致しないため、基本スコアが「0」となる。
検証済モデル要素組A22は、未検証モデル要素組X23と一致するため、基本スコアは「1」となる。検証済モデル要素組A23は、未検証モデル要素組X24と一致するため、基本スコアは「1」となる。検証済モデル要素組A24は、未検証モデル要素組X25と一致するため、基本スコアは「1」となる。したがって、検証済のシステムAのスコア合計は、「3」となる。
また、第33図において、検証済のシステムCの検証済モデル要素組C21は、第27図に示したノード501とリンク2704が組み合わさった配置組であり、検証済モデル要素組C22は、第27図に示したリンク2704とノード2701が組み合わさった配置組であり、検証済モデル要素組C23は、第27図に示したノード2701とリンク2705が組み合わさった配置組であり、検証済モデル要素組C24は、第27図に示したリンク2705とノード2702が組み合わさった配置組であり、検証済モデル要素組C25は、第27図に示したノード2701とリンク2706が組み合わさった配置組であり、検証済モデル要素組C26は、第27図に示したリンク2706とノード2703が組み合わさった配置組であり、検証済モデル要素組C27は、第27図に示したノード2703とリンク2707が組み合わさった配置組であり、検証済モデル要素組C28は、第27図に示したリンク2707とノード503が組み合わさった配置組である。
ここで、システムCの検証済モデル要素組C21〜C28を第31図に示したシステムXの未検証モデル要素組X21〜X25と比較すると、検証済モデル要素組C21〜C27は、いずれの未検証モデル要素組X21〜X25とも一致しないため、基本スコアが「0」となる。一方、検証済モデル要素組C28は、未検証モデル要素組X25と一致するため、基本スコアは「1」となる。したがって、検証済のシステムCのスコア合計は、「1」となる。これにより、システムのハードウェア構成に関しては、検証済のシステムAが検証済のシステムCよりもシステムXに類似していることが分かる。
(検証支援装置の検証支援処理手順)
つぎに、この発明の実施の形態にかかる検証支援装置の検証支援処置手順について説明する。第34図〜第37図は、この発明の実施の形態にかかる検証支援装置の検証支援処置手順を示すフローチャートである。
第34図において、未検証のシステムのUMLが入力された場合(ステップS3401:Yes)、入力されたUMLがユースケース図であるか否かを判定する(ステップS3402)。ユースケース図でない場合(ステップS3402:No)、入力されたUMLがシーケンス図であるか否かを判定する(ステップS3403)。シーケンス図でない場合(ステップS3403:No)、入力されたUMLが配置図であるか否かを判定する(ステップS3404)。配置図でない場合(ステップS3404:No)、ステップS3402に戻る。
入力されたUMLがユースケース図である場合(ステップS3402:Yes)、第35図において、入力されたユースケース図から未検証モデル要素を抽出する(ステップS3501)。そして、分解部1515によって抽出された未検証モデル要素を示す文章を単語に分解し(ステップS3502)、i=1に設定する(ステップS3503)。そして、記憶部1501から、i番目の検証済システムのユースケース図があるか否かを検索する(ステップS3504)。ユースケース図がない場合(ステップS3504:No)、iを1つインクリメントし(ステップS3505)、ステップS3504に戻る。
i番目の検証済システムのユースケース図がある場合(ステップS3504:Yes)、記憶部1501からi番目の検証済システムのユースケース図を抽出する(ステップS3506)。そして、抽出されたユースケース図から検証済モデル要素を抽出し(ステップS3507)、その文章を単語に分解する(ステップS3508)。
そして、未検証モデル要素と検証済モデル要素とを比較する(ステップS3509)。この比較は、分解された単語どうしでおこなう。このあと、比較結果に基づいて、i番目の検証済システムのスコアを算出する(ステップS3510)。iが記憶部1501に記憶されている検証済システムの総数Nと一致しない場合(ステップS3511:No)、iを1つインクリメントして(ステップS3512)、ステップS3504に戻る。
一方、iが記憶部1501に記憶されている検証済システムの総数Nと一致した場合(ステップS3511:Yes)、記憶部1501から、スコアが最大となる検証済システムの論理検証内容を抽出する(ステップS3513)。そして、抽出した論理検証内容を出力し(ステップS3514)、ディスプレイ108に表示する。
また、第34図において、入力されたUMLがシーケンス図である場合(ステップS3403:Yes)、第36図において、入力されたシーケンス図から未検証モデル要素を抽出する(ステップS3601)。そして、連続するシーケンス番号の未検証モデル要素を一つのイベント組とし(ステップS3602)、i=1に設定する(ステップS3603)。そして、記憶部1501から、i番目の検証済システムのシーケンス図があるか否かを検索する(ステップS3604)。シーケンス図がない場合(ステップS3604:No)、iを1つインクリメントし(ステップS3605)、ステップS3604に戻る。
i番目の検証済システムのシーケンス図がある場合(ステップS3604:Yes)、記憶部1501からi番目の検証済システムのシーケンス図を抽出する(ステップS3606)。そして、抽出されたユースケース図から検証済モデル要素を抽出し(ステップS3607)、連続するシーケンス番号の検証済モデル要素を一つのイベント組とする(ステップS3608)。
そして、イベント組となった未検証モデル要素と検証済モデル要素とを比較する(ステップS3609)。このあと、比較結果に基づいて、i番目の検証済システムのスコアを算出する(ステップS3610)。iが記憶部1501に記憶されている検証済システムの総数Nと一致しない場合(ステップS3611:No)、iを1つインクリメントして(ステップS3612)、ステップS3604に戻る。
一方、iが記憶部1501に記憶されている検証済システムの総数Nと一致した場合(ステップS3611:Yes)、記憶部1501から、スコアが最大となる検証済システムの論理検証内容を抽出する(ステップS3613)。そして、抽出した論理検証内容を出力し(ステップS3614)、ディスプレイ108に表示する。
また、第34図において、入力されたUMLが配置図である場合(ステップS3404:Yes)、第37図において、入力された配置図から未検証モデル要素を抽出する(ステップS3701)。そして、連続するシーケンス番号の未検証モデル要素組を一つの配置組とし(ステップS3702)、i=1に設定する(ステップS3703)。そして、記憶部1501から、i番目の検証済システムの配置図があるか否かを検索する(ステップS3704)。配置図がない場合(ステップS3704:No)、iを1つインクリメントし(ステップS3705)、ステップS3704に戻る。
i番目の検証済システムの配置図がある場合(ステップS3704:Yes)、記憶部1501からi番目の検証済システムの配置図を抽出する(ステップS3706)。そして、抽出された配置図から、検証済モデル要素であるノードとリンクを抽出し(ステップS3707)、連続する連結されているノードおよびリンクを一つの配置組とする(ステップS3708)。
そして、配置組となった未検証モデル要素と検証済モデル要素とを比較する(ステップS3709)。このあと、比較結果に基づいて、i番目の検証済システムのスコアを算出する(ステップS3710)。iが記憶部1501に記憶されている検証済システムの総数Nと一致しない場合(ステップS3711:No)、iを1つインクリメントして(ステップS3712)、ステップS3704に戻る。
一方、iが記憶部1501に記憶されている検証済システムの総数Nと一致した場合(ステップS3711:Yes)、記憶部1501から、スコアが最大となる検証済システムの論理検証内容を抽出する(ステップS3713)。そして、抽出した論理検証内容を出力し(ステップS3714)、ディスプレイ108に表示する。
これにより、入力されたUMLのダイアグラムにしたがって、未検証のUMLと検証済のUMLとの類似度を点数化して算出することができ、最も類似度の高い検証済システムについておこなった論理検証内容を、設計者に提供することができる。
また、上述した実施の形態では、仕様記述としてUMLの表記として、ユースケース図、シーケンス図および配置図を用いて説明したが、そのほかにも、クラス図、オブジェクト図、コラボレーション図、ステートチャート図、アクティビティ図、パッケージ図またはコンポーネント図を用いることとしてもよい。
また、上述した実施の形態では、検証済の仕様記述およびその論理検証内容を記憶部1501に記憶することとしているが、検証をおこなっていない一般的な仕様記述およびその論理検証内容を記憶することとしてもよい。また、未検証の設計対象の入力の際に、その名称を入力することとしてもよい。
以上説明したように、この実施の形態にかかる検証支援装置によれば、設計対象となるシステムにおこなわれる論理検証の費用の低減を図ることができる。またこれにより、論理検証にかかる費用の予測が外れた場合の損失についても低減することができる。したがって、この論理検証の費用および損失の低減により、安価なLSIを市場に供給することができる。
また、論理検証作業に必要な費用の予測を設計者がすべておこなう必要がないため、設計者の負担を軽減することができ、またこれにより、作業労力の軽減および論理検証作業の工期の短縮化を図ることができる。
さらに、セクションごとに保管されている論理検証内容をセクション間で共有することができる。これにより、設計資産を流用することができ、作業労力の軽減および論理検証作業の工期の短縮化を図ることができる。
また、従来は、論理検証費用の予測については、セクションリーダなどの熟練した設計者がおこなっていたが、この検証支援装置を用いることにより、熟練者でなくても論理検証費用の予測を簡単におこなうことができる。
以上説明したように、本発明によれば、未検証設計対象の仕様記述と近似する仕様記述にしたがって設計された検証済設計対象を特定することができ、この検証済設計対象についておこなわれた論理検証内容を得ることができる。これにより、論理検証作業の低コスト化および作業時間の短縮化を実現することができるという効果を奏する。
なお、本実施の形態で説明した検証支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
以上のように本発明は、ハードウェアやソフトウェアによって構成されたシステムの検証を支援する検証支援装置、検証支援方法、検証支援プログラムおよびそのプログラムを記録した記録媒体を提供することに適している。
第1図は、この発明の実施の形態にかかる検証支援装置のハードウェア構成を示すブロック図である。 第2図は、この発明の実施の形態にかかる検証資産データベースの記憶内容を示す説明図である。 第3図は、検証済のシステムAについてのユースケース図である。 第4図は、検証済のシステムAについてのシーケンス図である。 第5図は、検証済のシステムAについての配置図である。 第6図は、検証済のシステムAについての検証方針、検証項目および検証方式を示す説明図である。 第7図は、検証済のシステムAについてのコスト情報を示す説明図である。 第8図は、検証済のシステムAについての検証環境を示す説明図である。 第9図は、検証済のシステムBについてのユースケース図である。 第10図は、検証済のシステムBについてのシーケンス図である。 第11図は、検証済のシステムBについての配置図である。 第12図は、検証済のシステムBについての検証方針、検証項目および検証方式を示す説明図である。 第13図は、検証済のシステムBについてのコスト情報を示す説明図である。 第14図は、検証済のシステムBについての検証環境を示す説明図である。 第15図は、この発明の実施の形態にかかる検証支援装置の機能的構成を示すブロック図である。 第16図は、未検証のシステムXについてのユースケース図である。 第17図は、未検証のシステムXについてのシーケンス図である。 第18図は、未検証のシステムXについての配置図である。 第19図は、未検証モデル要素を示す文章を分解した一例を示す説明図である。 第20図は、検証済モデル要素を示す文章を分解した一例を示す説明図である。 第21図は、単語どうしを比較した場合のスコアの条件と、その場合の基本スコアおよび関連スコアとの関係を示す図表である。 第22図は、未検証システムXと比較対象になった検証済システムAとスコアとの関係を示す説明図である。 第23図は、未検証システムXと比較対象になった検証済システムBとスコアとの関係を示す説明図である。 第24図は、未検証のシステムXと検証済のシステムA,Bとの関係を示す説明図である。 第25図は、この発明の検証支援装置の実施の形態にかかる検索結果表示例を示す説明図である。 第26図は、検証済のシステムCについてのシーケンス図である。 第27図は、検証済のシステムCについての配置図である。 第28図は、未検証のシステムXの仕様記述がUMLのシーケンス図であった場合における、未検証のシステムXの検証済イベント組を示す説明図である。 第29図は、検証済のシステムAの検証済モデル要素およびそのスコアとの関係を示す説明図である。 第30図は、検証済のシステムCの検証済モデル要素およびそのスコアとの関係を示す説明図である。 第31図は、未検証のシステムXの仕様記述がUMLの配置図であった場合における、未検証のシステムXの未検証モデル要素組を示す説明図である。 第32図は、検証済のシステムAの検証済モデル要素およびそのスコアとの関係を示す説明図である。 第33図は、検証済のシステムCの検証済モデル要素およびそのスコアとの関係を示す説明図である。 第34図は、この発明の実施の形態にかかる検証支援装置の検証支援処置手順を示すフローチャート(その1)である。 第35図は、この発明の実施の形態にかかる検証支援装置の検証支援処置手順を示すフローチャート(その2)である。 第36図は、この発明の実施の形態にかかる検証支援装置の検証支援処置手順を示すフローチャート(その3)である。 第37図は、この発明の実施の形態にかかる検証支援装置の検証支援処置手順を示すフローチャート(その4)である。
符号の説明
200 検証資産データベース
221 ユースケース図
222 シーケンス図
223 配置図
1500 検証支援装置
1501 記憶部
1502 入力部
1503 検索部
1504 論理検証内容抽出部
1505 出力部
1511 未検証モデル要素抽出部
1512 検証済モデル要素抽出部
1513 加工部
1514 類似度算出部
1515 分解部
1516 組生成部
1517 設定部
1518 比較部
1519 スコア算出部
本発明は、LSI設計における論理検証作業を支援する検証支援装置、検証支援方法、検証支援プログラムおよび該プログラムを記録した記録媒体に関する。
LSI設計では、ハードウェアやソフトウェアによって構成された設計対象システムの論理検証をおこなう場合、論理検証の方式、論理検証に必要なデータや環境、およびそれらの入手(開発や購入、導入)のための費用に関しては、各セクション内のリーダなどの経験者がその経験に照らして予測を立て、それにしたがって論理検証計画を決定するのが一般的である。
しかしながら、LSIが正常に動作するか否かを検証する論理検証作業が必要不可欠であり、特に、大規模化、高機能化、高速化および低消費電力化が要求されているLSIについては、高品質を維持するためにもこの論理検証作業は重要である一方、従来から設計期間の短縮による作業効率化が要求されている。このLSIの大規模化、高機能化、高速化および低消費電力化にともない、設計対象システムの種類や規模が増大するため、全体として論理検証の費用が増大してしまうという問題点があった。
また、この論理検証に費やされる費用が増大するにしたがって、論理検証にかかる上記経験者の費用の予測が外れた場合のリスク増大が問題となる。したがって、LSI設計において、この論理検証の費用が増大したり、それにともなうリスクが発生すると、その分の費用が製品価格に上乗せされる場合もあり、論理検証の費用の増大やリスクがなかった場合にくらべて、LSIの価格が高価になるという問題があった。
これをできる限り回避するために、各設計対象システムの仕様からどの程度の論理検証が必要で費用がどの程度になるのかといった論理検証に関する情報を多くの経験から導いて、予測誤差を最小限にとどめる作業をおこなうことも考えられる。
しかしながら、このような作業を実際におこなおうとすると、設計者の負担が増大して、論理検証作業に支障をきたすこととなり、結果的に作業労力が増大し、論理検証作業の長期化を招くという問題点があった。
また、過去におこなった論理検証に関する情報は、セクションごとに保管されるのが一般的である。このため、一のセクションにおいて設計されたシステムの論理検証が、他のセクションによって過去におこなわれた論理検証に関する情報と同一または類似する場合、一のセクションの設計者は、他のセクションの論理検証に関する情報を発見することは非常に困難なため流用することができず、論理検証に関する情報をセクション間で共有することができないという問題点があった。
本発明は、上記問題点に鑑みてなされたものであって、論理検証作業の低コスト化および作業時間の短縮化を実現する検証支援装置、検証支援方法、検証支援プログラムおよび該プログラムを記録した記録媒体を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明の検証支援装置、検証支援方法、検証支援プログラムおよび該プログラムを記録した記録媒体は、未検証モデル要素によって構成された、未検証設計対象をあらわすUMLの未検証仕様記述の入力を受け付け、入力された未検証仕様記述がUMLのどの表記に該当するかを判定し、前記未検証モデル要素および前記検証済モデル要素に基づいて、検証済モデル要素によって構成された、検証済設計対象をあらわす一または複数種類のUML表記の検証済仕様記述を当該検証済仕様記述についておこなわれた論理検証内容に関連付けて前記検証済設計対象ごとに記憶する記憶手段の中から、判定された前記未検証仕様記述の表記と同一表記でかつ、同一または類似の検証済仕様記述を検索し、前記記憶手段の中から、前記検索手段によって検索された検索結果に関連付けられている、前記検証済設計対象についておこなわれた論理検証内容を抽出し、抽出された論理検証内容を出力し、前記未検証仕様記述がユースケース図であると判定された場合、当該ユースケース図を構成するユースケース内の文章と前記記憶手段内のユースケース図を構成するユースケースの文章をそれぞれ単語に分解することによりユースケース図間の類似度を算出して、所定値よりも大きいユースケース図を、前記検索結果として出力し、前記未検証仕様記述がシーケンス図であると判定された場合、当該シーケンス図のシーケンス番号が連続するイベントの組み合わせと前記記憶手段内のシーケンス図のシーケンス番号が連続するイベントの組み合わせを比較することによりシーケンス図間の類似度を算出して、所定値よりも大きいシーケンス図を、前記検索結果として出力し、前記未検証仕様記述が配置図であると判定された場合、当該配置図の連結しあうノードおよびリンクの組み合わせと前記記憶手段内の配置図の連結しあうノードおよびリンクの組み合わせを比較することにより配置図間の類似度を算出して、所定値よりも大きい配置図を、前記検索結果として出力することを特徴とする。
この発明によれば、未検証設計対象の仕様記述と近似する仕様記述にしたがって設計された検証済設計対象を特定することができる。したがって、この検証済設計対象についておこなわれた論理検証内容を得ることができる。
また、前記文章を分解することによって得られる単語に重み付けし、前記未検証仕様記述がユースケース図であると判定された場合、当該ユースケース図を構成するユースケース内の文章と前記記憶手段内のユースケース図を構成するユースケースの文章をそれぞれ単語に分解して重み付けをおこなうことによりユースケース図間の類似度を算出して、所定値よりも大きいユースケース図を、前記検索結果として出力することとしてもよい。
また、前記論理検証内容は、少なくとも、論理検証の方針、論理検証する項目、論理検証方式、論理検証に必要なコスト情報または前記検証済設計対象について論理検証をおこなったときに用いられたツールを示す論理検証環境のいずれか一つを含むこととしてもよい。
本発明にかかる検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体によれば、未検証設計対象の仕様記述と近似する仕様記述にしたがって設計された検証済設計対象を特定することができ、この検証済設計対象についておこなわれた論理検証内容を得ることができる。これにより、論理検証作業の低コスト化および作業時間の短縮化を実現することができるという効果を奏する。
以下に、この発明の検証支援装置、検証支援方法、検証支援プログラムおよび該プログラムを記録した記録媒体の実施形態について図面を参照しつつ詳細に説明する。
(実施の形態)
(検証支援装置のハードウェア構成)
まず、この発明の実施の形態にかかる検証支援装置のハードウェア構成について説明する。第1図は、この発明の実施の形態にかかる検証支援装置のハードウェア構成を示すブロック図である。
第1図において、検証支援装置は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フレキシブルディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)107と、ディスプレイ108と、I/F(インターフェース)109と、キーボード110と、マウス111と、スキャナ112と、プリンタ113と、を備えている。また、各構成部はバス100によってそれぞれ接続されている。
ここで、CPU101は、検証支援装置の全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御にしたがってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。
FDD106は、CPU101の制御にしたがってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶したり、FD107に記憶されたデータを検証支援装置に読み取らせたりする。
着脱可能な記録媒体として、FD107のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ108は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F109は、通信回線を通じてインターネットなどのネットワーク114に接続され、このネットワーク114を介して他の装置に接続される。そして、I/F109は、ネットワーク114と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F109には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード110は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス111は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ112は、画像を光学的に読み取り、検証支援装置内に画像データを取り込む。なお、スキャナ112は、OCR機能を持たせてもよい。また、プリンタ113は、画像データや文書データを印刷する。プリンタ113には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(検証資産データベースの記憶内容)
つぎに、この発明の実施の形態にかかる検証資産データベースの記憶内容について説明する。第2図は、この発明の実施の形態にかかる検証資産データベースの記憶内容を示す説明図である。第2図において、検証資産データベース200は、検証済システム名201、仕様記述内容202および論理検証内容203を含む構成となっている。
仕様記述としては、たとえばUMLが採用されており、検証済システムは、このUMLによって記述することができるユースケース図221、シーケンス図222および配置図223などのダイアグラムを記憶することができる。また、論理検証内容203とは、その検証済システムでおこなわれた論理検証の検証内容である。ここで、検証済システム名「システムA」を例に挙げて説明すると、検証内容には、検証方針231、検証項目232、検証方式233、コスト情報234および検証環境235が含まれている。
つぎに、第2図に示した検証資産データベース200に記憶されている検証済システム名「システムA」の記憶内容について説明する。第3図は、検証済のシステムAについてのユースケース図であり、第4図は、検証済のシステムAについてのシーケンス図であり、第5図は、検証済のシステムAについての配置図であり、第6図は、検証済のシステムAについての検証方針、検証項目および検証方式を示す説明図であり、第7図は、検証済のシステムAについてのコスト情報を示す説明図であり、第8図は、検証済のシステムAについての検証環境を示す説明図である。
第3図のユースケース図では、システムAの機能をあらわしている。第3図において、アクター301は、外部装置であるディジタルデータ入力装置をあらわす検証済モデル要素であり、ユースケース302は、システムA内のユースケース記述「ディジタルデータを入力する」をあらわす検証済モデル要素である。また、ユースケース303は、システムA内のユースケース記述「ディジタルデータを書き込む」をあらわす検証済モデル要素であり、アクター304は、外部装置であるSCSI−HD装置をあらわす検証済モデル要素である。
また、第4図のシーケンス図では、システムAにおけるデータのやり取りを時系列であらわしている。第4図において、シーケンス番号1によって、アクター301であるディジタルデータ入力装置からオブジェクト400であるシステムAに対して、検証済モデル要素となるイベント「データ入力(ディジタルデータ)」をおこなう。そして、シーケンス番号1.1.によって、オブジェクト400であるシステムAからアクター304であるSCSI−HD装置に対し、検証済モデル要素となるイベント「SCSI−HDに出力(ディジタルデータ)」をおこなう。
さらに、第5図の配置図では、システムAの物理的な構成をあらわしている。第5図において、ノード501はディジタルデータ入力装置をあらわす検証済モデル要素であり、ノード502はMPUをあらわす検証済モデル要素であり、ノード503はSCSI−HD装置をあらわす検証済モデル要素である。また、リンク504はノード501とノード502を連結するBUSをあらわす検証済モデル要素であり、リンク505はノード502とノード503を連結するSCSIをあらわす検証済モデル要素である。
また、第6図では、システムAの構成ごとに、検証方針601、検証項目602および検証方式603が示されている。検証方針601は、どのような手法によって論理検証をおこなうべきかをあらわしている。たとえば、SCSI−HD装置は、「インターフェース部のアサーションチェック」をおこなうべきであるとされている。
また、検証項目602は、検証内容の細目をあらわしている。たとえば、MPUは、「SCSIアクセス、BUSアクセス、初期化」という3つの検証項目があげられている。さらに、検証方式603は、実際に論理検証をおこなったときの手法をあらわしている。ディジタルデータ入力装置の論理検証は、「RTLシミュレーション」によっておこなわれたことをあらわしている。
また、第7図では、システムAの論理検証作業に要したコストをあらわすコスト情報が示されている。コスト情報700は、設備費用、工数、要員、リリース後発覚論理バグ数、リメーク回数などがあげられる。さらに、第8図では、システムAの論理検証作業をおこなったときの検証環境800が示されている。検証環境800は、検証済のシステムについて論理検証をおこなったときに用いられたツールを示している。
つぎに、第2図に示した検証資産データベース200に記憶されている検証済システム名「システムB」の記憶内容について説明する。第9図は、検証済のシステムBについてのユースケース図であり、第10図は、検証済のシステムBについてのシーケンス図であり、第11図は、検証済のシステムBについての配置図であり、第12図は、検証済のシステムBについての検証方針、検証項目および検証方式を示す説明図であり、第13図は、検証済のシステムBについてのコスト情報を示す説明図であり、第14図は、検証済のシステムBについての検証環境を示す説明図である。
第9図のユースケース図では、検証済のシステムBの機能をあらわしている。第9図において、アクター901は、外部装置であるNTSC信号パターン設定システムをあらわす検証済モデル要素であり、ユースケース902は、システムB内のユースケース記述「NTSC信号パターンを設定する」をあらわす検証済モデル要素である。
また、アクター903は、外部装置であるNTSC信号生成制御システムをあらわす検証済モデル要素であり、ユースケース904は、システムB内のユースケース記述「NTSC信号出力を開始する」をあらわす検証済モデル要素であり、ユースケース905は、システムB内のユースケース記述「NTSC信号出力を終了する」をあらわす検証済モデル要素である。さらに、ユースケース906は、システムB内のユースケース記述「NTSC信号を出力する」をあらわす検証済モデル要素であり、アクター907は、外部装置であるNTSC信号入力システムをあらわす検証済モデル要素である。
また、第10図のシーケンス図では、検証済のシステムBにおけるデータのやり取りを時系列であらわしている。第10図において、シーケンス番号1によって、アクター901であるNTSC信号パターン設定システムからオブジェクト1000であるシステムBに対して、検証済モデル要素であるイベント「NTSC信号パターン設定」をおこなう。
つぎに、シーケンス番号2によって、アクター903であるNTSC信号生成制御システムからオブジェクト1000であるシステムBに対して、検証済モデル要素であるイベント「信号生成開始」をおこなう。そして、シーケンス番号2.1.によって、オブジェクト1000であるシステムBからアクター907であるNTSC信号入力システムに対して、検証済モデル要素であるイベント「信号生成」をおこなう。また、シーケンス番号3によって、アクター903であるNTSC信号生成制御システムからオブジェクト1000であるシステムBに対して、検証済モデル要素であるイベント「信号生成停止」をおこなう。
さらに、第11図の配置図では、検証済のシステムBの物理的な構成をあらわしている。第11図において、ノード1101はNTSC信号パターン設定システムをあらわしており、ノード1102はNTSC信号生成制御システムをあらわす検証済モデル要素であり、ノード1103はシステムBであるNTSC信号出力システムをあらわす検証済モデル要素であり、ノード1104はNTSC信号入力システムをあらわす検証済モデル要素である。
また、リンク1105はノード1101とノード1103を連結する信号ケーブルをあらわす検証済モデル要素であり、リンク1106はノード1102とノード1103を連結する信号ケーブルをあらわす検証済モデル要素であり、リンク1107はノード1103とノード1104を連結する信号ケーブルをあらわす検証済モデル要素である。
また、第12図では、システムBであるNTSC信号出力システムの検証方針1201、検証項目1202および検証方式1203が示されている。また、第13図では、システムBの論理検証作業に要したコストをあらわすコスト情報1300が示されている。さらに、第14図では、システムBの論理検証作業をおこなったときの検証環境1400が示されている。
(検証支援装置の機能的構成)
つぎに、この発明の実施の形態にかかる検証支援装置の機能的構成について説明する。第15図は、この発明の実施の形態にかかる検証支援装置の機能的構成を示すブロック図である。第15図において、検証支援装置1500は、記憶部1501と、入力部1502と、検索部1503と、論理検証内容抽出部1504と、出力部1505とを含む構成となっている。
記憶部1501は、論理検証がおこなわれた検証済のシステムを記述したUMLおよびその論理検証内容を記憶する。記憶部1501は、第2図において示した検証資産データベース200を含んでいる。この記憶部1501は、検証支援装置1500に設けられる構成としてもよく、また、第1図に示したインターネット、LAN、WANなどのネットワーク114を介して図示しない外部のサーバに設けられる構成としてもよい。また、記憶部1501は、具体的には、たとえば、第1図に示したROM102、RAM103、HD105、FD107などによってその機能を実現する。
入力部1502は、未検証モデル要素によって記述された、未検証設計対象をあらわす未検証仕様記述の入力を受け付ける。ここで、未検証設計対象は、たとえば、上述した、論理検証がおこなわれていない未検証のシステムXとすることができる。また、仕様記述は、設計対象の機能、処理、構造などをあらわすUML、またはそのUMLによって表現されたダイアグラムとすることができる。具体的には、たとえば、上述したUMLのユースケース図、シーケンス図または配置図などのダイアグラムによって表現することができる。
また、モデル要素は、設計対象をあらわすための、仕様記述を構成する図、記号、単語、文章またはそれらの集合であり、仕様記述としてUMLを用いる場合は、アクター、ユースケース、クラス、オブジェクト、イベント、ガード条件、ノード、リンクなどをあらわすことができる。
ここで、入力部1502によって入力される未検証仕様記述について第16図〜第18図を用いて説明する。第16図は、未検証のシステムXについてのユースケース図であり、第17図は、未検証のシステムXについてのシーケンス図であり、第18図は、未検証のシステムXについての配置図である。
第16図のユースケース図では、システムXの機能をあらわしている。第16図において、アクター1601は、外部装置であるNTSC画像入力装置をあらわすモデル要素であり、ユースケース1602は、システムX内のユースケース記述「NTSC画像を入力する」が記述されたモデル要素である。
また、アクター1603は、外部装置であるPAL画像入力装置をあらわすモデル要素であり、ユースケース1604は、システムX内のユースケース記述「PAL画像を入力する」が記述されたモデル要素である。さらに、ユースケース1605は、システムX内のユースケース記述「ディジタルデータを書き込む」が記述されたモデル要素であり、アクター1606は、外部装置であるSCSI−HD装置をあらわすモデル要素である。
また、第17図のシーケンス図では、システムXにおけるデータのやり取りを時系列であらわしている。第17図において、シーケンス番号1によって、アクター1601であるNTSC画像入力装置からオブジェクト1700であるシステムXに対して、モデル要素となるイベント「信号入力」をおこなう。
また、シーケンス番号1.1.によって、オブジェクト1700であるシステムXにおいて、モデル要素となるイベント「ディジタルデータに変換(入力信号)」をおこなう。そして、シーケンス番号1.2.によって、オブジェクト1700であるシステムXからアクター1606であるSCSI−HD装置に対し、モデル要素となるイベント「SCSI−HDに出力(ディジタルデータ)」をおこなう。
さらに、第18図の配置図では、システムXの物理的な構成をあらわしている。第18図において、ノード1801はNTSC画像入力装置をあらわすモデル要素であり、ノード1802はPAL画像入力装置をあらわすモデル要素であり、ノード1803はMPUをあらわすモデル要素であり、ノード1804はSCSI−HD装置をあらわすモデル要素である。
また、リンク1805はノード1801とノード1803を連結するBUSをあらわすモデル要素であり、リンク1806はノード1802とノード1803を連結するBUSをあらわすモデル要素である。リンク1807はノード1803とノード1804を連結するSCSIをあらわすモデル要素である。
また第15図において、検索部1503は、検証済モデル要素によって記述された、検証済設計対象をあらわす検証済仕様記述から、未検証モデル要素および検証済モデル要素に基づいて、入力部1502によって入力された未検証仕様記述と同一または類似の検証済仕様記述を検索する。ここで、未検証仕様記述と検証済仕様記述との同一、類似、非類似は、たとえば、未検証モデル要素と検証済モデル要素とが一致する数や、一致する数を点数化したスコアにより数値化することによってあらわすことができる。
また、検索部1503は、未使用仕様記述であるUMLが入力された場合、たとえば、その表記がユースケース図である場合は、入力されたユースケース図と同一または類似するユースケース図のUMLを、記憶部1501から検索することができる。なお、検索部1503の内部構成については後述する。
論理検証内容抽出部1504は、検索部1503によって検索された検証済のシステムについておこなわれた論理検証内容、すなわち、第2図に示した検証方針231、検証項目232、検証方式233、コスト情報234および検証環境235を記憶部1501から抽出する。また、出力部1505は、論理検証内容抽出部1504によって抽出された論理検証内容を出力する。
また、入力部1502、検索部1503、論理検証内容抽出部1504および出力部1505は、具体的には、たとえば、第1図に示したROM102、RAM103、HD105、FD107などに記録されたプログラムをCPU101が実行することによって、またはI/F109によって、その機能を実現する。
つぎに、検索部1503の内部構成について説明する。第15図において、検索部1503は、未検証モデル要素抽出部1511と、検証済モデル要素抽出部1512と、加工部1513と、類似度算出部1514とを含む構成とされている。
未検証モデル要素抽出部1511は、入力部1502によって入力された未検証仕様記述から未検証モデル要素を抽出する。たとえば、第16図に示したユースケース図が入力された場合、このユースケース図に記述されているユースケース記述である未検証モデル要素X1「NTSC画像を入力する」、未検証モデル要素X2「PAL画像を入力する」および未検証モデル要素X3「ディジタルデータを書き込む」を抽出する。
検証済モデル要素抽出部1512は、入力部1502によって未検証仕様記述が入力された場合、記憶部1501に記憶された検証済仕様記述から検証済モデル要素を抽出する。たとえば、入力部1502にユースケース図が入力された場合、検証済のシステムAを例に挙げると、第3図に示したユースケース記述である未検証モデル要素A1「ディジタルデータを入力する」およびユースケース記述である未検証モデル要素A2「ディジタルデータを書き込む」を抽出する。この検証済モデル要素の抽出は、記憶部1501に記憶されたすべての検証済仕様記述についておこなうことができる。
加工部1513は、未検証モデル要素と検証済モデル要素とをそれぞれ加工する。加工部1513は、分解部1515と組生成部1516とを含む構成となっている。分解部1515は、入力されたUMLがユースケース図である場合に分解をおこなう。また、組生成部1516は、入力されたUMLがシーケンス図や配置図である場合に後述するイベント組や配置組の生成をおこなう。
分解部1515は、未検証モデル要素抽出部1511によって抽出された未検証モデル要素を示す文章であるユースケース記述と、検証済モデル要素抽出部1512によって抽出された検証済モデル要素を示す文章であるユースケース記述とを、それぞれ単語に分解する。この分解部1515によって得られた単語は、名詞と動詞のみ採用され、「が」、「は」、「に」、「へ」、「を」などの助詞を示す単語は消去される。第19図は、未検証モデル要素を示す文章を分解した一例を示す説明図であり、第20図は、検証済モデル要素を示す文章を分解した一例を示す説明図である。
第19図において、たとえば、未検証モデル要素X1「NTSC画像を入力する」の場合、分解部1515はこの文章を単語ごとに区切って、「NTSC画像」と「を」と「入力する」とに分解する。単語「を」は助詞であるため消去され、「NTSC画像」と「入力する」とが採用される。
また、第20図において、検証済モデル要素A1「ディジタルデータを入力する」の場合、分解部1515はこの文章を文節ごとに区切って、「ディジタルデータ」と「を」と「入力する」とに分解する。単語「を」は助詞であるため消去され、「ディジタルデータ」と「入力する」とが採用される。また、ここで分解された単語には、重み設定部1517によって重み付けすることができる。たとえば、「入力する」という単語に基本スコアを「+1」するなど、重要視したい単語について重みをつけることとしてもよい。
また、組生成部1516は、未検証のシーケンス図が入力された場合、未検証モデル要素抽出部1511によって抽出された未検証モデル要素を示すイベントから、イベント組を生成する。また、同様に、検証済モデル要素抽出部1512によって抽出された検証済モデル要素を示すイベントから、イベント組を生成する。イベント組の具体例については後述する。
組生成部1516は、さらに、未検証の配置図が入力された場合、未検証モデル要素抽出部1511によって抽出された未検証モデル要素を示すノードおよびリンクから配置組を生成する。また、同様に、検証済モデル要素抽出部1512によって抽出された検証済モデル要素を示すノードおよびリンクから配置組を生成する。配置組の具体例についても後述する。
類似度算出部1514は、未検証モデル要素抽出部1511によって抽出された未検証モデル要素と、検証済モデル要素抽出部1512によって抽出された検証済モデル要素との類似度を算出する。類似度算出部1514は、具体的には、比較部1518とスコア算出部1519とを含む構成となっている。
比較部1518は、未検証モデル要素抽出部1511によって抽出された未検証モデル要素と、検証済モデル要素抽出部1512によって抽出された検証済モデル要素とを比較する。具体的には、入力部1502によってUMLのユースケース図が入力された場合、分解部1515によって得られた単語に基づいて比較をおこなう。
たとえば、第19図に示した未検証モデル要素X1と第20図に示した検証済モデル要素A1とを比較すると、未検証モデル要素X1の単語「NTSC画像」は、検証済モデル要素A1の単語「ディジタルデータ」と一致しない。一方、未検証モデル要素X1の単語「入力する」は、検証済モデル要素A1の単語「入力する」と一致する。この場合は、両モデル要素X1,A1の一部が一致することとなる。
また、未検証モデル要素X3と検証済モデル要素A2とを比較すると、未検証モデル要素X3の単語「ディジタルデータ」は、検証済モデル要素A2の単語「ディジタルデータ」と一致する。同様に、未検証モデル記述X3の単語「書き込む」は、検証済モデル要素A2の単語「書き込む」と一致する。この場合は、両モデル要素X3,A2が完全一致する。
スコア算出部1519は、比較部1518によって比較された比較結果に基づいて、未検証モデル要素と検証済モデル要素との類似度をあらわすスコアを算出する。第21図は、単語どうしを比較した場合のスコアの条件と、その場合の基本スコアおよび関連スコアとの関係を示す図表である。基本スコアは、未検証モデル要素と検証済モデル要素とを比較したときに加算または乗算されるスコアである。
また、関連スコアは、比較部1518による比較によって特定の条件に合致した場合に追加して加算されるスコアである。このスコアは、検証済システムごとの未検証システムとの類似度をあらわしており、設計者は、所定値以下のスコアの場合は非類似、所定値よりも大きいスコアの場合は類似と判断することができる。また、検証済システムのスコアのうち、上位k番目までを類似とし、k+1番目以下を非類似と判断することもできる。また、一番高いスコアの検証済システムが未検証システムに最も類似している。
つぎに、未検証システムXと比較対象になった検証済システムとスコアとの関係について説明する。第22図は、未検証システムXと比較対象になった検証済システムAとスコアとの関係を示す説明図であり、第23図は、未検証システムXと比較対象になった検証済システムBとスコアとの関係を示す説明図である。
第22図および第23図において、各検証済モデル要素A1,A2,B1〜B4は、それぞれ未検証モデル要素X1〜X3と比較することによって、スコア算出部1519によって算出されたスコアを得る。
たとえば、第22図の検証済モデル要素A1については、未検証モデル要素X3と比較した場合、検証済モデル要素A1の単語「ディジタルデータ」は、未検証モデル要素X3の単語「ディジタルデータ」と一致するため、第21図に示した「単語が一致した場合」に該当し、基本スコア「1」が加算される。一方、未検証モデル要素X1、X2とは、単語が一致しないので、基本スコアは加算されない。したがって、検証済モデル要素A1の単語「ディジタルデータ」の基本スコアは「1」となる。
また、第22図の検証済モデル要素A1については、未検証モデル要素X1と比較した場合、検証済モデル要素A1の単語「入力する」は、未検証モデル要素X1の単語「入力する」と一致するため、第21図の図表に示した「単語が一致した場合」に該当し、基本スコア「1」が加算される。
同様に、未検証モデル要素X2と比較した場合、検証済モデル要素A1の単語「入力する」は、未検証モデル要素X2の単語「入力する」と一致するため、第21図に示した「単語が一致した場合」に該当し、基本スコア「1」が加算される。一方、未検証モデル要素X3とは、単語が一致しないので、基本スコアは加算されない。したがって、検証済モデル要素A1の単語「入力する」の基本スコアは「2」となる。
また、検証済モデル要素A1には、第21図において示した関連スコアが加算されるスコアの条件に合致しないため、関連スコアは「0」である。したがって、基本スコアと関連スコアとのスコア小計は「3」である。
つぎに、第22図の検証済モデル要素A2については、未検証モデル要素X3と比較した場合、検証済モデル要素A2の単語「ディジタルデータ」は、未検証モデル要素X3の単語「ディジタルデータ」と一致するため、第21図の図表に示した「単語が一致した場合」に該当し、基本スコア「1」が加算される。同様に、検証済モデル要素A2の単語「書き込む」は、未検証モデル要素X3の単語「書き込む」と一致するため、第21図の図表に示した「単語が一致した場合」に該当し、基本スコア「1」が加算される。
また、検証済モデル要素A2は、第21図において示した関連スコアが加算されるスコアの条件「一つの未検証モデル要素においてすべての単語が一致した場合」に合致するため、関連スコアを加算することができる。また、単語の総数n=2であるから、加算される関連スコアは「2」である。したがって、検証済モデル要素A2における基本スコアと関連スコアとのスコア小計は「4」である。
これにより、未検証のシステムXに対する検証済のシステムAの類似度を示すスコアは、検証済モデル要素A1,A2のスコア小計の値の合計値、すなわち、「7」となる。
また、第23図に示した検証済モデル要素B1〜B4と、未検証モデル要素X1、X2と比較した場合、いずれの単語も一致しないため、第21図に示した図表のスコア条件に合致しない。しがたって、未検証のシステムXに対する検証済のシステムBの類似度を示すスコアは、「0」である。
つぎに、未検証のシステムXと検証済のシステムA,Bとの関係について説明する。第24図は、未検証のシステムXと検証済のシステムA,Bとの関係を示す説明図である。第24図において、未検証のシステムXと検証済のシステムA,Bとを結ぶ細線は、未検証モデル要素と検証済モデル要素とが一部一致していることを示し、太線は全部一致していることを示している。第24図では、未検証モデル要素X1〜X3は、検証済モデル要素A1と一部一致しているため、細線で結ばれているが、全部一致ではないため関連スコアは「0」である。一方、未検証モデル要素X3と検証済モデル要素A2とは全部一致しているため、第21図に示したように関連スコアは「2」となる。
一方、未検証モデル要素X1〜X3は、検証済モデル要素B1〜B4のいずれにも一致していないため、細線、太線のいずれも結ばれていない。したがって、この図からもシステムBは、類似度を示すスコアが「0」であることがわかり、システムXと非類似となる。
つぎに、この発明の検証支援装置の実施の形態にかかる検索結果表示例について説明する。第25図は、この発明の検証支援装置の実施の形態にかかる検索結果表示例を示す説明図である。第25図において、検索画面2500は、第1図に示したディスプレイ108に表示される。また、プリンタ113によって出力することもできる。この検索画面2500は、フレーム2501とフレーム2502とフレーム2503とを有している。フレーム2501には、検索結果として最も類似度を示すスコアが高い検索システム名とそのスコアとを表示されている。
また、フレーム2502には、検索結果一覧2504が表示されている。この検索結果一覧には、類似度を示すスコアの高い順に検証済のシステム名が表示されている。さらに、フレーム2503には、検索結果として最も類似度を示すスコアが高い検索システムの検証方針2505、検証項目2506、検証方式2507、コスト情報2508および検証環境2509が表示されている。
つぎに、検証済のシステムのユースケース図が同一で、シーケンス図および配置図が異なる場合の例について説明する。第26図は、検証済のシステムCについてのシーケンス図であり、第27図は、検証済のシステムCについての配置図である。なお、この検証済のシステムCのユースケース図は、第3図に示した検証済のシステムAについてのユースケース図と同一であるため省略する。
第26図のシーケンス図では、検証済システムCにおけるデータのやり取りを時系列であらわしている。第26図において、シーケンス番号1によって、アクター301であるディジタルデータ入力装置からオブジェクト2601である制御ASICに対して、検証済モデル要素であるイベント「データ入力(ディジタルデータ)」をおこなう。そして、シーケンス番号1.1.によって、オブジェクト2601である制御ASICからオブジェクト2602であるRAMに対して、検証済モデル要素であるイベント「書き込み(ディジタルデータ)」をおこなう。
また、シーケンス番号1.2.によって、オブジェクト2601である制御ASICからオブジェクト2602であるRAMに対して、検証済モデル要素であるイベント「読み出し()」をおこなう。このときのガード条件は[RAMがFULL]である。
つぎに、シーケンス番号1.3.によって、オブジェクト2601である制御ASICからオブジェクト2603であるSCSI−Controllerに対し、検証済モデル要素であるイベント「SCSIへの書き込み(ディジタルデータ)」をおこなう。このときのガード条件は[RAMがFULL]である。そして、シーケンス番号1.3.1.によって、オブジェクト2603であるSCSI−Controllerからアクター304であるSCSI−HD装置に対し、検証済モデル要素であるイベント「SCSI−HDに出力(ディジタルデータ)」をおこなう。
また、第27図の配置図では、システムCの物理的な構成をあらわしている。第27図において、ノード2701は制御ASICをあらわす検証済モデル要素であり、ノード2702はRAMをあらわす検証済モデル要素であり、ノード2703はSCSI−Controllerをあらわす検証済モデル要素である。
また、リンク2704はノード501とノード2701を連結する制御Interfaceをあらわす検証済モデル要素であり、リンク2705はノード2701とノード2702を連結するRAMInterfaceをあらわす検証済モデル要素であり、リンク2706は、ノード2701とノード2703を連結するSCSI制御Interfaceをあらわす検証済モデル要素であり、リンク2707は、ノード2703とノード503を連結するSCSIをあらわす検証済モデル要素である。
つぎに、未検証のシステムXの仕様記述の記述内容がUMLのシーケンス図であった場合における、検証済のシステムA,Cの検証済モデル要素およびそのスコアとの関係について説明する。第28図は、未検証のシステムXの仕様記述がUMLのシーケンス図であった場合における、未検証のシステムXの検証済イベント組を示す説明図であり、第29図は、検証済のシステムAの検証済モデル要素およびそのスコアとの関係を示す説明図であり、第30図は、検証済のシステムCの検証済モデル要素およびそのスコアとの関係を示す説明図である。
第28図において、未検証モデル要素組X11は、第17図に示したシーケンス番号1のイベント「信号入力」と、シーケンス番号1.1.のイベント「ディジタルデータに変換(入力信号)」とが組み合わさったイベント組である。また、未検証モデル要素組X12は、シーケンス番号1.1.のイベント「ディジタルデータに変換(入力信号)」と、シーケンス番号1.2.のイベント「SCSI−HDに出力(ディジタルデータ)」とが組み合わさったイベント組である。
また、第29図において、検証済モデル要素組A11は、第4図に示したシーケンス番号1のイベント「データ入力(ディジタルデータ)」と、シーケンス番号1.1.のイベント「SCSI−HDに出力(ディジタルデータ)」とが組み合わさったイベント組である。
この検証済モデル要素組A11と未検証モデル要素組X12とを比較した場合、第29図に示したように、イベント「SCSI−HDに出力(ディジタルデータ)」のみが一致するため、基本スコアが「1」、関連スコアが「0」となり、スコア合計は「1」となる。
同様に、この検証済モデル要素組C11〜C14と未検証モデル要素組X12とを比較した場合、第30図に示したように、検証済モデル要素組C11〜C13についてはスコア小計が「0」、イベント組C14については、イベント「SCSI−HDに出力(ディジタルデータ)」のみが一致し、かつ、ガード条件「[RAMがFULL]」があるため、基本スコアが「0.5」、関連スコアが「0」となり、スコア小計は「0.5」となる。したがって、検証済のシステムCについてのスコア合計は、「0.5」となる。これにより、システム内のデータの流れに関しては、検証済のシステムAが検証済のシステムCよりもシステムXに類似していることが分かる。
つぎに、未検証のシステムXの仕様記述の記述内容がUMLの配置図であった場合における、検証済のシステムA,Cの検証済モデル要素およびそのスコアとの関係について説明する。第31図は、未検証のシステムXの仕様記述がUMLの配置図であった場合における、未検証のシステムXの未検証モデル要素組を示す説明図であり、第32図は、検証済のシステムAの検証済モデル要素およびそのスコアとの関係を示す説明図であり、第33図は、検証済のシステムCの検証済モデル要素およびそのスコアとの関係を示す説明図である。
第31図において、配置組である未検証モデル要素組は、第5図に示した配置図において連結されているノードおよびリンクの組み合わさったモデル要素組である。未検証モデル要素組X21は、第18図に示したノード1801とリンク1805が組み合わさった配置組であり、未検証モデル要素組X22は、第18図に示したノード1802とリンク1806が組み合わさった配置組であり、未検証モデル要素組X24は、第18図に示したノード1803とリンク1807が組み合わさった配置組であり、未検証モデル要素組X25は、第18図に示したリンク1807とノード1804が組み合わさった配置組である。
また、第32図において、検証済のシステムAの検証済モデル要素組A21は、第5図に示したノード501とリンク504が組み合わさった配置組であり、検証済モデル要素組A22は、第5図に示したノード502とリンク505が組み合わさった配置組であり、検証済モデル要素組A23は、第5図に示したノード505とリンク503が組み合わさった配置組である。
ここで、システムAの検証済モデル要素組A21〜A24を第31図に示したシステムXの未検証モデル要素組X21〜X25と比較すると、検証済モデル要素組A21は、いずれの検証済モデル要素組X21〜X25とも一致しないため、基本スコアが「0」となる。
検証済モデル要素組A22は、未検証モデル要素組X23と一致するため、基本スコアは「1」となる。検証済モデル要素組A23は、未検証モデル要素組X24と一致するため、基本スコアは「1」となる。検証済モデル要素組A24は、未検証モデル要素組X25と一致するため、基本スコアは「1」となる。したがって、検証済のシステムAのスコア合計は、「3」となる。
また、第33図において、検証済のシステムCの検証済モデル要素組C21は、第27図に示したノード501とリンク2704が組み合わさった配置組であり、検証済モデル要素組C22は、第27図に示したリンク2704とノード2701が組み合わさった配置組であり、検証済モデル要素組C23は、第27図に示したノード2701とリンク2705が組み合わさった配置組であり、検証済モデル要素組C24は、第27図に示したリンク2705とノード2702が組み合わさった配置組であり、検証済モデル要素組C25は、第27図に示したノード2701とリンク2706が組み合わさった配置組であり、検証済モデル要素組C26は、第27図に示したリンク2706とノード2703が組み合わさった配置組であり、検証済モデル要素組C27は、第27図に示したノード2703とリンク2707が組み合わさった配置組であり、検証済モデル要素組C28は、第27図に示したリンク2707とノード503が組み合わさった配置組である。
ここで、システムCの検証済モデル要素組C21〜C28を第31図に示したシステムXの未検証モデル要素組X21〜X25と比較すると、検証済モデル要素組C21〜C27は、いずれの未検証モデル要素組X21〜X25とも一致しないため、基本スコアが「0」となる。一方、検証済モデル要素組C28は、未検証モデル要素組X25と一致するため、基本スコアは「1」となる。したがって、検証済のシステムCのスコア合計は、「1」となる。これにより、システムのハードウェア構成に関しては、検証済のシステムAが検証済のシステムCよりもシステムXに類似していることが分かる。
(検証支援装置の検証支援処理手順)
つぎに、この発明の実施の形態にかかる検証支援装置の検証支援処置手順について説明する。第34図〜第37図は、この発明の実施の形態にかかる検証支援装置の検証支援処置手順を示すフローチャートである。
第34図において、未検証のシステムのUMLが入力された場合(ステップS3401:Yes)、入力されたUMLがユースケース図であるか否かを判定する(ステップS3402)。ユースケース図でない場合(ステップS3402:No)、入力されたUMLがシーケンス図であるか否かを判定する(ステップS3403)。シーケンス図でない場合(ステップS3403:No)、入力されたUMLが配置図であるか否かを判定する(ステップS3404)。配置図でない場合(ステップS3404:No)、ステップS3402に戻る。
入力されたUMLがユースケース図である場合(ステップS3402:Yes)、第35図において、入力されたユースケース図から未検証モデル要素を抽出する(ステップS3501)。そして、分解部1515によって抽出された未検証モデル要素を示す文章を単語に分解し(ステップS3502)、i=1に設定する(ステップS3503)。そして、記憶部1501から、i番目の検証済システムのユースケース図があるか否かを検索する(ステップS3504)。ユースケース図がない場合(ステップS3504:No)、iを1つインクリメントし(ステップS3505)、ステップS3504に戻る。
i番目の検証済システムのユースケース図がある場合(ステップS3504:Yes)、記憶部1501からi番目の検証済システムのユースケース図を抽出する(ステップS3506)。そして、抽出されたユースケース図から検証済モデル要素を抽出し(ステップS3507)、その文章を単語に分解する(ステップS3508)。
そして、未検証モデル要素と検証済モデル要素とを比較する(ステップS3509)。この比較は、分解された単語どうしでおこなう。このあと、比較結果に基づいて、i番目の検証済システムのスコアを算出する(ステップS3510)。iが記憶部1501に記憶されている検証済システムの総数Nと一致しない場合(ステップS3511:No)、iを1つインクリメントして(ステップS3512)、ステップS3504に戻る。
一方、iが記憶部1501に記憶されている検証済システムの総数Nと一致した場合(ステップS3511:Yes)、記憶部1501から、スコアが最大となる検証済システムの論理検証内容を抽出する(ステップS3513)。そして、抽出した論理検証内容を出力し(ステップS3514)、ディスプレイ108に表示する。
また、第34図において、入力されたUMLがシーケンス図である場合(ステップS3403:Yes)、第36図において、入力されたシーケンス図から未検証モデル要素を抽出する(ステップS3601)。そして、連続するシーケンス番号の未検証モデル要素を一つのイベント組とし(ステップS3602)、i=1に設定する(ステップS3603)。そして、記憶部1501から、i番目の検証済システムのシーケンス図があるか否かを検索する(ステップS3604)。シーケンス図がない場合(ステップS3604:No)、iを1つインクリメントし(ステップS3605)、ステップS3604に戻る。
i番目の検証済システムのシーケンス図がある場合(ステップS3604:Yes)、記憶部1501からi番目の検証済システムのシーケンス図を抽出する(ステップS3606)。そして、抽出されたユースケース図から検証済モデル要素を抽出し(ステップS3607)、連続するシーケンス番号の検証済モデル要素を一つのイベント組とする(ステップS3608)。
そして、イベント組となった未検証モデル要素と検証済モデル要素とを比較する(ステップS3609)。このあと、比較結果に基づいて、i番目の検証済システムのスコアを算出する(ステップS3610)。iが記憶部1501に記憶されている検証済システムの総数Nと一致しない場合(ステップS3611:No)、iを1つインクリメントして(ステップS3612)、ステップS3604に戻る。
一方、iが記憶部1501に記憶されている検証済システムの総数Nと一致した場合(ステップS3611:Yes)、記憶部1501から、スコアが最大となる検証済システムの論理検証内容を抽出する(ステップS3613)。そして、抽出した論理検証内容を出力し(ステップS3614)、ディスプレイ108に表示する。
また、第34図において、入力されたUMLが配置図である場合(ステップS3404:Yes)、第37図において、入力された配置図から未検証モデル要素を抽出する(ステップS3701)。そして、連続するシーケンス番号の未検証モデル要素組を一つの配置組とし(ステップS3702)、i=1に設定する(ステップS3703)。そして、記憶部1501から、i番目の検証済システムの配置図があるか否かを検索する(ステップS3704)。配置図がない場合(ステップS3704:No)、iを1つインクリメントし(ステップS3705)、ステップS3704に戻る。
i番目の検証済システムの配置図がある場合(ステップS3704:Yes)、記憶部1501からi番目の検証済システムの配置図を抽出する(ステップS3706)。そして、抽出された配置図から、検証済モデル要素であるノードとリンクを抽出し(ステップS3707)、連続する連結されているノードおよびリンクを一つの配置組とする(ステップS3708)。
そして、配置組となった未検証モデル要素と検証済モデル要素とを比較する(ステップS3709)。このあと、比較結果に基づいて、i番目の検証済システムのスコアを算出する(ステップS3710)。iが記憶部1501に記憶されている検証済システムの総数Nと一致しない場合(ステップS3711:No)、iを1つインクリメントして(ステップS3712)、ステップS3704に戻る。
一方、iが記憶部1501に記憶されている検証済システムの総数Nと一致した場合(ステップS3711:Yes)、記憶部1501から、スコアが最大となる検証済システムの論理検証内容を抽出する(ステップS3713)。そして、抽出した論理検証内容を出力し(ステップS3714)、ディスプレイ108に表示する。
これにより、入力されたUMLのダイアグラムにしたがって、未検証のUMLと検証済のUMLとの類似度を点数化して算出することができ、最も類似度の高い検証済システムについておこなった論理検証内容を、設計者に提供することができる。
また、上述した実施の形態では、仕様記述としてUMLの表記として、ユースケース図、シーケンス図および配置図を用いて説明したが、そのほかにも、クラス図、オブジェクト図、コラボレーション図、ステートチャート図、アクティビティ図、パッケージ図またはコンポーネント図を用いることとしてもよい。
また、上述した実施の形態では、検証済の仕様記述およびその論理検証内容を記憶部1501に記憶することとしているが、検証をおこなっていない一般的な仕様記述およびその論理検証内容を記憶することとしてもよい。また、未検証の設計対象の入力の際に、その名称を入力することとしてもよい。
以上説明したように、この実施の形態にかかる検証支援装置によれば、設計対象となるシステムにおこなわれる論理検証の費用の低減を図ることができる。またこれにより、論理検証にかかる費用の予測が外れた場合の損失についても低減することができる。したがって、この論理検証の費用および損失の低減により、安価なLSIを市場に供給することができる。
また、論理検証作業に必要な費用の予測を設計者がすべておこなう必要がないため、設計者の負担を軽減することができ、またこれにより、作業労力の軽減および論理検証作業の工期の短縮化を図ることができる。
さらに、セクションごとに保管されている論理検証内容をセクション間で共有することができる。これにより、設計資産を流用することができ、作業労力の軽減および論理検証作業の工期の短縮化を図ることができる。
また、従来は、論理検証費用の予測については、セクションリーダなどの熟練した設計者がおこなっていたが、この検証支援装置を用いることにより、熟練者でなくても論理検証費用の予測を簡単におこなうことができる。
以上説明したように、本発明によれば、未検証設計対象の仕様記述と近似する仕様記述にしたがって設計された検証済設計対象を特定することができ、この検証済設計対象についておこなわれた論理検証内容を得ることができる。これにより、論理検証作業の低コスト化および作業時間の短縮化を実現することができるという効果を奏する。
なお、本実施の形態で説明した検証支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
以上のように本発明は、ハードウェアやソフトウェアによって構成されたシステムの検証を支援する検証支援装置、検証支援方法、検証支援プログラムおよびそのプログラムを記録した記録媒体を提供することに適している。
第1図は、この発明の実施の形態にかかる検証支援装置のハードウェア構成を示すブロック図である。 第2図は、この発明の実施の形態にかかる検証資産データベースの記憶内容を示す説明図である。 第3図は、検証済のシステムAについてのユースケース図である。 第4図は、検証済のシステムAについてのシーケンス図である。 第5図は、検証済のシステムAについての配置図である。 第6図は、検証済のシステムAについての検証方針、検証項目および検証方式を示す説明図である。 第7図は、検証済のシステムAについてのコスト情報を示す説明図である。 第8図は、検証済のシステムAについての検証環境を示す説明図である。 第9図は、検証済のシステムBについてのユースケース図である。 第10図は、検証済のシステムBについてのシーケンス図である。 第11図は、検証済のシステムBについての配置図である。 第12図は、検証済のシステムBについての検証方針、検証項目および検証方式を示す説明図である。 第13図は、検証済のシステムBについてのコスト情報を示す説明図である。 第14図は、検証済のシステムBについての検証環境を示す説明図である。 第15図は、この発明の実施の形態にかかる検証支援装置の機能的構成を示すブロック図である。 第16図は、未検証のシステムXについてのユースケース図である。 第17図は、未検証のシステムXについてのシーケンス図である。 第18図は、未検証のシステムXについての配置図である。 第19図は、未検証モデル要素を示す文章を分解した一例を示す説明図である。 第20図は、検証済モデル要素を示す文章を分解した一例を示す説明図である。 第21図は、単語どうしを比較した場合のスコアの条件と、その場合の基本スコアおよび関連スコアとの関係を示す図表である。 第22図は、未検証システムXと比較対象になった検証済システムAとスコアとの関係を示す説明図である。 第23図は、未検証システムXと比較対象になった検証済システムBとスコアとの関係を示す説明図である。 第24図は、未検証のシステムXと検証済のシステムA,Bとの関係を示す説明図である。 第25図は、この発明の検証支援装置の実施の形態にかかる検索結果表示例を示す説明図である。 第26図は、検証済のシステムCについてのシーケンス図である。 第27図は、検証済のシステムCについての配置図である。 第28図は、未検証のシステムXの仕様記述がUMLのシーケンス図であった場合における、未検証のシステムXの検証済イベント組を示す説明図である。 第29図は、検証済のシステムAの検証済モデル要素およびそのスコアとの関係を示す説明図である。 第30図は、検証済のシステムCの検証済モデル要素およびそのスコアとの関係を示す説明図である。 第31図は、未検証のシステムXの仕様記述がUMLの配置図であった場合における、未検証のシステムXの未検証モデル要素組を示す説明図である。 第32図は、検証済のシステムAの検証済モデル要素およびそのスコアとの関係を示す説明図である。 第33図は、検証済のシステムCの検証済モデル要素およびそのスコアとの関係を示す説明図である。 第34図は、この発明の実施の形態にかかる検証支援装置の検証支援処置手順を示すフローチャート(その1)である。 第35図は、この発明の実施の形態にかかる検証支援装置の検証支援処置手順を示すフローチャート(その2)である。 第36図は、この発明の実施の形態にかかる検証支援装置の検証支援処置手順を示すフローチャート(その3)である。 第37図は、この発明の実施の形態にかかる検証支援装置の検証支援処置手順を示すフローチャート(その4)である。
符号の説明
200 検証資産データベース
221 ユースケース図
222 シーケンス図
223 配置図
1500 検証支援装置
1501 記憶部
1502 入力部
1503 検索部
1504 論理検証内容抽出部
1505 出力部
1511 未検証モデル要素抽出部
1512 検証済モデル要素抽出部
1513 加工部
1514 類似度算出部
1515 分解部
1516 組生成部
1517 設定部
1518 比較部
1519 スコア算出部

Claims (10)

  1. 未検証モデル要素によって構成された、未検証設計対象をあらわす未検証仕様記述の入力を受け付ける入力手段と、
    検証済モデル要素によって構成された、検証済設計対象をあらわす検証済仕様記述から、前記未検証モデル要素および前記検証済モデル要素に基づいて、前記入力手段によって入力された前記未検証仕様記述と同一または類似の前記検証済仕様記述を検索する検索手段と、
    前記検索手段によって検索された検索結果に基づいて、前記検証済設計対象についておこなわれた論理検証内容を抽出する論理検証内容抽出手段と、
    前記論理検証内容抽出手段によって抽出された論理検証内容を出力する出力手段と、
    を備えることを特徴とする検証支援装置。
  2. 前記検索手段は、
    前記未検証モデル要素を抽出する未検証モデル要素抽出手段と、
    前記検証済モデル要素を抽出する検証済モデル要素抽出手段と、
    前記未検証モデル要素抽出手段によって抽出された未検証モデル要素と、前記検証済モデル要素抽出手段によって抽出された検証済モデル要素との類似度を算出する類似度算出手段と、
    を備え、
    前記論理検証内容抽出手段は、前記類似度算出手段によって算出された類似度に基づいて、前記検証済設計対象についておこなった論理検証内容を抽出することを特徴とする請求の範囲第1項に記載の検証支援装置。
  3. 前記類似度算出手段は、
    前記未検証モデル要素抽出手段によって抽出された未検証モデル要素を示す文章と、前記検証済モデル要素抽出手段によって抽出された検証済モデル要素を示す文章とを比較する比較手段と、
    前記比較手段によって比較された比較結果に基づいて、前記類似度をあらわすスコアを算出するスコア算出手段と、
    を備え、
    前記論理検証内容抽出手段は、前記スコア算出手段によって算出されたスコアに基づいて、前記検証済設計対象についておこなった論理検証内容を抽出することを特徴とする請求の範囲第2項に記載の検証支援装置。
  4. 前記類似度算出手段は、
    前記未検証モデル要素抽出手段によって抽出された未検証モデル要素を示す文章と、前記検証済モデル要素抽出手段によって抽出された検証済モデル要素を示す文章とを、それぞれ単語に分解する分解手段と、
    を備え、
    前記比較手段は、前記分解手段によって分解された単語に基づいて、前記未検証モデル要素抽出手段によって抽出された未検証モデル要素を示す文章と、前記検証済モデル要素抽出手段によって抽出された検証済モデル要素を示す文章とを比較することを特徴とする請求の範囲第3項に記載の検証支援装置。
  5. 前記分解手段によって前記未検証モデル要素を示す文章を分解することによって得られる単語に重み付けする重み設定手段を備え、
    前記スコア算出手段は、前記比較手段によって比較された比較結果と、前記重み設定手段によって重み付けられた単語の重みとに基づいて、前記類似度をあらわすスコアを算出することを特徴とする請求の範囲第4項に記載の検証支援装置。
  6. 前記未検証設計対象をあらわす未検証仕様記述および前記検証済設計対象をあらわす検証済仕様記述は、UMLによって記述されていることを特徴とする請求の範囲第1項に記載の検証支援装置。
  7. 前記論理検証内容は、少なくとも、論理検証の方針、論理検証する項目、論理検証方式、論理検証に必要なコスト情報または前記検証済設計対象について論理検証をおこなったときに用いられたツールを示す論理検証環境のいずれか一つを含むことを特徴とする請求の範囲第1項に記載の検証支援装置。
  8. 未検証モデル要素によって記述された、未検証設計対象をあらわす未検証仕様記述の入力を受け付ける入力工程と、
    検証済モデル要素によって記述された、検証済設計対象をあらわす検証済仕様記述から、前記未検証モデル要素および前記検証済モデル要素に基づいて、前記入力工程によって入力された前記未検証仕様記述と同一または類似の前記検証済仕様記述を検索する検索工程と、
    前記検索工程によって検索された検索結果に基づいて前記検証済設計対象についておこなった論理検証内容を抽出する論理検証内容抽出工程と、
    前記論理検証内容抽出工程によって抽出された論理検証内容を出力する出力工程と、
    を含んだことを特徴とする検証支援方法。
  9. 未検証モデル要素によって記述された、未検証設計対象をあらわす未検証仕様記述の入力を受け付けさせる入力工程と、
    検証済モデル要素によって記述された、検証済設計対象をあらわす検証済仕様記述から、前記未検証モデル要素および前記検証済モデル要素に基づいて、前記入力工程によって入力された前記未検証仕様記述と同一または類似の前記検証済仕様記述を検索させる検索工程と、
    前記検索工程によって検索された検索結果に基づいて前記検証済設計対象についておこなった論理検証内容を抽出させる論理検証内容抽出工程と、
    前記論理検証内容抽出工程によって抽出された論理検証内容を出力させる出力工程と、
    をコンピュータに実行させることを特徴とする検証支援プログラム。
  10. 請求の範囲第9項に記載の検証支援プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2005510142A 2003-10-31 2003-10-31 検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体 Expired - Fee Related JP3920308B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/013995 WO2005043419A1 (ja) 2003-10-31 2003-10-31 検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JPWO2005043419A1 true JPWO2005043419A1 (ja) 2007-05-10
JP3920308B2 JP3920308B2 (ja) 2007-05-30

Family

ID=34532059

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005510142A Expired - Fee Related JP3920308B2 (ja) 2003-10-31 2003-10-31 検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体

Country Status (5)

Country Link
US (1) US20060156264A1 (ja)
EP (1) EP1679627A4 (ja)
JP (1) JP3920308B2 (ja)
CN (1) CN100461186C (ja)
WO (1) WO2005043419A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277282A (ja) * 2005-03-29 2006-10-12 Fujitsu Ten Ltd モデル評価解析システムおよびモデル評価解析プログラム
JP4747034B2 (ja) * 2006-05-29 2011-08-10 富士通株式会社 検証シナリオ作成プログラム、記録媒体、検証シナリオ作成装置および検証シナリオ作成方法
US8701058B2 (en) * 2009-06-18 2014-04-15 Semiconductor Insights Inc. Integrated circuit analysis systems and methods
US10275557B1 (en) * 2010-01-08 2019-04-30 Altera Corporation Method and apparatus for performing incremental compilation using structural netlist comparison
CN103294837B (zh) * 2012-02-23 2016-05-11 安凯(广州)微电子技术有限公司 一种集成电路的验证调试方法及系统
CN113255263B (zh) * 2021-06-07 2021-10-01 上海国微思尔芯技术股份有限公司 颗粒带分割方法、装置、计算机设备和存储介质
US12099625B2 (en) * 2022-02-04 2024-09-24 Snowflake Inc. Organizing, discovering and evaluating marketplace datasets and services by industry business needs

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163016A (en) * 1990-03-06 1992-11-10 At&T Bell Laboratories Analytical development and verification of control-intensive systems
JP2977260B2 (ja) * 1990-09-27 1999-11-15 株式会社東芝 情報提示装置
JP3195031B2 (ja) * 1992-02-28 2001-08-06 株式会社日立製作所 テスト仕様生成方法及び半導体装置検査装置及び半導体装置検査方法
US5436849A (en) * 1993-02-09 1995-07-25 International Business Machines Corporation Incremental logic synthesis system for efficient revision of logic circuit designs
JPH06301668A (ja) * 1993-04-16 1994-10-28 Hitachi Ltd シミュレーションデータ構築方法
US6086626A (en) * 1997-05-16 2000-07-11 Fijutsu Limited Method for verification of combinational circuits using a filtering oriented approach
JPH11249899A (ja) * 1998-02-27 1999-09-17 Toshiba Corp 業務支援装置及び電気システム設計支援装置
JP4418591B2 (ja) * 1998-11-03 2010-02-17 ワンスピン ソリューションズ ゲゼルシャフト ミット ベシュレンクテル ハフツング 技術システムの予め設定された特性と第1の特性とを比較するための方法及び装置
JP2000242672A (ja) * 1999-02-23 2000-09-08 Mitsubishi Electric Corp 形式的論理検証装置および形式的論理検証方法
JP2001101250A (ja) * 1999-09-30 2001-04-13 Matsushita Electric Ind Co Ltd 検証項目抽出方法、再利用コア検証方法、検証判断方法、および再利用テストベンチ編集方法
US6484292B1 (en) * 2000-02-07 2002-11-19 Xilinx, Inc. Incremental logic synthesis system for revisions of logic circuit designs
US6567959B2 (en) * 2001-03-30 2003-05-20 Intel Corporation Method and device for verification of VLSI designs
JP3914010B2 (ja) * 2001-07-30 2007-05-16 富士通株式会社 設計解析方法および設計解析プログラム
US6742174B1 (en) * 2001-10-19 2004-05-25 Cadence Design Systems, Inc. Similarity-driven synthesis for equivalence checking of complex designs
JP3848157B2 (ja) * 2001-12-27 2006-11-22 株式会社東芝 Lsi設計検証装置、lsi設計検証方法、及びlsi設計検証プログラム
US7353156B2 (en) * 2002-02-01 2008-04-01 International Business Machines Corporation Method of switching external models in an automated system-on-chip integrated circuit design verification system
JP2003233636A (ja) * 2002-02-06 2003-08-22 Fujitsu Ltd 回路検証装置
US7020856B2 (en) * 2002-05-03 2006-03-28 Jasper Design Automation, Inc. Method for verifying properties of a circuit model
JP4147842B2 (ja) * 2002-07-04 2008-09-10 日本電気株式会社 論理検証システム及び方法、論理コーン抽出装置及び方法、論理検証及び論理コーン抽出プログラム
US8171298B2 (en) * 2002-10-30 2012-05-01 International Business Machines Corporation Methods and apparatus for dynamic user authentication using customizable context-dependent interaction across multiple verification objects
US6993734B2 (en) * 2003-02-20 2006-01-31 International Business Machines Corporatioin Use of time step information in a design verification system

Also Published As

Publication number Publication date
JP3920308B2 (ja) 2007-05-30
US20060156264A1 (en) 2006-07-13
CN100461186C (zh) 2009-02-11
WO2005043419A1 (ja) 2005-05-12
EP1679627A1 (en) 2006-07-12
CN1839390A (zh) 2006-09-27
EP1679627A4 (en) 2009-07-22

Similar Documents

Publication Publication Date Title
Rai Identifying key product attributes and their importance levels from online customer reviews
US10073827B2 (en) Method and system to generate a process flow diagram
JP4972866B2 (ja) 変換プログラム
WO2012081080A1 (ja) 設計支援システム
JPH05233243A (ja) グループ意思決定支援サブシステムとアプリケーション開発サブシステムとそれらの間の橋渡しサブシステムとを備えたソフトウェア開発統合システム
US20060156264A1 (en) Method and apparatus for supporting verification of system, and computer product
JP6667701B1 (ja) Ft図更新装置、トラブルシューティング用フロー図更新装置およびプログラム
WO2012029931A1 (ja) 思考モデルの作成方法、思考モデルの作成装置及び思考モデルの作成プログラム
JP2020035019A (ja) 情報処理装置、情報処理方法及びプログラム
JP2015194831A (ja) 障害現象情報分析装置及び障害現象情報分析方法
JP2007188443A (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
JP4747034B2 (ja) 検証シナリオ作成プログラム、記録媒体、検証シナリオ作成装置および検証シナリオ作成方法
JP6388756B2 (ja) 電子マニュアル出力システム及び電子マニュアル出力方法並びに電子マニュアル出力プログラム
JPH0921720A (ja) 構造振動解析方法
WO2021245833A1 (ja) 文書の黒塗り箇所表示システム、方法、プログラム
JP6927300B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及び、プログラム
JP7387521B2 (ja) 論述構造推定方法、論述構造推定装置、および論述構造推定プログラム
JP7325103B2 (ja) 情報処理システム及び情報処理方法
JP5282640B2 (ja) データ処理装置、データ処理方法、およびデータ処理プログラム
JP6835756B2 (ja) 作業特定装置、作業特定方法及びプログラム
JP5431633B2 (ja) 性能チューニングプログラム、該プログラムを記録した記録媒体、性能チューニング装置、および性能チューニング方法
JP6827610B1 (ja) 開発支援装置、プログラム及び開発支援方法
JP6976482B1 (ja) 情報処理装置、生成方法、及び生成プログラム
JP7366316B2 (ja) 学習装置、推論装置、プログラム、学習方法及び推論方法
US20220284329A1 (en) Method of outputting explanatory information and information processing apparatus

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061031

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070214

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100223

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110223

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110223

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110223

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120223

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees