JP6771413B2 - Software verification device and software verification program - Google Patents
Software verification device and software verification program Download PDFInfo
- Publication number
- JP6771413B2 JP6771413B2 JP2017051641A JP2017051641A JP6771413B2 JP 6771413 B2 JP6771413 B2 JP 6771413B2 JP 2017051641 A JP2017051641 A JP 2017051641A JP 2017051641 A JP2017051641 A JP 2017051641A JP 6771413 B2 JP6771413 B2 JP 6771413B2
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
本発明は、ソフトウェア検証装置およびソフトウェア検証プログラムに関するものである。 The present invention relates to a software verification device and a software verification program.
従来、組み込み制御ソフトウェアの開発プロセスでは、実機ハードウェアが完成した後に、事前に実装した制御ソフトウェアを、完成した実機ハードウェアに搭載して、デバッグ作業、具体的にはハードウェアの不具合検出および動作確認、あるいは、制御ソフトウェアの修正等の作業を行う。これは、組み込み系のソフトウェアは、ハードウェアを制御することが目的であるために、制御対象となる実機ハードウェアがないと、動作確認等の機能検証ができないためである。 Conventionally, in the embedded control software development process, after the actual hardware is completed, the control software implemented in advance is mounted on the completed actual hardware for debugging work, specifically, hardware defect detection and operation. Check or modify the control software. This is because the purpose of embedded software is to control the hardware, and therefore, functional verification such as operation check cannot be performed without the actual hardware to be controlled.
しかし、このような開発プロセスにおいては、実装する制御ソフトウェアに関して、都度デバッグ等の機能確認を行うことはできず、開発後段にてハードウェア実機に関わる障害が発見され、手戻り工数が大きくなってしまうという問題がある。 However, in such a development process, it is not possible to check the functions of the control software to be implemented, such as debugging, and a failure related to the actual hardware is discovered in the latter stage of development, resulting in a large rework man-hour. There is a problem that it ends up.
このような問題の解決策として、実機ハードウェアを模擬する環境シミュレータを構築し、動作検証処理部と環境シミュレータとを用いてソフトウェアの動作検証を行う手法が従来技術としてある。 As a solution to such a problem, there is a conventional technique of constructing an environment simulator that simulates actual hardware and verifying the operation of software by using an operation verification processing unit and an environment simulator.
特許文献1に記載の技術では、ソフトウェアの動作検証を行う際に、検証対象装置として実機ハードウェアを使用できる場合と、実機ハードウェアがない状況でソフトウェアの動作検証が可能となる環境シミュレータを使う場合とを想定して、動作検証処理部と検証対象装置との間に共通インタフェースライブラリ部を用意している。共通インタフェースライブラリ部は、実機ハードウェアと環境シミュレータとの差異を吸収するライブラリである。特許文献1に記載の技術では、共通インタフェースライブラリ部を利用することで、検証対象の違いに依存する変更を効率的に行っている。 In the technique described in Patent Document 1, when verifying the operation of software, an environment simulator that enables verification of software operation is used when the actual hardware can be used as the device to be verified and when the actual hardware is not available. Assuming a case, a common interface library unit is prepared between the operation verification processing unit and the verification target device. The common interface library section is a library that absorbs the differences between the actual hardware and the environment simulator. In the technique described in Patent Document 1, by using the common interface library unit, changes depending on the difference in the verification target are efficiently performed.
特許文献1に記載の技術では、環境シミュレータそのものの内部構成に変更があった場合に、共通インタフェースライブラリ部を変更しなければならない。 In the technique described in Patent Document 1, when the internal configuration of the environment simulator itself is changed, the common interface library part must be changed.
本発明は、環境シミュレータにてモデルの変更が発生した場合にも共通のインタフェース関数を変更なしで使用できるようにすることを目的とする。 An object of the present invention is to enable a common interface function to be used without change even when a model change occurs in the environment simulator.
本発明の一態様に係るソフトウェア検証装置は、
ソフトウェアを搭載するハードウェアに備えられる複数のハードウェア部品を個別のモデルとして模擬し、模擬に際して、前記ソフトウェアの動作によって各モデルに与えられる値を保持する1つ以上のリソースを、各モデルに割り当てる環境シミュレータ部と、
共通のインタフェース関数を呼び出すことで、前記インタフェース関数のパラメータとして名前を指定したリソースにアクセスし、前記ソフトウェアの動作を個別の方式によって検証する複数の機能部を有する動作検証部と、
各モデルと前記環境シミュレータ部により割り当てられたリソースとの対応を示すマッピング情報を取得してメモリに格納し、各リソースの名前を前記複数の機能部に通知し、前記インタフェース関数が呼び出される度に、前記メモリに格納したマッピング情報を参照して、前記インタフェース関数のパラメータとして名前が指定されたリソースに対応するモデルを特定し、当該リソースへのアクセスを、特定したモデルに要求し、要求に対する応答を受け取って前記インタフェース関数の呼び出し元の機能部に返すモニタ部とを備える。
The software verification device according to one aspect of the present invention is
Multiple hardware components provided in the hardware on which the software is installed are simulated as individual models, and at the time of simulation, one or more resources holding the values given to each model by the operation of the software are assigned to each model. Environmental simulator department and
By calling a common interface function, an operation verification unit having a plurality of functional units that access a resource named as a parameter of the interface function and verify the operation of the software by an individual method, and an operation verification unit.
The mapping information indicating the correspondence between each model and the resource allocated by the environment simulator unit is acquired and stored in the memory, the name of each resource is notified to the plurality of functional units, and each time the interface function is called. , The model corresponding to the resource whose name is specified as the parameter of the interface function is specified by referring to the mapping information stored in the memory, the specified model is requested to access the resource, and the response to the request is made. Is provided with a monitor unit that receives the above and returns it to the functional unit that calls the interface function.
本発明では、各機能部から各モデルのリソースへアクセスするための共通のインタフェース関数が呼び出される度に、リソースへのアクセスを仲介するモニタ部に、モデルとリソースとの対応を示すマッピング情報を参照させる。このため、環境シミュレータ部にてモデルの変更が発生した場合にも共通のインタフェース関数を変更なしで使用できる。 In the present invention, each time a common interface function for accessing the resource of each model is called from each functional unit, the monitoring unit that mediates the access to the resource refers to the mapping information indicating the correspondence between the model and the resource. Let me. Therefore, even if the model is changed in the environment simulator section, the common interface function can be used without change.
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態のうち、2つ以上の実施の形態が組み合わせられて実施されても構わない。あるいは、以下に説明する実施の形態のうち、1つの実施の形態または2つ以上の実施の形態の組み合わせが部分的に実施されても構わない。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In each figure, the same or corresponding parts are designated by the same reference numerals. In the description of the embodiment, the description will be omitted or simplified as appropriate for the same or corresponding parts. The present invention is not limited to the embodiments described below, and various modifications can be made as needed. For example, among the embodiments described below, two or more embodiments may be combined and implemented. Alternatively, of the embodiments described below, one embodiment or a combination of two or more embodiments may be partially implemented.
実施の形態1.
本実施の形態について、図1から図4を用いて説明する。
Embodiment 1.
The present embodiment will be described with reference to FIGS. 1 to 4.
***構成の説明***
図1および図2を参照して、本実施の形態に係るソフトウェア検証装置40の構成を説明する。
*** Explanation of configuration ***
The configuration of the
ソフトウェア検証装置40は、コンピュータである。ソフトウェア検証装置40は、プロセッサ41を備えるとともに、メモリ42、入力インタフェース43および出力インタフェース44といった他のハードウェアを備える。プロセッサ41は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
The
ソフトウェア検証装置40は、機能要素として、動作検証部10と、モニタ部20と、環境シミュレータ部30とを備える。動作検証部10、モニタ部20および環境シミュレータ部30の機能は、ソフトウェアにより実現される。
The
動作検証部10は、手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14といった複数の機能部を有する。
The
環境シミュレータ部30は、CPUモデル31、デバイスAモデル32、デバイスBモデル33およびプラントモデル34といった複数のモデルを有する。「CPU」は、Central Processing Unitの略語である。
The
手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14から、CPUモデル31、デバイスAモデル32、デバイスBモデル33およびプラントモデル34の保持する各リソースに対しての値の取得および設定は、モニタ部20に用意された共通のインタフェース関数を呼び出すことで実現する。手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14の各機能部は、対象のリソース名をパラメータとして持たせて共通のインタフェース関数を呼び出す。本実施の形態では、共通のインタフェース関数として、値を取得するgetValue()関数と、値を設定するsetValue()関数とがある。
From the manual
プロセッサ41は、各種処理を行うICである。「IC」は、Integrated Circuitの略語である。プロセッサ41は、例えば、CPUである。
The
メモリ42には、マッピング情報50が記憶される。マッピング情報50は、後述するように、環境シミュレータ部30の各モデルと環境シミュレータ部30により割り当てられたリソースとの対応を示す情報である。メモリ42は、例えば、フラッシュメモリまたはRAMである。「RAM」は、Random Access Memoryの略語である。
The
入力インタフェース43は、図示していない入力装置が接続されるインタフェースである。入力装置は、例えば、マウス、キーボードまたはタッチパネルである。
The
出力インタフェース44は、図示していない出力装置が接続されるインタフェースである。出力装置は、例えば、ディスプレイまたはプリンタである。
The
ソフトウェア検証装置40は、ハードウェアとして、通信装置を備えていてもよい。
The
通信装置は、データを受信するレシーバおよびデータを送信するトランスミッタを含む。通信装置は、例えば、通信チップまたはNICである。「NIC」は、Network Interface Cardの略語である。 Communication equipment includes a receiver that receives data and a transmitter that transmits data. The communication device is, for example, a communication chip or a NIC. "NIC" is an abbreviation for Network Interface Card.
メモリ42には、動作検証部10、モニタ部20および環境シミュレータ部30の機能を実現するプログラムであるソフトウェア検証プログラムが記憶されている。ソフトウェア検証プログラムは、プロセッサ41に読み込まれ、プロセッサ41によって実行される。メモリ42には、OSも記憶されている。「OS」は、Operating Systemの略語である。プロセッサ41は、OSを実行しながら、ソフトウェア検証プログラムを実行する。なお、ソフトウェア検証プログラムの一部または全部がOSに組み込まれていてもよい。
The
ソフトウェア検証プログラムおよびOSは、補助記憶装置に記憶されていてもよい。補助記憶装置は、例えば、フラッシュメモリまたはHDDである。「HDD」は、Hard Disk Driveの略語である。補助記憶装置に記憶されているソフトウェア検証プログラムおよびOSは、メモリ42にロードされ、プロセッサ41によって実行される。
The software verification program and the OS may be stored in the auxiliary storage device. The auxiliary storage device is, for example, a flash memory or an HDD. "HDD" is an abbreviation for Hard Disk Drive. The software verification program and the OS stored in the auxiliary storage device are loaded into the
ソフトウェア検証装置40は、プロセッサ41を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、ソフトウェア検証プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ41と同じように、各種処理を行うICである。
The
動作検証部10、モニタ部20および環境シミュレータ部30の処理の結果を示す情報、データ、信号値および変数値は、メモリ42、補助記憶装置、または、プロセッサ41内のレジスタまたはキャッシュメモリに記憶される。
Information, data, signal values and variable values indicating the processing results of the
ソフトウェア検証プログラムは、磁気ディスクおよび光ディスクといった可搬記録媒体に記憶されてもよい。 The software verification program may be stored on a portable recording medium such as a magnetic disk or an optical disk.
図2を参照して、リソース名とモデルとのマッピングについて説明する。 The mapping between the resource name and the model will be described with reference to FIG.
リソース名は、リソース名ツリーで定義されている。本実施の形態において、CPUモデル31の保持するリソースのうち、あるレジスタのリソース名は、“CPU.Register1”である。デバイスAモデル32の保持するリソースのうち、あるレジスタのリソース名は、“IO.DevA.Register2”である。デバイスBモデル33の保持するリソースのうち、あるレジスタのリソース名は、“IO.DevB.Register3”である。各モデルが保持するリソースのリソース名は、各モデルが持つリソース情報に示されている。
The resource name is defined in the resource name tree. In the present embodiment, among the resources held by the
各モデルが保持するリソース情報は、環境シミュレータ部30の模擬対象の構成の変更に応じて変わってくる。例えば、デバイスAモデル32とデバイスBモデル33とが1つのIOモデルとして構成されるように、環境シミュレータ部30内において変更があったとする。この場合、IOモデルの保持するリソース情報において、“IO.DevA.Register2”および”IO.DevB.Register3”という2つのレジスタのリソース名が示されることになる。「IO」は、Input Outputの略語である。
The resource information held by each model changes according to the change in the configuration of the simulation target of the
デバイスAモデル32に、新たにレジスタが追加された場合、新たにデバイスAモデル32の保持するリソース情報に“IO.DevA.Register4”が追加される。
When a new register is added to the
ソフトウェア検証装置40において、モニタ部20は、初期化時に環境シミュレータ部30から通知されるモデルとリソースとのマッピング情報50を保持する仕組みとなっている。このため、環境シミュレータ部30の構成変更およびリソースの追加等の変更に対して、モニタ部20の変更は不要となる。
In the
***動作の説明***
図1から図4を参照して、本実施の形態に係るソフトウェア検証装置40の動作を説明する。ソフトウェア検証装置40の動作は、本実施の形態に係るソフトウェア検証方法に相当する。
*** Explanation of operation ***
The operation of the
図3のステップS1において、環境シミュレータ部30は、検証対象のソフトウェアを搭載するハードウェアに備えられる複数のハードウェア部品を個別のモデルとして模擬する処理を開始する。環境シミュレータ部30は、模擬に際して、検証対象のソフトウェアの動作によって各モデルに与えられる値を保持する1つ以上のリソースを、各モデルに割り当てる。本実施の形態において、環境シミュレータ部30は、ソフトウェア検証装置40が初期化される度に、模擬を開始したモデルと当該モデルに割り当てたリソースとの対応を示す情報をマッピング情報50として生成し、モニタ部20に提供する。
In step S1 of FIG. 3, the
具体的には、ソフトウェア検証装置40の初期化時に、環境シミュレータ部30内のCPUモデル31、デバイスAモデル32、デバイスBモデル33およびプラントモデル34の各モデルが、モニタ部20に対して、各モデル自身の持つリソース情報および各モデル自身のモデル名の組み合わせを通知する。CPUモデル31は、検証対象のソフトウェアを搭載するハードウェアに備えられるCPUを模擬するためのモデルである。デバイスAモデル32およびデバイスBモデル33は、それぞれ当該ハードウェアに備えられるコントローラ等のデバイスを模擬するためのモデルである。プラントモデル34は、当該ハードウェアに備えられるモータ等の部品を模擬するためのモデルである。
Specifically, at the time of initializing the
図3のステップS2において、モニタ部20は、マッピング情報50を取得してメモリ42に格納する。本実施の形態において、モニタ部20は、ソフトウェア検証装置40が初期化される度に、環境シミュレータ部30からマッピング情報50を取得してメモリ42に格納する。
In step S2 of FIG. 3, the
具体的には、モニタ部20は、ステップS1で各モデルから通知されたリソース情報とモデル名との組み合わせをマッピング情報50として保持する。
Specifically, the
なお、モニタ部20は、ソフトウェア検証装置40が初期化される度に、外部ファイルからマッピング情報50を取得してメモリ42に格納してもよい。
The
図3のステップS3において、モニタ部20は、メモリ42に格納したマッピング情報50から各リソースの名前を抽出して動作検証部10の複数の機能部に通知する。
In step S3 of FIG. 3, the
具体的には、モニタ部20は、ステップS2で保持したマッピング情報50から、値の設定あるいは値の取得が可能なリソースのリソース情報を取り出し、動作検証部10内の手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14に対して通知する。
Specifically, the
図3のステップS4において、動作検証部10の複数の機能部は、共通のインタフェース関数を呼び出す。このとき、各機能部は、インタフェース関数のパラメータとしてリソースの名前を指定する。
In step S4 of FIG. 3, a plurality of functional units of the
具体的には、手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14が、モニタ部20から通知されたリソース情報をパラメータとして持たせて、図4に示すように、モニタ部20に対して、値を取得するgetValue()関数を呼び出す。あるいは、手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14が、モニタ部20から通知されたリソース情報をパラメータとして持たせて、モニタ部20に対して、値を設定するsetValue()関数を呼び出す。
Specifically, as shown in FIG. 4, the manual
図3のステップS5において、モニタ部20は、インタフェース関数が呼び出される度に、メモリ42に格納したマッピング情報50を参照して、インタフェース関数のパラメータとして名前が指定されたリソースに対応するモデルを特定する。
In step S5 of FIG. 3, the
具体的には、モニタ部20は、モニタ部20自身の保持するマッピング情報50から、パラメータとして通知されたリソース情報に対応するリソースを管理するモデルを特定する。
Specifically, the
図3のステップS6において、モニタ部20は、インタフェース関数のパラメータとして名前が指定されたリソースへのアクセスを、特定したモデルに要求し、要求に対する応答を受け取る。
In step S6 of FIG. 3, the
具体的には、モニタ部20は、図4に示すように、ステップS5で特定したモデルに対して、手動試験機能部11、自動試験機能部12、デバッグ機能部13または性能解析機能部14から通知されたリソース情報をパラメータとして持たせて、値を取得するgetValue()関数を呼び出す。あるいは、モニタ部20は、ステップS5で特定したモデルに対して、手動試験機能部11、自動試験機能部12、デバッグ機能部13または性能解析機能部14から通知されたリソース情報をパラメータとして持たせて、値を設定するsetValue()関数を呼び出す。呼び出し先のモデルは、パラメータとして通知されたリソース情報に対応するリソースに対して、値の取得あるいは値の設定を実行し、その結果をモニタ部20に対して通知する。
Specifically, as shown in FIG. 4, the
図3のステップS7において、モニタ部20は、受け取った応答をインタフェース関数の呼び出し元の機能部に返す。これにより、その機能部は、インタフェース関数のパラメータとしてリソースの名前を指定したリソースにアクセスしたことになり、検証対象のソフトウェアの動作を検証することができる。
In step S7 of FIG. 3, the
具体的には、モニタ部20は、環境シミュレータ部30内のCPUモデル31、デバイスAモデル32、デバイスBモデル33またはプラントモデル34から通知された結果を、動作検証部10における、該当する機能部に対して通知する。
Specifically, the
本実施の形態において、動作検証部10の複数の機能部は、検証対象のソフトウェアの動作を個別の方式によって検証する。
In the present embodiment, the plurality of functional units of the
具体的には、手動試験機能部11は、ユーザの操作に応じて検証対象のソフトウェアを試験する。自動試験機能部12は、自動で検証対象のソフトウェアを試験する。デバッグ機能部13は、検証対象のソフトウェアをデバッグする。性能解析機能部14は、検証対象のソフトウェアの性能を解析する。
Specifically, the manual
***実施の形態の効果の説明***
本実施の形態では、各機能部から各モデルのリソースへアクセスするための共通のインタフェース関数が呼び出される度に、リソースへのアクセスを仲介するモニタ部20に、モデルとリソースとの対応を示すマッピング情報50を参照させる。このため、環境シミュレータ部30にてモデルの変更が発生した場合にも共通のインタフェース関数を変更なしで使用できる。
*** Explanation of the effect of the embodiment ***
In the present embodiment, each time a common interface function for accessing the resource of each model is called from each functional unit, the
環境シミュレータ部30において、周辺IO部分を1つのモデルとして実装していたとする。環境シミュレータ部30内で実装する周辺IOモデルの持つデバイス数が肥大化してきたために、周辺IOモデルをデバイスの個数分のモデルに分割する必要が生じる場合がある。そのような場合でも、本実施の形態では、動作検証部10が、共通のインタフェース関数を用いて、環境シミュレータ部30内の各モデルが管理する各種リソースにアクセスすることができる。すなわち、上記のような環境シミュレータ部30内の変更があった際に、その都度、動作検証部10のインタフェースを修正する必要がない。
It is assumed that the peripheral IO portion is implemented as one model in the
本実施の形態では、インタフェース関数をモデルごとに用意するのではなく、共通化しているため、動作検証部10は、一意に決定されるモデルとそのモデルが保持するリソース情報とのマッピングをもとに、必要なリソースに対して、共通化したインタフェース関数を用いることでアクセスすることが可能となる。具体的には、動作検証部10の各機能部が、getValue()関数またはsetValue()関数を呼び出す際に、パラメータでアクセス対象のリソース名を指定してリソースにアクセスすることができる。
In the present embodiment, the interface function is not prepared for each model but is shared, so that the
本実施の形態では、マッピングの変更にも対応することができる。具体例として、環境シミュレータ部30において、IOモデルというモデルが、デバイスAモデル32およびデバイスBモデル33という2つのモデルに変更になった場合、各モデルとそのモデルが管理するリソースとのマッピングも変更することができる。
In the present embodiment, it is possible to cope with the change of mapping. As a specific example, in the
本実施の形態において、環境シミュレータ部30は、制御ソフトウェアを搭載する実機ハードウェアを模擬する。動作検証部10は、環境シミュレータ部30で動作する制御ソフトウェアを検証する。モニタ部20は、動作検証部10の各機能部から環境シミュレータ部30にアクセスするためのインタフェース関数を共通のインタフェース関数として1つにまとめ、環境シミュレータ部30の各モデルと各モデルに含まれるリソースとのマッピング情報50を管理する。環境シミュレータ部30の各モデルが管理するリソース情報、あるいは、各モデルそのものに変更があった場合でも、モニタ部20のインタフェース関数の追加または削除を行う必要はなく、モニタ部20のインタフェース関数のパラメータに指定する対象リソース名のみを変更することで、動作検証部10から環境シミュレータ部30の各モデルの保持するリソースへのアクセスが可能である。マッピング情報50は、初期化時に動的に登録される。
In the present embodiment, the
上記のように、本実施の形態では、動作検証部10が環境シミュレータ部30内の各モデルの保持するリソースへアクセスするための共通インタフェースを持つモニタ部に対して、初期化時に、各モデルと各モデルが保持するリソースとのマッピング情報50を登録する。これにより、環境シミュレータ部30内のモデルまたはリソースの構成が変更された場合でも、共通インタフェースを変更することが不要なだけでなく、動作検証部10が環境シミュレータ部30の構成変更を意識する必要がなくなる。よって、環境シミュレータ部30の構成変更に対する設計柔軟性が増すという効果を得ることができる。
As described above, in the present embodiment, the
***他の構成***
本実施の形態では、動作検証部10、モニタ部20および環境シミュレータ部30の機能がソフトウェアにより実現されるが、変形例として、動作検証部10、モニタ部20および環境シミュレータ部30の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、動作検証部10、モニタ部20および環境シミュレータ部30の機能の一部が専用の電子回路により実現され、残りがソフトウェアにより実現されてもよい。
*** Other configurations ***
In the present embodiment, the functions of the
専用の電子回路は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、FPGAまたはASICである。「GA」は、Gate Arrayの略語である。「FPGA」は、Field−Programmable Gate Arrayの略語である。「ASIC」は、Application Specific Integrated Circuitの略語である。 Dedicated electronic circuits are, for example, single circuits, composite circuits, programmed processors, parallel programmed processors, logic ICs, GAs, FPGAs or ASICs. "GA" is an abbreviation for Gate Array. "FPGA" is an abbreviation for Field-Programmable Gate Array. "ASIC" is an abbreviation for Application Specific Integrated Circuit.
プロセッサ41、メモリ42および専用の電子回路を、総称して「プロセッシングサーキットリ」という。つまり、動作検証部10、モニタ部20および環境シミュレータ部30の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、動作検証部10、モニタ部20および環境シミュレータ部30の機能は、プロセッシングサーキットリにより実現される。
The
実施の形態2.
本実施の形態について、主に実施の形態1との差異を、図5を用いて説明する。
The difference between the present embodiment and the first embodiment will be mainly described with reference to FIG.
図5に示すように、本実施の形態では、環境シミュレータ部30の各モデルが、ダイナミックリンクライブラリとして実装され、プラグイン52としてモニタ部20にリンクされる。
As shown in FIG. 5, in the present embodiment, each model of the
具体的には、動作検証部10およびモニタ部20の機能を実現するプログラムが1つの実行ファイル51として構成され、CPUモデル31、デバイスAモデル32、デバイスBモデル33部およびプラントモデル34が、それぞれ個別の.dllファイルとして構成される。
Specifically, a program that realizes the functions of the
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 プラグイン。 10 Operation verification unit, 11 Manual test function unit, 12 Automatic test function unit, 13 Debug function unit, 14 Performance analysis function unit, 20 Monitor unit, 30 Environment simulator unit, 31 CPU model, 32 Device A model, 33 Device B model , 34 plant model, 40 software verification device, 41 processor, 42 memory, 43 input interface, 44 output interface, 50 mapping information, 51 executable file, 52 plug-in.
Claims (6)
共通のインタフェース関数を呼び出すことで、前記インタフェース関数のパラメータとして名前を指定したリソースにアクセスし、前記ソフトウェアの動作を個別の方式によって検証する複数の機能部を有する動作検証部と、
各モデルと前記環境シミュレータ部により割り当てられたリソースとの対応を示すマッピング情報を取得してメモリに格納し、各リソースの名前を前記複数の機能部に通知し、前記インタフェース関数が呼び出される度に、前記メモリに格納したマッピング情報を参照して、前記インタフェース関数のパラメータとして名前が指定されたリソースに対応するモデルを特定し、当該リソースへのアクセスを、特定したモデルに要求し、要求に対する応答を受け取って前記インタフェース関数の呼び出し元の機能部に返すモニタ部と
を備えるソフトウェア検証装置。 Multiple hardware components provided in the hardware on which the software is installed are simulated as individual models, and at the time of simulation, one or more resources holding the values given to each model by the operation of the software are assigned to each model. Environmental simulator department and
By calling a common interface function, an operation verification unit having a plurality of functional units that access a resource named as a parameter of the interface function and verify the operation of the software by an individual method, and an operation verification unit.
The mapping information indicating the correspondence between each model and the resource allocated by the environment simulator unit is acquired and stored in the memory, the name of each resource is notified to the plurality of functional units, and each time the interface function is called. , The model corresponding to the resource whose name is specified as the parameter of the interface function is specified by referring to the mapping information stored in the memory, the specified model is requested to access the resource, and the response to the request is made. A software verification device including a monitor unit that receives a signal and returns it to the functional unit that calls the interface function.
ソフトウェアを搭載するハードウェアに備えられる複数のハードウェア部品を個別のモデルとして模擬し、模擬に際して、前記ソフトウェアの動作によって各モデルに与えられる値を保持する1つ以上のリソースを、各モデルに割り当てる環境シミュレータと、
共通のインタフェース関数を呼び出すことで、前記インタフェース関数のパラメータとして名前を指定したリソースにアクセスし、前記ソフトウェアの動作を個別の方式によって検証する複数の機能部を有する処理と、
各モデルと前記環境シミュレータにより割り当てられたリソースとの対応を示すマッピング情報を取得してメモリに格納し、各リソースの名前を前記複数の機能部に通知し、前記インタフェース関数が呼び出される度に、前記メモリに格納したマッピング情報を参照して、前記インタフェース関数のパラメータとして名前が指定されたリソースに対応するモデルを特定し、当該リソースへのアクセスを、特定したモデルに要求し、要求に対する応答を受け取って前記インタフェース関数の呼び出し元の機能部に返す処理と
を実行させるソフトウェア検証プログラム。 On the computer
Multiple hardware components provided in the hardware on which the software is installed are simulated as individual models, and at the time of simulation, one or more resources holding the values given to each model by the operation of the software are assigned to each model. Environmental simulator and
By calling a common interface function, a process having a plurality of functional parts that access a resource whose name is specified as a parameter of the interface function and verify the operation of the software by an individual method, and
The mapping information indicating the correspondence between each model and the resource allocated by the environment simulator is acquired and stored in the memory, the name of each resource is notified to the plurality of functional units, and each time the interface function is called. By referring to the mapping information stored in the memory, the model corresponding to the resource whose name is specified as the parameter of the interface function is specified, the specified model is requested to access the resource, and the response to the request is made. A software verification program that executes processing that receives and returns to the functional unit that calls the interface function.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017051641A JP6771413B2 (en) | 2017-03-16 | 2017-03-16 | Software verification device and software verification program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017051641A JP6771413B2 (en) | 2017-03-16 | 2017-03-16 | Software verification device and software verification program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018156294A JP2018156294A (en) | 2018-10-04 |
JP6771413B2 true JP6771413B2 (en) | 2020-10-21 |
Family
ID=63718006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017051641A Active JP6771413B2 (en) | 2017-03-16 | 2017-03-16 | Software verification device and software verification program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6771413B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110196813B (en) * | 2019-06-06 | 2023-05-02 | 北京百度网讯科技有限公司 | Interface test method, device, equipment and medium |
KR102537753B1 (en) * | 2021-07-27 | 2023-05-31 | 엘아이지넥스원 주식회사 | Virtual simulation system, weapon system integration test system with the same, and virtual simulation method |
CN116860589B (en) * | 2022-03-28 | 2024-06-21 | 象帝先计算技术(重庆)有限公司 | Register verification method and device, electronic equipment and computer storage medium |
CN116204429B (en) * | 2023-02-21 | 2023-12-08 | 深圳市道旅旅游科技股份有限公司 | Code organization and debugging method, system and storage medium thereof |
-
2017
- 2017-03-16 JP JP2017051641A patent/JP6771413B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018156294A (en) | 2018-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8677327B2 (en) | Service testing method and service testing system | |
JP6771413B2 (en) | Software verification device and software verification program | |
US20110145643A1 (en) | Reproducible test framework for randomized stress test | |
US20180129592A1 (en) | Mock-based unit test(s) for an end-to-end test of a code snippet | |
US8832502B2 (en) | Hardware verification using acceleration platform | |
US8892386B2 (en) | Method and apparatus for post-silicon testing | |
US9612942B2 (en) | Verification of a computer program in respect to an unexpected response to an access request | |
US9223683B1 (en) | Tool to analyze dependency injection object graphs for common error patterns | |
US10146674B2 (en) | Plugin-based software verification system | |
CN111290941A (en) | Method and device for testing multiple interfaces, computing equipment and medium | |
US9824000B1 (en) | Testing calling code dynamically with random error injection based on user-specified configuration | |
US20140032969A1 (en) | Post-silicon validation using a partial reference model | |
US9779014B2 (en) | Resilient mock object creation for unit testing | |
US8762781B2 (en) | Method and apparatus useful in manufacturing test case operations | |
US9218273B2 (en) | Automatic generation of a resource reconfiguring test | |
US8224614B2 (en) | Generating a combination exerciser for executing tests on a circuit | |
US10496449B1 (en) | Verification of atomic memory operations | |
CN113986679A (en) | Performance analysis method and device based on configuration information hot loading | |
US11334349B2 (en) | Removing feature flag-related codebase from applications | |
CN115599618B (en) | Register dynamic change-allocation verification method and device, storage medium and processor | |
CN105339974B (en) | Analog sensor | |
US20210303766A1 (en) | Pre-silicon chip model of extracted workload inner loop instruction traces | |
US11275875B2 (en) | Co-simulation repeater with former trace data | |
US20170123959A1 (en) | Optimized instrumentation based on functional coverage | |
JP2828590B2 (en) | Microprogram verification method |
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 |