JP6771413B2 - Software verification device and software verification program - Google Patents

Software verification device and software verification program Download PDF

Info

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
Application number
JP2017051641A
Other languages
Japanese (ja)
Other versions
JP2018156294A (en
Inventor
茂人 宮内
茂人 宮内
繁 大河原
繁 大河原
舞 神戸
舞 神戸
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/en
Publication of JP2018156294A publication Critical patent/JP2018156294A/en
Application granted granted Critical
Publication of JP6771413B2 publication Critical patent/JP6771413B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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.

特開2010−157103号公報JP-A-2010-157103

特許文献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.

実施の形態1に係るソフトウェア検証装置の構成を示すブロック図。The block diagram which shows the structure of the software verification apparatus which concerns on Embodiment 1. FIG. 実施の形態1に係るリソース名とモデルとのマッピング例を示す図。The figure which shows the mapping example of the resource name and a model which concerns on Embodiment 1. FIG. 実施の形態1に係るソフトウェア検証装置の動作を示すフローチャート。The flowchart which shows the operation of the software verification apparatus which concerns on Embodiment 1. 実施の形態1に係る共通のインタフェース関数の呼び出し例を示す図。The figure which shows the calling example of the common interface function which concerns on Embodiment 1. FIG. 実施の形態2に係るソフトウェア検証装置の構成を示すブロック図。The block diagram which shows the structure of the software verification apparatus which concerns on Embodiment 2.

以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態のうち、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 software verification device 40 according to the present embodiment will be described with reference to FIGS. 1 and 2.

ソフトウェア検証装置40は、コンピュータである。ソフトウェア検証装置40は、プロセッサ41を備えるとともに、メモリ42、入力インタフェース43および出力インタフェース44といった他のハードウェアを備える。プロセッサ41は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。 The software verification device 40 is a computer. The software verification device 40 includes a processor 41 and other hardware such as a memory 42, an input interface 43, and an output interface 44. The processor 41 is connected to other hardware via a signal line and controls these other hardware.

ソフトウェア検証装置40は、機能要素として、動作検証部10と、モニタ部20と、環境シミュレータ部30とを備える。動作検証部10、モニタ部20および環境シミュレータ部30の機能は、ソフトウェアにより実現される。 The software verification device 40 includes an operation verification unit 10, a monitor unit 20, and an environment simulator unit 30 as functional elements. The functions of the operation verification unit 10, the monitor unit 20, and the environment simulator unit 30 are realized by software.

動作検証部10は、手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14といった複数の機能部を有する。 The operation verification unit 10 has a plurality of functional units such as a manual test function unit 11, an automatic test function unit 12, a debug function unit 13, and a performance analysis function unit 14.

環境シミュレータ部30は、CPUモデル31、デバイスAモデル32、デバイスBモデル33およびプラントモデル34といった複数のモデルを有する。「CPU」は、Central Processing Unitの略語である。 The environment simulator unit 30 has a plurality of models such as a CPU model 31, a device A model 32, a device B model 33, and a plant model 34. "CPU" is an abbreviation for Central Processing Unit.

手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14から、CPUモデル31、デバイスAモデル32、デバイスBモデル33およびプラントモデル34の保持する各リソースに対しての値の取得および設定は、モニタ部20に用意された共通のインタフェース関数を呼び出すことで実現する。手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14の各機能部は、対象のリソース名をパラメータとして持たせて共通のインタフェース関数を呼び出す。本実施の形態では、共通のインタフェース関数として、値を取得するgetValue()関数と、値を設定するsetValue()関数とがある。 From the manual test function unit 11, the automatic test function unit 12, the debug function unit 13, and the performance analysis function unit 14, the CPU model 31, the device A model 32, the device B model 33, and the plant model 34 have each resource. The acquisition and setting of the value is realized by calling the common interface function prepared in the monitor unit 20. Each function unit of the manual test function unit 11, the automatic test function unit 12, the debug function unit 13, and the performance analysis function unit 14 calls a common interface function with the target resource name as a parameter. In the present embodiment, as a common interface function, there are a getValue () function for acquiring a value and a setValue () function for setting a value.

プロセッサ41は、各種処理を行うICである。「IC」は、Integrated Circuitの略語である。プロセッサ41は、例えば、CPUである。 The processor 41 is an IC that performs various processes. "IC" is an abbreviation for Integrated Circuit. The processor 41 is, for example, a CPU.

メモリ42には、マッピング情報50が記憶される。マッピング情報50は、後述するように、環境シミュレータ部30の各モデルと環境シミュレータ部30により割り当てられたリソースとの対応を示す情報である。メモリ42は、例えば、フラッシュメモリまたはRAMである。「RAM」は、Random Access Memoryの略語である。 The mapping information 50 is stored in the memory 42. As will be described later, the mapping information 50 is information indicating the correspondence between each model of the environment simulator unit 30 and the resources allocated by the environment simulator unit 30. The memory 42 is, for example, a flash memory or a RAM. "RAM" is an abbreviation for Random Access Memory.

入力インタフェース43は、図示していない入力装置が接続されるインタフェースである。入力装置は、例えば、マウス、キーボードまたはタッチパネルである。 The input interface 43 is an interface to which an input device (not shown) is connected. The input device is, for example, a mouse, keyboard or touch panel.

出力インタフェース44は、図示していない出力装置が接続されるインタフェースである。出力装置は、例えば、ディスプレイまたはプリンタである。 The output interface 44 is an interface to which an output device (not shown) is connected. The output device is, for example, a display or a printer.

ソフトウェア検証装置40は、ハードウェアとして、通信装置を備えていてもよい。 The software verification device 40 may include a communication device as hardware.

通信装置は、データを受信するレシーバおよびデータを送信するトランスミッタを含む。通信装置は、例えば、通信チップまたは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 memory 42 stores a software verification program that is a program that realizes the functions of the operation verification unit 10, the monitor unit 20, and the environment simulator unit 30. The software verification program is read into the processor 41 and executed by the processor 41. The OS is also stored in the memory 42. "OS" is an abbreviation for Operating System. The processor 41 executes the software verification program while executing the OS. A part or all of the software verification program may be incorporated in the OS.

ソフトウェア検証プログラムおよび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 memory 42 and executed by the processor 41.

ソフトウェア検証装置40は、プロセッサ41を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、ソフトウェア検証プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ41と同じように、各種処理を行うICである。 The software verification device 40 may include a plurality of processors that replace the processor 41. These multiple processors share the execution of the software verification program. Each processor is an IC that performs various processes in the same manner as the processor 41.

動作検証部10、モニタ部20および環境シミュレータ部30の処理の結果を示す情報、データ、信号値および変数値は、メモリ42、補助記憶装置、または、プロセッサ41内のレジスタまたはキャッシュメモリに記憶される。 Information, data, signal values and variable values indicating the processing results of the operation verification unit 10, the monitor unit 20 and the environment simulator unit 30 are stored in the memory 42, the auxiliary storage device, or the register or cache memory in the processor 41. To.

ソフトウェア検証プログラムは、磁気ディスクおよび光ディスクといった可搬記録媒体に記憶されてもよい。 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 CPU model 31, the resource name of a certain register is "CPU.Register1". Among the resources held by the device A model 32, the resource name of a certain register is "IO. DevA. Register2". Among the resources held by the device B model 33, the resource name of a certain register is “IO.DevB.Register3”. The resource name of the resource held by each model is shown in the resource information held by each model.

各モデルが保持するリソース情報は、環境シミュレータ部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 environment simulator unit 30. For example, suppose that there is a change in the environment simulator unit 30 so that the device A model 32 and the device B model 33 are configured as one IO model. In this case, in the resource information held by the IO model, the resource names of the two registers "IO.DevA.Register2" and "IO.DevB.Register3" are indicated. "IO" is an abbreviation for Input Output.

デバイスAモデル32に、新たにレジスタが追加された場合、新たにデバイスAモデル32の保持するリソース情報に“IO.DevA.Register4”が追加される。 When a new register is added to the device A model 32, "IO. DevA. Register4" is newly added to the resource information held by the device A model 32.

ソフトウェア検証装置40において、モニタ部20は、初期化時に環境シミュレータ部30から通知されるモデルとリソースとのマッピング情報50を保持する仕組みとなっている。このため、環境シミュレータ部30の構成変更およびリソースの追加等の変更に対して、モニタ部20の変更は不要となる。 In the software verification device 40, the monitor unit 20 has a mechanism for holding the mapping information 50 between the model and the resource notified from the environment simulator unit 30 at the time of initialization. Therefore, it is not necessary to change the monitor unit 20 in response to changes such as configuration changes of the environment simulator unit 30 and addition of resources.

***動作の説明***
図1から図4を参照して、本実施の形態に係るソフトウェア検証装置40の動作を説明する。ソフトウェア検証装置40の動作は、本実施の形態に係るソフトウェア検証方法に相当する。
*** Explanation of operation ***
The operation of the software verification device 40 according to the present embodiment will be described with reference to FIGS. 1 to 4. The operation of the software verification device 40 corresponds to the software verification method according to the present embodiment.

図3のステップS1において、環境シミュレータ部30は、検証対象のソフトウェアを搭載するハードウェアに備えられる複数のハードウェア部品を個別のモデルとして模擬する処理を開始する。環境シミュレータ部30は、模擬に際して、検証対象のソフトウェアの動作によって各モデルに与えられる値を保持する1つ以上のリソースを、各モデルに割り当てる。本実施の形態において、環境シミュレータ部30は、ソフトウェア検証装置40が初期化される度に、模擬を開始したモデルと当該モデルに割り当てたリソースとの対応を示す情報をマッピング情報50として生成し、モニタ部20に提供する。 In step S1 of FIG. 3, the environment simulator unit 30 starts a process of simulating a plurality of hardware components provided in the hardware on which the software to be verified is installed as individual models. At the time of simulation, the environment simulator unit 30 allocates one or more resources holding values given to each model by the operation of the software to be verified to each model. In the present embodiment, each time the software verification device 40 is initialized, the environment simulator unit 30 generates information indicating the correspondence between the model that started the simulation and the resources allocated to the model as mapping information 50. Provided to the monitor unit 20.

具体的には、ソフトウェア検証装置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 software verification device 40, each model of the CPU model 31, the device A model 32, the device B model 33, and the plant model 34 in the environment simulator unit 30 is connected to the monitor unit 20. Notifies the combination of the resource information of the model itself and the model name of each model. The CPU model 31 is a model for simulating a CPU provided in hardware equipped with software to be verified. The device A model 32 and the device B model 33 are models for simulating a device such as a controller provided in the hardware, respectively. The plant model 34 is a model for simulating parts such as a motor provided in the hardware.

図3のステップS2において、モニタ部20は、マッピング情報50を取得してメモリ42に格納する。本実施の形態において、モニタ部20は、ソフトウェア検証装置40が初期化される度に、環境シミュレータ部30からマッピング情報50を取得してメモリ42に格納する。 In step S2 of FIG. 3, the monitor unit 20 acquires the mapping information 50 and stores it in the memory 42. In the present embodiment, the monitor unit 20 acquires the mapping information 50 from the environment simulator unit 30 and stores it in the memory 42 each time the software verification device 40 is initialized.

具体的には、モニタ部20は、ステップS1で各モデルから通知されたリソース情報とモデル名との組み合わせをマッピング情報50として保持する。 Specifically, the monitor unit 20 holds the combination of the resource information and the model name notified from each model in step S1 as the mapping information 50.

なお、モニタ部20は、ソフトウェア検証装置40が初期化される度に、外部ファイルからマッピング情報50を取得してメモリ42に格納してもよい。 The monitor unit 20 may acquire the mapping information 50 from the external file and store it in the memory 42 each time the software verification device 40 is initialized.

図3のステップS3において、モニタ部20は、メモリ42に格納したマッピング情報50から各リソースの名前を抽出して動作検証部10の複数の機能部に通知する。 In step S3 of FIG. 3, the monitor unit 20 extracts the name of each resource from the mapping information 50 stored in the memory 42 and notifies a plurality of functional units of the operation verification unit 10.

具体的には、モニタ部20は、ステップS2で保持したマッピング情報50から、値の設定あるいは値の取得が可能なリソースのリソース情報を取り出し、動作検証部10内の手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14に対して通知する。 Specifically, the monitor unit 20 extracts the resource information of the resource capable of setting or acquiring the value from the mapping information 50 held in step S2, and the manual test function unit 11 in the operation verification unit 10 automatically. Notify the test function unit 12, the debug function unit 13, and the performance analysis function unit 14.

図3のステップS4において、動作検証部10の複数の機能部は、共通のインタフェース関数を呼び出す。このとき、各機能部は、インタフェース関数のパラメータとしてリソースの名前を指定する。 In step S4 of FIG. 3, a plurality of functional units of the operation verification unit 10 call a common interface function. At this time, each functional unit specifies the name of the resource as a parameter of the interface function.

具体的には、手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14が、モニタ部20から通知されたリソース情報をパラメータとして持たせて、図4に示すように、モニタ部20に対して、値を取得するgetValue()関数を呼び出す。あるいは、手動試験機能部11、自動試験機能部12、デバッグ機能部13および性能解析機能部14が、モニタ部20から通知されたリソース情報をパラメータとして持たせて、モニタ部20に対して、値を設定するsetValue()関数を呼び出す。 Specifically, as shown in FIG. 4, the manual test function unit 11, the automatic test function unit 12, the debug function unit 13, and the performance analysis function unit 14 have the resource information notified from the monitor unit 20 as parameters. In addition, the getValue () function for acquiring the value is called to the monitor unit 20. Alternatively, the manual test function unit 11, the automatic test function unit 12, the debug function unit 13, and the performance analysis function unit 14 have the resource information notified from the monitor unit 20 as parameters, and set the value to the monitor unit 20. Call the setValue () function to set.

図3のステップS5において、モニタ部20は、インタフェース関数が呼び出される度に、メモリ42に格納したマッピング情報50を参照して、インタフェース関数のパラメータとして名前が指定されたリソースに対応するモデルを特定する。 In step S5 of FIG. 3, the monitor unit 20 refers to the mapping information 50 stored in the memory 42 each time the interface function is called, and identifies the model corresponding to the resource whose name is specified as the parameter of the interface function. To do.

具体的には、モニタ部20は、モニタ部20自身の保持するマッピング情報50から、パラメータとして通知されたリソース情報に対応するリソースを管理するモデルを特定する。 Specifically, the monitor unit 20 identifies a model that manages resources corresponding to the resource information notified as a parameter from the mapping information 50 held by the monitor unit 20 itself.

図3のステップS6において、モニタ部20は、インタフェース関数のパラメータとして名前が指定されたリソースへのアクセスを、特定したモデルに要求し、要求に対する応答を受け取る。 In step S6 of FIG. 3, the monitor unit 20 requests the specified model to access the resource whose name is specified as a parameter of the interface function, and receives a response to the request.

具体的には、モニタ部20は、図4に示すように、ステップS5で特定したモデルに対して、手動試験機能部11、自動試験機能部12、デバッグ機能部13または性能解析機能部14から通知されたリソース情報をパラメータとして持たせて、値を取得するgetValue()関数を呼び出す。あるいは、モニタ部20は、ステップS5で特定したモデルに対して、手動試験機能部11、自動試験機能部12、デバッグ機能部13または性能解析機能部14から通知されたリソース情報をパラメータとして持たせて、値を設定するsetValue()関数を呼び出す。呼び出し先のモデルは、パラメータとして通知されたリソース情報に対応するリソースに対して、値の取得あるいは値の設定を実行し、その結果をモニタ部20に対して通知する。 Specifically, as shown in FIG. 4, the monitor unit 20 is used from the manual test function unit 11, the automatic test function unit 12, the debug function unit 13, or the performance analysis function unit 14 with respect to the model specified in step S5. Call the getValue () function to get the value with the notified resource information as a parameter. Alternatively, the monitor unit 20 has the resource information notified from the manual test function unit 11, the automatic test function unit 12, the debug function unit 13, or the performance analysis function unit 14 as parameters for the model specified in step S5. Then call the setValue () function to set the value. The callee model acquires a value or sets a value for the resource corresponding to the resource information notified as a parameter, and notifies the monitor unit 20 of the result.

図3のステップS7において、モニタ部20は、受け取った応答をインタフェース関数の呼び出し元の機能部に返す。これにより、その機能部は、インタフェース関数のパラメータとしてリソースの名前を指定したリソースにアクセスしたことになり、検証対象のソフトウェアの動作を検証することができる。 In step S7 of FIG. 3, the monitor unit 20 returns the received response to the functional unit that calls the interface function. As a result, the functional unit has accessed the resource for which the resource name is specified as the parameter of the interface function, and the operation of the software to be verified can be verified.

具体的には、モニタ部20は、環境シミュレータ部30内のCPUモデル31、デバイスAモデル32、デバイスBモデル33またはプラントモデル34から通知された結果を、動作検証部10における、該当する機能部に対して通知する。 Specifically, the monitor unit 20 receives the result notified from the CPU model 31, the device A model 32, the device B model 33, or the plant model 34 in the environment simulator unit 30 in the operation verification unit 10 according to the corresponding functional unit. Notify to.

本実施の形態において、動作検証部10の複数の機能部は、検証対象のソフトウェアの動作を個別の方式によって検証する。 In the present embodiment, the plurality of functional units of the operation verification unit 10 verify the operation of the software to be verified by an individual method.

具体的には、手動試験機能部11は、ユーザの操作に応じて検証対象のソフトウェアを試験する。自動試験機能部12は、自動で検証対象のソフトウェアを試験する。デバッグ機能部13は、検証対象のソフトウェアをデバッグする。性能解析機能部14は、検証対象のソフトウェアの性能を解析する。 Specifically, the manual test function unit 11 tests the software to be verified according to the operation of the user. The automatic test function unit 12 automatically tests the software to be verified. The debug function unit 13 debugs the software to be verified. The performance analysis function unit 14 analyzes the performance of the software to be verified.

***実施の形態の効果の説明***
本実施の形態では、各機能部から各モデルのリソースへアクセスするための共通のインタフェース関数が呼び出される度に、リソースへのアクセスを仲介するモニタ部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 monitoring unit 20 that mediates the access to the resource is mapped to indicate the correspondence between the model and the resource. Refer to information 50. Therefore, even when the model is changed in the environment simulator unit 30, the common interface function can be used without change.

環境シミュレータ部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 environment simulator unit 30. Since the number of devices included in the peripheral IO model implemented in the environment simulator unit 30 has increased, it may be necessary to divide the peripheral IO model into models for the number of devices. Even in such a case, in the present embodiment, the operation verification unit 10 can access various resources managed by each model in the environment simulator unit 30 by using a common interface function. That is, it is not necessary to modify the interface of the operation verification unit 10 each time there is a change in the environment simulator unit 30 as described above.

本実施の形態では、インタフェース関数をモデルごとに用意するのではなく、共通化しているため、動作検証部10は、一意に決定されるモデルとそのモデルが保持するリソース情報とのマッピングをもとに、必要なリソースに対して、共通化したインタフェース関数を用いることでアクセスすることが可能となる。具体的には、動作検証部10の各機能部が、getValue()関数またはsetValue()関数を呼び出す際に、パラメータでアクセス対象のリソース名を指定してリソースにアクセスすることができる。 In the present embodiment, the interface function is not prepared for each model but is shared, so that the operation verification unit 10 is based on the mapping between the uniquely determined model and the resource information held by the model. In addition, it is possible to access necessary resources by using a common interface function. Specifically, when each function unit of the operation verification unit 10 calls the getValue () function or the setValue () function, the resource can be accessed by specifying the resource name to be accessed with a parameter.

本実施の形態では、マッピングの変更にも対応することができる。具体例として、環境シミュレータ部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 environment simulator unit 30, when the model called the IO model is changed to two models, the device A model 32 and the device B model 33, the mapping between each model and the resources managed by the model is also changed. can do.

本実施の形態において、環境シミュレータ部30は、制御ソフトウェアを搭載する実機ハードウェアを模擬する。動作検証部10は、環境シミュレータ部30で動作する制御ソフトウェアを検証する。モニタ部20は、動作検証部10の各機能部から環境シミュレータ部30にアクセスするためのインタフェース関数を共通のインタフェース関数として1つにまとめ、環境シミュレータ部30の各モデルと各モデルに含まれるリソースとのマッピング情報50を管理する。環境シミュレータ部30の各モデルが管理するリソース情報、あるいは、各モデルそのものに変更があった場合でも、モニタ部20のインタフェース関数の追加または削除を行う必要はなく、モニタ部20のインタフェース関数のパラメータに指定する対象リソース名のみを変更することで、動作検証部10から環境シミュレータ部30の各モデルの保持するリソースへのアクセスが可能である。マッピング情報50は、初期化時に動的に登録される。 In the present embodiment, the environment simulator unit 30 simulates the actual hardware on which the control software is installed. The operation verification unit 10 verifies the control software that operates in the environment simulator unit 30. The monitor unit 20 combines the interface functions for accessing the environment simulator unit 30 from each function unit of the operation verification unit 10 into one as a common interface function, and each model of the environment simulator unit 30 and the resources included in each model. The mapping information 50 with and is managed. Even if the resource information managed by each model of the environment simulator unit 30 or each model itself is changed, it is not necessary to add or delete the interface function of the monitor unit 20, and the parameters of the interface function of the monitor unit 20 are not required. By changing only the target resource name specified in, the operation verification unit 10 can access the resources held by each model of the environment simulator unit 30. The mapping information 50 is dynamically registered at the time of initialization.

上記のように、本実施の形態では、動作検証部10が環境シミュレータ部30内の各モデルの保持するリソースへアクセスするための共通インタフェースを持つモニタ部に対して、初期化時に、各モデルと各モデルが保持するリソースとのマッピング情報50を登録する。これにより、環境シミュレータ部30内のモデルまたはリソースの構成が変更された場合でも、共通インタフェースを変更することが不要なだけでなく、動作検証部10が環境シミュレータ部30の構成変更を意識する必要がなくなる。よって、環境シミュレータ部30の構成変更に対する設計柔軟性が増すという効果を得ることができる。 As described above, in the present embodiment, the operation verification unit 10 and the monitor unit having a common interface for accessing the resources held by each model in the environment simulator unit 30 are connected to each model at the time of initialization. The mapping information 50 with the resource held by each model is registered. As a result, even if the configuration of the model or resource in the environment simulator unit 30 is changed, it is not necessary to change the common interface, and the operation verification unit 10 needs to be aware of the configuration change of the environment simulator unit 30. Is gone. Therefore, it is possible to obtain the effect of increasing the design flexibility for changing the configuration of the environment simulator unit 30.

***他の構成***
本実施の形態では、動作検証部10、モニタ部20および環境シミュレータ部30の機能がソフトウェアにより実現されるが、変形例として、動作検証部10、モニタ部20および環境シミュレータ部30の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、動作検証部10、モニタ部20および環境シミュレータ部30の機能の一部が専用の電子回路により実現され、残りがソフトウェアにより実現されてもよい。
*** Other configurations ***
In the present embodiment, the functions of the operation verification unit 10, the monitor unit 20, and the environment simulator unit 30 are realized by software, but as a modification, the functions of the operation verification unit 10, the monitor unit 20, and the environment simulator unit 30 are software. It may be realized by a combination of and hardware. That is, a part of the functions of the operation verification unit 10, the monitor unit 20, and the environment simulator unit 30 may be realized by a dedicated electronic circuit, and the rest may be realized by software.

専用の電子回路は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジック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 processor 41, the memory 42, and the dedicated electronic circuit are collectively referred to as a "processing circuit". That is, regardless of whether the functions of the operation verification unit 10, the monitor unit 20, and the environment simulator unit 30 are realized by software or a combination of software and hardware, the operation verification unit 10, monitor unit 20, and The function of the environment simulator unit 30 is realized by the processing circuit.

実施の形態2.
本実施の形態について、主に実施の形態1との差異を、図5を用いて説明する。
Embodiment 2.
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 environment simulator unit 30 is implemented as a dynamic link library and linked to the monitor unit 20 as a plug-in 52.

具体的には、動作検証部10およびモニタ部20の機能を実現するプログラムが1つの実行ファイル51として構成され、CPUモデル31、デバイスAモデル32、デバイスBモデル33部およびプラントモデル34が、それぞれ個別の.dllファイルとして構成される。 Specifically, a program that realizes the functions of the operation verification unit 10 and the monitor unit 20 is configured as one executable file 51, and the CPU model 31, device A model 32, device B model 33 unit, and plant model 34 are each configured. Individual. It is configured as a dll file.

CPUモデル31、デバイスAモデル32、デバイスBモデル33およびプラントモデル34の各.dllファイルを特定のフォルダに格納しておき、実行ファイル51を、そのフォルダ内の.dllファイルを動的にリンクするようにしておけば、環境シミュレータ部30の構成変更またはリソースの追加等の変更が入った際にも、実行ファイル51側の再ビルドは不要となる。 CPU model 31, device A model 32, device B model 33, and plant model 34. The dll file is stored in a specific folder, and the executable file 51 is stored in that folder. If the dll files are dynamically linked, it is not necessary to rebuild the executable file 51 side even when the configuration of the environment simulator unit 30 is changed or changes such as the addition of resources are made.

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)

ソフトウェアを搭載するハードウェアに備えられる複数のハードウェア部品を個別のモデルとして模擬し、模擬に際して、前記ソフトウェアの動作によって各モデルに与えられる値を保持する1つ以上のリソースを、各モデルに割り当てる環境シミュレータ部と、
共通のインタフェース関数を呼び出すことで、前記インタフェース関数のパラメータとして名前を指定したリソースにアクセスし、前記ソフトウェアの動作を個別の方式によって検証する複数の機能部を有する動作検証部と、
各モデルと前記環境シミュレータ部により割り当てられたリソースとの対応を示すマッピング情報を取得してメモリに格納し、各リソースの名前を前記複数の機能部に通知し、前記インタフェース関数が呼び出される度に、前記メモリに格納したマッピング情報を参照して、前記インタフェース関数のパラメータとして名前が指定されたリソースに対応するモデルを特定し、当該リソースへのアクセスを、特定したモデルに要求し、要求に対する応答を受け取って前記インタフェース関数の呼び出し元の機能部に返すモニタ部と
を備えるソフトウェア検証装置。
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に記載のソフトウェア検証装置。 The software verification device according to claim 1, wherein each model is implemented as a dynamic link library and linked to the monitor unit as a plug-in. 前記モニタ部は、前記ソフトウェア検証装置が初期化される度に、前記環境シミュレータ部から前記マッピング情報を取得する請求項1または2に記載のソフトウェア検証装置。 The software verification device according to claim 1 or 2, wherein the monitor unit acquires the mapping information from the environment simulator unit each time the software verification device is initialized. 前記環境シミュレータ部は、前記ソフトウェア検証装置が初期化される度に、模擬を開始したモデルと当該モデルに割り当てたリソースとの対応を示す情報を前記マッピング情報として生成し、前記モニタ部に提供する請求項3に記載のソフトウェア検証装置。 Each time the software verification device is initialized, the environment simulator unit generates information indicating the correspondence between the model that started the simulation and the resources allocated to the model as the mapping information, and provides it to the monitor unit. The software verification device according to claim 3. 前記モニタ部は、前記ソフトウェア検証装置が初期化される度に、外部ファイルから前記マッピング情報を取得する請求項1または2に記載のソフトウェア検証装置。 The software verification device according to claim 1 or 2, wherein the monitor unit acquires the mapping information from an external file each time the software verification device is initialized. コンピュータに、
ソフトウェアを搭載するハードウェアに備えられる複数のハードウェア部品を個別のモデルとして模擬し、模擬に際して、前記ソフトウェアの動作によって各モデルに与えられる値を保持する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.
JP2017051641A 2017-03-16 2017-03-16 Software verification device and software verification program Active JP6771413B2 (en)

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)

* Cited by examiner, † Cited by third party
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
CN116860589A (en) * 2022-03-28 2023-10-10 象帝先计算技术(重庆)有限公司 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

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
US11010283B2 (en) Mock-based unit test(s) for an end-to-end test of a code snippet
US20190004932A1 (en) Unit test and automation framework (utaf) system and method
JP6771413B2 (en) Software verification device and software verification program
US10482001B2 (en) Automated dynamic test case generation
US20110145643A1 (en) Reproducible test framework for randomized stress test
US8832502B2 (en) Hardware verification using acceleration platform
US8892386B2 (en) Method and apparatus for post-silicon testing
JP5689400B2 (en) Computer program verification of unexpected responses to access requests
US10146674B2 (en) Plugin-based software verification system
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
US9223683B1 (en) Tool to analyze dependency injection object graphs for common error patterns
US8762781B2 (en) Method and apparatus useful in manufacturing test case operations
US8224614B2 (en) Generating a combination exerciser for executing tests on a circuit
US10496449B1 (en) Verification of atomic memory operations
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
CN113986679A (en) Performance analysis method and device based on configuration information hot loading
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