JP6877215B2 - コンピュータ上のシミュレーション環境において制御装置の制御プログラムをテストする方法 - Google Patents
コンピュータ上のシミュレーション環境において制御装置の制御プログラムをテストする方法 Download PDFInfo
- Publication number
- JP6877215B2 JP6877215B2 JP2017070951A JP2017070951A JP6877215B2 JP 6877215 B2 JP6877215 B2 JP 6877215B2 JP 2017070951 A JP2017070951 A JP 2017070951A JP 2017070951 A JP2017070951 A JP 2017070951A JP 6877215 B2 JP6877215 B2 JP 6877215B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- variable
- error
- value
- assigned
- 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
- 238000012360 testing method Methods 0.000 title claims description 5
- 238000005094 computer simulation Methods 0.000 title 1
- 238000004088 simulation Methods 0.000 claims description 22
- 238000000034 method Methods 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 238000010998 test method Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Debugging And Monitoring (AREA)
Description
Claims (6)
- コンピュータ(30)上のシミュレーション環境(40)において制御装置の制御プログラム(10)をテストする際にエラーを監視する方法であって、
・前記シミュレーション環境(40)を前記コンピュータ(30)上に形成し、
・前記制御プログラム(10)をエミュレータによって実行し、
・プロセッサ及びメモリ領域(24)を有する前記制御装置の少なくとも一部を模擬するエミュレータを前記コンピュータ(30)上で実行し、ここで、前記エミュレータ(20)はデータの入出力のためのインタフェース(22)を有し、
・環境値(42)を、前記シミュレーション環境(40)から前記インタフェース(22)を介して、エミュレートされたメモリ領域(24)に書き込み、
・前記制御プログラム(10)は、複数のプログラム変数を有し、
・前記制御プログラム(10)は、前記制御プログラム(10)の実行中、少なくとも幾つかのプログラム変数に変数値(52,62,72)を1つずつ割り当て、
・前記変数値(52,62,72)を、前記エミュレートされたメモリ領域(24)のメモリアドレスへのアクセスによって求める、
方法において、
・前記エミュレータは、前記制御プログラム(10)の全てのプログラム変数に、拡張された値領域(50,60,70)を1つずつ割り当て、
・前記プログラム変数に割り当てられた変数値(52,62,72)を、前記拡張された値領域(50,60,70)に格納し、
・前記エミュレータは、プログラム変数をエラー有り又はエラー無しとマーキングし、
・エラー無しのプログラム変数を第1のカテゴリ(K1)に割り当て、エラー有りのプログラム変数を第2のカテゴリ(K2)に割り当てることに基づいて前記マーキングを行い、前記第2のカテゴリ(K2)の全てのプログラム変数の前記拡張された値領域(60)がデータフィールド(64)を有するようにするか、又は、
・前記拡張された値領域(70)に格納されたエラーフィールド(76)に基づいて、エラー無しのプログラム変数の前記エラーフィールド(76)に予め定められた数値もしくは非数値の第1の有効値を割り当て、エラー有りのプログラム変数のエラーフィールド(76)に予め定められた数値もしくは非数値の第1のエラー値を割り当てることによって前記マーキングを行い、全てのプログラム変数の前記拡張された値領域(70)がデータフィールド(74)を有するようにし、
・前記マーキングを、変数値(52,62,72)を求める際に行い、
・第1のプログラム変数の変数値(52,72)を求める際に、エミュレートされたプロセッサ(20)が、前記エミュレートされたメモリ領域(24)の、存在しておりかつ書き込まれている第1のメモリアドレスにアクセスする場合、又は、前記第1のカテゴリ(K1)に割り当てられた第2のプログラム変数に、もしくは第1の有効値を有するエラーフィールド(72)を備えた第2のプログラム変数にアクセスする場合には、
・前記プログラム変数をエラー無しとマーキングし、
・求められた変数値を前記拡張された値領域(50,70)に格納し、
・第1のプログラム変数(50,70)の変数値(52,72)を求める際に、前記エミュレートされたプロセッサ(20)が、前記エミュレートされたメモリ領域(24)の、存在していないかもしくは書き込まれていない第2のメモリアドレスにアクセスする場合、又は、前記第2のカテゴリ(K2)に割り当てられた第3のプログラム変数に、もしくは第1のエラー値を有するエラーフィールド(72)を備えた第3のプログラム変数にアクセスする場合には、
・前記第1のプログラム変数をエラー有りとマーキングし、
・前記第1のプログラム変数(50,70)の変数値(52,72)に、予め定められた数値もしくは非数値の第2のエラー値を割り当て、
・存在していないかもしくは書き込まれていない前記第2のメモリアドレス、又は、前記第3のプログラム変数のデータフィールド(64,74)の全てのエントリのコピーを、前記第1のプログラム変数のデータフィールド(64,74)に書き込む、
ことを特徴とする方法。 - 第1のプログラム変数の変数値(62,72)を求める際に、前記第2のカテゴリ(K2)に割り当てられた第2のプログラム変数に、又は、第1のエラー値を有するエラーフィールド(72)を備えた第2のプログラム変数にアクセスすることにより、前記第2のプログラム変数の識別子を前記第1のプログラム変数のデータフィールド(64,74)に書き込む、
請求項1に記載の方法。 - 前記制御プログラム(10)が、前記第2のカテゴリ(K2)に割り当てられた第1のプログラム変数に、又は、第1のエラー値を有するエラーフィールド(72)を備えた第1のプログラム変数に、設定値を割り当てる場合、
・前記第1のプログラム変数をエラー無しとマーキングし、
・前記設定値を変数値(52,72)として、前記プログラム変数の前記拡張された値領域(50,70)に格納し、
・第1のカテゴリ(K1)もしくは第2のカテゴリ(K2)への割り当てに基づくマーキングの際に、前記拡張された値領域(50,60)から前記データフィールド(64)を消去し、
・エラーフィールド(76)に基づくマーキングの際に、前記データフィールド(74)の全てのエントリを消去する、
請求項1又は2に記載の方法。 - 前記制御プログラムが少なくとも2つのプログラムブロックを有し、当該プログラムブロックが、前記制御プログラムの規定の分岐規則にしたがって、前記第2のカテゴリ(K2)に割り当てられた第1のプログラム変数に、又は第1のエラー値を有するエラーフィールド(72)を備えた第1のプログラム変数に依存するという条件に応じて代替的に実行される場合、全てのプログラムブロックを実行する、
請求項1から3までのいずれか1項に記載の方法。 - 前記プログラムブロックの実行中に1つずつ値が割り当てられた別のプログラム変数の全てをエラー有りとマーキングし、
前記第1のプログラム変数のデータフィールド(64,74)の全てのエントリのコピーのそれぞれを、前記別のプログラム変数のデータフィールド(64,74)へ書き込み、
前記別のプログラム変数の変数値(62,72)に、それぞれ第2のエラー値を割り当てる、
請求項4に記載の方法。 - 前記プログラムブロックの実行後、前記制御プログラム(10)が第1のプログラムブロックの実行中にも別のプログラムブロックの実行中にも変数値(52,62,72)を割り当てた別のプログラム変数の全てについて、割り当てられた各変数値(52,62,72)を比較し、
割り当てられた各変数値(52,62,72)の間に偏差がある場合、
・前記別のプログラム変数をエラー有りとマーキングし、
・前記別のプログラム変数の変数値(62,72)に第2のエラー値を割り当て、
・前記第1のプログラム変数のデータフィールド(64,74)の全てのエントリのコピーを、前記別のプログラム変数のデータフィールド(64,74)に書き込む、
請求項4に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016105844.0 | 2016-03-31 | ||
DE102016105844.0A DE102016105844A1 (de) | 2016-03-31 | 2016-03-31 | Verfahren zum Testen eines Steuerprogramms eines Steuergeräts in einer Simulationsumgebung auf einem Rechner |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017188112A JP2017188112A (ja) | 2017-10-12 |
JP6877215B2 true JP6877215B2 (ja) | 2021-05-26 |
Family
ID=55910096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017070951A Active JP6877215B2 (ja) | 2016-03-31 | 2017-03-31 | コンピュータ上のシミュレーション環境において制御装置の制御プログラムをテストする方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10572369B2 (ja) |
EP (1) | EP3232327B1 (ja) |
JP (1) | JP6877215B2 (ja) |
CN (1) | CN107272441B (ja) |
DE (1) | DE102016105844A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6827340B2 (ja) * | 2017-02-17 | 2021-02-10 | 三菱重工エンジニアリング株式会社 | ソフトウェア試験装置、ソフトウェア試験システム、ソフトウェア試験方法およびプログラム |
US11157309B2 (en) * | 2019-04-10 | 2021-10-26 | International Business Machines Corporation | Operating cluster computer system with coupling facility |
CN110398902B (zh) * | 2019-06-19 | 2021-09-24 | 上海机电工程研究所 | 光电信号仿真误差分析方法 |
US11321225B2 (en) * | 2020-05-22 | 2022-05-03 | International Business Machines Corporation | Reducing the memory load time for logic simulator by leveraging architecture simulator |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5088033A (en) * | 1986-04-28 | 1992-02-11 | Xerox Corporation | Data processing system emulation in a window with a coprocessor and I/O emulation |
US5233611A (en) * | 1990-08-20 | 1993-08-03 | International Business Machines Corporation | Automated function testing of application programs |
US5671352A (en) * | 1995-07-07 | 1997-09-23 | Sun Microsystems, Inc. | Error injection to a behavioral model |
CN1129070C (zh) * | 1998-02-06 | 2003-11-26 | 华为技术有限公司 | 程序设计中内存操作错误的识别方法 |
US6751583B1 (en) * | 1999-10-29 | 2004-06-15 | Vast Systems Technology Corporation | Hardware and software co-simulation including simulating a target processor using binary translation |
US6718485B1 (en) * | 1999-11-16 | 2004-04-06 | Parasoft Corporation | Software emulating hardware for analyzing memory references of a computer program |
GB2362729B (en) * | 1999-12-23 | 2004-02-11 | St Microelectronics Sa | Memory access debug facility |
CN1169048C (zh) * | 2001-08-10 | 2004-09-29 | 上海捷硕微电子有限公司 | 命令控制型存储器功能仿真系统 |
US6901581B1 (en) * | 2002-10-02 | 2005-05-31 | Eridon Corporation | Method for software debugging via simulated re-execution of a computer program |
WO2006033423A1 (en) * | 2004-09-20 | 2006-03-30 | Sony Computer Entertainment Inc. | Methods and apparatus for emulating software applications |
CN101539766B (zh) * | 2009-04-14 | 2011-06-15 | 浙江中控技术股份有限公司 | 一种程序调试方法和装置 |
DE102010043661A1 (de) * | 2010-11-09 | 2012-05-10 | Dspace Digital Signal Processing And Control Engineering Gmbh | Vorrichtung zum Testen und HIL-Simulator |
US9535817B2 (en) * | 2011-06-10 | 2017-01-03 | Microsoft Technology Licensing, Llc | Application development environment for portable electronic devices |
CN103677954B (zh) * | 2012-09-25 | 2018-02-13 | 上海华虹集成电路有限责任公司 | 仿真器 |
EP2851815A1 (de) * | 2013-09-18 | 2015-03-25 | dSPACE digital signal processing and control engineering GmbH | Testeinrichtung zum Echtzeittest eines virtuellen Steuergeräts |
US9047411B1 (en) | 2013-10-22 | 2015-06-02 | The Mathworks, Inc. | Programming environment for executing program code despite errors and for providing error indicators |
CN103558771A (zh) * | 2013-11-05 | 2014-02-05 | 济南轨道交通装备有限责任公司 | 风电场仿真测试平台及其测试方法 |
EP2924522B1 (de) * | 2014-03-28 | 2016-05-25 | dSPACE digital signal processing and control engineering GmbH | Verfahren zur Beeinflussung eines Steuerprogramms |
CN104951583B (zh) * | 2014-03-31 | 2018-04-20 | 格芯公司 | 数字集成电路仿真方法及仿真器 |
EP2933695B1 (de) * | 2014-04-17 | 2017-03-01 | dSPACE digital signal processing and control engineering GmbH | Computerimplementiertes Verfahren zum Echtzeittest eines Steuergeräts |
EP2940857B1 (de) * | 2014-04-28 | 2018-11-28 | dSPACE digital signal processing and control engineering GmbH | Verfahren zur Nachbildung eines dreiphasigen bürstenlosen Gleichstrommotors mit einem Lastemulator |
JP6476594B2 (ja) * | 2014-05-26 | 2019-03-06 | オムロン株式会社 | シミュレーションシステム |
-
2016
- 2016-03-31 DE DE102016105844.0A patent/DE102016105844A1/de not_active Withdrawn
- 2016-04-15 EP EP16165503.0A patent/EP3232327B1/de active Active
-
2017
- 2017-03-23 CN CN201710175980.2A patent/CN107272441B/zh active Active
- 2017-03-30 US US15/474,060 patent/US10572369B2/en active Active
- 2017-03-31 JP JP2017070951A patent/JP6877215B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
CN107272441B (zh) | 2022-04-12 |
EP3232327B1 (de) | 2018-03-14 |
EP3232327A1 (de) | 2017-10-18 |
US20170286270A1 (en) | 2017-10-05 |
US10572369B2 (en) | 2020-02-25 |
CN107272441A (zh) | 2017-10-20 |
DE102016105844A1 (de) | 2017-10-05 |
JP2017188112A (ja) | 2017-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6877215B2 (ja) | コンピュータ上のシミュレーション環境において制御装置の制御プログラムをテストする方法 | |
Ocariza et al. | An empirical study of client-side JavaScript bugs | |
US10310822B1 (en) | Method and system for simulating a control program | |
US11762717B2 (en) | Automatically generating testing code for a software application | |
US7681180B2 (en) | Parameterized test driven development | |
JP2009087354A (ja) | ウェブアプリケーションの自動テスト生成システム及び方法 | |
US10830818B2 (en) | Ensuring completeness of interface signal checking in functional verification | |
Kang et al. | A secure-coding and vulnerability check system based on smart-fuzzing and exploit | |
US20140214396A1 (en) | Specification properties creation for a visual model of a system | |
JP2021501953A (ja) | エンジンデバッグ、テスト、較正、及び調節を制御するためのソフトウェア環境 | |
KR20210061446A (ko) | 안전 관련 데이터 스트림 검출 방법 | |
JP2012150535A (ja) | プログラム検証方法及び検証プログラム | |
CN116069635A (zh) | Soc系统的测试方法、装置、计算机设备及存储介质 | |
JP6053854B2 (ja) | 制御プログラムに対するインタラクション方法 | |
Sheikh | Teaching C++ programming using automated unit testing and test‐driven development—Design and efficacy study | |
TWI611291B (zh) | 用於自動化生成軟體測試資料之電腦程式產品及其方法 | |
US10223077B2 (en) | Determination of signals for readback from FPGA | |
Pitchford | Embedded software quality, integration, and testing techniques | |
Bueno et al. | Executable Architecture based on System Dynamics: An integrated methodology composed by Standard System Dynamics Modelling and DoDAF Operational View Models. | |
CN113515452A (zh) | 应用的自动测试方法、系统、电子设备及存储介质 | |
Marín et al. | A tool for automatic defect detection in models used in model-driven engineering | |
Kononov et al. | On the problems of developing KLEE based symbolic interpreter of binary files | |
CN112527672B (zh) | 一种针对加壳工具的检测方法及设备 | |
WO2024195336A1 (ja) | トレーサビリティ情報抽出装置およびトレーサビリティ情報検証装置 | |
Lilli | A modeling and verification framework for security protocols |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210324 |
|
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: 20210329 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210427 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6877215 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE Ref document number: 6877215 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |