(57)【要約】【課題】  １つのサーバで、複数のモジュールを任意に組み合わせて設計データの検証／診断等を行うことができる設計支援装置を提供する。【解決手段】  設計支援装置において、処理が委託される処理対象データＰｄおよび複数の処理単位の少なくとも１つ以上を指定する加工方法指定情報Ｕｉを含む第１のデータＣｉを受信する受信部３５と、処理対象データの形式に応じて、処理対象データに対してそれぞれ異なる処理を行なう複数の処理実行部と、受信部によって受信された第１のデータに含まれる加工方法指定情報に基づいて複数の処理実行部の中から１以上の処理実行部を選択し、選択した処理実行部に処理を行わせる選択部と、処理実行部による処理結果を第２のデータＣｏとして送信する送信部とを設けた。【選択図】  図１
2005128650.tif 000002
【特許請求の範囲】
【請求項１】
処理が委託される処理対象データと複数の処理単位の少なくとも１つ以上を指定する加工方法指定情報とを含む第１のデータを受信する受信部と、
前記処理対象データの形式に応じて当該処理対象データに対してそれぞれ異なる処理を行なう複数の処理実行部と、
前記受信部によって受信された前記第１のデータに含まれる前記加工方法指定情報に基づいて前記複数の処理実行部の中から１以上の処理実行部を選択し、当該選択した処理実行部に処理を行わせる選択部と、
前記処理実行部による処理結果を第２のデータとして送信する送信部とを備えた設計支援装置。
【請求項２】
前記加工方法指定情報には、前記処理対象データに対して施すべき前記処理単位の順番を示すシーケンス情報が含まれ、
前記選択部が、前記シーケンス情報に基づく順番で前記処理実行部に順次処理を行わせるものであることを特徴とする、請求項１に記載の設計支援装置。
【請求項３】
前記処理対象データが設計データであり、
前記処理実行部が、前記設計データに基づいて検証用データを生成する検証用データ生成部であり、
前記送信部が、前記検証用データを含む前記第２のデータを送信するものであることを特徴とする、請求項１に記載の設計支援装置。
【請求項４】
前記処理対象データが診断用データであり、
前記処理実行部が、前記診断用データに基づいて診断結果を生成する診断部であり、
前記送信部が、前記診断結果を含む前記第２のデータを送信するものであることを特徴とする、請求項１に記載の設計支援装置。
【請求項５】
当該設計支援装置は、前記検証用データ生成部が生成した検証用データをユーザと関連付けて記憶するデータ管理部をさらに備え、
前記処理対象データが、前記検証用データを用いた検証の結果を示す検証結果データであり、
前記選択部が、前記データ管理部に記憶されている、前記受信部を通じて受信した前記検証結果データの送信元と同一ユーザの検証用データの形式に基づいて前記複数の処理実行部の中から１以上の処理実行部を選択するものであることを特徴とする、請求項３に記載の設計支援装置。
【請求項６】
前記処理実行部が、前記検証用データに基づいてテストベクトルを抽出するベクトル抽出部と、前記ベクトル抽出部によって抽出されたテストベクトルをＬＳＩ論理シミュレーションで用いるのに適した形式に再配置するベクトル再配置部と、ＬＳＩ論理シミュレーションにおいて前記テストベクトルを実行するためのプログラムを生成するプログラム生成部とを含むことを特徴とする、請求項３に記載の設計支援装置。
【請求項７】
前記処理実行部が、前記診断用データに基づいて出力期待値との不一致箇所を抽出する期待値比較部と、前記診断用データおよび前記期待値比較部の抽出結果に基づいて期待値不一致箇所がどの検証項目に相当するのかを解析するデータ解析部と、前記データ解析部の解析結果に基づいて診断結果を生成する診断結果生成部とを含むことを特徴とする、請求項４に記載の設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は設計支援装置に関し、より特定的には、複数のモジュールを任意に組み合わせて設計データの変換加工を行うことができる設計支援装置に関する。
【背景技術】
【０００２】
設計支援システムは、サーバ上に設けられたコンピュータに、ユーザがネットワークを介して設計に関する演算処理を依頼し、サーバが演算結果をネットワークを介してユーザに提供するシステムである。このような演算処理の一例として、設計データの検証や診断を含む、言わば変換加工があり、このような変換加工をサーバ上で行うシステムが従来存在する（例えば、特許文献１参照。）。
【０００３】
以下、図１７に示すブロック図を参照して、このような従来の設計支援システムについて説明する。
【０００４】
設計支援システム１０５は、複数のサーバ１０７＿１〜１０７＿ｎ（ｎ：任意の自然数）と、複数の端末装置１０９＿１〜１１３＿ｎとを含む。サーバと通信端末とは、それぞれネットワークを介して通信可能に接続される。以下、端末装置１０９＿１とサーバ１０７＿１との間で通信が行われる場合を例に説明する。
【０００５】
端末装置１０９＿１は、典型的にはパーソナルコンピュータであって、設計システム１１１と、データ格納部１１３とを含む。データ格納部１１３は、設計データＰｄｃを格納する。設計データＰｄｃは、設計メーカ等によって設計された設計データである一次データと、当該一次データが後述するサーバ１０７＿１において変換加工された二次データとを含む。一次データは、例えば、「Ｐｒｏ／ＥＮＧＩＮＥＥＲ」、「Ｉ−ＤＥＡＳ」「ＣＡＴＩＡ」等のソフトウェアを用いて設計されたデータである。しかしながら、設計システム１１１は、例えば「ＣＡＭ−ＴＯＯＬ．Ｃ３」、「ＣＡＤＳＥＵＳ」等のソフトウェアがインストールされた金型設計専用のＣＡＤ／ＣＡＭシステムであって、一次データをそのまま扱うことができない。そこで、ユーザは、端末装置１０９＿１を介して後述する委託情報をサーバ１０７に送信し、一次データから二次データへの変換加工を依頼する。
【０００６】
ユーザは、例えばブラウザを用いて、端末装置１０９＿１からサーバ１０７に一次データをアップロードする。端末装置１０９＿１は、ユーザからの指示を受け取ると、データ格納部１１３に格納されている一次データを読み出し、委託情報としてサーバ１０７に送信する。委託情報には、一次データの他に、サーバ識別情報Ｗｉおよびユーザ識別情報ＵＩＤが含まれる。サーバ識別情報Ｗｉは、委託情報の送信先であるサーバ７の識別情報を含み、ユーザ識別情報ＵＩＤは、委託情報の送信元であるユーザを識別するための情報を含む。
【０００７】
サーバ１０７＿１は、例えばＷｅｂサーバアプリケーションによって端末装置１０９＿１から委託情報を受け取り、当該委託情報に含まれる一次データに基づいて二次データを生成する。サーバ１０７＿１は、変換プログラムＰｃと、変換支援プログラムＰｓと、データベースＤｂとを含む。
【０００８】
変換プログラムＰｃは、製品の設計データ（一次データ）を、二次データにダイレクト変換するためのアプリケーションソフトである。一次データは、例えば、「Ｐｒｏ／ＥＮＧＩＮＥＥＲ」、「Ｉ−ＤＥＡＳ」「ＣＡＴＩＡ」等のソフトウェアを用いて設計されたデータである。二次データは、例えば、「ＣＡＭ−ＴＯＯＬ．Ｃ３」、「ＣＡＤＳＥＵＳ」等のソフトウェアで利用できる設計用のデータである。
【０００９】
変換支援プログラムＰｓは、一次データのデータ変換処理に伴う周辺関連処理を行うためのアプリケーションソフトである。データベースＤｂは、データ変換処理後のデータを格納する。また、サーバ１０７＿２およびサーバ１０７＿ｎもサーバ１０７＿１と同様の構成を有するが、サーバは、それぞれ異なる変換プログラムＰｃや変換支援プログラムＰｓを有している。そのため、サーバによって、個々に対応可能なデータ形式や、出力するデータの形式が異なる。以下、個々のサーバを特に区別する必要のない場合は、サーバ１０７と総称する。
【特許文献１】特開２００２−５６０３３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来の設計支援システム１０５において、各サーバ１０７が行う演算処理の内容は、単一的に固定されている。そのため、ユーザは、データの形式や、所望される変換に応じて適切なサーバ１０７を選択する必要がある。つまり、ユーザは、例えばデータ形式Ａのデータを入手したい場合には、データ形式Ａの変換加工ができるサーバ１０７を選択しなければならず、データ形式Ｂのデータを入手したい場合には、データ形式Ｂの変換加工ができるサーバ１０７を選択しなければならない。つまり、ユーザは設計データの変換加工を行う度に、設計データＰｄのフォーマットや、所望の処理結果を得るために、複数存在するサーバの中から適切な処理を行うサーバ１０７を個々に選択しなければならない。
【００１１】
さらに、上記のような設計支援システム１０５を用いて、設計データＰｄの検証から診断までの一連の処理を行うことも考えられるが、この場合にも、組み合わせる検証用データ生成モジュールおよび対応する診断モジュールに対応する複数のサーバの組み合わせをユーザが選択しなければならない。さらに、ユーザは、選択したサーバの個々に順番に依頼し、また、演算結果を入手しなければならないため、手間がかかり、煩わしい。
【００１２】
それゆえに、本発明は、１つのサーバで、複数のモジュールを任意に組み合わせて設計データの検証／診断等を行うことができる設計支援システムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明は以下の構成を採用した。なお、括弧内の参照符号は本発明の理解を助けるために図面に示した構成との対応関係を示したものであり、本発明の範囲を何ら限定するものではない。
【００１４】
本発明の設計支援装置は、処理が委託される処理対象データ（Ｐｄ）および複数の処理単位の少なくとも１つ以上を指定する加工方法指定情報（Ｕｉ）を含む第１のデータ（Ｃｉ）を受信する受信部（３５）と、前記処理対象データの形式に応じて当該処理対象データに対してそれぞれ異なる処理を行なう複数の処理実行部（４５、４７、４９）と、前記受信部によって受信された前記第１のデータに含まれる前記加工方法指定情報に基づいて前記複数の処理実行部の中から１以上の処理実行部を選択し、当該選択した処理実行部に処理を行わせる選択部（４１）と、前記処理実行部による処理結果を第２のデータ（Ｃｏ）として送信する送信部とを備える。
【発明の効果】
【００１５】
本発明によれば、複数のフォーマットが存在するような設計データの処理をユーザから依頼された場合にも、１台のサーバのみで複数のフォーマットの処理に対応可能であるため、複数のサーバの中から処理を委託すべきサーバをユーザが選択する手間が省ける。
【発明を実施するための最良の形態】
【００１６】
（第１の実施形態）
図１を参照して、本発明の第１の実施形態に係る設計支援システム５について説明する。設計支援システム５は、サーバ７ａと、ｎ台の端末装置９＿１〜１３＿ｎとを含み、データ変換加工を行う。以下、サーバ７ａがデータの検証や診断を行う場合を例に説明する。端末装置９＿１とサーバ７ａとは、有線または無線ネットワークを経由して、相互に通信可能な状態に接続される。
【００１７】
まず、本設計支援システム５の概要を説明する。
【００１８】
本設計システムにおいて、サーバ７ａは、ユーザが用意した回路基板データ等の設計データに基づいて、この設計データの妥当性を検証するための検証用データ（例えば、ＬＳＩの論理回路が使用通りに正しく設計されているかを論理的に検証するためのテストベクトル）を作成し、ユーザが使用する端末装置に送信する。ユーザは、この検証用データを用いて検証作業を行う。ユーザは、この検証作業の結果として得られた検証結果データの診断をサーバ７ａに委託することができる。サーバ７ａは、この検証結果データを診断し、診断結果をユーザに通知する。
【００１９】
以上のような処理の流れにより、ユーザは自分が用意した設計データの妥当性を用意に確認することができる。
【００２０】
以下、本設計支援システム５の各部の構成について説明する。
【００２１】
端末装置９＿１は、典型的にはパーソナルコンピュータであって、設計システム１１とデータ格納部１３と、ユーザ指示生成部１５と、端末送信部１７と、端末受信部１９とを含む。設計システム１１は、例えば半導体の回路を設計するためのシステムである。ユーザは、サーバ７ａから受け取った検証用データを用いて、例えば設計システム１１上で設計データＰｄの検証作業を行う。
【００２２】
設計データＰｄは、例えば、ＩＥＥＥ標準１１４９．１で定義されるＢＳＤＬファイルである。設計データＰｄは、データ格納部１３に格納される。また、データ格納部１３には、ユーザが検証を行った結果得られる検証結果データや、サーバ７ａから送信されてくるデータ（後述する出力結果情報Ｃｏ）が格納される。
【００２３】
ユーザ指示生成部１５は、ユーザの操作に応じて、ユーザの意思を表す総合委託情報Ｃｉを作成する。総合委託情報Ｃｉは、端末装置９＿１からサーバ７ａに依頼する情報、つまりユーザが希望するデータ処理の内容を示す情報を含む。総合委託情報Ｃｉは、設計データＰｄまたは診断用データＲｄと、サーバ識別情報Ｗｉと、ユーザ指示Ｕｉ１と、ユーザ識別情報ＵＩＤとを含む。サーバ識別情報Ｗｉは、総合委託情報Ｃｉの送信先であるサーバ７ａの識別情報である。ユーザ識別情報ＵＩＤは、総合委託情報Ｃｉの送信元であるユーザを識別するための情報である。ユーザ指示Ｕｉ１は、モジュールの指定や処理の実行の順番を示す情報である。
【００２４】
ユーザが設計データＰｄの検証を行うための検証用データの生成を委託する場合、ユーザは、例えば、ブラウザのユーザインターフェースを介して、サーバ７ａが提供する処理の中から検証用データ生成処理を選択する。その後、端末装置９＿１からサーバ７ａに、設計データＰｄを含む総合委託情報Ｃｉが送信される。
【００２５】
また、ユーザが検証結果の診断処理を委託する場合、ブラウザのユーザインターフェースを介して、複数の処理の中から診断処理を選択する。その後、端末装置９＿１からサーバ７ａには、サーバ識別情報Ｗｉ、ユーザ指示Ｕｉ１、ユーザ識別情報ＵＩＤおよび診断用データＲｄを含む総合委託情報Ｃｉが送信される。一方、ユーザが検証結果データＶｒｄの診断を委託する場合、ユーザ指示Ｕｉ１は、後述する診断モジュールを指定する情報を含む。診断用データＲｄには、検証結果データＶｒｄの他に、診断に必要なデータが含まれるが、詳細については後ほど図３を参照して説明する。
【００２６】
端末装置９＿２および端末装置９＿ｎも、端末装置９＿１と基本的に同様に構成される。以下、端末装置９＿１から設計データＰｄおよびユーザの指示がサーバ７ａへ送信される場合を例に説明する。
【００２７】
サーバ７ａは、典型的には、Ｗｅｂサーバソフトウェアを使用したＷＷＷサーバを備えている。サーバ７ａは、受信部３５と、制御部１１と、送信部３７と、検証用データ生成部３１と、診断部３３とを含む。以下、サーバ７ａの各部の詳細について説明する。
【００２８】
受信部３５は、端末装置９＿１から送信されてくる総合委託情報Ｃｉを受信する。受信部３５は、受け取った総合委託情報Ｃｉを制御部１１に渡す。
【００２９】
制御部１１は、処理識別部２３と、ユーザ管理部２５とを含み、設計支援システム５の動作を実現するために必要な各部の動作を司る。ユーザ管理部２５は、ユーザの識別情報や、ユーザのシステム使用状況を管理する。具体的には、ユーザ管理部２５は、総合委託情報Ｃｉや、後述する処理識別部２３から受け取るデータに含まれるユーザ識別情報ＵＩＤを参照して、各ユーザを識別する。ユーザ管理部２５は、受信部３５から受け取った総合委託情報Ｃｉからサーバ識別情報Ｗｉを抽出し、総合委託情報Ｃｉを処理識別部２３に渡す。
【００３０】
また、ユーザ管理部２５は、後述する検証用データ生成部３１および診断部３３で生成された出力結果情報Ｃｏを処理識別部２３から受け取ると、受け取ったデータに含まれるユーザ識別情報ＵＩＤに基づいて、データ管理部２７にデータを渡し、ユーザごとにデータを格納するよう指示する。出力結果情報Ｃｏについては、後述する。
【００３１】
処理識別部２３は、ユーザ管理部２５から総合委託情報Ｃｉを受け取ると、総合委託情報Ｃｉに含まれるユーザ指示Ｕｉ１に基づいて、総合委託情報Ｃｉを検証用データ生成部３１および診断部３３のどちらに渡すかを判断する。ユーザ指示Ｕｉ１が検証用データを作成する検証用データ生成指示である場合、処理識別部２３は、総合委託情報Ｃｉの内からユーザ指示Ｕｉ１、設計データＰｄおよびユーザ識別情報ＵＩＤを検証用データ生成部３１に渡す。
【００３２】
ユーザ指示Ｕｉ１が検証結果データＶｒｄを診断するための診断指示である場合、処理識別部２３は、総合委託情報Ｃｉの内からユーザ指示Ｕｉ１、診断用データＲｄおよびユーザ識別情報ＵＩＤを診断部３３に渡す。
【００３３】
また、処理識別部２３は、検証用データ生成部３１から出力結果情報Ｃｏを受け取ると、受け取った出力結果情報Ｃｏをユーザ管理部２５に渡す。出力結果情報Ｃｏには、ユーザ識別情報ＵＩＤと、検証用データ生成部３１から出力される検証用データＶｄまたは診断部３３から出力される診断結果Ｄｒとが含まれるが、詳細については、図２および図３を参照して説明する。
【００３４】
データ管理部２７は、例えばメモリ等の記憶装置であって、ユーザ管理部２５から受け取った総合委託情報Ｃｉや出力結果情報Ｃｏを一時的に格納する。送信部３７は、処理選択部２３から受け取った出力結果情報Ｃｏを端末装置９＿１に送信する。
【００３５】
図２を参照して、検証用データ生成部３１について詳細に説明する。検証用データ生成部３１は、ユーザが設計データＰｄを検証するために必要な検証用データＶｄを生成する。ユーザが設計データＰｄを検証するために必要なデータとは、例えば、ＬＳＩの論理回路が仕様通りの正しい設計であるかを論理的に検証するためのテストベクトルである。また、例えば、テストベクトルは検証環境によって種々の形態を有するが、検証用データ生成部３１は、それら複数のテストベクトル形態にそれぞれ応じた検証用のテストベクトルを生成する。
【００３６】
検証用データ生成部３１は、検証データ形式選択部４１と、検証用データ生成モジュール起動部４３と、複数の検証用データ生成モジュールとを含み、検証用データＶｄを生成する。以下、検証用データ生成モジュールが、検証用データ生成モジュールＡ４５、検証用データ生成モジュールＢ４７および検証用データ生成モジュールＣ４９の３種類の検証用データ生成モジュールを含む場合について説明する。
【００３７】
ユーザが設計データＰｄの検証用データの生成を希望する場合、ユーザ指示Ｕｉ１には、検証用データ生成モジュールを指定する情報が含まれる。設計データＰｄの検証は、検証用データ生成モジュールＡ４５または検証用データ生成モジュールＢ４７の１つの検証用データ生成モジュールのみで行われる場合もあれば、検証用データ生成モジュールＡ４５またはＢ４７に検証用データ生成モジュールＣ４９を組み合わせて行われる場合もある。なお、検証用データ生成モジュールＣは、検証用データ生成モジュールＣ単独では用いられず、検証用データ生成モジュールＡまたは検証用データ生成モジュールＢと組み合わせて用いられる。
【００３８】
検証用データ生成部３１において、検証データ形式選択部４１は、処理識別部２３からユーザ指示Ｕｉ１と、設計データＰｄと、ユーザ識別情報ＵＩＤとを受け取ると、ユーザ指示Ｕｉ１に基づいて、起動すべき検証用データ生成モジュールを選択する。ユーザ指示Ｕｉ１に起動すべき検証用データ生成モジュールの情報が含まれている場合、検証データ形式選択部４１は、起動すべき検証用データ生成モジュールと起動させる順番とを、ユーザ指示Ｕｉ１に基づいて決定する。そして、検証データ形式選択部４１は、起動すべき検証用データ生成モジュールを指定する情報と、検証用データ生成モジュールを起動させる順番を示す情報とを含む起動指定情報ｊｒを生成する。そして、検証データ形式選択部４１は、起動指定情報ｊｒと共に、設計データＰｄおよびユーザ識別情報ＵＩＤを検証用データ生成モジュール起動部４３に渡す。
【００３９】
検証用データ生成モジュール起動部４３は、検証データ形式選択部４１から受け取った起動指定情報ｊｒに基づいて、順番に検証用データ生成モジュールを起動する。そして、検証用データ生成モジュール起動部４３は、起動した検証用データ生成モジュールに設計データＰｄおよびユーザ識別情報ＵＩＤを渡す。検証用データ生成モジュール起動部４３によって起動された検証用データ生成モジュールは、受け取った設計データＰｄに基づいて検証用データＶｄを生成する。生成された検証用データＶｄは、ユーザ識別情報ＵＩＤと共に、処理結果情報Ｃｏとして処理識別部２３に渡される。
【００４０】
次に、検証用データ生成モジュールＣについて詳細に説明する。検証用データ生成モジュールＣ４９は、ベクトル抽出モジュール４９ａと、ベクトル再配置モジュール４９ｂと、プログラム生成モジュール４９ｃとを含む。検証用データ生成モジュールＣによって検証用データの生成が行われる場合、検証用データ生成モジュール起動部４３は、検証用データＶｄ＿ａまたは検証用データＶｄ＿ｂを検証用データ生成モジュールＣ４９に渡す。ここで、検証用データ生成モジュールＡまたはＢによって検証用データＶｄが生成された後に、検証用データ生成モジュールＣによって検証される例について説明するが、複数の検証用データ生成モジュールが存在する場合、それぞれの検証用データ生成モジュールの組み合わせおよび実行される順番は可変的であっても構わない。以下、検証用データ生成モジュールＡによって生成された検証用データＶｄ＿ａが検証用データ生成モジュールＣによる検証用データの生成に用いられる場合について説明する。
【００４１】
検証用データＶｄ＿ａは、ベクトル抽出モジュール４９ａおよびプログラム生成モジュール４９ｃに渡される。ベクトル抽出モジュール４９ａは、検証用データＶｄ＿ａを受け取ると、受け取った検証用データＶｄ＿ａを読み込み、入力テストベクトルＶｄ＿ｃａを生成する。ベクトル抽出モジュール４９ａは、生成した入力テストベクトルＶｄ＿ｃａをベクトル再配置モジュール４９ｂに渡す。
【００４２】
ベクトル再配置モジュール４９ｂは入力テストベクトルＶｄ＿ｃａを受け取ると、出力期待値Ｖｄ＿ｃｂを生成する。ベクトル再配置モジュール４９ｂによって、テストベクトルは、例えば、ＬＳＩ論理シミュレーションで用いるのに適した形式に再配置される。また、プログラム生成モジュール４９ｃは、受け取った検証用データＶｄ＿ａに基づいて、ベクトル制御プログラムＶｄ＿ｃｃを生成する。プログラム生成モジュール４９ｃによって生成されたベクトル制御プログラムＶｄ＿ｃｃは、例えば、ＬＳＩ論理シミュレーションでテストベクトルを実行するための制御プログラムである。以上のように生成された検証用データＶｄ＿ｃ（入力テストベクトルＶｄ＿ｃａ、出力期待値Ｖｄ＿ｃｂおよびベクトル制御プログラムＶｄ＿ｃｃ）は、ユーザ識別情報ＵＩＤと共に処理識別部２３に渡される。
【００４３】
次に、図３を参照して、診断部３３について詳細に説明する。診断部３３は、ユーザが検証用データを用いて検証作業を行った結果得られた検証結果データＶｒｄの診断を行い、診断結果Ｄｒを生成する。診断部３３は、診断データ形式選択部６１と、診断モジュール起動部６３と、複数の診断モジュールとを含む。以下、診断部３３には、診断モジュールＡ６５と、診断モジュールＢ６７とに加え、１〜ｎからなるｎ種類の診断レベルに分類される診断モジュールＣ６９とが含まれている場合について説明する。なお、診断部３３が備える診断モジュールは本例においては大別して３種類であるが、ユーザが扱う検証結果データの種類に対応可能な数だけ存在していればよい。
【００４４】
診断部３３において、診断データ形式選択部６１は、処理選択部２３からユーザ指示Ｕｉ１と、診断用データＲｄと、ユーザ識別情報ＵＩＤとを受け取ると、ユーザ指示Ｕｉ１を解析する。診断用データＲｄには、前述した検証用データ生成部３１において生成された検証用データＶｄと、当該検証用データに基づいてユーザが検証を行った結果得られた検証結果データＶｒｄとが含まれる。例えば、検証用データＶｄが検証用データ生成モジュールＡ４５によって生成された検証用データＶｄ＿ａである場合、検証結果データＶｒｄは診断モジュールＡによって診断される。同様に、検証用データＶｄが検証用データＶｄ＿ｂである場合、検証結果データＶｒｄは診断モジュールＢで診断され、検証用データＶｄが検証用データＶｄ＿ｃである場合、検証結果データＶｒｄは診断モジュールＣで診断される。
【００４５】
そして、診断データ形式選択部６１は、ユーザ指示Ｕｉ１に基づいて、起動すべき診断モジュールを指定する情報を含む起動指定情報ｊｒを生成する。そして、診断データ形式選択部６１は、起動指定情報ｊｒと共に、診断用データＲｄおよびユーザ識別情報ＵＩＤを診断モジュール起動部６３に渡す。
【００４６】
診断モジュール起動部６３は、診断データ形式選択部６１から受け取った起動指定情報ｊｒに基づいて、診断モジュールを起動する。そして、診断モジュール起動部６３は、起動した診断モジュールに診断用データＲｄおよびユーザ識別情報ＵＩＤを渡す。診断モジュール起動部６３によって起動された診断モジュールは、受け取った診断用データＲｄの診断を行い、診断結果Ｄｒを生成する。診断結果Ｄｒは、ユーザ識別情報ＵＩＤと共に処理選択部２３に渡される。
【００４７】
図４を参照して、診断モジュールＣ１（６９＿１）について詳細に説明する。診断モジュールＣ６９によって診断が行われる場合、診断用データＲｄには、検証用データＶｄおよび検証結果データＶｒｄの他に、出力期待値Ｖｄ＿ｃｂが含まれる。
【００４８】
診断モジュールＣは、診断モジュールＣ１〜診断モジュールＣｎのｎ種類の診断レベルに分類される複数の診断モジュールを含む。診断モジュールはソフトウェアで構成されており、診断レベルに応じて診断深さを分岐させる、つまり、診断レベルに応じてモジュールの精度が変化する。ここで、特に区別する必要がない場合には、診断モジュールＣ１〜Ｃｎを、診断モジュールＣ６９と総称する。診断モジュールＣ１（６９＿１）は、期待値比較モジュール６９＿１ａと、データ解析モジュール６９＿１ｂと、診断結果生成モジュール６９＿１ｃとを含む。なお、本実施形態において、複数の診断レベルを備える診断モジュールは診断モジュールＣのみであるが、診断モジュールＡ６５や診断モジュールＢが、複数の診断レベルに分類された複数の診断モジュールを含んでいてもよい。
【００４９】
期待値比較モジュール６９＿１ａは、診断モジュール起動部６３から検証結果データＶｒｄおよび出力期待値Ｖｄ＿ｃｂを受け取ると、これらのデータを読み込んで期待値不一致箇所を抽出する。期待値比較モジュール６９＿１ａによって抽出された期待値不一致箇所は、データ解析モジュール６９＿１ｂに渡される。
【００５０】
データ解析モジュール６９＿１ｂは、診断モジュール起動部６３から検証結果データＶｒｄを受け取り、期待値比較モジュール６９＿１ａから期待値不一致箇所を受け取ると、この２種類のデータに基づいて、期待値不一致箇所がどの検証項目に相当するのかを解析する。データ解析モジュール６９＿１ｂによって解析された解析結果は、診断結果生成モジュール６９＿１ｃに渡される。
【００５１】
診断結果生成モジュール６９＿１ｃは、データ解析モジュール６９＿１ｂから解析結果を受け取ると、解析結果に基づいて、診断結果Ｄｒ＿ｃ１を生成する。診断結果生成モジュール６９＿１ｃによって生成された診断結果Ｄｒ＿ｃ１は、ユーザ識別情報ＵＩＤと共に出力結果情報Ｃｏとして処理識別部２３に渡される。
【００５２】
図５を参照して、以上の構成を有する設計支援システム５の動作について詳細に説明する。ユーザは、端末装置９＿１のブラウザからサーバ７ａにアクセスし、設計データＰｄをアップロードする。具体的には、端末装置９＿１は、サーバ７ａに総合委託情報Ｃｉを送信する。端末装置１０９＿１から総合委託情報Ｃｉが送信され、サーバ７ａにおいて、処理識別部２３がユーザ管理部２５から総合委託情報Ｃｉを受け取ると、図５に示す処理が開始される。
【００５３】
ステップＳ１０１において、検証用データ生成指示を受け取ったか否かが判断される。サーバ７ａにおいて、処理識別部２３は、総合委託情報Ｃｉに含まれているユーザ指示Ｕｉ１を読み出し、ユーザ指示Ｕｉ１に検証を指示する情報が含まれているか否かを判断する。
【００５４】
ステップＳ１０１においてＹｅｓ、つまり、受け取ったユーザ指示Ｕｉ１が検証用データ生成指示であった場合、処理は次のステップＳ１０３に進む。処理識別部２３は、ユーザ指示Ｕｉ１、設計データＰｄおよびユーザ識別情報ＵＩＤを、検証用データ生成部３１の検証データ形式選択部４１に渡す。そして、処理は次のステップＳ１０３に進む。サブルーチンステップＳ１０３において、検証データ生成処理が行われる。
【００５５】
図６を参照して、サブルーチンステップＳ１０３における検証データ生成処理について詳細に説明する。まず、ステップＳ２０１において、検証データ形式選択部４１は、ユーザ指示Ｕｉ１を解析する。そして、処理は次のステップＳ２０３に進む。
【００５６】
ステップＳ２０３において、シーケンスが抽出される。検証データ形式選択部４１は、ユーザ指示Ｕｉ１に基づいて、検証用データ生成モジュールを起動させる順番を決定する。そして、検証データ形式選択部４１は、起動指定情報ｊｒを生成し、設計データＰｄおよびユーザ識別情報ＵＩＤと共に検証用データ生成モジュール起動部４３に渡す。起動指定情報ｊｒには、起動させる検証用データ生成モジュールの指定および起動させる順番が含まれる。そして、処理は、次のステップＳ２０５に進む。
【００５７】
ステップＳ２０５において、検証用データ生成モジュールＡが選択されているか否かが判断される。具体的には、検証用データ生成モジュール起動部４３は、検証データ形式選択部４１から受け取った起動指定情報ｊｒを解析し、起動指定情報ｊｒに検証用データ生成モジュールＡを指定する情報が含まれているか否かを判断する。ステップＳ２０５においてＹｅｓ、つまり検証用データ生成モジュールＡが選択されている場合、処理は次のステップＳ２０７に進む。
【００５８】
ステップＳ２０７において、検証用データ生成モジュールＡによるデータ作成が行われる。検証用データ生成モジュール識別部４３は、検証用データ生成モジュールＡを起動し、設計データＰｄおよびユーザ識別情報ＵＩＤを渡す。検証用データ生成モジュールＡは、設計データＰｄを読み込み、検証用データＶｄ＿ａを生成する。そして、処理はステップＳ２１１に進む。
【００５９】
一方、ステップＳ２０５においてＮｏ、つまり、検証用データ生成モジュールＡが選択されていない場合、処理はステップＳ２０９に進む。ステップＳ２０９において、検証用データ生成モジュールＢによる検証用データの生成が行われる。検証用データ生成モジュール識別部４３は、検証用データ生成モジュールＢを起動し、設計データＰｄおよびユーザ識別情報ＵＩＤを渡す。検証用データ生成モジュールＢは、設計データＰｄを読み込み、検証用データＶｄ＿ｂを生成する。そして、処理はステップＳ２１１に進む。
【００６０】
ステップＳ２１１において、検証用データ生成モジュールＣが指定されているか否かが判断される。検証データ形式選択部４１は、起動指定情報ｊｒに、検証用データ生成モジュールＣを選択する情報がさらに含まれているか否かを判断する。ステップＳ２１１においてＹｅｓ、検証用データ生成モジュールＣが選択されている場合、処理は次のステップＳ２１３に進む。
【００６１】
ステップＳ２１３〜Ｓ２１７において、モジュールＣによる検証用データ作成が行われる。以下、検証用データ生成モジュールＡ４５を経て検証用データ生成モジュールＣ４９による設計データＰｄの検証が行われる場合について説明する。検証用データ生成モジュール起動部４３は、検証用データ生成モジュールＣを起動する。そして、検証用データ生成モジュールＣに、検証用データ生成モジュールＡによって生成された検証用データＶｄ＿ａを渡す。
【００６２】
ステップＳ２１３において、入力テストベクトルが生成される。検証用データ生成モジュール起動部４３によって起動された検証用データ生成モジュールＣにおいて、まず、ベクトル抽出モジュール４９ａは、検証用データＶｄ＿ａに基づいてテストベクトルを抽出し、入力テストベクトルＶｄ＿ｃａを生成する。入力テストベクトルＶｄ＿ｃａは、処理識別部２３に渡されると共に、ベクトル再配置モジュール４９ｂに渡される。そして、処理は次のステップＳ２１５に進む。
【００６３】
ステップＳ２１５において、出力期待値Ｖｄ＿ｃｂが生成される。ベクトル再配置モジュール４９ｂは、ベクトル抽出モジュール４９ａから受け取った入力テストベクトルＶｄ＿ｃａに基づいて、出力期待値Ｖｄ＿ｃｂを生成する。そして、処理は次のステップＳ２１７に進む。
【００６４】
ステップＳ２１７において、ベクトル制御プログラムＶｄ＿ｃｃが生成される。プログラム生成モジュール４９ｃは、検証用データ生成モジュール起動部４３から受け取った検証用データＶｄ＿ａに基づいて、ベクトル制御プログラムＶｄ＿ｃｃを生成する。
【００６５】
以上のように、ステップＳ２１３〜Ｓ２１５において、入力テストベクトルＶｄ＿ｃａと、出力期待値Ｖｄ＿ｃｂと、ベクトル制御プログラムＶｄ＿ｃｃとを含む検証用データＶｄ＿ｃが生成される。生成された検証用データＶｄ＿ｃは、ユーザ識別情報ＵＩＤと共に処理識別部２３に渡される。
【００６６】
以上のステップＳ２０１〜Ｓ２１７によって、検証用データ作成処理が完了する。検証用データ生成部３１において生成された検証用データＶｄ＿ａ、検証用データＶｄ＿ｂまたは検証用データＶｄ＿ｃは、ユーザ識別情報ＵＩＤと共に出力結果情報Ｃｏとして処理識別部２３に渡される。
【００６７】
再び図５の説明に戻り、ステップＳ１０５において、データ（出力結果情報Ｃｏ）が送信される。処理識別部２３は、検証用データ生成部３１から出力結果情報Ｃｏを受け取ると、ユーザ管理部２５と送信部３７とに出力結果情報Ｃｏを渡す。送信部３７は、受け取った出力結果情報Ｃｏを端末装置９＿１に送信する。ユーザ管理部２５は、受け取った出力結果情報Ｃｏに含まれるユーザ識別情報ＵＩＤに基づいて、データ管理部２７に出力結果情報Ｃｏを格納するよう指示する。そして、処理は次のステップＳ１０７に進む。
【００６８】
一方、ステップＳ１０１においてＮｏ、つまり、受け取ったユーザ指示Ｕｉ１が検証用データ生成指示でない場合、処理はステップＳ１０７に進む。ステップＳ１０７において、診断指示を受け取ったか否かが判断される。具体的には、処理識別部２３は、総合委託情報Ｃｉに含まれているユーザ指示Ｕｉ１を読み出し、ユーザ指示Ｕｉ１に診断を指示する情報が含まれているか否かを判断する。
【００６９】
ステップＳ１０７においてＮｏ、つまり、受け取ったユーザ指示Ｕｉ１が診断指示でない場合、処理は再びステップＳ１０１に戻る。一方、ステップＳ１０７においてＹｅｓ、つまり受け取ったユーザ指示Ｕｉ１が診断指示である場合、処理は次のステップＳ１０９に進む。処理識別部２３は、ユーザ指示Ｕｉ１、診断用データＲｄおよびユーザ識別情報ＵＩＤを、診断部３３の診断データ形式選択部６１に渡す。サブルーチンステップＳ１０９において、診断用データＲｄの診断が行われる。
【００７０】
図７を参照して、サブルーチンステップＳ１０９における診断処理について詳細に説明する。まず、ステップＳ３０１において、まず、ステップＳ３０１において、診断データ形式選択部６１は、ユーザ指示Ｕｉ１を解析する。そして、診断データ形式選択部６１は、ユーザ指示Ｕｉ１にもとづいて、起動すべき診断モジュールを決定する。診断データ形式選択部６１は、診断モジュールを指定する起動指定情報ｊｒを生成する。起動指定情報ｊｒは、診断用データＲｄおよびユーザ識別情報ＵＩＤと共に診断モジュール起動部６３に渡される。そして、処理は次のステップＳ３０３に進む。
【００７１】
ステップＳ３０３において、診断モジュールＡが選択されているか否かが判断される。診断モジュール起動部６３は、診断データ形式選択部６１から受け取った起動指定情報ｊｒを解析し、起動指定情報ｊｒに診断モジュールＡを指定する情報が含まれているか否かを判断する。ステップＳ３０３においてＹｅｓ、つまり診断モジュールＡが選択されている場合、処理は次のステップＳ３０５に進む。
【００７２】
ステップＳ３０５において、診断モジュールＡによる診断用データＲｄの診断が行われる。診断モジュール起動部６３は、診断モジュールＡを起動し、診断用データＲｄおよびユーザ識別情報ＵＩＤを渡す。診断モジュールＡは、診断用データＲｄを読み込み、診断結果Ｄｒ＿ａを作成する。診断モジュールＡによって生成された診断結果Ｄｒ＿ａは、ユーザ識別情報ＵＩＤと共に出力結果情報Ｃｏとして処理選択部２３に渡され、診断処理が完了する。
【００７３】
一方、ステップＳ３０３においてＹｅｓ、つまり診断モジュールＡが選択されていない場合、処理はステップＳ３０７に進む。ステップＳ３０７において、診断モジュールＢが選択されているか否かが判断される。
【００７４】
ステップＳ３０７においてＹｅｓ、診断モジュールＢが選択されている場合、処理は次のステップＳ３０９に進む。ステップＳ３０９において、モジュールＢによる診断用データＲｄの診断が行われる。診断モジュール起動部６３は、診断モジュールＢを起動し、診断用データＲｄおよびユーザ識別情報ＵＩＤを渡す。診断モジュールＢは、診断用データＲｄを読み込み、診断結果Ｄｒ＿ｂを作成する。診断モジュールＢによって生成された診断結果Ｄｒ＿ｂは、ユーザ識別情報ＵＩＤと共に出力結果情報Ｃｏとして処理選択部２３に渡され、診断処理が完了する。
【００７５】
一方、ステップＳ３０７においてＹｅｓ、つまり診断モジュールＢが選択されていない場合、処理はステップＳ３１１に進む。ステップＳ３１１において、診断モジュールＣによる診断結果Ｄｒ＿ｃの生成が行われる。ユーザ指示Ｕｉ１に、診断モジュールＣを指定する情報が選択されている場合、診断モジュールＣのレベル（１〜ｎ）も同時に選択される。
【００７６】
ステップＳ３１１〜ステップＳ３１５の処理によって、診断モジュールＣによる診断用データＲｄの診断が行われる。まず、ステップＳ３１１において、期待値の比較が行われる。期待値比較モジュール６９＿１ａは、診断モジュール起動部６３から受け取った検証結果データおよび出力期待値Ｖｄ＿ｃｂに基づいて期待値を比較し、期待値不一致箇所を抽出する。抽出された期待値不一致箇所は、データ解析モジュール６９＿１ｂに渡される。そして、処理は次のステップＳ３１３に進む。
【００７７】
ステップＳ３１３において、データの解析が行われる。診断モジュール起動部６３から受け取った検証結果データＶｒｄと、期待値比較モジュール６９＿１ａから受け取った期待値不一致箇所とに基づいて、期待値不一致箇所がどの検証項目に相当するのかを解析する。解析された解析データは、診断結果生成モジュール６９＿１ｃに渡される。そして、処理は次のステップＳ３１５に進む。
【００７８】
ステップＳ３１５において、診断結果が生成される。診断結果生成モジュール６９＿１ｃは、受け取った解析データに基づいて、診断結果Ｄｒ＿ｃ１を生成する。
【００７９】
以上のように、ステップＳ３０１〜Ｓ３１５における処理によって、診断結果Ｄｒ＿ａ、診断結果Ｄｒ＿ｂまたは診断結果Ｄｒ＿ｃが生成され、診断処理が完了する。そして、処理は図５に示すフローチャートのステップＳ１１１に進む。
【００８０】
再び図５の説明に戻り、ステップＳ１１１において、出力結果情報Ｃｏが送信される。処理識別部２３は、診断部３３から出力結果情報Ｃｏを受け取ると、ユーザ管理部２５と送信部３７とに出力結果情報Ｃｏを渡す。ステップＳ１１１における処理は、ステップＳ１０５におけるデータ送信処理と同様であるため、詳細な説明は省略する。
【００８１】
以上のステップＳ１０１〜Ｓ１１１によって、設計支援システム５による検証用データＶｄの生成および診断結果Ｄｒの生成処理が完了する。ステップＳ１１１の後、制御部１１は、ステップＳ１０１の処理に戻り、総合委託情報Ｃｉが送信されてくるのを待つ。そして、検証用データ生成指示または診断指示がなされると、再びステップＳ１０１〜Ｓ１１７の処理が繰り返される。
【００８２】
以上のように、設計支援システム５は、複数の検証用データ生成モジュールを用いて設計データＰｄの検証用データＶｄを生成することができる。これにより、ユーザは、複数の検証用データ生成モジュールを組み合わせる等の所望の形態を有する検証用データＶｄを一度の操作で得ることができるため、設計データＰｄの検証を効率的に行うことができる。また、ユーザは、検証用データＶｄ＿ｃを用いて、例えばＬＳＩ論理シミュレーションで設計データＰｄの検証を容易に行うことができる。また、設計支援システム５は、ユーザが指示する診断のレベルに応じて、検証結果データＶｒｄの診断を行うことができる。これにより、ユーザは検証作業の診断結果を容易に得ることができる。
【００８３】
なお、本実施形態において、各部の処理は、ネットワークを介して行われる例を示したが、設計支援システム５の全ての機能を１つのコンピュータ上に実装してもよい。この場合、例えば、ユーザは、リモートログインの機能を用いて設計支援システム５にアクセスする。これにより、本システムを実施するためのコンピュータ資源を節約することができ、また、安価にシステムを構成することができる。また、本システムの全ての機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な任意の記録媒体に格納し、持ち運ぶことで、遠隔地の他のコンピュータ上で容易に本システムを再構成することもできる。
【００８４】
なお、本実施形態において、検証用データ生成モジュールＣ４９はベクトル抽出モジュール４９ａ、ベクトル再配置モジュール４９ｂおよびプログラム生成モジュール４９ｃを含むが、これらのモジュールはあくまで一例であり、検証用データ生成モジュールの構成を限定するものではない。
【００８５】
なお、本実施形態において、診断モジュールＣ６９は、期待値比較モジュール６９＿１ａ、検証用データ解析モジュール６９＿１ｂ、診断結果生成モジュール６９＿１ｃとから構成される。しかしながら、これらのモジュールはあくまで一例であり、診断モジュールＣ６９の構成を限定するものではない。
【００８６】
なお、本実施形態において、設計データＰｄの検証または検証データの診断が行われた後、サーバ７ａから端末装置９＿１には出力結果情報Ｃｏが送信される。ここで、検証用データＶｄまたは診断結果Ｄｒが端末装置９＿１に送信される代わりに、サーバ７ａによる処理が完了したことを示す完了通知が送信されてもよい。完了通知は、例えば電子メールであって、端末装置９＿１を介して当該完了通知を受け取ったユーザは、ブラウザを用いてサーバ７ａにアクセスし、検証用データＶｄ＿ａまたは診断結果Ｄｒをサーバ７ａからダウンロードする。
【００８７】
なお、本実施形態において、診断データ形式選択部６１は、総合委託情報Ｃｉに含まれるユーザ指示Ｕｉ１に基づいて起動すべき診断モジュールを決定する。しかしながら、診断データ形式選択部６１は、処理選択部２３から受け取った診断用データＲｄを解析して、起動すべきモジュールを決定してもよい。その場合、ユーザ指示Ｕｉ１は、総合委託情報Ｃｉに含まれなくともよい。
【００８８】
また、本実施形態において、検証データ形式選択部４１は、総合委託情報Ｃｉに含まれるユーザ指示Ｕｉ１に基づいて起動すべき検証用データ生成モジュールを決定する。しかしながら、検証データ形式選択部４１は、総合委託情報Ｃｉに含まれる設計データＰｄを解析して、検証用データ形式を決定し、起動すべき検証用データ生成モジュールを検証用データ生成モジュール起動部４３に指示してもよい。その場合、ユーザ指示Ｕｉ１は、総合委託情報Ｃｉに含まれなくともよい。
【００８９】
（第２の実施形態）
図８に示すブロック図を参照して、本発明の第２の実施形態に係る設計支援システム５について説明する。本実施形態に係る設計支援システム５は、第１の実施形態に係る設計支援システム５に、さらにチェック部８１を備え、設計データＰｄの文法をチェックする。
【００９０】
ユーザが設計データＰｄの文法チェックを希望する場合、ブラウザのユーザインターフェースを介してチェック処理を選択する。このとき、端末装置９＿１からサーバ７ｂに、サーバ識別情報Ｗｉ、ユーザ指示Ｕｉ２、ユーザ識別情報ＵＩＤおよび設計データＰｄを含む総合委託情報Ｃｉが送信される。ユーザ指示Ｕｉ２には、第１の実施形態におけるユーザ指示Ｕｉ１に、チェック部８１によるチェックを指示する情報がさらに含まれている。
【００９１】
処理識別部２３は、ユーザ管理部２５から総合委託情報Ｃｉを受け取ると、総合委託情報Ｃｉに含まれるユーザ指示Ｕｉ２に基づいて、総合委託情報Ｃｉを検証用データ生成部３１、診断部３３およびチェック部８１のうちのいずれに渡すかを判断する。ユーザ指示Ｕｉ２がチェック指示である場合、処理識別部２３は、設計データＰｄおよびユーザ識別情報ＵＩＤをチェック部８１に渡す。
【００９２】
チェック部８１は、処理識別部２３から受け取った設計データＰｄに基づいて、設計データＰｄのフォーマットを認識する。また、チェック部８１は、認識したフォーマットに適したモジュールを起動して文法をチェックし、チェック結果データＣｒを生成する。チェック結果データＣｒは、ユーザ識別情報ＵＩＤと共に出力結果情報Ｃｏとして処理識別部２３に渡される。
【００９３】
図９に示すブロック図を参照して、チェック部８１についてさらに詳細に説明する。チェック部８１は、フォーマット認識部８３と、文法チェックモジュール起動部８５とを含み、設計データのフォーマットに適したモジュールを用いて文法をチェックする。フォーマット認識部８３は、構文解析モジュール９３、字句解析モジュール９５、フォーマット判定モジュール９７を含む。
【００９４】
チェック部８１において、フォーマット認識部８３は、処理選択部２３から設計データＰｄおよびユーザ識別情報ＵＩＤを受け取る。フォーマット認識部８３は、設計データＰｄに基づいて、フォーマット認識処理を行う。具体的には、設計データＰｄの内容は、構文解析モジュール９３および字句解析モジュール９５によって解析される。解析結果は、フォーマット判定モジュール９７に渡される。
【００９５】
フォーマット判定モジュール９７はフォーマット形式を判定すると、判定したフォーマット形式をチェックモジュール起動部８５に渡す。チェックモジュール起動部８５は、フォーマット判定モジュール９７から受け取ったフォーマット形式に応じて、設計データＰｄのフォーマットに適した文法チェックモジュールを起動する。
【００９６】
図１０に示すフローチャートを参照して、設計システム５の動作について説明する。図１０に示すフローチャートは、図５に示す第１の実施形態における設計支援システム５の動作を示すフローチャートにおいて、ステップＳ１０１の処理の前にステップＳ４０１〜Ｓ４０５の処理を追加したものである。このため、図５のフローチャートと同一のステップについては、説明を省略する。
【００９７】
ステップＳ４０１において、チェック指示を受け取ったか否かが判断される。処理識別部２３は、総合委託情報Ｃｉに含まれているユーザ指示Ｕｉ２を読み出し、ユーザ指示Ｕｉ２にチェックを指示する情報が含まれているか否かを判断する。
【００９８】
ステップＳ４０１においてＹｅｓ、つまり、受け取ったユーザ指示Ｕｉ２がチェック指示であった場合、処理識別部２３は、設計データＰｄおよびユーザ識別情報ＵＩＤをチェック部８１のフォーマット認識部８３に渡す。そして、処理は次のステップＳ４０３に進む。サブルーチンステップＳ４０３において、チェック処理が行われる。
【００９９】
図１１を参照して、サブルーチンステップＳ４０３におけるチェック処理について詳細に説明する。まず、ステップＳ５０１において、構文解析が行われる。構文解析モジュール９３は、設計データＰｄに基づいて内容を解析する。構文解析モジュール９３によって解析されたデータは、字句解析モジュール９４に渡される。そして、処理は次のステップＳ５０３に進む。
【０１００】
ステップＳ５０３において、字句解析が行われる。字句解析モジュール９４は、構文解析モジュール９３から受け取ったデータに基づいて、字句解析を行う。字句解析モジュール９４によって解析されたデータは、フォーマット判定モジュール９７に渡される。そして、処理は次のステップＳ５０５に進む。
【０１０１】
ステップＳ５０５において、フォーマットの判定が行われる。フォーマット判定モジュール９７は、字句解析モジュール９４から受け取ったデータに基づいてフォーマットの判定を行い、判定結果を生成する。判定結果は、設計データＰｄと共にチェックモジュール起動部８５に渡される。そして、処理は次のステップＳ５０７に進む。
【０１０２】
ステップＳ５０７において、モジュールの選択が行われる。チェックモジュール起動部８５は、フォーマット判定モジュール９７から受け取った判定結果を解析し、フォーマットに適した文法チェックモジュール８７を決定する。そして、チェックモジュール起動部８５は、選択した文法チェックモジュール８７を起動し、設計データＰｄを渡す。そして、処理は次のステップＳ５０９に進む。
【０１０３】
ステップＳ５０９において、文法のチェックが行われる。チェックモジュール起動部８５によって起動された文法チェックモジュール８７は、設計データＰｄをチェックし、チェック結果Ｃｄを生成する。
【０１０４】
以上のステップＳ５０１〜Ｓ５０９によって、チェック処理が完了する。チェック部８１において生成されたチェック結果Ｃｒは、ユーザ識別情報ＵＩＤと共に出力結果情報Ｃｏとして処理識別部２３に渡される。
【０１０５】
再び図１０の説明に戻り、ステップＳ４０５において、データ（出力結果情報Ｃｏ）が送信される。処理識別部２３は送信部３７を介して、端末装置９＿１に出力結果情報Ｃｏを送信する。ステップＳ４０５における処理は、図５に示すフローチャートにおけるステップＳ１０５の処理と同様であるため、詳細な説明は省略する。
【０１０６】
一方、ステップＳ４０１においてＮｏ、つまり、チェック指示を受け取っていない場合、処理はステップＳ１０１に進む。ステップＳ１０１以降の処理は、図５に示すフローチャートにおけるステップＳ１０１以降の処理と同様であるため、説明は省略する。
【０１０７】
以上のように、本実施形態によれば、異なるフォーマットの設計データＰｄに対しても、それぞれのフォーマットに最適な文法チェックを行うことが出来る。これにより、ユーザは、設計データＰｄのフォーマットを意識することなく、容易に文法チェック結果を得ることが出できる。
【０１０８】
なお、本実施形態において、フォーマット認識部８３は、構文解析モジュール９３、字句解析モジュール９５およびフォーマット判定モジュール９７から構成されるが、これらのモジュールはあくまで一例であり、フォーマット認識機能の構成を限定するものではない。また、本実施形態において、フォーマット認識部８３は設計データＰｄのフォーマットを認識する。ここで、フォーマット認識部８３がフォーマットを判定する代わりに、ユーザが設計データＰｄのフォーマットを指示するようにしてもよい。その場合、端末装置９において生成されるユーザ指示Ｕｉ２には、設計データＰｄのフォーマットを指示する情報が含まれる。そして、処理識別部２３は、ユーザ指示Ｕｉ２を削除せずに、総合委託情報Ｃｉをチェック部８１に渡す。
【０１０９】
図１２に示すブロック図を参照して、チェック部８１の構成の変形例について説明する。本変形例において、チェック部８１は、設計データＰｄをチェックする。本変形例において、設計データＰｄは例えばプリント基板の設計データである。
【０１１０】
本変形例において、チェック部８１は、比較解析部２０１と、解析結果処理選択部２０３と、解析結果反映部２０５とを含む。比較解析部２０１は、ファイル生成モジュール２０７と、差分抽出モジュール２０９と、差分解析モジュール２１１とを含む。また、本変形例において、端末装置９からサーバ７ｂに送信される総合委託情報Ｃｉには、サーバ識別情報Ｗｉ、ユーザ指示Ｕｉ２、設計データＰｄおよびユーザ識別情報ＵＩＤの他に、設計仕様データが含まれる。設計仕様データは、例えばＬＳＩのピン配置情報Ｐａである。
【０１１１】
ユーザ指示Ｕｉ２がチェック指示である場合、処理識別部２３は、ユーザ指示Ｕｉ２、設計データＰｄ、ピン配置情報Ｐａおよびユーザ識別情報ＵＩＤをチェック部８１の比較解析部２０１に渡す。ユーザ指示Ｕｉ２には、チェック部８１で解析後に、元の設計データＰｄを変更するのか、または設計データＰｄに追記するのかのいずれかを示す情報が含まれる。
【０１１２】
比較解析部２０１は、比較解析処理を行う。設計データＰｄおよびピン配置情報Ｐａは、まず、ファイル生成モジュール２０７によって、ファイルの内容が共通なフォーマットに置き換えられ、それぞれの中間ファイルが生成される。生成された中間ファイルは、差分抽出モジュール２０９に渡される。
【０１１３】
各中間ファイルは、差分抽出モジュール２０９によって両者の相違点が抽出され、結果はさらに差分解析モジュール２１１に渡される。このように差分解析モジュール２１１によって、設計データＰｄとピン配置情報Ｐａとの間の相違点、すなわちＬＳＩのピン配置に関して仕様と異なる箇所や、仕様変更箇所、仕様追加箇所が抽出される。抽出されたデータは、解析結果処理選択部２０３に渡される。
【０１１４】
解析結果処理選択部２０３は、仕様と異なる箇所や、仕様変更箇所、仕様追加箇所を、元の設計データＰｄに追記または変更するのかを、ユーザ指示Ｕｉ２に基づいて決定する。そして、解析結果処理選択部２０３は決定した処理を行うよう、解析結果反映部２０５に対して指示する。解析結果反映部２０５は、指定された処理を設計データＰｄに対して行い、更新された更新設計データＲＰｄを生成する。
【０１１５】
なお比較解析部２０１の構成は、本例ではファイル生成モジュール２０７、差分抽出モジュール２０９から構成されるような例を示したが、これらのモジュールはあくまで一例であり、比較解析機能の構成を限定するものではない。
【０１１６】
図１３に示すフローチャートを参照して、設計システム５の動作について説明する。図１３に示すフローチャートは、図１０に示す第２の実施形態における設計支援システム５の動作を示すフローチャートにおいて、サブルーチンステップＳ４０３の処理が、ステップＳ６０１〜Ｓ６０９の処理に入れ替わったものである。このため、図１０のフローチャートと同一のステップについては、説明を省略する。
【０１１７】
ステップＳ４０１においてＹｅｓ、つまりチェック指示を受け取った場合、処理識別部２３は、総合委託情報Ｃｉをチェック部８１の比較解析部２０１に渡す。そして、処理は、サブルーチンステップＳ４０３に進む。
【０１１８】
サブルーチンステップＳ４０３において、チェック処理が行われる。まず、ステップＳ６０１において、ファイルが生成される。チェック部８１において、比較解析部２０１は、処理識別部２３からユーザ指示Ｕｉ２、設計データＰｄ、ピン配置情報Ｐａおよびユーザ識別情報ＵＩＤを受け取ると、比較解析処理を開始する。まず、ファイル生成モジュール２０７は、設計データＰｄおよびピン配置情報Ｐａに基づいて、設計データＰｄおよびピン配置情報Ｐａのファイルの内容を共通なフォーマットに置き換え、それぞれの中間ファイルを生成する。そして、処理は次のステップＳ６０３に進む。
【０１１９】
ステップＳ６０３において、差分抽出が行われる。差分抽出モジュール２０９は、設計データＰｄおよびピン配置情報Ｐａの間の相違点を抽出する。そして、処理は次のステップＳ６０５に進む。
【０１２０】
ステップＳ６０５において、差分解析が行われる。差分解析モジュール２１０は、設計データＰｄおよびピン配置情報Ｐａの間の相違点、すなわちＬＳＩのピン配置に関して仕様と異なる箇所や、仕様変更箇所、仕様追加箇所を抽出する。そして、処理は次のステップＳ６０７に進む。
【０１２１】
ステップＳ６０７において、解析結果の処理の選択が行われる。解析結果処理選択部２０３は、ステップＳ６０５において抽出された箇所を、元の設計データＰｄに追記または変更するのかを、ユーザ指示Ｕｉ２に基づいて決定する。解析結果処理選択部２０３は、決定した設計データＰｄの変更方法を解析結果反映部２０５に指示する。そして、処理は次のステップＳ６０９に進む。
【０１２２】
ステップＳ６０９において、解析結果の反映が行われる。解析結果反映部２０５は、解析結果処理選択部２０３から受け取った指示に従って、更新設計データＲＰｄを生成する。生成された更新設計データＲＰｄは、ユーザ識別情報ＵＩＤと共に、出力結果情報Ｃｏとして処理識別部２３に渡される。
【０１２３】
以上のステップＳ６０１〜Ｓ６０９によって、チェック部８１による比較解析処理が完了する。以上のように、本変形例によれば、設計仕様データに対して、設計データＰｄとの整合性をとることができる。これにより、ユーザは、設計データＰｄの仕様の整合性チェックを容易に行うことが出来る。
【０１２４】
図１４に示すブロック図を参照して、チェック部８１の構成のさらなる変形例について説明する。本変形例において、チェック部は、複数の検査解析モジュールを含み、設計データＰｄに基づいて、それぞれ異なった検査手法についての検査性を解析する。検査性とは、部品やはんだ付け箇所の割合で、どのような検査手法で検査できるのかをいう。本変形例において、設計データＰｄは、例えばプリント基板の設計データである。チェック部８１は、解析制御部と、解析結果集計部２２９と、解析モジュールＡ２２３と、解析モジュールＢ２２５と、解析モジュールＣ２２７とを含む。解析結果集計部２２９は、結果分析モジュール２３１と、集計モジュール２３３と、抽出モジュール２３５とを含む。
【０１２５】
ユーザ指示Ｕｉ２がチェック指示である場合、処理識別部２３は、ユーザ指示Ｕｉ２、設計データＰｄ、ピン配置情報Ｐａおよびユーザ識別情報ＵＩＤをチェック部８１の解析制御部２２１に渡す。解析制御部２２１は、設計データＰｄに基づいて検査性解析処理を行う。解析制御部２２１は、順次解析モジュールＡ２２３、解析モジュールＢ２２５および解析モジュールＣ２２７を実行しながら、それぞれの検査手法について、設計データＰｄの検査性の解析を行う。
【０１２６】
検査解析モジュールＡ２２３からは解析結果ＡＲ＿ａが出力され、検査解析モジュールＢ２２５からは解析結果ＡＲ＿ｂが出力され、検査解析モジュールＣ２２７からは解析結果ＡＲ＿ｃが出力される。それぞれの解析モジュールから出力された解析結果ＡＲ＿ａ〜ｃは、解析結果集計部２２９に渡される。
【０１２７】
解析結果集計部２２９は、受け取った解析結果ＡＲ＿ａ〜ｃに基づいて、プリント基板全体の総合解析結果２３７を生成する。具体的には、まず、検査性解析結果分析モジュール２３１によって、各検査性解析結果ＡＲ＿ａ〜ｃの内容が分析される。分析結果集計モジュール２３３によって生成された分析結果は、分析結果集計モジュール２３３によって、ユーザの見やすい形式に集計される。さらに、抽出モジュール２３５は、分析結果集計モジュール２３３によって生成された分析結果に基づいて、プリント基板で未検査の部分を抽出し、検査対象箇所と未検査箇所とをまとめた結果を総合検査性解析結果として出力する。
【０１２８】
図１５に示すフローチャートを参照して、設計システム５の動作について説明する。図１５に示すフローチャートは、図１０に示す第２の実施形態における設計支援システム５の動作を示すフローチャートにおいて、サブルーチンステップＳ４０３の処理が、ステップＳ７０１〜Ｓ７０９の処理に入れ替わっている。このため、図１０のフローチャートと同一のステップについては、説明を省略する。
【０１２９】
ステップＳ４０１において、処理識別部２３は受け取ったユーザ指示Ｕｉ２がチェック指示であると判断した場合、処理はステップＳ４０３に進む。処理識別部２３は、ユーザ指示Ｕｉ２、設計データＰｄ、ピン配置情報Ｐａおよびユーザ識別情報ＵＩＤをチェック部８１の解析制御部２２１に渡す。
【０１３０】
サブルーチンステップＳ４０３において、チェック処理が行われる。まず、ステップＳ７０１において、データの解析が行われる。解析制御部２２１は、検査解析モジュールＡ２２３、検査解析モジュールＢ２２５および検査解析モジュールＣ２２７のそれぞれを起動し、設計データＰｄを渡す。検査解析モジュールＡ〜Ｃによって、解析結果ＡＲ＿ａ、解析結果ＡＲ＿ｂおよび解析結果ＡＲ＿ｃがそれぞれ生成される。生成された解析結果ＡＲ＿ａ〜ｃは、解析結果集計部２２９の結果分析モジュール２３１に渡される。そして、処理は次のステップＳ７０３に進む。
【０１３１】
ステップＳ７０３において、解析結果の分析が行われる。結果分析モジュール２３１は、解析結果ＡＲ＿ａ〜ｃの内容を分析し、解析結果のそれぞれに対して分析結果を生成する。生成された分析結果は、集計モジュール２３３と抽出モジュール２３５とに渡される。そして、処理は次のステップＳ７０５に進む。
【０１３２】
ステップＳ７０５において、分析結果の集計が行われる。集計モジュール２３３は、結果分析モジュール２３１から受け取った分析結果を、ユーザの見やすい形式に集計し、集計結果を生成する。生成された集計結果は、抽出モジュール２３５に渡される。そして、処理は次のステップＳ７０７に進む。
【０１３３】
ステップＳ７０７において、未検査箇所の抽出が行われる。抽出モジュール２３５は、結果分析モジュール２３１から受け取った分析結果に基づいて、未検査の部分を抽出し、検査対象箇所と未検査箇所とをまとめた抽出結果を生成する。そして、処理は次のステップＳ７０９に進む。
【０１３４】
ステップＳ７０９において、総合解析結果が生成される。抽出モジュール２３５は、生成した抽出結果と、集計モジュール２３３から受け取った集計結果とに基づいて、総合解析結果２３７を生成する。生成された総合解析結果２３７は、ユーザ識別情報ＵＩＤと共に出力結果情報Ｃｏとして処理選択部２３に渡される。
【０１３５】
以上のステップＳ７０１〜Ｓ７０９によって、チェック部８１による検査性解析処理が行われる。このように、解析結果集計部２２９によって、設計データＰｄの検査性、すなわち部品やはんだ付け箇所がどのくらいの割合で、どのような検査手法で検査ができるのかと言うことを即座に解析することができる。例えば、外観検査やインサーキットテスト、そしてＩＥＥＥ標準１１４９．４バウンダリ・スキャン技術等を組み合わせて検査した際にプリント基板がどれくらい検査できるか、また逆に検査できない箇所はどこかということが総合検査性解析結果に出力され、ユーザは、プリント基板の検査性を容易に検証することができる。設計段階で検査性の高いプリント基板を容易に設計することで、量産時の検査効率が向上するため、製品の品質を向上させることができる。
【０１３６】
なお、解析結果集計部２２９の構成は、本例では検査性解析結果分析モジュール２３１、分析結果集計モジュール２３３、抽出モジュール２３５から構成されるような例を示したが、これらのモジュールはあくまで一例であり、比較解析機能の構成を限定するものではない。
【０１３７】
図１６に示すブロック図を参照して、設計支援システム５の構成の変形例について説明する。図１６は、第２の実施形態に係る設計支援システム５に存在するサーバ７ｂを示す。図１６において、設計支援システム５は、サーバ７ｂ＿１、サーバ７ｂ＿２およびサーバ７ｂ＿３の３つのサーバを含む。なお、端末装置９は省略されている。図１６において、図１または図８と同様の構成要素については同一の符号を用い、説明を省略する。
【０１３８】
第２の実施形態において、設計支援システム５設計データＰｄに対する複数の変換加工機能（検証用データ生成部３１、診断部３３、チェック部８１）を、１つのサーバ７ｂに備えている。これに対し、本変形例において、設計支援システム５は、複数のサーバ７ｂを備え、それぞれに異なる機能を有する。
【０１３９】
設計支援システム５が常に、ユーザが必要とする機能を全て備えることが出来るとは限らない。その場合、サーバ７ｂを複数備える構成としても、本発明を適用することが出来る。各サーバ７ｂは、ネットワークを介して、相互に通信可能な状態に接続される。このため、例えば、チェック部８１、検証用データ生成部３１および診断部３３を、それぞれ別のサーバ７ｂに配置した場合においても、設計データおよび各部により生成されたデータを、各サーバ７ｂの間で送受信することができる。
【０１４０】
このように、複数のサーバ７ｂ上で本システムを構成することにより、多数のユーザが同時に本システムにアクセスした場合の負担分散が可能となり、システムのレスポンスが向上し、ユーザの利便性を向上させることができる。なお、図１６に示した各機能のコンピュータへの配分はあくまでも一例であり、コンピュータの台数、各機能の配分は自由に組み合わせることができる。
【産業上の利用可能性】
【０１４１】
本発明に係る設計支援装置は、複数のモジュールを任意に組み合わせた設計データの検証／診断等に有用である。
【図面の簡単な説明】
【０１４２】
【図１】本発明の第１の実施形態に係る設計支援システム５の構成を示すブロック図
【図２】図１の検証用データ生成部３１の詳細な構成を示すブロック図
【図３】図１の診断部３３の詳細な構成を示すブロック図
【図４】図３に示す診断部３３に含まれる診断モジュールＣの詳細な構成を示すブロック図
【図５】第１の実施形態における設計支援システム５の動作を示すフローチャート
【図６】図５のサブルーチンステップＳ１０３の詳細を示すフローチャート
【図７】図５のサブルーチンステップＳ１０９の詳細を示すフローチャート
【図８】第２の実施形態に係る設計支援システム５の構成を示すブロック図
【図９】図８のチェック部８１の詳細な構成を示すブロック図
【図１０】第２の実施形態における設計支援システム５の動作を示すフローチャート
【図１１】図１０のサブルーチンステップＳ４０３の詳細を示すフローチャート
【図１２】第２実施形態の変形例におけるチェック部８１の詳細な構成を示すブロック図
【図１３】図１０のサブルーチンステップＳ４０３の詳細を示すフローチャート
【図１４】第２実施形態のさらなる変形例におけるチェック部８１の詳細な構成を示すブロック図
【図１５】図１０のサブルーチンステップＳ４０３の詳細を示すフローチャート
【図１６】第２実施形態の変形例における設計支援システム５の構成を示すブロック図
【図１７】従来の設計支援システムの構成を示すブロック図
【符号の説明】
【０１４３】
５  設計支援システム
７ａ  サーバ
７ｂ  サーバ
９  端末装置
１１  設計システム
１３  データ格納部
１５  ユーザ指示生成部
１７  送信部
１９  受信部
２１  制御部
２３  処理識別部
２５  ユーザ管理部
２７  データ管理部
３１  検証用データ生成部
３３  診断部
３５  受信部
３７  送信部
４１  検証データ形式選択部
４３  検証用データ生成モジュール起動部
４５  検証用データ生成モジュールＡ
４７  検証用データ生成モジュールＢ
４９  検証用データ生成モジュールＣ
４９ａ  ベクトル抽出モジュール
４９ｂ  ベクトル再配置モジュール
４９ｃ  プログラム生成モジュール
６１  診断データ形式選択部
６３  診断モジュール起動部
６５  診断モジュールＡ
６７  診断モジュールＢ
６９＿１  診断モジュールＣ１
６９＿１ａ  期待値比較モジュール
６９＿１ｂ  データ解析モジュール
６９＿１ｃ  診断結果生成モジュール
６９＿２  診断モジュールＣ２
６９＿３  診断モジュールＣ３
８１  チェック部
８３  フォーマット認識部
８５  文法チェックモジュール起動部
８７＿ａ  文法チェックモジュールＡ
８７＿ｂ  文法チェックモジュールＢ
８７＿ｃ  文法チェックモジュールＣ
９３  構文解析モジュール
９５  字句解析モジュール
９７  フォーマット判定モジュール
２０１  比較解析部
２０３  解析結果処理選択部
２０５  解析結果反映部
２０７  ファイル生成モジュール
２０９  差分抽出モジュール
２１１  差分解析モジュール
２２１  解析制御部
２２３  解析モジュールＡ
２２５  解析モジュールＢ
２２７  解析モジュールＣ
２２９  解析結果集計部
２３１  結果分析モジュール
２３３  集計モジュール
２３５  抽出モジュール
２３７  総合解析結果
ＡＲ  解析結果
Ｃｉ  総合委託情報
Ｃｏ  出力結果情報
Ｄｒ  診断結果
ｊｒ  起動指定情報
Ｐａ  ピン配置情報
Ｐｄ  設計データ
Ｒｄ  診断用データ
ＲＰｄ  更新設計データ
Ｖｄ  検証用データ
Ｖｒｄ  検証結果データ
Ｕｉ１、Ｕｉ２  ユーザ指示
ＵＩＤ  ユーザ識別情報
Ｗｉ  サーバ識別情報
【図１】
2005128650.tif 000003
【図２】
2005128650.tif 000004
【図３】
2005128650.tif 000005
【図４】
2005128650.tif 000006
【図５】
2005128650.tif 000007
【図６】
2005128650.tif 000008
【図７】
2005128650.tif 000009
【図８】
2005128650.tif 000010
【図９】
2005128650.tif 000011
【図１０】
2005128650.tif 000012
【図１１】
2005128650.tif 000013
【図１２】
2005128650.tif 000014
【図１３】
2005128650.tif 000015
【図１４】
2005128650.tif 000016
【図１５】
2005128650.tif 000017
【図１６】
2005128650.tif 000018
【図１７】
2005128650.tif 000019