図面 (/)

技術 コンピュータ上のシミュレーション環境において制御装置の制御プログラムをテストする方法

出願人 ディスペースデジタルシグナルプロセッシングアンドコントロールエンジニアリングゲゼルシャフトミットベシュレンクテルハフツング
発明者 トルステンフーフナーゲル
出願日 2017年3月31日 (4年10ヶ月経過) 出願番号 2017-070951
公開日 2017年10月12日 (4年4ヶ月経過) 公開番号 2017-188112
状態 特許登録済
技術分野 デバッグ/監視
主要キーワード ワークツール 制御装置ソフトウェア 値割り当て 環境値 エラー源 プログラム変数 ドキュメント化 対象発明
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年10月12日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (4)

課題

解決手段

エミュレータは、制御プログラムのプログラム変数拡張された値領域50、60を割り当て、プログラム変数に割り当てられた変数値52、62が拡張された値領域50、60に格納される。エミュレータは、プログラム変数をエラー有り又はエラー無しマーキングする。ここで、エラー無しのプログラム変数を第1のカテゴリK1に割り当て、エラー有りのプログラム変数を第2のカテゴリK2に割り当てることに基づいてマーキングを行い、第2のカテゴリK2の全てのプログラム変数の拡張された値領域60がデータフィールド64を有するようにする。

概要

背景

概要

シミュレーション環境において制御装置制御プログラムテストする際にエラー監視する。エミュレータは、制御プログラムのプログラム変数拡張された値領域50、60を割り当て、プログラム変数に割り当てられた変数値52、62が拡張された値領域50、60に格納される。エミュレータは、プログラム変数をエラー有り又はエラー無しマーキングする。ここで、エラー無しのプログラム変数を第1のカテゴリK1に割り当て、エラー有りのプログラム変数を第2のカテゴリK2に割り当てることに基づいてマーキングを行い、第2のカテゴリK2の全てのプログラム変数の拡張された値領域60がデータフィールド64を有するようにする。

目的

本発明の課題は、従来技術を発展させた方法を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータ(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)に書き込む、ことを特徴とする方法。

請求項2

第1のプログラム変数の変数値(62,72)を求める際に、前記第2のカテゴリ(K2)に割り当てられた第2のプログラム変数に、又は、第1のエラー値を有するエラーフィールド(72)を備えた第2のプログラム変数にアクセスすることにより、前記第2のプログラム変数の識別子を前記第1のプログラム変数のデータフィールド(64,74)に書き込む、請求項1に記載の方法。

請求項3

前記制御プログラム(10)が、前記第2のカテゴリ(K2)に割り当てられた第1のプログラム変数に、又は、第1のエラー値を有するエラーフィールド(72)を備えた第1のプログラム変数に、設定値を割り当てる場合、・前記第1のプログラム変数をエラー無しとマーキングし、・前記設定値を変数値(52,72)として、前記プログラム変数の前記拡張された値領域(50,70)に格納し、・第1のカテゴリ(K1)もしくは第2のカテゴリ(K2)への割り当てに基づくマーキングの際に、前記拡張された値領域(50,60)から前記データフィールド(64)を消去し、・エラーフィールド(76)に基づくマーキングの際に、前記データフィールド(74)の全てのエントリを消去する、請求項1又は2に記載の方法。

請求項4

前記制御プログラムが少なくとも2つのプログラムブロックを有し、当該プログラムブロックが、前記制御プログラムの規定の分岐規則にしたがって、前記第2のカテゴリ(K2)に割り当てられた第1のプログラム変数に、又は第1のエラー値を有するエラーフィールド(72)を備えた第1のプログラム変数に依存するという条件に応じて代替的に実行される場合、全てのプログラムブロックを実行する、請求項1から3までのいずれか1項に記載の方法。

請求項5

前記プログラムブロックの実行中に1つずつ値が割り当てられた別のプログラム変数の全てをエラー有りとマーキングし、前記第1のプログラム変数のデータフィールド(64,74)の全てのエントリのコピーのそれぞれを、前記別のプログラム変数のデータフィールド(64,74)へ書き込み、前記別のプログラム変数の変数値(62,72)に、それぞれ第2のエラー値を割り当てる、請求項4に記載の方法。

請求項6

前記プログラムブロックの実行後、前記制御プログラム(10)が第1のプログラムブロックの実行中にも別のプログラムブロックの実行中にも変数値(52,62,72)を割り当てた別のプログラム変数の全てについて、割り当てられた各変数値(52,62,72)を比較し、割り当てられた各変数値(52,62,72)の間に偏差がある場合、・前記別のプログラム変数をエラー有りとマーキングし、・前記別のプログラム変数の変数値(62,72)に第2のエラー値を割り当て、・前記第1のプログラム変数のデータフィールド(64,74)の全てのエントリのコピーを、前記別のプログラム変数のデータフィールド(64,74)に書き込む、請求項4に記載の方法。

技術分野

0001

本発明は、コンピュータ上のシミュレーション環境において制御装置制御プログラムテストする方法に関する。

0002

J.Mauss, “Chip simulation used to run automotive software on PC”, Proceedings to Embedded Real Time Software and Systems (ERTS) 2014から、制御装置ソフトウェアをPC上でテストするワークツールが公知であり、ここでは制御装置ソフトウェアがエミュレートされたプロセッサ上で実行され、環境データ模擬される。制御装置ソフトウェアの一部のみを検査するには、ユーザは仕様ファイルにおいて実行すべき機能の選択を指示すればよい。なお、仕様ファイルのエラーを求めるために、制御装置ソフトウェアの実行は、デバッガによってステップごとに行うことができる。

0003

こうした背景から、本発明の課題は、従来技術を発展させた方法を提供することである。

0004

この課題は、請求項1の特徴を有する、コンピュータ上のシミュレーション環境において制御装置の制御プログラムをテストする方法によって解決される。本発明の有利な実施形態は従属請求項対象発明となっている。

0005

本発明の対象発明により、コンピュータ上のシミュレーション環境において制御装置の制御プログラムをテストする方法が提供される。シミュレーション環境はコンピュータ上に作成される。制御プログラムはエミュレータによって実行され、ここで、エミュレータは、プロセッサ及びメモリ領域を有する制御装置の少なくとも一部を模擬する。エミュレータはコンピュータ上で実行され、データの入出力のためのインタフェースを有し、ここで、環境値がシミュレーション環境からインタフェースを介してエミュレートされたメモリ領域に書き込まれる。制御プログラムは、複数のプログラム変数を有し、ここで、制御プログラムは、この制御プログラムの実行中、少なくとも幾つかのプログラム変数に変数値を1つずつ割り当て、ここで、変数値は、エミュレートされたメモリ領域のメモリアドレスへのアクセスによって求められる。

0006

エミュレータは、制御プログラムの各プログラム変数に、拡張された値領域を割り当てる。ここで、プログラム変数の1つずつに割り当てられた変数値は、拡張された値領域に格納され、エミュレータはプログラム変数をエラー有り又はエラー無しマーキングする。

0007

当該マーキングは、エラー無しのプログラム変数を第1のカテゴリに割り当て、エラー有りのプログラム変数を第2のカテゴリに割り当てることに基づいて行われる。この場合、第2のカテゴリの各プログラム変数の拡張された値領域は、データフィールドを有する。

0008

これに代えて、拡張された値領域に格納されたエラーフィールドに基づいて、エラー無しのプログラム変数のエラーフィールドに予め定められた数値もしくは非数値の第1の有効値を割り当て、エラー有りのプログラム変数のエラーフィールドに予め定められた数値もしくは非数値の第1のエラー値を割り当てることにより、プログラム変数のマーキングを行い、ここで第1の有効値が第1のエラー値と異なっており、全てのプログラム変数の拡張された値領域がデータフィールドを有するようにしてもよい。

0009

マーキングは、変数値を求める際に行われる。第1のプログラム変数の変数値を求めるために、エミュレートされたプロセッサが、エミュレートされたメモリ領域の、存在しておりかつ書き込まれているメモリアドレスにアクセスする場合、又は、第1のカテゴリに割り当てられた第2のプログラム変数もしくは第1の有効値を有するエラーフィールドを備えた第2のプログラム変数にアクセスする場合、プログラム変数がエラー無しとマーキングされ、求められた変数値が拡張された値領域に格納される。

0010

第1のプログラム変数の変数値を求める際に、エミュレートされたプロセッサが、エミュレートされたメモリ領域の存在していないかもしくは書き込まれていない第2のメモリアドレスにアクセスする場合、又は、第2のカテゴリに割り当てられた第3のプログラム変数もしくは第1のエラー値を有するエラーフィールドを備えた第3のプログラム変数にアクセスする場合には、第1のプログラム変数がエラー有りとマーキングされ、第1のプログラム変数の変数値に、予め定められた数値もしくは非数値の第2のエラー値が割り当てられ、存在していないかもしくは書き込まれていない第2のメモリアドレス、又は、第3のプログラム変数のデータフィールドの全てのエントリコピーが、第1のプログラム変数のデータフィールドに書き込まれる。

0011

ここではいわゆるオフラインシミュレーション、すなわち、制御ソフトウェアがコンピュータ上、例えばPC上のシミュレーション環境においてテストされるシミュレーションを説明していることに注意されたい。オフラインシミュレーションでは大抵の場合、リアルタイムでのシミュレーションは必要ない。

0012

エミュレータにより、制御装置プロセッサがエミュレートを行うことで、制御プログラムを直接に機械言語で実行することができる。エミュレータとしてここでは制御コンピュータを模擬するプログラムが挙げられ、これにより、エミュレータが模擬している制御コンピュータ上の制御プログラムを実行することができる。

0013

制御装置のオンチップ機能、例えばCANコントローラ、AD/DA変換器もしくは制御装置の他の内部機能表現するために、いわゆる制御装置記述ファイルへのアクセスが行われる。いわゆる制御装置記述ファイルは、全ての機能部、変数名及びその対応アドレスリストを含み、例えばいわゆるa2lデータファイルであってよい。

0014

本発明を理解するために、制御プログラムがプロセッサをエミュレートするエミュレータ上で実行されるため、本発明の方法においては機械言語で存在することに注意されたい。相応に、制御プログラムの変数はメモリアドレスによって表されるものであり、変数値は、エミュレートされたメモリの、変数に対応するメモリセルのメモリアドレスの1つに格納された変数値である。変数という概念の使用は、技術的観点における、機械言語で格納されたプログラムの説明には必要ない。本発明の明細書では、本発明の対象を明確にするためにこうした概念を用いているのみである。

0015

したがって、本発明は、変数値が格納されたメモリアドレスに上述したように拡張された値領域が割り当てられ、拡張された値領域が割り当てられたメモリアドレスが上述したようにエラー有り又はエラー無しとマーキング可能であり、エミュレートされたメモリ領域の、存在していないかもしくは書き込まれていない第2のメモリアドレスから変数値の読み込みが試みられると、当該第2のメモリアドレスがエラー有りとマーキングされ、エラー有りとマーキングされた第3のメモリアドレスへのアクセスが試みられると、第1のメモリアドレスに新たな変数値を格納するために、第1のメモリアドレスがエラー有りとマーキングされるように構成可能であることと、技術的に同義に構成可能である。

0016

シミュレーション環境の作成により、ユーザは、エミュレータが制御プログラムの実行に必要とするパラメータを形成する。環境値と称される当該パラメータは、ここでは、制御装置の変数値であっても外部センサもしくはその他の値であってもよく、例えばバイパスプロセスによって制御プログラムに供給可能である。

0017

拡張された値領域により、変数の本来の値のほか、例えばエラーもしくは補完的機能に関する別の情報も管理できる。当該拡張された値領域は、例えばメモリの所定領域を含む。この領域はプログラム変数に割り当てられ、この領域にプログラム変数の変数値のほか、別の情報も格納される。

0018

拡張された値領域のエントリの数及び形式は、全てのプログラム変数について等しくなるように構成できる。ここで、拡張された値領域は、変数値に加えて、エラーをマーキングするためにエラーフィールドを有し、エラーの伝播ドキュメント化するためにデータフィールドを有する。データフィールドには、エラー有りのプログラム変数の場合、数値もしくは非数値の第1のエラー値が割り当てられる。プログラム変数がエラーを有さない場合、エラーフィールドに数値もしくは非数値の第1の有効値が割り当てられる。

0019

エラーフィールドは、プログラム変数をエラー有りもしくはエラー無しとマーキングするために用いられる。したがって、エラーが発生した場合にエラーフィールドに割り当てられる非数値もしくは数値の第1のエラー値は任意の値であってよいが、この値は一義的で、かつ、エラー無しの場合のエラーフィールドによって割り当てられた数値もしくは非数値の第1の有効値と異なっていなければならない。例えば、当該エラーフィールドには、エラーが発生していない場合、第1の有効値として値0を割り当てることができ、エラーが発生すると、この値が第1のエラー値1へ変更される。

0020

エラーマーキングがプログラム変数をそれぞれ異なるカテゴリへ割り当てることによって行われる場合、プログラム変数の拡張された値領域の数及び形式は、対応するプログラム変数が割り当てられているカテゴリに応じて定められる。

0021

カテゴリは、例えば、オブジェクト指向プログラミングにおけるクラスであってよい。クラスとして、属性及びプロセスに対応する変数形式が挙げられる。つまり、本発明の値領域はオブジェクト指向クラスにおける属性及びプロセスを含むことができる。拡張された値領域は変数の管理及び処理に並行して導かれる1つもしくは複数のリスト及び変数そのものから形成することができ、ここでは例えばカテゴリごとに1つのリストが定められ、リストに格納される情報はカテゴリによって設定される。

0022

それぞれ異なるカテゴリへの割り当てによってエラーマーキングが行われる場合、エラーを有するために第2のカテゴリに属するプログラム変数の拡張された値領域は、変数値に加えて、エラー伝播のドキュメント化のためのデータフィールドを有する。エラー無しのプログラム変数は第1のカテゴリに属する。拡張された値領域は変数値のみを有すればよい。データフィールドは不要である。

0023

エラー有りのプログラム変数の識別は、例えば第2のエラー値が非数値であって、制御プログラムにおける一義的な値である場合には、変数値そのものに基づいて可能である。エラー有りのプログラム変数の確実な識別は、エラーフィールドの値に基づいて、又は、プログラム変数のカテゴリに基づいて、可能である。

0024

エラー有りのメモリアドレスへのアクセス又はエラー有りの変数へのアクセスが行われた際に変数値に割り当てられる第2のエラー値は、典型的には数値である有効性を表す変数値に対して一義的に区別可能な任意の非数値のエラー値、例えば“error”であってよい。ドキュメント化と、カテゴリ割り当てによるエラーマーキング又はエラーアクセスがあった場合のエラーフィールドによるエラーマーキングに基づいて、変数値に数値のエラー値、例えば0を割り当てることができる。

0025

本発明の方法の利点は、エラーの発生が制御プログラムの循環動作中断しないということである。エラー発生時にもエミュレータが制御プログラムを完全に実行することにより、制御プログラムの部分ごとのテストが可能である。制御プログラムの個々の機能がテストされる場合、テストすべき機能に必要な全ての環境値のみをシミュレーション環境で模擬し、エミュレータのインタフェースを介して、エミュレートされるメモリ領域に書き込めばよい。なぜなら、テストすべきでない他の機能に対する環境値であれば、欠落しても、制御プログラムの中断に到らないからである。

0026

特に有利には、本来のエラー源に関する情報が引き継がれる。つまり、制御プログラムの循環動作の完了後、プログラム変数ごとに、エラー源のデータフィールドにエントリされているアドレスに基づいて直接に読み出しを行うことができる。これにより、作成されたシミュレーションのエラーもしくは不完全性に関する情報が、所期のように、関心対象としてのプログラム変数に関連して形成される。

0027

一実施形態では、第1のプログラム変数の変数値を求める場合、第2のカテゴリに割り当てられたプログラム変数へのアクセス又は第1のエラー値を有するエラーフィールドを備えた第2のプログラム変数へのアクセスが行われた際に、第2のプログラム変数の識別子が第1のプログラム変数のデータフィールドに書き込まれる。これにより、エラー又はエラーの伝播の全経路がドキュメント化される。プログラム変数の識別子としては、プログラム変数を一義的に識別できさえすれば、例えばプログラム変数名もしくはプログラム変数のメモリアドレスなど、あらゆるパラメータが適する。

0028

別の一実施形態によれば、制御プログラムが、第2のカテゴリに割り当てられた第1のプログラム変数もしくは第1のエラー値を有するエラーフィールドを備えた第1のプログラム変数に設定値を割り当てる場合、第1のプログラム変数がエラー無しとマーキングされ、当該設定値が変数値として第1のプログラム変数の拡張された値領域に格納される。ここで、第1のカテゴリもしくは第2のカテゴリへの割り当てに基づくマーキングが行われる場合には、データフィールドが拡張された値領域から消去され、エラーフィールドに基づくマーキングが行われる場合には、データフィールドの全てのエントリが消去される。これにより、エラーの伝播が防止される。有効値の割り当てによって、プログラム変数は再び有効とマーキングされるか又は続行される。

0029

エラー伝播のドキュメント化に関連して、例えば必要なメモリアドレスをエミュレートすることによってエラーを必ずしもその源で除去するのでなく、後続するプログラム変数に直接に有効値を割り当てることによって除去する手段が得られる。

0030

カテゴリ割り当てに基づくマーキングが行われる場合、エラーを有さないために第1のカテゴリに割り当てられたプログラム変数がデータフィールドを有する必要はないものと理解されたい。ただし、第1のカテゴリに割り当てられたプログラム変数の値領域に、エントリを有さないデータフィールドを設けることもできる。第1のカテゴリに割り当てられたプログラム変数もデータフィールドを有する場合には、第2のカテゴリから第1のカテゴリへのプログラム変数のカテゴリ変更が行われる際に、データフィールド全体が拡張された値領域から消去されるのでなく、データフィールドのエントリのみが全て消去されるか、又は、データフィールドのエントリの伝送が行われない。

0031

別の一実施形態によれば、制御プログラムは少なくとも2つのプログラムブロックを有し、各プログラムブロックは、制御プログラムの定められた分岐規則にしたがって、所定の条件に応じて代替的に実行される。当該条件が、第2のカテゴリに割り当てられた第1のプログラム変数もしくは第1のエラー値を有するエラーフィールドを備えた第1のプログラム変数、すなわち、エラー有りの第1のプログラム変数に依存する場合、全てのプログラムブロックが実行される。制御プログラムの全ての代替的な規則が実行されることにより、制御プログラムの実行後に可能な全てのプログラム変数についてユーザに情報が提供される。

0032

別の一実施形態によれば、プログラムブロックの実行中に値が割り当てられた別の全てのプログラム変数がエラー有りとマーキングされ、第1のプログラム変数のデータフィールドの全てのエントリのコピーのそれぞれが別のプログラム変数のデータフィールドに書き込まれて、当該別のプログラム変数の変数値にそれぞれ第2のエラー値が割り当てられる。これにより、制御プログラムの実行後には、定められた分岐規則に依存する全てのプログラム変数を確実かつ容易に識別できる。

0033

代替的な一実施形態によれば、プログラムブロックの実行後、制御プログラムが第1のプログラムブロックの実行中及び別のプログラムブロックの実行中に変数値を割り当てた別のプログラム変数の全てについて、割り当てられた変数値が比較される。割り当てられた変数値の間に偏差がある場合、当該別のプログラム変数がエラー有りとマーキングされ、その変数値に第2のエラー値が割り当てられ、第1のプログラム変数のデータフィールドの全てのエントリのコピーが当該別のプログラム変数のデータフィールドに書き込まれる。これにより、実際に分岐規則に依存する変数値を有するプログラム変数のみがエラー有りとマーキングされて、エラー源に関する情報が形成されることが保証される。

0034

例えば定められた分岐が形式のみに関する場合、例えば、種々のプログラムブロックでのプログラム変数に割り当てられる変数値が等しい場合、エラーはマーキングされないか又は引き継がれない。1つもしくは複数のプログラム変数に関してのみ、例えば唯一の変数Aについて、純粋に形式的に定められた分岐が存在するのに対し、別のプログラム変数の変数値は定められた分岐規則に依存する場合、1つもしくは複数のプログラム変数、例えば変数Aはエラー無しとマーキングされ、別のプログラム変数はエラー有りとマーキングされる。

0035

本発明を以下に図を参照しながら詳細に説明する。この場合、同じ要素には同一の参照番号を付してある。図示の実施形態はきわめて模式的なものである。

図面の簡単な説明

0036

エミュレータ及びシミュレーション環境を示す概略図である。
プログラム変数の第1の実施形態を示す概略図である。
プログラム変数の第2の実施形態を示す概略図である。

0037

図1には、コンピュータ30上のエミュレータ20が、制御装置のプロセッサと当該制御装置のメモリ領域24とを模擬することで、機械言語で存在している(図示されていない)制御装置用の制御プログラム10を実行する、第1の実施形態の平面図が示されている。データの入出力のために、エミュレータ20はインタフェース22を有する。

0038

制御プログラム10の1つもしくは複数の機能部F1,F2,F3をテストするために、コンピュータ30上のシミュレーション環境40において、1つもしくは複数の機能部F1,F2,F3が必要とする全ての環境値42が形成される。各環境値42は、エミュレートされたメモリ領域24への、データの入出力のためのインタフェース22を介した書き込みにより、エミュレータ20へ供給される。環境値42は、制御装置の変数、例えばオンチップコンポーネントによって利用可能となる複数の機能と、制御装置外、例えば外部センサなどから伝送されてくるデータとの双方を表すことができる。

0039

制御プログラム10の実行中、プログラム変数に変数値が割り当てられる。このために、エミュレートされたメモリ領域24のメモリアドレスへのアクセス、又は、少なくとも1つの別のプログラム変数へのアクセスのいずれかが行われる。作成されたシミュレーション環境又は形成された各環境値が不完全である場合、エミュレートされたメモリ領域内の、制御プログラムの問い合わせを受けたメモリアドレスは欠落しているか又は記述されていない可能性がある。どちらの場合にもプログラム変数にエラー有りの変数値が生じる。したがって、エラー有りのプログラム変数へのアクセスから連鎖エラーが生じる。

0040

本発明によれば、エラーをドキュメント化するために、プログラム変数に、拡張された値領域50,60,70が割り当てられる。図2の左側には、第1のプログラム変数の概略図が示されている。図示されている第1のプログラム変数は、エラー無しのため、エミュレータ20により第1のカテゴリK1に割り当てられている。当該第1のプログラム変数は、変数値52を有する拡張された値領域50を有する。

0041

図2の右側には、エラーを有するために第2のカテゴリK2に割り当てられた第2のプログラム変数の概略図が示されている。第1のプログラム変数の変数値52が任意の値を有するのに対して、第2のプログラム変数の変数値62にはつねに第2のエラー値errorが割り当てられる。第2のプログラム変数のデータフィールド64には、メモリアドレスが格納されている。当該メモリアドレスは、制御プログラム10の実行中、第2のプログラム変数への値割り当てのために問い合わされたメモリアドレスであって、エミュレートされたメモリ領域24に存在していないかもしくは書き込まれていないメモリアドレスに相当する。

0042

図2に示されている第1の実施形態によれば、エラー有りのプログラム変数とエラー無しのプログラム変数とに対して、それぞれ異なるカテゴリK1,K2が設けられている。エミュレートされたメモリ領域の、存在していないかもしくは書き込まれていないメモリアドレスへのアクセスによってエラーが発生すると、プログラム変数に第2のカテゴリK2が割り当てられる。付加的に、変数値62に第2のエラー値errorが割り当てられ、当該メモリアドレスがデータフィールド64に書き込まれる。エラー有りの別のプログラム変数へのアクセスが行われてエラーが発生すると、第2のプログラム変数が同様に第2のカテゴリK2に割り当てられ、変数値62に第2のエラー値errorが割り当てられ、付加的に、エラー有りの別のプログラム変数のデータフィールドに書き留められている全てのメモリアドレスが第2のプログラム変数のデータフィールド64にコピーされる。

0043

第2の実施形態が図3に示されている。ここでは、全てのプログラム変数が同一に構成された拡張された値領域70を有しており、この値領域70は変数値72及びデータフィールド74に加え、エラーフィールド76を含んでいる。エラー無しのプログラム変数のエラーフィールド76には、第1の有効値、例えば0が割り当てられている。エラーが発生すると、当該第2の実施形態ではカテゴリの変更は行われず、エラーフィールドに第1のエラー値、例えば1が割り当てられる。

0044

エラーの引き継ぎにより、すなわち、メモリアドレスをデータフィールド64,74に書き込み又はコピーすることにより、循環動作後、発生したエラーについて必要な全ての情報が形成される。つまり、第1の機能部F1に関連する環境値のみがシミュレーション環境に形成され、インタフェース22を介してエミュレータに供給されることにより、制御プログラム10の第1の機能部F1のみをテストすることもできる。結果として、関心対象でない別の機能部F2,F3の出力値はエラーを有することになる。

0045

変数値及び/又はカテゴリ及び/又は第1の機能部F1の出力値として送出されるプログラム変数のエラーフィールドに基づいて、第1の機能部F1の実行時にエラーが発生したか否かが検出される。プログラム変数のデータフィールド64,74は、どの位置でエラーが発生したか、及び、当該エラーがどのように伝播したかについての情報を送出する。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ