JP5723675B2 - シミュレーション装置及びシミュレーション方法 - Google Patents
シミュレーション装置及びシミュレーション方法 Download PDFInfo
- Publication number
- JP5723675B2 JP5723675B2 JP2011120222A JP2011120222A JP5723675B2 JP 5723675 B2 JP5723675 B2 JP 5723675B2 JP 2011120222 A JP2011120222 A JP 2011120222A JP 2011120222 A JP2011120222 A JP 2011120222A JP 5723675 B2 JP5723675 B2 JP 5723675B2
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- sequence
- debug
- target model
- software
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/80—Technologies aiming to reduce greenhouse gasses emissions common to all road transportation technologies
- Y02T10/82—Elements for improving aerodynamics
Landscapes
- Debugging And Monitoring (AREA)
Description
その、際ユーザは、シミュレーションを一旦終了させ、不具合Aに対して部品を実装する等の回避策を実装して、シミュレーション対象モデル106に組込む(ステップ1102)。そして、最初からシミュレーションを再実行する(ステップ1103)。さらに、別の不具合B、例えば、ソフトウェアの一部の関数が未実装である等の要因によって、シミュレーションが無限ループに陥る(ステップ1104)。その際ユーザは、シミュレーションを一旦終了させ、不具合Bに対して関数を実装する等の回避策を実装して、シミュレーション対象モデル106に組込む(ステップ1105)。この繰り返しを、シミュレーションが終了状態にいたるまで繰り返すこととなる(ステップ1106)。
一般に、組込みシステムは、機械部品207〜209、通信インターフェイス205、と制御マイコン200の組合せによって構成される。制御マイコン200の内部ではメモリバス204を中心として、CPU201があり、その上でソフトウェア202が動作する。また、割込みコントローラ203がCPU201と接続されており、周辺機器206が制御マイコン200の外部にある機械部品207〜209、及び、通信インターフェイス205と接続された構成となっている。ここでは、組込みシステム210の構成要素として自動車の制御システムを例にとると、機械部品207には、例えば、エンジン制御ユニット、起動、発電制御ユニット、車両の駆動機構制御ユニット、車体制御ユニット、その他の各種の制御ユニット(図示略)がある。各制御ユニットは、各々、ソフトウェア(コンピュータプログラム)を実行することで所定の機能が実現される複数のモジュールによって構成されている。また、これらのソフトウェアでは、エンジンや車両の各種の状態を検知する各種のセンサ208の出力、車両の操作状態を示すスイッチ類209の各イベントや状態などを示すデータが用いられる。これら、制御マイコン200の周辺機器206、すなわち機械部品207〜209、及び、通信インターフェイス205が、図1のシステムモデル120に対応するものである。
異常状態抽出部601は、ユーザインターフェイス部100のソフト実行状況表示部108で表示するための、シミュレーション実行状態におけるプログラム(ソフトウェア)実行の継続性に不具合を来す異常状態の情報を抽出し、生成する機能を有する。異常状態としては、無限ループ、変数値異常、RAM値の異常、CPUの動作範囲の異常、などが挙げられる。
デバッグシーケンス実行部602は、プロセス間通信I/F600が受け取ったデバッグシーケンスに従い、デバッグ操作をCPU105に実行させるための操作を、割込み信号コントローラ603及び、バスマスタモデル604を用いて行う機能を有する。
デバッグシーケンス中の送出タイミングに記載される時間までデバッグシーケンスの実行は一時停止され、デバッグシーケンス実行部602で待機する(ステップ709)。なお、デバッグシーケンスの送出タイミングが即時であった場合、送出から待機を経ること無く実行される。
106B:拡張シミュレータ
200: マイコン201: CPU202: ソフトウェア203: 割込みコントローラ204: メモリバス205: 通信インターフェイス206: 周辺機器207: 機械部品210: 組込みシステム400: シーケンス構築画面401: 構築対象シーケンス選択リスト402: シーケンス内操作リスト403: コマンドー選択リスト404: アドレス入力フィールド405: アクセス値入力フィールド406: シーケンス追加ボタン300: ソフト実行状況表示画面301: ソフト実行状況表示部302: ソフト実行状況キャプチャ開始ボタン500: シーケンス送出画面501: シーケンス選択リスト502: 送出タイミング選択リスト503: シミュレーション時間入力フィールド504: シーケンス送出ボタン600: プロセス間通信インターフェイス601: 異常状態抽出部602: デバッグシーケンス実行部603: 割込み信号コントローラ604: バスマスタモデル700: シミュレーションの開始ステップ701: 実行状態キャプチャの開始ステップ702: 無限ループ状態の検出と提示ステップ703: デバッグシーケンスの作成ステップ704: デバッグ注入時期の指定ステップ705: デバッグシーケンスのバイナリ列への変換ステップ706: デバッグシーケンスのデバッグ注入部への送出ステップ707: 命令の解釈ステップ
708: デバッグシーケンスをメモリ上の予約領域へと転送するステップ709: 指定された注入時期まで待機するステップ710: 割込みを発生させるステップ711: 専用割込みベクタから予約領域の先頭へジャンプするステップ
712: 指定されたデバッグシーケンスの実行ステップ713: ソフトウェアの実行継続ステップ714: 無限ループからの脱出ステップ900: シミュレーションの開始ステップ901: 不具合Aによるシミュレーション停止ステップ902: 不具合Aに対するデバッグコード注入のステップ903: シミュレーションの再実行ステップ904: 不具合Bによるシミュレーション停止ステップ905: 不具合Bに対するデバッグコード注入のステップ906: シミュレーションの終了ステップ907: 不具合Aの回避策を実装するステップ908: 不具合Bの回避策を実装するステップS1100: シミュレーションの開始ステップS1101: 不具合Aによるシミュレーション停止ステップS1102: 不具合Aの回避策を実装するステップS1103: シミュレーションの再実行ステップS1104: 不具合Bによるシミュレーション停止ステップS1105: 不具合Bの回避策を実装するステップS1106: シミュレーションの再実行ステップ。
Claims (14)
- 計算機システムでシミュレーション対象機器のシミュレーションを行うことにより、当該機器を制御対象とするソフトウェアの検証を行うシミュレーション装置であって、
前記計算機システムは、前記機器のシミュレーション対象モデルのデータを記憶するシミュレーション対象モデルデータ記憶部を有しており、
計算機システムの外部に設けられた、ユーザインターフェイス部とデバッグ情報インポーザとを備え、
前記ユーザインターフェイス部は、前記シミュレーション内部で実行される前記ソフトウェアの実行状況を出力する機能と、前記シミュレーション対象モデルの実行状況に異常が発生したとき該異常を表示する機能と、該異常状態を解決するためのデバッグシーケンスをユーザが構築するのをサポートする機能とを有し、
前記デバッグ情報インポーザは、前記デバッグシーケンスを前記シミュレーション対象モデルにおいて割込み処理により実行する機能を有する
ことを特徴とするシミュレーション装置。 - 請求項1において、
前記ユーザインターフェイス部において、前記異常として無限ループが出力された場合に、前記デバッグシーケンスがループ条件を変更する命令列であり、
前記デバッグ情報インポーザは、前記命令列を前記シミュレーション対象モデルにおいて実行し、該シミュレーション対象モデルの異常状態を解決する機能を有することを特徴とするシミュレーション装置。 - 請求項2において、
前記デバッグ情報インポーザは、前記シミュレーション対象モデル中のメモリ領域に対し、前記命令列を転送し、
前記計算機システムのCPUに対して前記命令列を実行させる割込み処理を発生させることにより、前記CPUにおける前記ソフトウェアの実行状況を更新可能である
ことを特徴とするシミュレーション装置。 - 請求項1において、
前記デバッグ情報インポーザは、
前記シミュレーション実行状態における前記ソフトウェア実行の継続性に不具合を来す前記異常状態に関する情報を抽出し、前記ユーザインターフェイス部に表示する情報として生成する機能を有する異常状態抽出部と、
前記デバッグシーケンスに従い、デバッグ操作を前記計算機システムのCPUに実行させるための操作を、割込み信号コントローラ及び、バスマスタモデルを用いて行う機能を有するデバッグシーケンス実行部とを備えていることを特徴とするシミュレーション装置。 - 請求項4において、
前記バスマスタモデルは、前記シミュレーション対象モデル中への前記デバッグシーケンスの注入及び、前記計算機システムのRAMに対するメモリ操作を行う機能を有し、
前記割込み信号コントローラは、前記デバッグシーケンスの実行を前記計算機システムのCPUに行わせるためのトリガをかける機能を有することを特徴とするシミュレーション装置。 - 請求項1において、
前記ユーザインターフェイス部は、
前記シミュレーション対象モデル中の前記ソフトウェアの実行状態を表示する画面を有するソフト実行状況表示部と、
前記ソフトウェアに対して注入する命令列を構築するためのシーケンス構築用の画面を有するシーケンス構築部と、
前記シミュレーション対象モデルに異常が発生したとき、該異常状態を変更する命令列を生成し、該命令列を前記シミュレーション対象モデルに送信するための画面を有するシーケンス送出部とを有する
ことを特徴とするシミュレーション装置。 - 請求項6において、
前記ユーザインターフェイス部は、
前記ユーザに対し、前記シミュレーション対象モデル中の前記計算機システムのRAMに対する操作を行って、前記デバッグシーケンスを構築するのをサポートする
ことを特徴とするシミュレーション装置。 - 請求項6において、
前記ソフト実行状況表示部は、
前記シミュレーション実行途中において前記ソフトウェアの不具合の個所を抽出して前記画面に表示する機能、及び、
前記抽出された不具合に関してあらかじめデータベースに蓄積された情報からその回避条件、あるいはプログラムの継続条件を抽出し、前記画面に表示する機能を有する
ことを特徴とするシミュレーション装置。 - 請求項6において、
前記シーケンス構築用の画面は、
編集対象シーケンスを選択するリスト、編集中シーケンスを表示するシーケンス内操作リスト、及び、前記デバッグシーケンスに追加するコマンドーを選択するコマンドー選択リストを表示する画面を有している
ことを特徴とするシミュレーション装置。 - 計算機システムでシミュレーション対象機器のシミュレーションを行うことにより、当該機器を制御対象とするソフトウェアの検証を行うシミュレーション装置であって、
シミュレーション対象モデルデータ記憶部に、前記機器のシミュレーション対象モデルのデータを記憶し、
前記シミュレーション内部で実行される前記ソフトウェアの実行状況をユーザインターフェイス部に出力し、
前記シミュレーション対象モデルの実行状況に異常が発生したとき、該異常を前記ユーザインターフェイス部に表示し、
前記ユーザインターフェイス部において、該異常状態を解決するためのデバッグシーケンスを受け付け、
デバッグ情報インポーザにより、前記デバッグシーケンスを前記シミュレーション対象モデルにおいて割込み処理により実行する
ことを特徴とするシミュレーション方法。 - 請求項10において、
前記ユーザインターフェイス部に表示された前記シミュレーション対象モデルで発生した異常が、ループ条件における無限ループであったとき、前記ユーザインターフェイス部において該ループ条件を変更する命令列を生成し、
該変更されたループ条件を前記デバッグ情報インポーザに送信し、
前記命令列を前記シミュレーション対象モデルにおいて実行し、前記シミュレーション対象モデルの異常状態を解決する
ことを特徴とするシミュレーション方法。 - 請求項11において、
前記デバッグ情報インポーザにより、前記シミュレーション対象モデル中のメモリ領域に対し、前記命令列を転送し、
前記計算機システムのCPUに対して前記命令列を実行させる割込み処理を発生させることにより、前記CPUにおける前記ソフトウェアの実行状況を更新する
ことを特徴とするシミュレーション方法。 - 請求項10において、
前記計算機システムの外部に、前記シミュレーションの実行状況の確認と、前記シミュレーション実行継続条件の構築が可能なデバッグ情報インポーザ及びユーザインターフェイスを備え、
前記計算機システムは、
前記ユーザインターフェイスから送信される前記シミュレーション実行継続条件を受け取り、
該シミュレーション実行継続条件を未使用のメモリ空間と割込み要因を用いて、前記シミュレーション対象モデルである組込みシステム内部で実行させ、
前記シミュレーションの終了状態まで継続させる
ことを特徴とするシミュレーション方法。 - 請求項13において、
異種シミュレータの相互接続により前記組込みシステムの全体レベルの協調シミュレーションを行なう
ことを特徴とするシミュレーション方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011120222A JP5723675B2 (ja) | 2011-05-30 | 2011-05-30 | シミュレーション装置及びシミュレーション方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011120222A JP5723675B2 (ja) | 2011-05-30 | 2011-05-30 | シミュレーション装置及びシミュレーション方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012248055A JP2012248055A (ja) | 2012-12-13 |
JP5723675B2 true JP5723675B2 (ja) | 2015-05-27 |
Family
ID=47468434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011120222A Active JP5723675B2 (ja) | 2011-05-30 | 2011-05-30 | シミュレーション装置及びシミュレーション方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5723675B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6901430B2 (ja) * | 2018-04-09 | 2021-07-14 | ファナック株式会社 | 制御装置及び編集装置 |
CN111240960A (zh) * | 2019-12-30 | 2020-06-05 | 杭州海兴电力科技股份有限公司 | 一种基于gtk的虚拟电表软件调试方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002244883A (ja) * | 2000-03-30 | 2002-08-30 | Matsushita Electric Ind Co Ltd | デバッグ支援装置、デバッグ支援方法及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2004145830A (ja) * | 2002-10-28 | 2004-05-20 | Toshiba Corp | シミュレーション装置、シミュレーション方法及びシミュレーションプログラム |
JP2004252585A (ja) * | 2003-02-18 | 2004-09-09 | Matsushita Electric Ind Co Ltd | プログラム検証システム |
JP5412900B2 (ja) * | 2009-03-16 | 2014-02-12 | 株式会社リコー | 組み込み用プログラムのシミュレータ及びシミュレーション方法 |
-
2011
- 2011-05-30 JP JP2011120222A patent/JP5723675B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012248055A (ja) | 2012-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8458667B2 (en) | Debugging a statechart for a real time target | |
US8457945B1 (en) | Processor-in-the-loop co-simulation of a model | |
JP2002063050A (ja) | 制御プログラム開発支援装置 | |
US7584456B1 (en) | Method and apparatus for debugging embedded systems having read only memory | |
EP2889775B1 (en) | Computer having self-monitoring function and monitoring program | |
JP6692278B2 (ja) | 演算装置及び仮想開発環境装置 | |
WO2008021777A2 (en) | Formal verification of graphical programs | |
JP5723675B2 (ja) | シミュレーション装置及びシミュレーション方法 | |
JP6540473B2 (ja) | デバッグサポートシステム | |
JP4600601B1 (ja) | デバッグ支援装置、デバッグ支援方法及びデバッグ支援プログラム | |
US8468393B2 (en) | Triggering diagnostic operations within a data processing apparatus | |
KR20110037140A (ko) | 임베디드 소프트웨어 가상 개발 환경을 제공하는 시스템 | |
CN100403275C (zh) | 应用于固件程序除错的微处理器与方法 | |
US10816600B1 (en) | Protocol analysis and visualization during simulation | |
Kaukewitsch et al. | Automatic generation of RAMS analyses from model-based functional descriptions using UML state machines | |
US7681156B2 (en) | Transmission circuit simulator and transmission circuit simulation program storage medium | |
JP4194959B2 (ja) | シミュレーション解析システム、アクセラレータ装置及びエミュレータ装置 | |
KR101137034B1 (ko) | 계층적 병렬 환경에서의 분산 런타임 진단을 위한 시스템 및 방법 | |
KR20090036287A (ko) | 통합 제어시스템의 실시간 제어장치 및 방법 | |
Coleman et al. | Visual-trace simulation of concurrent finite-state machines for validation and model-checking of complex behaviour | |
JP5120103B2 (ja) | デバッグ方法およびデバッグプログラム | |
CN113238491B (zh) | 执行机构的仿真测试方法、装置、智能臂架及工程车辆 | |
KR20180046761A (ko) | 시퀀스 다이어그램 기반의 통합개발장치 | |
CN109753308A (zh) | 指令通路验证***及指令通路监测方法 | |
US20240231347A1 (en) | Fault injection test method and apparatus, and fault injection method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140117 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20140730 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140826 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20140908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140909 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141027 |
|
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: 20150324 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150330 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5723675 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |