(57)【要約】【課題】  仕様書で入力された定数を仕様書間で共有する事で、仕様書へ不当な定数が入力されることを回避し、仕様書への定数の入力回数を低減できる制御モデル自動生成装置を提供する。【解決手段】  仕様書を編集する仕様書編集部１０２と、仕様書から抽出すべき設計情報と仕様書へ転記すべき設計情報を定義した送受信定義情報１０４と、送受信定義情報１０４に基づき仕様書より設計情報を抽出して共有データ１０７に書き込む設計情報抽出部１０５と、送受信定義情報１０４に基づき共有データ１０７から設計情報を読み込み仕様書へ設計情報を転記する設計情報転記部１０６と、仕様書から制御モデルへ転記する定数を仕様書から抽出する定数抽出部１０９と、仕様書と制御モデルとの対応を定義した自動生成定義情報１１２と、仕様書から制御モデル１１４と定数定義ファイル１１５を自動生成するモデル自動生成部１１３を備える制御モデル自動生成装置を提供する。【選択図】図１
2010134725.tif 000002
【特許請求の範囲】
【請求項１】
仕様書を編集する仕様書編集部と、
前記仕様書から制御モデルを自動生成するモデル自動生成部と、を備える制御モデル自動生成装置において、
前記仕様書編集部で入力した前記仕様書の設計情報を蓄積する共有データ蓄積部を有し、
前記共有データ蓄積部に蓄積された前記設計情報を前記仕様書とは異なる仕様書へ転記する事を特徴とする制御モデル自動生成装置。
【請求項２】
請求項１に記載の制御モデル自動生成装置において、
前記共有データ蓄積部は、前記仕様書に対する設計情報抽出と設計情報転記の情報を定義した送受信定義情報を有し、前記送受信定義情報に基づいて前記仕様書から前記設計情報を抽出し、前記仕様書とは異なる仕様書へ前記設計情報を転記する事を特徴とする制御モデル自動生成装置。
【請求項３】
請求項２に記載の制御モデル自動生成装置において、
前記送受信定義情報は、抽出すべき設計情報と転記すべき設計情報の情報を前記仕様書毎に定義すると共に、前記仕様書に対する設計情報の入出力として定義する事を特徴とする制御モデル自動生成装置。
【請求項４】
請求項１ないし請求項３の何れかに記載の制御モデル自動生成装置において、
前記共有データ蓄積部は、前記設計情報を蓄積する共有データと、前記仕様書より前記設計情報を取り出し前記共有データに出力する設計情報抽出部と、前記共有データより前記設計情報を読み出し前記仕様書とは異なる仕様書へ前記設計情報を入力する設計情報転記部と、を有する事を特徴とする制御モデル自動生成装置。
【請求項５】
請求項１ないし請求項４の何れかに記載の制御モデル自動生成装置において、
前記制御モデル自動生成装置は、前記制御モデルの雛型である制御モデルテンプレートを蓄積した制御モデルライブラリと、前記仕様書の雛型である仕様書テンプレートと前記制御モデルテンプレートとの対応を定義した自動生成定義情報を有し、
前記モデル自動生成部は、前記自動生成定義情報に基づいて前記仕様書に対応する前記制御モデルテンプレートを前記制御モデルライブラリより選択して制御モデルを自動生成する事を特徴とする制御モデル自動生成装置。
【請求項６】
請求項１ないし請求項５の何れかに記載の制御モデル自動生成装置において、
前記制御モデル自動生成装置は、前記仕様書より抽出すべき定数名称を定義した解析ルールと、前記解析ルールに基づいて前記仕様書から前記定数名称に対応する定数値を抽出する定数抽出部と、を有し、
前記モデル自動生成部は、前記定数値を定数定義ファイルへ出力する機能と、前記制御モデルで参照可能なファイル形式で前記定数定義ファイルを提供する機能と、を有する事を特徴とする制御モデル自動生成装置。
【請求項７】
請求項４に記載の制御モデル自動生成装置において、
前記仕様書は、前記仕様書に入力された前記設計情報と、前記共有データより転記された前記設計情報に含まれる定数値と、を利用して計算を実施し、前記計算により得られた計算結果を新たな第２設計情報とし、前記第２設計情報を前記共有データに出力する事を特徴とする制御モデル自動生成装置。
【請求項８】
請求項７に記載の制御モデル自動生成装置において、
前記仕様書は、グラフ表示機能を有し、前記計算結果をグラフとして表示する事を特徴とする制御モデル自動生成装置。
【請求項９】
請求項８に記載の制御モデル自動生成装置において、
前記制御モデルは、インバータの制御ソフトウェアのモデルであって、前記グラフでは前記インバータに関する特性として表示することを特徴とする制御モデル自動生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仕様書に入力した定数値を用いて制御モデルを生成する自動生成装置に関するものである。
【背景技術】
【０００２】
ソフトウェアの開発においては、品質向上が求められる一方で開発期間は短縮傾向にあるなど、この相反する状況が一般的になりつつある。このような背景の中、ソフトウェアの生産性向上に関して様々な開発手法や取り組み、支援ツールの開発が進められている。その一つにモデルベース開発手法があり、制御モデルを利用してアルゴリズムを検証し、制御モデルからソフトウェアを自動生成する技術が知られている。例えば、MathWork社のMATLAB/SimulinkやdSPACE社のTargetLinkである。
【０００３】
また、ソフトウェアに関する仕様などを記載した仕様書と開発されたソフトウェアとのかい離を回避する技術として、仕様書からソフトウェアを自動生成する技術が知られている（例えば、特許文献１）。
【０００４】
【特許文献１】特開２００８−５２３５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記従来技術においては次の問題点がある。
【０００６】
上記従来技術は、ソフトウェアの雛形となるソフトウェアテンプレートと、ソフトウェアテンプレートと一対の仕様書を予めそれぞれ用意しておき、仕様書に入力された定数値を抽出し、ソフトウェアテンプレートに定数値を転記する事でソフトウェアを自動生成する技術である。従って従来技術においては、ソフトウェアテンプレートに転記する定数値を全て仕様書に入力する必要があった。しかしながら、仕様書へ入力する定数値は他の仕様書、具体的には他の定数値との間で因果関係が存在するため、仕様書間の因果関係を考慮しつつ、手作業で仕様書に定数値を入力しなければならなかった。一方、入力ミスにより不当な定数値が設定されてしまうケースもあるなど、これらが原因で自動生成したソフトウェアの組み合わせ試験にて不具合が発生するという問題点があった。
【０００７】
以上述べたように、従来技術は仕様書からソフトウェアテンプレートへの定数値の転記に重点を置いているため、仕様書に入力した定数値の整合性を確認する事ができなかった。
【０００８】
そこで本発明は上記問題点を解決し、他の仕様書で入力された定数値を編集中の仕様書に転記する事により仕様書への定数値の入力回数を低減すると共に、仕様書に入力された定数値と他の仕様書より転記した定数値を用いてソフトウェアテンプレートと同等の計算をし、計算結果をグラフとして仕様書上に表示する事で、ソフトウェアテンプレートに対する定数値の整合性を確認できる制御モデル自動生成装置を提供する事を目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、少なくとも、仕様書編集部で入力した仕様書の設計情報を蓄積する共有データ蓄積部を有し、共有データ蓄積部に蓄積された設計情報を上記仕様書とは異なる仕様書へ転記するように構成する。
【発明の効果】
【００１０】
仕様書から設計情報を抽出し共有データへ蓄積する手段と、共有データから設計情報を取り出し仕様書へ転記する手段と、仕様書上の設計情報に含まれる定数値を用いて計算し、計算結果をグラフとして表示する手段を設けることにより、他の仕様書で入力された設計情報を編集中の仕様書に転記する事で仕様書への設計情報の入力回数を低減できると共に、ソフトウェアに対する定数値の整合性を確認する事が可能となる。
【発明を実施するための最良の形態】
【００１１】
以下に本発明の実施の形態を、実施例を示した図面を参照しつつ説明する。
【実施例１】
【００１２】
図１は本発明の実施例１としての制御モデル自動生成装置の構成を示した図である。
【００１３】
制御モデルライブラリ１１１は、制御モデルの雛型である制御モデルテンプレートを複数蓄積した記憶手段である。仕様書ライブラリ１０１は、仕様書の雛型である仕様書テンプレートを複数蓄積した記憶手段である。なお、仕様書テンプレートは制御モデルテンプレートに対応するドキュメントであり、制御モデルテンプレートの処理内容や入出力が記載され、定数値や変数名称などの設計情報を入力できる仕様書の雛型である。この仕様書テンプレートを編集する手段が仕様書編集部１０２であって、仕様書ライブラリ１０１から仕様書テンプレートを選択し編集したものがそれぞれ仕様書１２１，１２２，１２３，１２４であり、それらを総称して仕様書１２０として図で表している。
【００１４】
共有データ蓄積部１０３は、仕様書１２０に入力された定数値や変数名称などの設計情報を共有する手段であって、送受信定義情報１０４と設計情報抽出部１０５，設計情報転記部１０６，共有データ１０７で構成する。各構成を述べると、送受信定義情報１０４は仕様書１２０より抽出すべき設計情報と、仕様書１２０に転記すべき設計情報を定義している。設計情報抽出部１０５は、送受信定義情報１０４に基づいて仕様書１２０より設計情報、具体的には定数値や変数名称などを抽出し、後述の共有データ１０７に設計情報を書き込む。共有データ１０７は仕様書１２０より抽出した定数値や変数名称などを蓄積する記憶手段である。設計情報転記部１０６は、送受信定義情報１０４に基づいて共有データ１０７より定数値や変数名称などの設計情報を読み出し、仕様書１２０へ設計情報を転記する。
【００１５】
定数抽出部１０９は仕様書１２０より定数値を抽出する手段であり、抽出した定数値は後述の定数定義ファイル１１５を自動生成する際に利用する。なお、定数抽出部１０９は、仕様書１２０より抽出すべき定数値を定義した解析ルール１０８に基づき定数値を抽出し、抽出対象となった仕様書のファイル名称と抽出した定数値を抽出データ１１０に書き込む。モデル自動生成部１１３は、仕様書テンプレートと制御モデルテンプレートとの対応を定義した自動生成定義情報１１２に基づいて仕様書から生成すべき制御モデルテンプレートが何かを判断し、制御モデルライブラリ１１１より仕様書に対応する制御モデルテンプレートのファイルをコピーする事で、制御モデル１１４を生成する。その際、定数抽出部１０９は、抽出データ１１０を利用して定数定義ファイル１１５も生成する。
【００１６】
図２は仕様書テンプレートの具体例で、インバータ制御の電流パターン仕様書の例である。図に示した仕様書テンプレートは、表計算ソフトであるエクセルで作成した例であり、エクセルとはMicrosoft Corporationが開発した表計算ソフトMicrosoft(R) Excel（以下、Excelと記述）の事である。なお、本実施例では、Excelにて仕様書テンプレートを作成しているため、図１に示した仕様書編集部１０２がExcelのエディタとなる。
【００１７】
表示欄２０１は制御モデルテンプレートの処理内容を記載する欄であって、仕様書ライブラリ１０１から所望の仕様書テンプレートを選択する際の目安となる。表示欄２０２は設計情報、即ち定数値や変数名称等を入力する欄であり、表示欄２０３は、他の仕様書で設定された定数値や変数名称などを表示する欄である。表示欄２０２と表示欄２０３を補足すると、表示欄２０２には当該仕様書で設定すべき定数値や変数名称などを入力する欄であり、入力した定数値などは定数定義ファイル１１５や他の仕様書へ転記される事になる。一方の表示欄２０３は当該仕様書で設定すべきでないものの、参照の必要のある定数値などを表示する欄である。従って、表示欄２０２に入力した定数値や変数名称などの設計情報は共有データ蓄積部１０３に登録され、逆に、表示欄２０３は共有データ蓄積部１０３に登録されている設計情報が転記される事となる。なお、表示欄２０２から共有データ蓄積部１０３へ登録する設計情報と、共有データ蓄積部１０３から表示欄２０３へ転記する設計情報を定義するのが後述の送受信定義情報１０４である。
【００１８】
表示欄２０４はグラフを表示する欄であり、インバータの物理特性をグラフとして表示している。本実施例ではExcelにて仕様書テンプレートを作成しているため、Excelの機能を利用する事で、例えば制御モデルテンプレートと同等の計算式を仕様書に予め設定しておく事で、表示欄２０２と表示欄２０３の定数値を利用して計算でき、計算結果をグラフ化し仕様書上に表示する事が可能である。なお、本実施例においてはExcelにて計算とグラフ表示を行ったが、別のアプリケーションで計算し、その結果をExcelにて読み込みグラフとして表示するといった実施形態であってもよい。
【００１９】
以上述べたように、図２の構成とする事により仕様書上で表示欄２０２，２０３の定数値の整合性を検証でき、更にグラフの表示された仕様書をテスト仕様書として利用する事もできるという利点がある。
【００２０】
図３は、仕様書１２０から抽出する設計情報と仕様書１２０へ転記する設計情報を定義した送受信定義情報１０４の具体例である。なお、本図では図２の電流パターン仕様書を例に示している。
【００２１】
まず、DocumentName属性３０１は、設計情報の抽出又は転記の対象となる仕様書のファイル名称である。本例では図２に示した仕様書のファイル名称が“電流パターン仕様書.xls”と仮定する。次の区分属性３０２は、DocumentName属性３０１で指定した仕様書に対する設計情報の入出力を定義するのであって、仕様書間での参照関係を表すものでない。具体的に説明すると、区分属性３０２にて“ReceiveData”と定義されていた場合、当該仕様書へ設計情報を入力、すなわち共有データ１０７に登録されている定数値や変数名称などの設計情報を当該仕様書へ転記する事を意味する。また、区分属性３０２に“SendData”と定義されていた場合、当該仕様書に入力された設計情報を共有データ１０７に登録する事を意味する。従って、図２の例では、表示欄２０３の“定格電圧”，“定格抵抗”，“定格電流”は区分属性３０２に“ReceiveData”として定義され、表示欄２０２の“切替周波数”は“SendData”と定義される事となる。タグ属性３０３は、抽出又は転記対象となる設計情報の名称であり、当該仕様書から設計情報を検索する際に用いられる文字列である。なお、区分属性３０２とタグ属性３０３は一組の情報であり、複数組のDocumentName属性３０１を送受信定義情報１０４に定義できる。また、DocumentName属性３０１についても仕様書の数だけ送受信定義情報１０４に定義できるものとする。
【００２２】
本実施例では送受信定義情報１０４として設けたが、送受信定義情報１０４の区分属性３０２やタグ属性３０３を当該仕様書に記載する形態であってもよいし、また、Excelがサポートするコメント機能を利用して抽出又は転記対象のセルに区分属性３０２とタグ名称３０３を定義する形態であってもよい。
【００２３】
以上述べたように送受信定義情報１０４は、設計情報をどの仕様書から抽出し、どの仕様書へ転記するかの情報ではなく、仕様書毎に抽出と転記すべき設計情報を定義するといった構成である事から、図３に示した構成とする事で仕様書の増減や仕様書のファイル名称変更などの度に送受信定義情報１０４を大幅に変更する必要はないという利点がある。
【００２４】
図４は共有データ１０７の登録方法を示した図である。共有データ１０７には、仕様書１２０から抽出した設計情報と、仕様書１２０から設計情報を抽出する際に使用した図３のタグ属性３０３の名称とをカンマ区切りで一組の情報として登録する。以後、これをタグ名称４０１，設計情報４０２として説明する。なお、共有データ１０７にタグ名称４０１と設計情報４０２を登録する際、仕様書のファイル名称や区分属性３０２の情報は付加しない。
【００２５】
図５は設計情報転記部１０６が共有データ１０７から設計情報を読み出し、仕様書１２０へ転記するまでの処理の流れを示したフローチャートである。なお、設計情報転記部１０６は本フローチャートを仕様書１２０の編集を開始する直前に実行する。また、編集対象の仕様書を以後の説明では当該仕様書として示す。次にフローチャートの各ステップを図３，図４を用いつつ説明する。
【００２６】
まず、ステップ５０１では送受信定義情報１０４の読み込みを行い、ステップ５０２にて当該仕様書が送受信定義情報１０４に定義されているかを検索する。具体的に述べると、図３に示した送受信定義情報１０４のDocumentName属性３０１に当該仕様書、即ち編集を開始した仕様書のファイル名称があるか検索し、該当あれば後述のステップ５０３以降を実施、該当なければそのまま処理を終了する。ステップ５０３からステップ５０９までは、送受信定義情報１０４の当該仕様書に関連する区分属性３０２の“ReceiveData”の数だけ繰り返す。図３の例であれば、“ReceiveData”が３回定義されているため、ステップ５０４からステップ５０８を３回繰り返すことになる。なお、ステップ５０９はステップ５０３に対する繰り返しを意味する。ステップ５０４では、送受信定義情報１０４のタグ属性３０３に定義されている名称を取得する。例えば、図３であれば“定格電圧”や“定格抵抗”，“定格電流”である。ステップ５０５では、ステップ５０４で取得したタグ属性３０３の名称にて共有データ１０７を検索し、該当あればステップ５０６以降を実施、該当なければステップ５０９を経てステップ５０３に戻る。ステップ５０６にて共有データ１０７から当該の名称に対応する設計情報４０２を読み出す。図４に示した例では、“定格電圧”ならば“１５００”を、“定格抵抗”であれば“１５”を設計情報４０２として読み出す。ステップ５０７では、当該仕様書を対象にタグ属性３０３の名称を検索し、当該仕様書にあればステップ５０８を実行し、当該のタグ名称がなければステップ５０９を実施する。ステップ５０８では、ステップ５０６で共有データ１０７から読み出した設計情報４０２を当該仕様書へ転記する。本例では図２記載の表示欄２０３の“定格電圧”に“１５００”が転記されることとなる。なお、本実施例では設計情報の具体的な転記場所を送受信定義情報１０４に含めていないが、これは図２のように設計情報の転記場所をタグ属性３０３の名称の右側になるよう仕様書テンプレートを作成しているためである。従って、設計情報の転記場所が一定のルールにない場合、送受信定義情報１０４に転記場所、例えばExcelのシートであれば“Ｇ６”といったセルの座標を含める形態であっても良い。また、本実施例では図５のフローチャートを設計情報転記部１０６で実施する形態であるが、これをExcelマクロ／VBAで実装し、Excelにて仕様書を編集する際に起動する形態であってもよい。
【００２７】
図５の構成とする事で、他の仕様書で入力された設計情報を読み込めるだけでなく、仕様書の編集開始時に共有データ１０７に登録されている最新の設計情報を読み込めるという利点がある。
【００２８】
図６は、設計情報抽出部１０５が仕様書１２０から設計情報を抽出し、共有データ１０７に登録するまでの処理の流れを示したフローチャートである。なお、設計情報抽出部１０５は、本フローチャートを仕様書１２０の編集を終了する直前に実行する。また、以後の説明では、編集対象の仕様書を当該仕様書として示す。
【００２９】
まず、ステップ６０１では送受信定義情報１０４の読み込みを行い、ステップ６０２にて当該仕様書が送受信定義情報１０４に定義されているかを検索する。具体的にステップ６０２を述べると、図３の送受信定義情報１０４のDocumentName属性３０１に当該仕様書、即ち編集中の仕様書のファイル名称があるか検索し、該当あれば後述のステップ６０３以降を実施、該当なければそのまま処理を終了する。ステップ６０３からステップ６０８までは、送受信定義情報１０４の当該仕様書に関連する区分属性３０２の“SendData”の数だけステップ６０４からステップ６０７までを繰り返す。先の例である図３では、“SendData”が１回定義されているのでステップ６０３以降を１回繰り返す。なお、ステップ６０８はステップ６０３に対する繰り返しを意味する。ステップ６０４では、送受信定義情報１０４の区分属性３０２の“SendData”と共に定義されているタグ属性３０３の名称を取得する。例えば、図３であれば“切替周波数”である。ステップ６０５では、ステップ６０４で取得したタグ属性３０３の名称が、当該仕様書、具体的には表示欄２０２に含まれているかを検索する。なお、当該仕様書にタグ属性３０３の名称が含まれていた場合、ステップ６０６以降を実施し、含まれていない場合は、ステップ６０８を経てステップ６０３に戻る。ステップ６０６は、当該仕様書の表示欄２０２にタグ属性３０３の名称と共に定義されている設計情報を抽出する。なお、本実施例では、図２に示したように設計情報を常にタグ属性３０３の名称の右側に位置するよう仕様書テンプレートを作成したため、送受信定義情報１０４には設計情報の抽出位置の情報を含めていないが、設計情報の抽出位置が一定のルールにない場合、送受信定義情報１０４に位置情報、例えばExcelのシートであれば“Ｇ１２”といったセルの座標を含める形態であっても良い。ステップ６０７では、当該仕様書より抽出した設計情報をタグ属性３０３の名称と共に共有データ１０７に書き込む。なお、本実施例では図６のフローチャートを設計情報抽出部１０５で実施する形態であるが、これをExcelマクロ／VBAで実装し、Excelでの仕様書編集終了タイミングで実行する形態であってもよい。
【００３０】
図６の構成とする事で、編集終了時の定数値を共有データ１０７に書き込むことができ、共有データ１０７を常に最新の情報を保有した状態とすることができるという利点がある。
【００３１】
図７は解析ルール１０８の具体的な例を示した図であり、定数抽出部１０９が抽出データ１１０を出力する際に、仕様書１２０から抽出すべき定数が何であるかを定義した情報である。
【００３２】
DocumentName属性７０１には抽出対象となる仕様書のファイル名称を定義する。定数名称属性７０２には対象の仕様書から抽出すべき定数名称を定義する。マクロ属性７０３には当該仕様書から抽出した定数値に対応する名称を定義する。なお、定数名称属性７０２とマクロ属性７０３は一組の情報であり、DocumentName属性７０１に定義の仕様書から複数の定数を抽出する場合は、定数名称属性７０２とマクロ属性７０３の情報は抽出する定数の数だけ登録する。
【００３３】
図８は定数抽出部１０９が仕様書１２０と解析ルール１０８を入力とし、抽出データ１１０を出力するまでの処理の流れを示したフローチャートである。なお、本フローチャートは、定数抽出の対象である仕様書（以後当該仕様書と示す）の数だけ実施するものとする。
【００３４】
まず、ステップ８０１からステップ８０９までは、定数抽出部１０９において定数の抽出対象となる仕様書１２０の数だけ繰り返す。図１の例では仕様書１２１，１２２，１２３，１２４の４回繰り返す事となる。従って、ステップ８０２からステップ８０８までは抽出対象の仕様書毎に実施する処理である。
【００３５】
次のステップ８０２では、解析ルール１０８のDocumentName属性７０１に抽出対象の仕様書の情報があるか検索し、該当すればステップ８０３以降を実施、該当なければステップ８０９を経てステップ８０１に戻る。ステップ８０３では、当該仕様書のファイル名称を抽出データ１１０に書き込む。なお、抽出データ１１０に書き込んだファイル名称は、モデル自動生成部１１３が制御モデル１１４を生成する際、対象となる仕様書を特定するのに用いられる。ステップ８０４は、解析ルール１０８の当該仕様書に関連する定数名称属性７０２の数だけステップ８０５からステップ８０７を繰り返す。例えば、図７であれば“切替周波数”，“定格電圧”，“定格電流”の３回繰り返す事となる。ステップ８０５では、解析ルール１０８から定数名称属性７０２の定数名称を取り出し、更に定数名称が当該仕様書にあるか検索し、定数名称が当該仕様書に含まれていればステップ８０６以降を実施し、含まれていなければステップ８０８を経てステップ８０４に戻る。ステップ８０６では、定数名称属性７０２の定数名称に対応する定数値を当該仕様書より抽出する。なお、本実施例では、図２に示したように定数値を常に定数名称属性７０２である定数名称の右側に位置するよう仕様書テンプレートを作成したため、解析ルール１０８には定数値の抽出位置の情報を含めていないが、定数値の抽出位置が一定のルールにない場合、解析ルール１０８に位置情報、例えばExcelのシートであれば“Ｇ６”や“Ｇ１２”といったセルの座標を含める形態であっても良い。ステップ８０７は、当該仕様書より抽出した定数値をマクロ属性７０３の名称と共に、抽出データ１１０に書き込む。以上述べたフローチャートを実行する事で、定数抽出部１０９は仕様書１２０より定数を抽出し、抽出データ１１０を出力する。
【００３６】
図９は抽出データ１１０の具体的な例である。まず、抽出対象となった仕様書のファイル名称が登録され、その後に、対象の仕様書に含まれていた定数値が図８に示したマクロ属性７０３と共に一組の情報として登録される。本図では示していないが、複数の仕様書から定数値を抽出した場合、複数の仕様書のファイル名称が登録され、仕様書毎に抽出した定数値が登録される事となる。
【００３７】
図１０は仕様書テンプレートと制御モデルテンプレートとの対応を定義した自動生成定義情報１１２の具体的な例である。DocumentName属性１００１には、仕様書テンプレートのファイル名称を定義し、モデル属性１００２には仕様書テンプレートに対応する制御モデルテンプレートのファイル名称を定義する。なお、仕様書テンプレートのファイルは仕様書ライブラリ１０１に登録され、制御モデルテンプレートのファイルは制御モデルライブラリ１１１に登録されているものとする。
【００３８】
図１１はモデル自動生成部１１３が制御モデル１１４と定数定義ファイル１１５を生成する手順を示したフローチャートである。ステップ１１０１では、図１０に示した自動生成定義情報１１２の読み込む。次のステップ１１０２からステップ１１０８までは自動生成の対象となる仕様書の数、すなわち、定数抽出部１０９が定数値を抽出した仕様書の数であって、図９に示した抽出データ１１０に登録されている仕様書のファイル名称の数だけ繰り返す。ステップ１１０３では当該仕様書のファイル名称が自動生成定義情報１１２のDocumentName属性１００１に該当するかを検索し、該当あればステップ１１０５以降を実施し、該当なければステップ１１０４にて自動生成で失敗した旨のメッセージを表示した後、処理を終了する。次のステップ１１０５では、当該仕様書に対応する制御モデルテンプレートのファイル名称を自動生成定義情報１１２のモデル属性１００２から取得する。図１０の例では、抽出対象である図２の仕様書のファイル名称“電流パターン仕様書.xls”に対応する制御モデルテンプレートのファイル名称は、“modelC.mdl”というファイルである。ステップ１１０６では、ステップ１１０５で取得した制御モデルテンプレートのファイル名称のファイルを制御モデルライブラリ１１１からコピーし、制御モデル１１４とする。ステップ１１０７は、抽出データ１１０のマクロ属性７０３と定数値から定数定義ファイル１１５を作成する。なお、定数定義ファイル１１５の作成については図９，図１２を用いつつ説明する。
【００３９】
まず、抽出データ１１０からマクロ属性７０３の名称と定数値を取得する。図９の例では“CONST_FREQ”と“４０”である。次にこれらを組み合わせて、プログラミング言語であるＣ言語のマクロ定義とし定数定義ファイル１１５へ展開する。具体的には図１２に示すように“#define CONST_FREQ 40”の文字列を作成し、定数定義ファイル１１５へ出力する。
【００４０】
図１３は制御モデルテンプレートの具体例である。制御モデルテンプレートを作成する際、定数値を具体的に記述するのではなく、定数値を図７に示した解析ルール１０８のマクロ属性７０３として作成する。図７を例にすると、“切替周波数”という名称の定数値を“CONST_FREQ”に変換し、同じように“定格電圧”を“CONST_VOLTAGE”，“定格電流”を“CONST_CURRENT”というマクロ属性７０３に変換して制御モデルテンプレートを作成しておく。
【００４１】
定数定義ファイル１１５を図１２の構成とする事で、制御モデル１１４で参照可能なファイル形式となり、また、制御モデル１１４を図１３の構成とする事で、制御モデル１１４のマクロ属性７０３の文字列が定数定義ファイル１１５の定数値に置換されるため、仕様書１２０で入力した各種定数値が制御モデルに反映する事が可能となる。
【００４２】
本実施例の構成を取る事で、仕様書間での定数の共有が可能となり、仕様書への定数の入力回数を減らせるだけでなく、制御モデルの組み合わせ試験時に定数値の不整合による不具合を回避できる。また、制御モデルでの計算を仕様書上で計算できるため、制御モデルの検証も可能で、更に仕様書に入力した定数を制御モデルに反映可能な制御モデル自動生成装置を提供できるようになる。
【実施例２】
【００４３】
図１４は本発明の実施例２としての制御モデル自動生成装置の構成を示した図である。
【００４４】
実施例１では、仕様書間で共有する定数値や変数名称などの設計情報を共有データ１０７にて管理し、制御モデルに反映する定数値を抽出データ１１０で管理する構成であった。
【００４５】
これに対し実施例２では、抽出データ１１０を共有データ１０７で包括した構成とすることで制御モデル自動生成装置の構成点数を少なくできると言う利点がある。
【００４６】
次に実施例２の実施形態について説明するが、実施例１との差異のみ説明する事とし説明なき構成については実施例１と同じとする。
【００４７】
実施例１からの変更点としては、まず、定数抽出部１０９を設計情報抽出部１０５に統合し、解析ルール１０８を共有データ蓄積部１１６に設ける。なお、解析ルール１０８は実施例１と同じとする。また、抽出データ１１０についても共有データ１０７に包括し、新たに第二共有データ１１７として設ける。なお、これに伴い、モデル自動生成部１１３では制御モデル１１４と定数定義ファイル１１５の生成に定数値やマクロ属性７０３の情報を抽出データ１１０ではなく、共有データ１１７から取得するよう変更する。
【００４８】
各構成について補足すると、設計情報抽出部１０５では、仕様書１２０からの設計情報を抽出し、第二共有データ１１７に出力するように変更する。なお、設計情報抽出部１０５における仕様書１２０からの設計情報の抽出の流れは、実施例１で示した図６と同じである。ただし、実施例１の定数抽出部１０９にて実施していた定数値の抽出処理、即ち図８に示した仕様書からの定数抽出に関する一連の処理を設計情報抽出部１０５にて実施するよう変更する。設計情報転記部１０６についても、仕様書への転記する設計情報を第二共有データ１１７から読み出すように変更するが、処理の流れは図５と同じである。
【００４９】
図１５は、第二共有データ１１７の具体的な例である。第二共有データ１１７は、図７に示した定数名称属性７０２に定義の名称をキーとして、図４の共有データ１０７と図９の抽出データ１１０の情報を結び付けることで作成する。
【００５０】
上記第二共有データ１１７への変更に伴い、モデル自動生成部１１３では制御モデル１１４と定数定義ファイル１１５の生成に必要な仕様書のファイル名称や定数値，マクロ属性７０３の情報を共有データ１１７から取得するよう変更する。
【００５１】
以上が実施例２の構成であり、本構成とする事で実施例１の実施形態より少ない構成点数で制御モデル自動生成装置を実現できるようになる。
【産業上の利用可能性】
【００５２】
本発明は、仕様書から制御ブロック図を自動生成する装置に適用できる。
【図面の簡単な説明】
【００５３】
【図１】本発明の実施例１としてのモデル自動生成装置の構成例を示す図である。
【図２】仕様書の具体例を示す図である。
【図３】仕様書における定数の入出力を定義した送受信定義情報である。
【図４】仕様書から抽出した設計情報の記録方法を示す図である。
【図５】仕様書への定数転記の手順を示すフローチャートである。
【図６】仕様書からの定数抽出の手順を示すフローチャートである。
【図７】仕様書から抽出すべき設計情報の記録方法を示す図である。
【図８】仕様書からの定数抽出の手順を示すフローチャートである。
【図９】仕様書から抽出した定数の記録方法を示す図である。
【図１０】仕様書と制御モデルとの対応情報を定義した自動生成定義情報である。
【図１１】制御モデルを自動生成する手順を示すフローチャートである。
【図１２】生成した定数定義ファイルの図である。
【図１３】制御モデルテンプレートの具体例を示す図である。
【図１４】本発明の実施例２としてのモデル自動生成装置の構成例を示す図である。
【図１５】仕様書から抽出した設計情報の記録方法を示す図である。
【符号の説明】
【００５４】
１０２  仕様書編集部
１０３  共有データ蓄積部
１０４  送受信定義情報
１０５  設計情報抽出部
１０６  設計情報転記部
１０９  定数抽出部
１１０  抽出データ
１１２  自動生成定義情報
１１３  モデル自動生成部
１１４  制御モデル
１１５  定数定義ファイル
１２１，１２２，１２３，１２４  仕様書
【図１】
2010134725.tif 000003
【図２】
2010134725.tif 000004
【図３】
2010134725.tif 000005
【図４】
2010134725.tif 000006
【図５】
2010134725.tif 000007
【図６】
2010134725.tif 000008
【図７】
2010134725.tif 000009
【図８】
2010134725.tif 000010
【図９】
2010134725.tif 000011
【図１０】
2010134725.tif 000012
【図１１】
2010134725.tif 000013
【図１２】
2010134725.tif 000014
【図１３】
2010134725.tif 000015
【図１４】
2010134725.tif 000016
【図１５】
2010134725.tif 000017