JPH1153219A - ソフトウェア検証装置 - Google Patents

ソフトウェア検証装置

Info

Publication number
JPH1153219A
JPH1153219A JP9204380A JP20438097A JPH1153219A JP H1153219 A JPH1153219 A JP H1153219A JP 9204380 A JP9204380 A JP 9204380A JP 20438097 A JP20438097 A JP 20438097A JP H1153219 A JPH1153219 A JP H1153219A
Authority
JP
Japan
Prior art keywords
software
verification
verification module
control device
data
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.)
Withdrawn
Application number
JP9204380A
Other languages
English (en)
Inventor
Kei Ishii
圭 石井
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 Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries Ltd
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 Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Priority to JP9204380A priority Critical patent/JPH1153219A/ja
Publication of JPH1153219A publication Critical patent/JPH1153219A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】高価なデバッガが無くても、制御装置用ソフト
ウェアの検証を効率的に行なうことを可能にする。 【解決手段】制御装置21の動作を司る制御装置用ソフ
トウェア22の検証を行うもので、制御装置用ソフトウ
ェア22に対するテスト条件の設定及び実行状況を表す
データ(変数値等)を収集する、ソフトウェアに組み込
まれる検証モジュール22aと、制御プログラム(ソー
スコード)6を解析して、検証モジュール22aが使用
されている状況をデータベース化するプログラム解析部
26と、データベース化された状況をもとに検証モジュ
ール22aによって収集されるデータから要求するもの
を選択するための一覧を設定する表示内容設定部30
と、一覧中から選択されたデータを検証モジュール22
aによって収集されたデータから取得して視覚的に分か
り易い形式によって表示する表示部29とを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ロボットやクレー
ンや産業機械などのマイクロコンピュータを利用した制
御装置に適用されるソフトウェア検証装置に関する。
【0002】
【従来の技術】図4に示すように、ロボットやクレーン
や産業機械などのマイクロコンピュータを利用した制御
装置(CPUボード)1は、OS(オペレーティングシ
ステム)4のもとで動作する制御装置用ソフトウェア2
によって制御される。この制御装置1における制御装置
用ソフトウェア2の検証は、制御装置1に設けられたデ
バッガ3による機能とパーソナルコンピュータ等による
表示装置5とが、通信ケーブルを介したシリアル通信に
よって接続されて構成されるソフトウェア検証装置によ
って行なわれている。
【0003】表示装置5には、制御プログラム(ソース
コード)6、コンパイラ7、デバッグ用シンボル情報
8、通信クライアント9、デバッガ表示10による機能
が設けられる。テスト員11は、表示装置5に設けられ
た各機能を利用して、制御装置1内の制御ソフトウェア
2のテスト(検証)を行なう。
【0004】制御装置1の制御装置用ソフトウェア2
は、OS(オペレーティングシステム)4の下でリアル
タイムシステム用のスケジューリングがなされ実行され
る。また、デバッガ3は、制御装置用ソフトウェア2に
対して、CPUのデバッグ機能を使ってブレークポイン
トを設定したり、メモリのダンプを実行する機能を備え
ている。
【0005】デバッガ3は、表示装置5と通信により接
続され、テスト員11によって入力される命令を受け取
り、該当処理を実行する。実行結果等は、同様に通信経
由で表示装置5側に送られてデバッガ表示部10により
表示出力され、テスト員11に通知される。
【0006】この機能を司るのがデバッガ表示部10と
通信クライアント9である。通信クライアント9は、デ
バッガ表示部10からの命令を受け取りデバッガ3に送
ったり、逆にデバッガ3からの応答(表示内容)を受け
取りデバッガ表示部10に渡してテスト員11に提示す
る。
【0007】ところで、デバッガ3とデバッガ表示部1
0が低機能である場合、制御装置1の制御装置用ソフト
ウェア2の処理状況を確認するため、メモリ内容を参照
したり、プログラムの実行ステップを参照しようとする
際には、メモリアドレスで表示される。
【0008】この場合は、制御装置用ソフトウェア2が
コンパイラ7により、どのような機械語に変換されてい
るか調べ、それと対比しながらテストを進める必要があ
る。また、デバッガ3とデバッガ表示部10が高機能で
ある場合、制御プログラム6のソースコードのイメージ
のままテストができるようになる。これは、コンパイラ
7が作り出すデバッグ用シンボル情報8を利用する。
【0009】デバッグ用シンボル情報8には、変数や関
数などの名称とアドレス等が格納されており、テスト員
11が指定する変数等をアドレスに変換してデバッガ3
に送り、その結果を変数名や関数名に対して表示するこ
とができる。
【0010】なお、制御装置1によっては、制御装置用
ソフトウェア2がマルチタスクであったり、OS4が無
い簡便な構成も種々あるが、説明の簡便さのために最も
典型的な形についてのみ説明している。他の場合も前述
と同様の状況である。
【0011】
【発明が解決しようとする課題】このように従来のソフ
トウェア検証装置では、低機能なデバッガ3を用いた場
合には、アドレスやプログラムを機械語レベルで扱わな
ければならないため、煩雑であり、テスト員11に要求
される知識もアセンブラやCPUアーキテクチャなどに
関する内容が必要となり、テスト員11に対して大きな
負担を与えるものとなっていた。
【0012】また、制御装置用ソフトウェア2の検証
(テスト)を効率良く行なうには、多くの場合、機能が
不足している。一方、高機能化なデバッガ3を用いた場
合には、扱い易いためにテスト員11に要求される能力
が低くなるという利点がある。しかし、コンパイラ7や
OS4の機能に依存している部分が多く、コンパイラ7
やOS4にデバッガ3が対応していないないと使えない
という問題があった。
【0013】また、OS4と共に提供されるデバッガ3
は、一般に高価であり、必ずしも対象とする制御装置1
に使えるとは限らない。自製OSやデバッガを使う場合
には、必要とされる機能が提供できないために使えず、
また、制御装置1にデバッガを持つOSを移植するには
多くのコストを必要とする場合があり容易に使用するこ
とができない。
【0014】本発明は前記のような事情を考慮してなさ
れたもので、高価なデバッガが無くても、制御装置用ソ
フトウェアの検証を効率的に行なうことが可能なソフト
ウェア検証装置を提供することを目的とする。
【0015】
【課題を解決するための手段】本発明は、制御装置の動
作を司るソフトウェアの検証を行うソフトウェア検証装
置であって、前記ソフトウェアに対するテスト条件の設
定、及びソフトウェアの実行状況を表すデータを収集す
る、前記ソフトウェアに組み込まれる検証モジュール
と、前記検証モジュールが組み込まれたソフトウェアを
解析して、前記検証モジュールがソフトウェアにおいて
使用されている状況をデータベース化する解析手段と、
前記解析手段によってデータベース化された状況をもと
に、前記検証モジュールによって収集されるデータから
要求するものを選択するための一覧を設定する表示内容
設定手段と、前記表示内容設定手段によって設定された
一覧中から選択されたデータを、前記検証モジュールに
よって収集されたデータから取得して、視覚的に分かり
易い形式によって表示する表示手段とを具備したことを
特徴とする。
【0016】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。図1は本実施形態に係わる
ソフトウェア検証装置の構成を示すブロック図である。
なお、図4中に示す機能と同様の部分については、同一
符号を付して説明を省略する。
【0017】図1に示す構成では、ロボットやクレーン
や産業機械などのマイクロコンピュータを利用した制御
装置(CPUボード)21を制御する制御装置用ソフト
ウェア22の検証を行なうための構成である。
【0018】制御装置用ソフトウェア22は、OS(オ
ペレーティングシステム)4のもとでリアルタイムに動
作するもので、検証用の任意の数の検証モジュール22
aが組み込むことができる。検証モジュール22aは、
テストケースに応じたテスト条件の設定、あるいはソフ
トウェアの実行状況を表すデータ、例えばソフトウェア
を実行することで変化する変数の値を収集できるよう
に、プログラムの実行途中の任意の箇所に組み込まれ
る。検証モジュール22aは、メモリ24を介して動作
が制御されたり、収集した変数の値をメモリ24上の所
定の場所に格納する。
【0019】通信サーバ23は、表示装置25と通信に
より接続され、テスト員11から要求されたコマンドを
メモリ24に書き込んだり、メモリ24上の収集データ
を表示装置25側に送信する。
【0020】パーソナルコンピュータ等によって構成さ
れる表示装置25には、プログラム解析部26、データ
ベース27、通信クライアント28、表示部29、表示
内容設定部30が設けられている。
【0021】プログラム解析部26は、検証モジュール
22aが組み込まれた制御装置用ソフトウェア22の制
御プログラム(ソースコード)6を解析して、検証モジ
ュール22aが使用されている状況をデータベース化す
る。
【0022】データベース27は、プログラム解析部2
6によって解析された検証モジュール22aの使用状
況、例えば検証モジュール22aが組み込まれたプログ
ラム名や、制御装置用ソフトウェア22に組み込まれた
検証モジュール22aが対象としている変数の変数名や
変数の型などが、検証モジュール22a毎にまとめられ
たデータである。
【0023】通信クライアント28は、制御装置21の
通信サーバ23との間で、例えば通信ケーブルを介した
シリアル通信を行ない、テスト員11によって指示され
た命令を表示部29から受け取って制御装置21に対し
て送信したり、また制御装置21から取得したソフトウ
ェアの検証のためのデータを表示部29に提供したりす
る。
【0024】表示部29は、表示内容設定部30によっ
て設定された内容に従うソフトウェアの検証のために選
択可能なデータの一覧リストの表示や、通信クライアン
ト28を介して取得した制御装置21からの(検証モジ
ュール22aによって収集された)データの視覚的に分
かり易い形式による表示、ソフトウェアの検証のための
命令入力用の画面の表示等を行なう。
【0025】表示内容設定部30は、データベース27
の内容、すなわち検証モジュール22aが制御装置用ソ
フトウェア22において使用されている状況に基づい
て、ソフトウェアの検証のためにテスト員11が要求す
るデータを選択するための一覧(リスト等)を設定して
表示部29によって表示させる。
【0026】次に、本実施形態における制御装置21に
おける制御装置用ソフトウェア22を検証する動作につ
いて説明する。図2には、制御装置用ソフトウェア22
に組み込まれる検証モジュール22aの例を示してい
る。本実施形態における検証モジュール22aは、例え
ばC言語により記述されるプログラムを対象としてお
り、関数(ライブラリ)またはマクロ関数で実現されて
いる。
【0027】例えば、図2に示す関数MONIは、変数
の値を参照(モニタリング)する場合に使用する検証モ
ジュールであり、また関数OVALは、指定する変数に
指定値を上書き(オーバライト)して値を変更する場合
に使用する検証モジュールである。その他、図2に示す
各種の目的を持った関数が用意されている。なお、図2
に示す関数は、多くの機会に使用される機能を挙げたも
ので、これ以外の検証モジュールを設けることも勿論可
能である。
【0028】検証モジュール22aは、例えば図3に示
すように、C言語で記述された制御プログラムのソース
コードにおいて、テスト員11によってテキストエディ
タ等の入力手段を用いて記述されることで、制御装置用
ソフトウェア22に組み込まれる。テスト員11は、検
証モジュール22aをソフトウェアに埋め込む場合に、
必要とするデータに対して変数名を使って定義すること
ができる。検証モジュール22aは、テストケースに従
って、必要な任意の関数がプログラム中の所定の箇所に
予め挿入される。
【0029】図3に示す例では、関数OVALがプログ
ラム中に挿入されている例を示している。関数OVAL
の引数として、第1引数が、上書きする指定値が格納さ
れている領域のインデックス番号、第2引数が上書きす
る対象の変数のアドレス、第3引数が変数の型を示して
いる。
【0030】変数aがfunc1の返り値で設定された
後、関数OVALにより指定値に変更することができ
る。勿論、関数OVALにより指定値で変数aの値を上
書きするか否かは、表示部29(テキストエディタ)側
から制御することができる。これによりテストケースに
応じた条件を容易に設定することができる。
【0031】検証モジュール22aは、制御装置21に
おいて制御装置用ソフトウェア22を実行させた際に、
挿入した箇所のプログラムが実行されたときに呼び出さ
れ、指定する変数に値を設定したり、逆に変数の値を読
み取って指定のメモリ領域に格納する。つまり各検証モ
ジュール22aは、テスト条件の設定やデータ収集を行
ない、その結果をメモリ24に格納する。
【0032】表示装置25では、通信クライアント28
と表示部29により、テスト員11から検証モジュール
に対して設定する値や収集を開始する命令を取得して、
制御装置21に送信することができる。
【0033】この際、制御装置用ソフトウェア22に組
み込んだ検証モジュール22aが多数ある場合、プログ
ラム中のどの位置に挿入したかをテスト員11が把握し
ていることが困難であるが、データベース27を利用し
て選択式で設定できるようになっている。
【0034】すなわち、検証モジュール22aが組み込
まれた制御プログラム6のソースコードがプログラム解
析部26により解析され、例えば図2に示すような各検
証モジュール(関数)が取り出され、それら検証モジュ
ールが対象としている変数や変数の型などがまとめてデ
ータベース27に登録されている。
【0035】表示内容設定部30は、データベース27
に登録されたデータをもとにして、ソフトウェアの検証
のために参照可能な変数名や変数の型等を含む一覧リス
トを、表示部29によってテスト員11に提示する。テ
スト員11は、表示部29によって提示されたリスト中
から、検証結果として表示すべき変数名や、ソフトウェ
アの検証のために値を変更する変数などを選択式で設定
する。この手段により、テスト員11は、変数名やイン
デックスなど、制御プログラム6のソースコードに組み
込んだものを容易に検索でき、またテスト条件を指定す
る際のスペルミスなどの間違いを発生させる心配がな
い。
【0036】こうして、テスト員11から指示された命
令や変数等が表示部29、通信クライアント28によっ
て制御装置21に送信されると、制御装置21の通信サ
ーバ23によって、メモリ24に格納された検証モジュ
ール22aにより取得されたデータが、テスト員11か
らの要求に応じて返送される。
【0037】表示部29は、通信クライアント28を介
して取得した制御装置21からのデータを、例えばグラ
フやリスト形式など、視覚的に分かり易い形式によって
表示してテスト員11に提示する。従って、ソフトウェ
ア検証を行なうテスト員11の理解を助けることができ
る。
【0038】このようにして、テスト員11によってテ
キストエディタ等の入力手段を用いて、制御装置用ソフ
トウェア22にソフトウェア検証用の検証モジュール2
2aをテスト条件を指定した組み込むことによって、制
御装置用ソフトウェア22が実行されたときに検証モジ
ュール22aによって変数の値などのソフトウェア検証
のためのデータを取得することができる。
【0039】一方、表示装置25では、プログラム解析
部26によって、検証モジュール22aが埋め込まれた
制御プログラム6を解析し、検証モジュール22aが挿
入されているプログラム名や対象とする変数名、変数の
型などが抽出されてデータベース化され、テスト員11
がソフトウェア検証のために表示すべき変数等を指定す
る場合に、データベース27に登録された内容から選択
することができ、テスト員11の設定ミス等を防止し負
担を軽減することができる。
【0040】また、検証モジュール22aによって収集
されたデータを表示部29によって表示する際には、グ
ラフやリスト等の分かりやすい形式で表示にすること
で、制御装置用ソフトウェア22の実行結果がテスト員
11に容易に理解することができ、ソフトウェアの検証
を容易にする。
【0041】なお、上述した実施形態において説明し
た、検証モジュール22a、通信サーバ23、プログラ
ム解析部26、通信クライアント28、表示部29、表
示内容設定部30の機能は、コンピュータに実行させる
ことのできるプログラムとして記録媒体に記録されて提
供されるものであっても良い。記録媒体には、例えば磁
気ディスク(フロッピーディスク、ハードディスク
等)、光ディスク(CD−ROM、DVD等)、半導体
メモリなどがある。また、通信媒体により伝送によって
プログラムが提供されるものであっても良い。
【0042】本実施形態におけるソフトウェア検証装置
を実現するコンピュータ(制御装置21、表示装置2
5)は、提供された記録媒体に記録されたプログラム、
あるいは通信媒体を介して取得したプログラムを読み込
み、このプログラムによって動作が制御されることによ
り、上述した処理を実行することができる。
【0043】
【発明の効果】以上詳述したように本発明によれば、制
御装置の動作を司るソフトウェアの検証を行うソフトウ
ェア検証装置であって、前記ソフトウェアに対するテス
ト条件の設定、及びソフトウェアの実行状況を表すデー
タを収集する、前記ソフトウェアに組み込まれる検証モ
ジュールと、前記検証モジュールが組み込まれたソフト
ウェアを解析して、前記検証モジュールがソフトウェア
において使用されている状況をデータベース化する解析
手段と、前記解析手段によってデータベース化された状
況をもとに、前記検証モジュールによって収集されるデ
ータから要求するものを選択するための一覧を設定する
表示内容設定手段と、前記表示内容設定手段によって設
定された一覧中から選択されたデータを、前記検証モジ
ュールによって収集されたデータから取得して、視覚的
に分かり易い形式によって表示する表示手段とを具備す
るので、高機能なデバッガが制御装置に容易に組み込め
ないような場合でも、使用している機能にはデバッガで
用いる特殊な機能(ブレークポイントやコンパイラとの
整合性)が要求されないため、比較的簡単に組み込むこ
とができる。
【0044】また、ソースコードレベルでテスト条件を
設定し、確認することができるため、テスト員に対し
て、機械語などの低機能デバッガを使用する上で必要と
なる技能が要求されず負担を大幅に軽減することができ
る。
【図面の簡単な説明】
【図1】本発明の実施形態に係わるソフトウェア検証装
置の構成を示すブロック図。
【図2】本実施形態における制御装置用ソフトウェア2
2に組み込まれる検証モジュール22aの一例を示す
図。
【図3】本実施形態における検証モジュール22aがC
言語で記述された制御プログラムのソースコードに挿入
された一例を示す図。
【図4】従来の制御装置用ソフトウェア2を検証するた
めのソフトウェア検証装置の概略構成を示す図。
【符号の説明】
21 制御装置 22 制御装置用ソフトウェア 22a 検証モジュール 23 通信サーバ 24 メモリ 26 プログラム解析部 27 データベース 28 通信クライアント 29 表示部 30 表示内容設定部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 制御装置の動作を司るソフトウェアの
    検証を行うソフトウェア検証装置であって、 前記ソフトウェアに対するテスト条件の設定、及びソフ
    トウェアの実行状況を表すデータを収集する、前記ソフ
    トウェアに組み込まれる検証モジュールと、 前記検証モジュールが組み込まれたソフトウェアを解析
    して、前記検証モジュールがソフトウェアにおいて使用
    されている状況をデータベース化する解析手段と、 前記解析手段によってデータベース化された状況をもと
    に、前記検証モジュールによって収集されるデータから
    要求するものを選択するための一覧を設定する表示内容
    設定手段と、 前記表示内容設定手段によって設定された一覧中から選
    択されたデータを、前記検証モジュールによって収集さ
    れたデータから取得して、視覚的に分かり易い形式によ
    って表示する表示手段とを具備したことを特徴とするソ
    フトウェア検証装置。
JP9204380A 1997-07-30 1997-07-30 ソフトウェア検証装置 Withdrawn JPH1153219A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9204380A JPH1153219A (ja) 1997-07-30 1997-07-30 ソフトウェア検証装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9204380A JPH1153219A (ja) 1997-07-30 1997-07-30 ソフトウェア検証装置

Publications (1)

Publication Number Publication Date
JPH1153219A true JPH1153219A (ja) 1999-02-26

Family

ID=16489578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9204380A Withdrawn JPH1153219A (ja) 1997-07-30 1997-07-30 ソフトウェア検証装置

Country Status (1)

Country Link
JP (1) JPH1153219A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006215896A (ja) * 2005-02-04 2006-08-17 Nec Micro Systems Ltd 条件付コンパイル用識別子の管理方法、コンピュータプログラムの作成支援装置及びプログラム
DE102018008257A1 (de) 2017-10-25 2019-04-25 Fanuc Corporation Numerische steuereinheit

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006215896A (ja) * 2005-02-04 2006-08-17 Nec Micro Systems Ltd 条件付コンパイル用識別子の管理方法、コンピュータプログラムの作成支援装置及びプログラム
DE102018008257A1 (de) 2017-10-25 2019-04-25 Fanuc Corporation Numerische steuereinheit
US10895865B2 (en) 2017-10-25 2021-01-19 Fanuc Corporation Numerical controller

Similar Documents

Publication Publication Date Title
US6175206B1 (en) Robot information processor
US5926638A (en) Program debugging system for debugging a program having graphical user interface
WO2015136959A1 (ja) 制御システム、方法、プログラムおよび情報処理装置
JPH04256034A (ja) コンピユータシステム
CN111444609B (zh) 数据处理方法及仿真系统
KR101110241B1 (ko) 프로그램 테스트 장치 및 프로그램
US11958511B2 (en) Train signal system and linkage method therefor
JP2021096637A (ja) エンジニアリングユニットおよび開発支援方法
JP6984565B2 (ja) 情報処理装置およびプログラム
JP4702194B2 (ja) プログラム開発支援装置、プログラム開発支援方法およびプログラム開発支援プログラム
US20100180157A1 (en) Remote hardware inspection system and method
JPH1153219A (ja) ソフトウェア検証装置
JP2008135008A (ja) プログラムモジュール検証方式
JPH07219807A (ja) プログラマブルコントローラシステム
EP3792710B1 (en) Control system, support device, and support program
JP2007004516A (ja) 組込みシステムのプログラムデバッグ方法
JP2004139313A (ja) ソースコード表示システム及びプログラム
JP4590907B2 (ja) ソフトウェア開発支援装置及びソフトウェア開発支援プログラム
JP2004287869A (ja) プログラム実行監視装置および方法
JPS6177941A (ja) 情報処理装置用携帯形障害診断装置
JP2908337B2 (ja) マルチプロセス対応vhdlシミュレーション実行システム
JPH1091477A (ja) 制御用マイクロコンピュータ装置及び該装置の保守ツール
JP3559439B2 (ja) プラント監視制御装置及びプラント監視制御方法
JPH0589078A (ja) ラボラトリオートメーシヨン支援装置
JP2007184002A (ja) マルチプロセス管理装置及びコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20041005