図面 (/)

技術 デジタル回路シミュレータの波形とソフトウェア設計図との連携方法および連携プログラム

出願人 株式会社明電舎
発明者 外山達斎森文彦金剌泰宏
出願日 2015年4月23日 (5年6ヶ月経過) 出願番号 2015-088201
公開日 2016年12月8日 (3年11ヶ月経過) 公開番号 2016-206963
状態 特許登録済
技術分野 CAD デバッグ/監視 ストアードプログラム
主要キーワード 選択個所 設計図表 ハードウェア専用 シミュレーション図 連携ファイル C言語 設計部品 シミュレート結果
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年12月8日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (7)

課題

デジタル回路シミュレータに表示されている波形から問題箇所発見した場合、設計図及び設計部品を簡単な操作で特定する。

解決手段

波形カーソル位置取得機能部13は、デジタル回路シミュレータ10に表示された波形中、問題個所位置情報を取得する。カーソル位置ソフトウェア情報取得機能部14は、位置情報に応じたソフトウェア情報としてファイル名と行番号とを取得する。連携ファイル処理機能部15は、ソフトウェア情報から連携ファイルFを作成する。連携ファイル処理機能部16は、連携ファイルを読み込んでファイル名と行番号を抽出する。対象ファイル取得機能部17は、ファイル名に応じたファイルオブジェクトを取得する。仮ソフトウェア自動生成機能部18、対象設計部品取得機能部19は、ファイルオブジェクトから作成されたソフトウェアの行番号のソフトウェアを設計した設計部品の設計図を取得する。

概要

背景

産業機器家電製品などに内蔵されるシステムで動作する組み込みソフトウェアの開発では、従来から制御演算の設計に設計図としてブロック図や状態遷移図、UMLのアクティビティ図が使用されている。例えばブロック図の場合には、入出力データを表すブロックや加減算などの演算を表すブロックを図面上に配置し、該ブロック間を線で結んでデータの入力出力表現している。

この組み込みソフトウェアの開発支援システムとしては、特許文献1,2が公知となっている。この開発支援システムは、ソフトウェアの設計図を作成し、作成された設計図をシミュレーションにより動作確認し、動作確認した設計図からソフトウェアが自動生成することができる。

図1(a)〜(c)に基づき一例を説明する。図1(a)のブロック図には、二つの入力データ「IN1」と「IN2」とが示され、両入力データの和「IN1+IN2」が出力データ「OUT」に代入される。このブロック図に対して、図1(b)に示すように、入力データ「IN1,IN2」に初期値をそれぞれ「IN1=2,IN2=3」と設定すれば、シミュレーションにより出力データ「OUT=5(2+3)」と動作確認を行える。また、図1(c)に示すように、ブロック図から例えばC言語のソフトウェアが自動生成される。

一方、シミュレーションシステムとしては、特許文献3が公知となっている。この特許文献3のハードウェア/ソフトウェア協調検証システム1によれば、図2に示すように、実機のハードウェアで動作する実機用ソフトウェア2を、実機のCPUと等価な仮想ハードウェアCPUモデル3a)3で正確にシミュレーションすることができる。

このシミュレーションの結果としての波形は、デジタル回路シミュレータ4に表示される。このとき非特許文献1の組み込み用協調試験システムによれば、前記波形からアドレスを介してC言語ソフトウェアの該当部分表示することができる。

概要

デジタル回路シミュレータに表示されている波形から問題箇所発見した場合、設計及び設計部品を簡単な操作で特定する。波形カーソル位置取得機能部13は、デジタル回路シミュレータ10に表示された波形中、問題個所位置情報を取得する。カーソル位置ソフトウェア情報取得機能部14は、位置情報に応じたソフトウェア情報としてファイル名と行番号とを取得する。連携ファイル処理機能部15は、ソフトウェア情報から連携ファイルFを作成する。連携ファイル処理機能部16は、連携ファイルを読み込んでファイル名と行番号を抽出する。対象ファイル取得機能部17は、ファイル名に応じたファイルオブジェクトを取得する。仮ソフトウェア自動生成機能部18、対象設計部品取得機能部19は、ファイルオブジェクトから作成されたソフトウェアの行番号のソフトウェアを設計した設計部品の設計を取得する。

目的

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータにより、デジタル回路シミュレータに表示される波形ソフトウェア開発支援システムで作成されたソフトウェア設計図とを連携させる方法であって、前記デジタル回路シミュレータに表示された波形中、ユーザが特定した箇所の位置情報を取得するステップと、前記位置情報に応じたソフトウェア情報としてファイル名と行番号とを取得するステップと、前記ソフトウェア情報を前記ソフトウェア開発支援システムの読み込み可能な連携ファイルとするステップと、前記ソフトウェア開発支援システムが、前記連携ファイルを読み込んで前記ファイル名と前記行番号とを抽出し、該ファイル名に応じたファイルオブジェクトを取得するステップと、前記ファイルオブジェクトからソフトウェアを作成し、該作成されたソフトウェアの前記行番号に応じたソフトウェアを設計した設計部品を取得し、取得された設計部品の設計図を取得するステップと、を有することを特徴とするデジタル回路シミュレータの波形とソフトウェア設計図との連携方法

請求項2

前記設計図を外部出力装置に表示するステップと、前記設計部品を前記外部出力装置に強調表示するステップと、をさらに有することを特徴とする請求項1記載のデジタル回路シミュレータの波形とソフトウェア設計図との連携方法

請求項3

前記ソフトウェア開発支援システムが、前記設計図におけるユーザの選択個所に応じた出力ソフトウェアを作成し、作成された出力ソフトウェアのファイル名および行番号が記述された連携ファイルを作成するステップと、前記デジタル回路シミュレータが、前記ソフトウェア開発支援システムで作成した連携ファイルを読み込んで、該連携ファイルのファイル名および行番号に応じたシミュレーション波形を特定するステップと、をさらに有することを特徴とする請求項1または2のいずれか1項に記載のデジタル回路シミュレータの波形とソフトウェア設計図との連携方法。

請求項4

請求項1〜3のいずれか1項に記載の各ステップをコンピュータに実行させるプログラム

技術分野

0001

本発明は、デジタル回路シミュレータに表示された波形と、ソフトウェア開発支援システムで作成されたソフトウェア設計図とを連携させる方法およびプログラムに関する。

背景技術

0002

産業機器家電製品などに内蔵されるシステムで動作する組み込みソフトウェアの開発では、従来から制御演算の設計に設計図としてブロック図や状態遷移図、UMLのアクティビティ図が使用されている。例えばブロック図の場合には、入出力データを表すブロックや加減算などの演算を表すブロックを図面上に配置し、該ブロック間を線で結んでデータの入力出力表現している。

0003

この組み込みソフトウェアの開発支援システムとしては、特許文献1,2が公知となっている。この開発支援システムは、ソフトウェアの設計図を作成し、作成された設計図をシミュレーションにより動作確認し、動作確認した設計図からソフトウェアが自動生成することができる。

0004

図1(a)〜(c)に基づき一例を説明する。図1(a)のブロック図には、二つの入力データ「IN1」と「IN2」とが示され、両入力データの和「IN1+IN2」が出力データ「OUT」に代入される。このブロック図に対して、図1(b)に示すように、入力データ「IN1,IN2」に初期値をそれぞれ「IN1=2,IN2=3」と設定すれば、シミュレーションにより出力データ「OUT=5(2+3)」と動作確認を行える。また、図1(c)に示すように、ブロック図から例えばC言語のソフトウェアが自動生成される。

0005

一方、シミュレーションシステムとしては、特許文献3が公知となっている。この特許文献3のハードウェア/ソフトウェア協調検証システム1によれば、図2に示すように、実機のハードウェアで動作する実機用ソフトウェア2を、実機のCPUと等価な仮想ハードウェアCPUモデル3a)3で正確にシミュレーションすることができる。

0006

このシミュレーションの結果としての波形は、デジタル回路シミュレータ4に表示される。このとき非特許文献1の組み込み用協調試験システムによれば、前記波形からアドレスを介してC言語ソフトウェアの該当部分表示することができる。

0007

特開2009−193181
特開2009−193182
特開2013−228837

先行技術

0008

明電時報通巻338号 2013 No.1 “4.1 組み込み用強調試験システム”

発明が解決しようとする課題

0009

しかしながら、特許文献1,2の組み込みソフトウェア開発システムや非特許文献1の組み込み用協調試験システムには、以下のような問題があった。

0010

すなわち、特許文献1,2の組み込みソフトウェア開発システムで自動生成した組み込みソフトウェアを、前記協調検証システム1で実機の動作をシミュレーションする際には、ハードウェア専用コンパイラで該組み込みソフトウェアコンパイルし、その結果として作成されたオブジェクトファイルをCPUモデル3aで実行し、シミュレーション結果をデジタル回路シミュレータ4に波形として表示する。

0011

そして、開発者(ユーザ)は、デジタル回路シミュレータ4の波形を目視で確認し、実機の動作に問題のある箇所(例えば処理時間が要求時間内に終了しないなど)を発見した場合、非特許文献1の組み込み用協調試験システムを証して、図3のS01に示すように、発見した波形に該当するC言語ソフトウェアの場所を特定する。

0012

さらに開発者は、S02に示すように、前記組み込み用協調試験システムで特定されたソフトウェアに該当する設計図を、前記組み込みソフトウェア開発支援システムによって手作業で特定する。

0013

その後に開発者は、手作業で特定した設計図を修正し、前記ソフトウェア開発支援システムによりシミュレートおよびソフトウェア自動生成を実行し、S03に示すように、さらに前記協調検証システム1で再シミュレーションする。

0014

ところが、開発者は前記一連の作業を、所望のシミュレート結果が得られるまで繰り返さなければならない。このとき開発者は、前記ソフトウェア開発支援システムを使用して問題のあるソフトウェアの設計図および設計部品を特定するものの、かかる作業に多くの手間がかかり、すぐに設計図などを修正できず、作業効率が悪化するおそれがある。

0015

本発明は、このような従来の問題を解決するためなされ、開発者がデジタル回路シミュレータに表示されている波形から実機の動作に問題がある箇所を発見した場合に設計図および設計部品を簡単な操作で特定可能とし、作業効率を改善することを解決課題としている。

課題を解決するための手段

0016

本発明の一態様は、デジタル回路シミュレータに表示される波形とソフトウェア開発支援システムで作成されたソフトウェアの設計図とを連携させる方法であって、前記デジタル回路シミュレータに表示された波形中、ユーザが特定した箇所の位置情報を取得するステップと、前記位置情報に応じたソフトウェア情報としてファイル名と行番号とを取得するステップと、前記ソフトウェア情報を前記ソフトウェア開発支援システムの読み込み可能な連携ファイルとするステップと、前記ソフトウェア開発支援システムが、前記連携ファイルを読み込んで前記ファイル名と前記行番号とを抽出し、該ファイル名に応じたファイルオブジェクトを取得するステップと、前記ファイルオブジェクトからソフトウェアを作成し、該作成されたソフトウェアの前記行番号に応じたソフトウェアを設計した設計部品を取得し、取得された設計部品の設計図を取得するステップと、を有する。

0017

本発明の他の態様は、前記設計図を外部出力装置に表示するステップと、前記設計部品を前記外部出力装置に強調表示するステップと、を有する。また、本発明のさらに他の態様は、前記ソフトウェア開発支援システムが、前記設計図におけるユーザの選択個所に応じた出力ソフトウェアを作成し、作成された出力ソフトウェアのファイル名および行番号が記述された連携ファイルを作成するステップと、前記デジタル回路シミュレータが、前記連携ファイルを読み込んで前記ファイル名および行番号に応じたシミュレーション波形を特定するステップと、を有する。

0018

なお、本発明は、前記各ステップをコンピュータに実行させるプログラムの態様とすることもできる。

発明の効果

0019

本発明によれば、開発者がデジタル回路シミュレータに表示されている波形から実機の動作に問題がある箇所を発見した場合に簡単な操作で設計図および設計部品を特定でき、修正作業などが容易となる。この点で作業効率を改善することができる。

図面の簡単な説明

0020

(a)はブロック図の一例を示す図、(b)は(a)のブロック図の動作確認例を示す図、(c)は(a)のブロック図のソフトウェア生成例を示す図。
シミュレーション図
シミュレーション波形からソフトウェア設計図を特定する従来手法の説明図。
本発明の実施形態に係る連携方法を実行するデジタル回路シミュレータおよびソフトウェア開発支援システムの機能構成図。
実施例1の説明図。
実施例2の説明図。

実施例

0021

以下、本発明の実施形態に係る連携方法を説明する。この連携方法は、コンピュータに実装されたデジタル回路シミュレータと、組み込みソフトウェア開発支援システムとの間で実行される。

0022

前記ソフトウェア開発支援システムは、特許文献1,2と同じく、組み込みソフトウェアの設計図を作成し、作成された設計図をシミュレーションにより動作確認し、動作確認した設計図から前記ソフトウェアが自動生成する。

0023

この組み込みソフトウェアを特許文献3のハードウェア/ソフトウェア協調検証システムを用いてシミュレートし、非特許文献1と同様にシミュレーションの波形が前記デジタル回路シミュレータに表示される。

0024

このとき前記連携方法によれば、デジタル回路シミュレータに表示された波形とソフトウェア開発支援システムで作成されたソフトウェア設計図とが連携される。

0025

≪機能構成≫
図4に基づき前記連携方法を実行するデジタル回路シミュレータおよび組み込みソフトウェア開発支援システムの機能構成を説明する。このデジタル回路シミュレータ10は、波形カーソル位置取得機能部13,カーソル位置ソフトウェア情報取得機能部14,連携ファイル処理機能部15を実装する。

0026

一方、前記ソフトウェア開発支援システム12は、連携ファイル処理機能部16,対象ファイル取得機能部17,仮ソフトウェア自動生成機能部18,対象設計部品取得機能部19,設計情報DB20,対象設計図取得機能部21,対象設計図表示機能部22,対象設計部品強調表示機能部23を実装する。

0027

前記各部13〜23は、例えばCPU,記憶装置(RAM,ROM,HDDSSD)などのハードウェアリソースと、ソフトウェアリソース(OS,アプリケーションなど)の協働の結果としてコンピュータに実装されている。ここでは前記DB20は前記記憶装置に構築されている。

0028

具体的には前記DB20には、前記ソフトウェア開発支援システム12が備える既存のデータベースを利用でき、組み込みソフトウェアの設計から生成までの過程で生じた各種の情報が格納されている。例えば組み込みソフトウェアの設計図(例えばブロック図や状態遷移図など),ファイルオブジェクト,ソフトウェア部品およびその設計部品などの情報が格納されている。

0029

波形カーソル位置取得機能部3は、デジタル回路シミュレータ10の波形画面から現在のカーソルの位置情報を取得する。また、前記ソフトウェア情報取得機能部14は、波形カーソル位置取得機能部3により取得された位置情報に応じたソフトウェア情報をデジタル回路シミュレータ10から取得する。ここで取得するソフトウェア情報は、少なくともソフトウェアのファイル名と行番号があればよく、他の情報を含んでいてもよいものとする。

0030

連携ファイル処理機能部15,16は、デジタル回路シミュレータ10と前記ソフトウェア開発支援システム12とを連携させるためのファイル、即ち連携ファイルFの作成と読込とを実行する。この前記両処理機能部15,16は、一方が作成した連携ファイルFを他方が読み込み、他方が作成した連携ファイルFを一方が読み込むという相互関係を有している。

0031

この連携ファイルFは、前記両者10,12が読み込み可能なファイル形式で作成され、ソフトウェア情報のファイル名と行番号とを含んでいればよい。この連携ファイルの一例としては、テキスト形式においてファイル名と行番号とを、それぞれタイトルと値とを等号で結んで記述することができる。なお、図4には、連携ファイル処理機能部15が連携ファイルFを作成し、作成された連携ファイルFを連携ファイル処理機能部16で読み込むパターンが示されている。

0032

対象ファイル取得機能部17は、連携ファイル処理機能部16で読み込まれた連携ファイルFに記述されたファイル名のファイルオブジェクトを前記DB20から取得する。また、仮ソフトウェア自動生成機能部18は、対象ファイル取得機能部17で取得したファイルオブジェクトからメモリ(RAM)上にソフトウェアを作成する(実際のファイルを作成しない。)
対象設計部品取得機能部19は、仮ソフトウェア自動生成機能部18で作成したソフトウェアの前記行番号に応じたソフトウェア、例えばソフトウェア部品(コンポーネント)を作成した設計部品を前記DB20から取得する。

0033

対象設計図取得機能部21は、対象設計部品取得機能部19の取得した設計部品が描かれている設計図を前記DB20から取得する。ここで取得した設計図を対象設計図表示機能部22にてディスプレイなどの外部出力装置に出力し、前記設計部品を対象設計部品強調表示機能部23にて強調表示する。

0034

≪実施例1≫
図5に基づき前記連携方法の実施例1を説明する。この実施例1は、デジタル回路シミュレータ10のシミュレーション波形からソフトウェアの設計部品を特定し、特定されたソフトウェアの設計部品を修正する場合の動作例を示している。

0035

まず、前提として開発者(ユーザ)は、前記ソフトウェア開発支援システム12によりブロック図を作成し、組み込みソフトウェアを自動生成する。この組み込みソフトウェアを、ハードウェア/ソフトウェア協調検証システム1でシミュレートし、シミュレーションの波形をデジタル回路シミュレータ10に表示し、デジタル回路シミュレータ10のシミュレーション波形中に実機の動作に問題のある問題個所Pを発見したものとする。

0036

つぎに開発者が問題個所Pにカーソルを合わせると、図示省略のプルダウンメニューが表示される。このプルダウンメニューから設計部品表示メニューを選択すると、次のステップ(1)〜(8)が実行される。

0037

(1)波形カーソル位置取得機能部13により、現在のカーソルの位置情報がデジタル回路シミュレータ10から取得される。例えばデジタル回路シミュレータ10の「PC」に表示される時間情報経過情報)などから前記位置情報を特定することができる。

0038

(2)前記ソフトウェア情報取得機能部14により、ステップ(1)で取得された位置情報に応じたソフトウェア情報がデジタル回路シミュレータ10から取得される。ここではソフトウェア情報として、ファイル名「fnA.c」と行番号「5」とが取得されたものとする。

0039

(3)連携ファイル処理機能部15により、ステップ(2)で取得されたソフトウェア情報に基づき連携ファイルFが作成される。ここでは連携ファイルFの一行目には「ファイル名=fnA.c」と記述され、二行目には「行番号=5」と記述される。

0040

(4)連携ファイル処理機能部16により、ステップ(3)で作成された連携ファイルFが「ファイル名=fnA.c」および「行番号=5」と読み込まれる。

0041

(5)対象ファイル取得機能部17により、ステップ(4)で読み込んだファイル名「fnA.c」のファイルオブジェクトAが前記DB20から取得される。

0042

(6)仮ソフトウェア自動生成機能部18により、ステップ(5)で取得されたファイルオブジェクトAからメモリ(RAM)上に出力ソフトウェアSが作成される。

0043

(7)対象設計部品取得機能部19により、ステップ(5)で作成された出力ソフトウェアS中、ステップ(4)で読み込んだ「行番号=5」に応じた「VAR1=IN1+IN2;」を作成した設計部品、即ち「加算器A」が前記DB20から取得される。

0044

したがって、前記連携方法によれば、開発者がデジタル回路シミュレータ10に表示されているシミュレーション波形から実機の動作に問題のある問題個所Pを発見した場合に1回の操作、即ち設計部品表示メニューの選択操作だけで前記ソフトウェア開発支援システム12の該当設計部品を特定できる。

0045

その結果、従来のように問題のあるソフトウェアの設計部品を特定する作業に多くの手間を費やす必要が無く、修正作業が容易となり、この点で作業効率を改善することができる。

0046

(8)対象設計図取得機能部21により、ステップ(5)で取得された「加算器A」の描かれている設計図「ブロック図A」を前記DB20から取得する。ここで取得された「ブロック図A」を、対象設計図表示機能部22にてディスプレイに表示する。このとき対象設計部品強調表示機能部23により、ステップ(5)で取得された「加算器A」を中央に強調表示する。

0047

これにより開発者は「加算器A」を直接修正でき、また「加算器A」の設計図を修正することもできる。特に該当設計部品が強調表示されるため、開発者に分かりやすく、すぐに設計図を修正することができる。

0048

≪実施例2≫
図6に基づき前記連携方法の実施例2を説明する。この実施例2は、ブロック図におけるソフトウェアの設計部品からシミュレーション波形を特定して再確認する動作例を示している。なお、図4中では示されていないが、ここでは仮ソフトウェア自動生成機能部18から連携ファイル処理機能部16へ直接データ出力することは可能なものとする。

0049

まず、前提として開発者は、前記ソフトウェア開発支援システム12によりブロック図を作成し、組み込みソフトウェアを自動生成する。この組み込みソフトウェアを、ハードウェア/ソフトウェア協調検証システム1でシミュレートし、シミュレーションの波形をデジタル回路シミュレータ10に表示する。

0050

このとき開発者がブロック図中の加算ブロックAを選択し、前記ソフトウェア開発支援システム12のメニュー欄から図示省略のシミュレーション波形表示メニューを選択すると、次のステップ(1´)〜(3´)が実行される。

0051

(1´)仮ソフトウェア自動生成機能部18により、加算ブロックAのブロック図からメモリ(RAM)上に出力ソフトウェアS´が作成される。

0052

(2´)連携ファイル処理機能部16により、ステップ(1´)で作成された出力ソフトウェアS´から連携ファイルFが作成される。ここでは連携ファイルFの一行目には「ファイル名=fnA.c」と記述され、二行目には「行番号=5」と記述される。

0053

(3´)連携ファイル処理機能部15により、ステップ(2´)で作成された連携ファイルFが「ファイル名=fnA.c」および「行番号=5」と読み込まれる。このときデジタル回路シミュレータ10は、読み込まれたファイル名「fnA.c」と行番号「5」の該当箇所にシミュレーション波形のカーソルを移動させる。

0054

したがって、前記連携方法によれば、前記ソフトウェアソフトウェア開発支援システム12の設計部品から1回の操作、即ちシミュレーション波形表示メニューの選択だけでデジタル回路シミュレータ10に表示されているシミュレーション波形の該当箇所が特定される。これにより開発者はすぐにシミュレーション結果を確認でき、正しく動作されているか否かを把握することができる。

0055

なお、本発明は、上記実施形態に限定されるものではなく、前記機能構成などは各請求項に記載された範囲内で変形して実施することができる。また、本発明は、前記ステップ(1)〜(8),(1´)〜(3´)をコンピュータに実行させるプログラムとして構成することもできる。このプログラムは、ネットワーク経由で配布してもよく、記録媒体に格納して配布してもよい。

0056

10…デジタル回路シミュレータ
12…組み込みソフトウェア開発支援システム
13…波形カーソル位置取得機能部
14…カーソル位置ソフトウェア情報取得機能部
15,16…連携ファイル処理機能部
17…対象ファイル取得機能部
18…仮ソフトウェア自動生成機能部
19…対象設計部品取得機能部
20…設計情報DB
21…対象設計図取得機能部
22…対象設計図表示機能部
23…対象設計部品強調表示機能部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ