JP2018156294A - ソフトウェア検証装置およびソフトウェア検証プログラム - Google Patents

ソフトウェア検証装置およびソフトウェア検証プログラム Download PDF

Info

Publication number
JP2018156294A
JP2018156294A JP2017051641A JP2017051641A JP2018156294A JP 2018156294 A JP2018156294 A JP 2018156294A JP 2017051641 A JP2017051641 A JP 2017051641A JP 2017051641 A JP2017051641 A JP 2017051641A JP 2018156294 A JP2018156294 A JP 2018156294A
Authority
JP
Japan
Prior art keywords
model
unit
software
resource
interface function
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
JP2017051641A
Other languages
English (en)
Other versions
JP6771413B2 (ja
Inventor
茂人 宮内
Shigehito Miyauchi
茂人 宮内
繁 大河原
Shigeru Ogawara
繁 大河原
舞 神戸
Mai Kambe
舞 神戸
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2017051641A priority Critical patent/JP6771413B2/ja
Publication of JP2018156294A publication Critical patent/JP2018156294A/ja
Application granted granted Critical
Publication of JP6771413B2 publication Critical patent/JP6771413B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】環境シミュレータにてモデルの変更が発生した場合にも共通のインタフェース関数を変更なしで使用できるようにする。【解決手段】ソフトウェア検証装置40は、動作検証部10と、モニタ部20と、環境シミュレータ部30とを備える。環境シミュレータ部30は、制御ソフトウェアを搭載する実機ハードウェアを模擬する。動作検証部10は、環境シミュレータ部30で動作する制御ソフトウェアを検証する。モニタ部20は、動作検証部10の各機能部から環境シミュレータ部30にアクセスするためのインタフェース関数を共通のインタフェース関数として1つにまとめ、環境シミュレータ部30の各モデルと各モデルに含まれるリソースとのマッピング情報50を管理する。【選択図】図1

Description

本発明は、ソフトウェア検証装置およびソフトウェア検証プログラムに関するものである。
従来、組み込み制御ソフトウェアの開発プロセスでは、実機ハードウェアが完成した後に、事前に実装した制御ソフトウェアを、完成した実機ハードウェアに搭載して、デバッグ作業、具体的にはハードウェアの不具合検出および動作確認、あるいは、制御ソフトウェアの修正等の作業を行う。これは、組み込み系のソフトウェアは、ハードウェアを制御することが目的であるために、制御対象となる実機ハードウェアがないと、動作確認等の機能検証ができないためである。
しかし、このような開発プロセスにおいては、実装する制御ソフトウェアに関して、都度デバッグ等の機能確認を行うことはできず、開発後段にてハードウェア実機に関わる障害が発見され、手戻り工数が大きくなってしまうという問題がある。
このような問題の解決策として、実機ハードウェアを模擬する環境シミュレータを構築し、動作検証処理部と環境シミュレータとを用いてソフトウェアの動作検証を行う手法が従来技術としてある。
特許文献1に記載の技術では、ソフトウェアの動作検証を行う際に、検証対象装置として実機ハードウェアを使用できる場合と、実機ハードウェアがない状況でソフトウェアの動作検証が可能となる環境シミュレータを使う場合とを想定して、動作検証処理部と検証対象装置との間に共通インタフェースライブラリ部を用意している。共通インタフェースライブラリ部は、実機ハードウェアと環境シミュレータとの差異を吸収するライブラリである。特許文献1に記載の技術では、共通インタフェースライブラリ部を利用することで、検証対象の違いに依存する変更を効率的に行っている。
特開2010−157103号公報
特許文献1に記載の技術では、環境シミュレータそのものの内部構成に変更があった場合に、共通インタフェースライブラリ部を変更しなければならない。
本発明は、環境シミュレータにてモデルの変更が発生した場合にも共通のインタフェース関数を変更なしで使用できるようにすることを目的とする。
本発明の一態様に係るソフトウェア検証装置は、
ソフトウェアを搭載するハードウェアに備えられる複数のハードウェア部品を個別のモデルとして模擬し、模擬に際して、前記ソフトウェアの動作によって各モデルに与えられる値を保持する1つ以上のリソースを、各モデルに割り当てる環境シミュレータ部と、
共通のインタフェース関数を呼び出すことで、前記インタフェース関数のパラメータとして名前を指定したリソースにアクセスし、前記ソフトウェアの動作を個別の方式によって検証する複数の機能部を有する動作検証部と、
各モデルと前記環境シミュレータ部により割り当てられたリソースとの対応を示すマッピング情報を取得してメモリに格納し、各リソースの名前を前記複数の機能部に通知し、前記インタフェース関数が呼び出される度に、前記メモリに格納したマッピング情報を参照して、前記インタフェース関数のパラメータとして名前が指定されたリソースに対応するモデルを特定し、当該リソースへのアクセスを、特定したモデルに要求し、要求に対する応答を受け取って前記インタフェース関数の呼び出し元の機能部に返すモニタ部とを備える。
本発明では、各機能部から各モデルのリソースへアクセスするための共通のインタフェース関数が呼び出される度に、リソースへのアクセスを仲介するモニタ部に、モデルとリソースとの対応を示すマッピング情報を参照させる。このため、環境シミュレータ部にてモデルの変更が発生した場合にも共通のインタフェース関数を変更なしで使用できる。
実施の形態1に係るソフトウェア検証装置の構成を示すブロック図。 実施の形態1に係るリソース名とモデルとのマッピング例を示す図。 実施の形態1に係るソフトウェア検証装置の動作を示すフローチャート。 実施の形態1に係る共通のインタフェース関数の呼び出し例を示す図。 実施の形態2に係るソフトウェア検証装置の構成を示すブロック図。
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態のうち、2つ以上の実施の形態が組み合わせられて実施されても構わない。あるいは、以下に説明する実施の形態のうち、1つの実施の形態または2つ以上の実施の形態の組み合わせが部分的に実施されても構わない。
実施の形態1.
本実施の形態について、図1から図4を用いて説明する。
***構成の説明***
図1および図2を参照して、本実施の形態に係るソフトウェア検証装置40の構成を説明する。
ソフトウェア検証装置40は、コンピュータである。ソフトウェア検証装置40は、プロセッサ41を備えるとともに、メモリ42、入力インタフェース43および出力インタフェース44といった他のハードウェアを備える。プロセッサ41は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ソフトウェア検証装置40は、機能要素として、動作検証部10と、モニタ部20と、環境シミュレータ部30とを備える。動作検証部10、モニタ部20および環境シミュレータ部30の機能は、ソフトウェアにより実現される。
動作検証部10は、手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14といった複数の機能部を有する。
環境シミュレータ部30は、CPUモデル31、デバイスAモデル32、デバイスBモデル33およびプラントモデル34といった複数のモデルを有する。「CPU」は、Central Processing Unitの略語である。
手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14から、CPUモデル31、デバイスAモデル32、デバイスBモデル33およびプラントモデル34の保持する各リソースに対しての値の取得および設定は、モニタ部20に用意された共通のインタフェース関数を呼び出すことで実現する。手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14の各機能部は、対象のリソース名をパラメータとして持たせて共通のインタフェース関数を呼び出す。本実施の形態では、共通のインタフェース関数として、値を取得するgetValue()関数と、値を設定するsetValue()関数とがある。
プロセッサ41は、各種処理を行うICである。「IC」は、Integrated Circuitの略語である。プロセッサ41は、例えば、CPUである。
メモリ42には、マッピング情報50が記憶される。マッピング情報50は、後述するように、環境シミュレータ部30の各モデルと環境シミュレータ部30により割り当てられたリソースとの対応を示す情報である。メモリ42は、例えば、フラッシュメモリまたはRAMである。「RAM」は、Random Access Memoryの略語である。
入力インタフェース43は、図示していない入力装置が接続されるインタフェースである。入力装置は、例えば、マウス、キーボードまたはタッチパネルである。
出力インタフェース44は、図示していない出力装置が接続されるインタフェースである。出力装置は、例えば、ディスプレイまたはプリンタである。
ソフトウェア検証装置40は、ハードウェアとして、通信装置を備えていてもよい。
通信装置は、データを受信するレシーバおよびデータを送信するトランスミッタを含む。通信装置は、例えば、通信チップまたはNICである。「NIC」は、Network Interface Cardの略語である。
メモリ42には、動作検証部10、モニタ部20および環境シミュレータ部30の機能を実現するプログラムであるソフトウェア検証プログラムが記憶されている。ソフトウェア検証プログラムは、プロセッサ41に読み込まれ、プロセッサ41によって実行される。メモリ42には、OSも記憶されている。「OS」は、Operating Systemの略語である。プロセッサ41は、OSを実行しながら、ソフトウェア検証プログラムを実行する。なお、ソフトウェア検証プログラムの一部または全部がOSに組み込まれていてもよい。
ソフトウェア検証プログラムおよびOSは、補助記憶装置に記憶されていてもよい。補助記憶装置は、例えば、フラッシュメモリまたはHDDである。「HDD」は、Hard Disk Driveの略語である。補助記憶装置に記憶されているソフトウェア検証プログラムおよびOSは、メモリ42にロードされ、プロセッサ41によって実行される。
ソフトウェア検証装置40は、プロセッサ41を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、ソフトウェア検証プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ41と同じように、各種処理を行うICである。
動作検証部10、モニタ部20および環境シミュレータ部30の処理の結果を示す情報、データ、信号値および変数値は、メモリ42、補助記憶装置、または、プロセッサ41内のレジスタまたはキャッシュメモリに記憶される。
ソフトウェア検証プログラムは、磁気ディスクおよび光ディスクといった可搬記録媒体に記憶されてもよい。
図2を参照して、リソース名とモデルとのマッピングについて説明する。
リソース名は、リソース名ツリーで定義されている。本実施の形態において、CPUモデル31の保持するリソースのうち、あるレジスタのリソース名は、“CPU.Register1”である。デバイスAモデル32の保持するリソースのうち、あるレジスタのリソース名は、“IO.DevA.Register2”である。デバイスBモデル33の保持するリソースのうち、あるレジスタのリソース名は、“IO.DevB.Register3”である。各モデルが保持するリソースのリソース名は、各モデルが持つリソース情報に示されている。
各モデルが保持するリソース情報は、環境シミュレータ部30の模擬対象の構成の変更に応じて変わってくる。例えば、デバイスAモデル32とデバイスBモデル33とが1つのIOモデルとして構成されるように、環境シミュレータ部30内において変更があったとする。この場合、IOモデルの保持するリソース情報において、“IO.DevA.Register2”および”IO.DevB.Register3”という2つのレジスタのリソース名が示されることになる。「IO」は、Input Outputの略語である。
デバイスAモデル32に、新たにレジスタが追加された場合、新たにデバイスAモデル32の保持するリソース情報に“IO.DevA.Register4”が追加される。
ソフトウェア検証装置40において、モニタ部20は、初期化時に環境シミュレータ部30から通知されるモデルとリソースとのマッピング情報50を保持する仕組みとなっている。このため、環境シミュレータ部30の構成変更およびリソースの追加等の変更に対して、モニタ部20の変更は不要となる。
***動作の説明***
図1から図4を参照して、本実施の形態に係るソフトウェア検証装置40の動作を説明する。ソフトウェア検証装置40の動作は、本実施の形態に係るソフトウェア検証方法に相当する。
図3のステップS1において、環境シミュレータ部30は、検証対象のソフトウェアを搭載するハードウェアに備えられる複数のハードウェア部品を個別のモデルとして模擬する処理を開始する。環境シミュレータ部30は、模擬に際して、検証対象のソフトウェアの動作によって各モデルに与えられる値を保持する1つ以上のリソースを、各モデルに割り当てる。本実施の形態において、環境シミュレータ部30は、ソフトウェア検証装置40が初期化される度に、模擬を開始したモデルと当該モデルに割り当てたリソースとの対応を示す情報をマッピング情報50として生成し、モニタ部20に提供する。
具体的には、ソフトウェア検証装置40の初期化時に、環境シミュレータ部30内のCPUモデル31、デバイスAモデル32、デバイスBモデル33およびプラントモデル34の各モデルが、モニタ部20に対して、各モデル自身の持つリソース情報および各モデル自身のモデル名の組み合わせを通知する。CPUモデル31は、検証対象のソフトウェアを搭載するハードウェアに備えられるCPUを模擬するためのモデルである。デバイスAモデル32およびデバイスBモデル33は、それぞれ当該ハードウェアに備えられるコントローラ等のデバイスを模擬するためのモデルである。プラントモデル34は、当該ハードウェアに備えられるモータ等の部品を模擬するためのモデルである。
図3のステップS2において、モニタ部20は、マッピング情報50を取得してメモリ42に格納する。本実施の形態において、モニタ部20は、ソフトウェア検証装置40が初期化される度に、環境シミュレータ部30からマッピング情報50を取得してメモリ42に格納する。
具体的には、モニタ部20は、ステップS1で各モデルから通知されたリソース情報とモデル名との組み合わせをマッピング情報50として保持する。
なお、モニタ部20は、ソフトウェア検証装置40が初期化される度に、外部ファイルからマッピング情報50を取得してメモリ42に格納してもよい。
図3のステップS3において、モニタ部20は、メモリ42に格納したマッピング情報50から各リソースの名前を抽出して動作検証部10の複数の機能部に通知する。
具体的には、モニタ部20は、ステップS2で保持したマッピング情報50から、値の設定あるいは値の取得が可能なリソースのリソース情報を取り出し、動作検証部10内の手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14に対して通知する。
図3のステップS4において、動作検証部10の複数の機能部は、共通のインタフェース関数を呼び出す。このとき、各機能部は、インタフェース関数のパラメータとしてリソースの名前を指定する。
具体的には、手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14が、モニタ部20から通知されたリソース情報をパラメータとして持たせて、図4に示すように、モニタ部20に対して、値を取得するgetValue()関数を呼び出す。あるいは、手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14が、モニタ部20から通知されたリソース情報をパラメータとして持たせて、モニタ部20に対して、値を設定するsetValue()関数を呼び出す。
図3のステップS5において、モニタ部20は、インタフェース関数が呼び出される度に、メモリ42に格納したマッピング情報50を参照して、インタフェース関数のパラメータとして名前が指定されたリソースに対応するモデルを特定する。
具体的には、モニタ部20は、モニタ部20自身の保持するマッピング情報50から、パラメータとして通知されたリソース情報に対応するリソースを管理するモデルを特定する。
図3のステップS6において、モニタ部20は、インタフェース関数のパラメータとして名前が指定されたリソースへのアクセスを、特定したモデルに要求し、要求に対する応答を受け取る。
具体的には、モニタ部20は、図4に示すように、ステップS5で特定したモデルに対して、手動試験機能部11、自動試験機能部12、デバッグ機能部13または性能解析機能部14から通知されたリソース情報をパラメータとして持たせて、値を取得するgetValue()関数を呼び出す。あるいは、モニタ部20は、ステップS5で特定したモデルに対して、手動試験機能部11、自動試験機能部12、デバッグ機能部13または性能解析機能部14から通知されたリソース情報をパラメータとして持たせて、値を設定するsetValue()関数を呼び出す。呼び出し先のモデルは、パラメータとして通知されたリソース情報に対応するリソースに対して、値の取得あるいは値の設定を実行し、その結果をモニタ部20に対して通知する。
図3のステップS7において、モニタ部20は、受け取った応答をインタフェース関数の呼び出し元の機能部に返す。これにより、その機能部は、インタフェース関数のパラメータとしてリソースの名前を指定したリソースにアクセスしたことになり、検証対象のソフトウェアの動作を検証することができる。
具体的には、モニタ部20は、環境シミュレータ部30内のCPUモデル31、デバイスAモデル32、デバイスBモデル33またはプラントモデル34から通知された結果を、動作検証部10における、該当する機能部に対して通知する。
本実施の形態において、動作検証部10の複数の機能部は、検証対象のソフトウェアの動作を個別の方式によって検証する。
具体的には、手動試験機能部11は、ユーザの操作に応じて検証対象のソフトウェアを試験する。自動試験機能部12は、自動で検証対象のソフトウェアを試験する。デバッグ機能部13は、検証対象のソフトウェアをデバッグする。性能解析機能部14は、検証対象のソフトウェアの性能を解析する。
***実施の形態の効果の説明***
本実施の形態では、各機能部から各モデルのリソースへアクセスするための共通のインタフェース関数が呼び出される度に、リソースへのアクセスを仲介するモニタ部20に、モデルとリソースとの対応を示すマッピング情報50を参照させる。このため、環境シミュレータ部30にてモデルの変更が発生した場合にも共通のインタフェース関数を変更なしで使用できる。
環境シミュレータ部30において、周辺IO部分を1つのモデルとして実装していたとする。環境シミュレータ部30内で実装する周辺IOモデルの持つデバイス数が肥大化してきたために、周辺IOモデルをデバイスの個数分のモデルに分割する必要が生じる場合がある。そのような場合でも、本実施の形態では、動作検証部10が、共通のインタフェース関数を用いて、環境シミュレータ部30内の各モデルが管理する各種リソースにアクセスすることができる。すなわち、上記のような環境シミュレータ部30内の変更があった際に、その都度、動作検証部10のインタフェースを修正する必要がない。
本実施の形態では、インタフェース関数をモデルごとに用意するのではなく、共通化しているため、動作検証部10は、一意に決定されるモデルとそのモデルが保持するリソース情報とのマッピングをもとに、必要なリソースに対して、共通化したインタフェース関数を用いることでアクセスすることが可能となる。具体的には、動作検証部10の各機能部が、getValue()関数またはsetValue()関数を呼び出す際に、パラメータでアクセス対象のリソース名を指定してリソースにアクセスすることができる。
本実施の形態では、マッピングの変更にも対応することができる。具体例として、環境シミュレータ部30において、IOモデルというモデルが、デバイスAモデル32およびデバイスBモデル33という2つのモデルに変更になった場合、各モデルとそのモデルが管理するリソースとのマッピングも変更することができる。
本実施の形態において、環境シミュレータ部30は、制御ソフトウェアを搭載する実機ハードウェアを模擬する。動作検証部10は、環境シミュレータ部30で動作する制御ソフトウェアを検証する。モニタ部20は、動作検証部10の各機能部から環境シミュレータ部30にアクセスするためのインタフェース関数を共通のインタフェース関数として1つにまとめ、環境シミュレータ部30の各モデルと各モデルに含まれるリソースとのマッピング情報50を管理する。環境シミュレータ部30の各モデルが管理するリソース情報、あるいは、各モデルそのものに変更があった場合でも、モニタ部20のインタフェース関数の追加または削除を行う必要はなく、モニタ部20のインタフェース関数のパラメータに指定する対象リソース名のみを変更することで、動作検証部10から環境シミュレータ部30の各モデルの保持するリソースへのアクセスが可能である。マッピング情報50は、初期化時に動的に登録される。
上記のように、本実施の形態では、動作検証部10が環境シミュレータ部30内の各モデルの保持するリソースへアクセスするための共通インタフェースを持つモニタ部に対して、初期化時に、各モデルと各モデルが保持するリソースとのマッピング情報50を登録する。これにより、環境シミュレータ部30内のモデルまたはリソースの構成が変更された場合でも、共通インタフェースを変更することが不要なだけでなく、動作検証部10が環境シミュレータ部30の構成変更を意識する必要がなくなる。よって、環境シミュレータ部30の構成変更に対する設計柔軟性が増すという効果を得ることができる。
***他の構成***
本実施の形態では、動作検証部10、モニタ部20および環境シミュレータ部30の機能がソフトウェアにより実現されるが、変形例として、動作検証部10、モニタ部20および環境シミュレータ部30の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、動作検証部10、モニタ部20および環境シミュレータ部30の機能の一部が専用の電子回路により実現され、残りがソフトウェアにより実現されてもよい。
専用の電子回路は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、FPGAまたはASICである。「GA」は、Gate Arrayの略語である。「FPGA」は、Field−Programmable Gate Arrayの略語である。「ASIC」は、Application Specific Integrated Circuitの略語である。
プロセッサ41、メモリ42および専用の電子回路を、総称して「プロセッシングサーキットリ」という。つまり、動作検証部10、モニタ部20および環境シミュレータ部30の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、動作検証部10、モニタ部20および環境シミュレータ部30の機能は、プロセッシングサーキットリにより実現される。
実施の形態2.
本実施の形態について、主に実施の形態1との差異を、図5を用いて説明する。
図5に示すように、本実施の形態では、環境シミュレータ部30の各モデルが、ダイナミックリンクライブラリとして実装され、プラグイン52としてモニタ部20にリンクされる。
具体的には、動作検証部10およびモニタ部20の機能を実現するプログラムが1つの実行ファイル51として構成され、CPUモデル31、デバイスAモデル32、デバイスBモデル33部およびプラントモデル34が、それぞれ個別の.dllファイルとして構成される。
CPUモデル31、デバイスAモデル32、デバイスBモデル33およびプラントモデル34の各.dllファイルを特定のフォルダに格納しておき、実行ファイル51を、そのフォルダ内の.dllファイルを動的にリンクするようにしておけば、環境シミュレータ部30の構成変更またはリソースの追加等の変更が入った際にも、実行ファイル51側の再ビルドは不要となる。
10 動作検証部、11 手動試験機能部、12 自動試験機能部、13 デバッグ機能部、14 性能解析機能部、20 モニタ部、30 環境シミュレータ部、31 CPUモデル、32 デバイスAモデル、33 デバイスBモデル、34 プラントモデル、40 ソフトウェア検証装置、41 プロセッサ、42 メモリ、43 入力インタフェース、44 出力インタフェース、50 マッピング情報、51 実行ファイル、52 プラグイン。

Claims (6)

  1. ソフトウェアを搭載するハードウェアに備えられる複数のハードウェア部品を個別のモデルとして模擬し、模擬に際して、前記ソフトウェアの動作によって各モデルに与えられる値を保持する1つ以上のリソースを、各モデルに割り当てる環境シミュレータ部と、
    共通のインタフェース関数を呼び出すことで、前記インタフェース関数のパラメータとして名前を指定したリソースにアクセスし、前記ソフトウェアの動作を個別の方式によって検証する複数の機能部を有する動作検証部と、
    各モデルと前記環境シミュレータ部により割り当てられたリソースとの対応を示すマッピング情報を取得してメモリに格納し、各リソースの名前を前記複数の機能部に通知し、前記インタフェース関数が呼び出される度に、前記メモリに格納したマッピング情報を参照して、前記インタフェース関数のパラメータとして名前が指定されたリソースに対応するモデルを特定し、当該リソースへのアクセスを、特定したモデルに要求し、要求に対する応答を受け取って前記インタフェース関数の呼び出し元の機能部に返すモニタ部と
    を備えるソフトウェア検証装置。
  2. 各モデルは、ダイナミックリンクライブラリとして実装され、プラグインとして前記モニタ部にリンクされる請求項1に記載のソフトウェア検証装置。
  3. 前記モニタ部は、前記ソフトウェア検証装置が初期化される度に、前記環境シミュレータ部から前記マッピング情報を取得する請求項1または2に記載のソフトウェア検証装置。
  4. 前記環境シミュレータ部は、前記ソフトウェア検証装置が初期化される度に、模擬を開始したモデルと当該モデルに割り当てたリソースとの対応を示す情報を前記マッピング情報として生成し、前記モニタ部に提供する請求項3に記載のソフトウェア検証装置。
  5. 前記モニタ部は、前記ソフトウェア検証装置が初期化される度に、外部ファイルから前記マッピング情報を取得する請求項1または2に記載のソフトウェア検証装置。
  6. コンピュータに、
    ソフトウェアを搭載するハードウェアに備えられる複数のハードウェア部品を個別のモデルとして模擬し、模擬に際して、前記ソフトウェアの動作によって各モデルに与えられる値を保持する1つ以上のリソースを、各モデルに割り当てる環境シミュレータと、
    共通のインタフェース関数を呼び出すことで、前記インタフェース関数のパラメータとして名前を指定したリソースにアクセスし、前記ソフトウェアの動作を個別の方式によって検証する複数の機能部を有する処理と、
    各モデルと前記環境シミュレータにより割り当てられたリソースとの対応を示すマッピング情報を取得してメモリに格納し、各リソースの名前を前記複数の機能部に通知し、前記インタフェース関数が呼び出される度に、前記メモリに格納したマッピング情報を参照して、前記インタフェース関数のパラメータとして名前が指定されたリソースに対応するモデルを特定し、当該リソースへのアクセスを、特定したモデルに要求し、要求に対する応答を受け取って前記インタフェース関数の呼び出し元の機能部に返す処理と
    を実行させるソフトウェア検証プログラム。
JP2017051641A 2017-03-16 2017-03-16 ソフトウェア検証装置およびソフトウェア検証プログラム Active JP6771413B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017051641A JP6771413B2 (ja) 2017-03-16 2017-03-16 ソフトウェア検証装置およびソフトウェア検証プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017051641A JP6771413B2 (ja) 2017-03-16 2017-03-16 ソフトウェア検証装置およびソフトウェア検証プログラム

Publications (2)

Publication Number Publication Date
JP2018156294A true JP2018156294A (ja) 2018-10-04
JP6771413B2 JP6771413B2 (ja) 2020-10-21

Family

ID=63718006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017051641A Active JP6771413B2 (ja) 2017-03-16 2017-03-16 ソフトウェア検証装置およびソフトウェア検証プログラム

Country Status (1)

Country Link
JP (1) JP6771413B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110196813A (zh) * 2019-06-06 2019-09-03 北京百度网讯科技有限公司 接口测试方法、装置、设备和介质
KR20230016902A (ko) * 2021-07-27 2023-02-03 엘아이지넥스원 주식회사 가상 모의 시스템, 이를 포함하는 무기 체계 통합 시험 시스템 및 가상 모의 방법
CN116204429A (zh) * 2023-02-21 2023-06-02 深圳市道旅旅游科技股份有限公司 一种代码组织及其调试方法、系统及存储介质
CN116860589A (zh) * 2022-03-28 2023-10-10 象帝先计算技术(重庆)有限公司 一种寄存器验证方法、装置、电子设备及计算机存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110196813A (zh) * 2019-06-06 2019-09-03 北京百度网讯科技有限公司 接口测试方法、装置、设备和介质
KR20230016902A (ko) * 2021-07-27 2023-02-03 엘아이지넥스원 주식회사 가상 모의 시스템, 이를 포함하는 무기 체계 통합 시험 시스템 및 가상 모의 방법
KR102537753B1 (ko) 2021-07-27 2023-05-31 엘아이지넥스원 주식회사 가상 모의 시스템, 이를 포함하는 무기 체계 통합 시험 시스템 및 가상 모의 방법
CN116860589A (zh) * 2022-03-28 2023-10-10 象帝先计算技术(重庆)有限公司 一种寄存器验证方法、装置、电子设备及计算机存储介质
CN116204429A (zh) * 2023-02-21 2023-06-02 深圳市道旅旅游科技股份有限公司 一种代码组织及其调试方法、系统及存储介质
CN116204429B (zh) * 2023-02-21 2023-12-08 深圳市道旅旅游科技股份有限公司 一种代码组织及其调试方法、系统及存储介质

Also Published As

Publication number Publication date
JP6771413B2 (ja) 2020-10-21

Similar Documents

Publication Publication Date Title
CN109302522B (zh) 测试方法、装置以及计算机系统和介质
US8677327B2 (en) Service testing method and service testing system
US11010283B2 (en) Mock-based unit test(s) for an end-to-end test of a code snippet
US9519495B2 (en) Timed API rules for runtime verification
US10482001B2 (en) Automated dynamic test case generation
US20190004932A1 (en) Unit test and automation framework (utaf) system and method
US20110145643A1 (en) Reproducible test framework for randomized stress test
US20140331209A1 (en) Program Testing Service
US20140372985A1 (en) API Rules Verification Platform
JP6771413B2 (ja) ソフトウェア検証装置およびソフトウェア検証プログラム
US9612942B2 (en) Verification of a computer program in respect to an unexpected response to an access request
US9652220B2 (en) Zero down-time deployment of new application versions
US8984486B2 (en) System, method, and computer program product for automated stability testing of device firmware
US10146674B2 (en) Plugin-based software verification system
US10803166B1 (en) Automated determination of application privileges
GB2506122A (en) Integrating data transform test with data transform tool
US20130067439A1 (en) Injecting faults into program for testing
CN111290941A (zh) 多个接口的测试方法、装置、计算设备和介质
US20140331205A1 (en) Program Testing Service
WO2014179731A1 (en) Program testing service
US8224614B2 (en) Generating a combination exerciser for executing tests on a circuit
US20210103516A1 (en) Testing integration and automation system
US20140344785A1 (en) Automatic generation of a resource reconfiguring test
CN115599618B (zh) 寄存器动态改配验证方法、装置、存储介质和处理器
CN105339974B (zh) 模拟传感器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200812

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: 20200901

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200929

R150 Certificate of patent or registration of utility model

Ref document number: 6771413

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250