JP5753508B2 - プログラム検証システムおよびその検証方法 - Google Patents

プログラム検証システムおよびその検証方法 Download PDF

Info

Publication number
JP5753508B2
JP5753508B2 JP2012059475A JP2012059475A JP5753508B2 JP 5753508 B2 JP5753508 B2 JP 5753508B2 JP 2012059475 A JP2012059475 A JP 2012059475A JP 2012059475 A JP2012059475 A JP 2012059475A JP 5753508 B2 JP5753508 B2 JP 5753508B2
Authority
JP
Japan
Prior art keywords
program
status
virtual
peripheral device
cpu
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.)
Expired - Fee Related
Application number
JP2012059475A
Other languages
English (en)
Other versions
JP2013196060A (ja
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012059475A priority Critical patent/JP5753508B2/ja
Publication of JP2013196060A publication Critical patent/JP2013196060A/ja
Application granted granted Critical
Publication of JP5753508B2 publication Critical patent/JP5753508B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、制御装置内のCPUに実装されるプログラムを動作検証するプログラム検証システムに関する。
原子力発電所をはじめとする発電プラントの制御装置は、制御装置内のCPUに実装されるプログラムによってプラント機器の制御や監視を行う。この制御装置内には、メモリや伝送装置等の周辺デバイスが設けられ、これら周辺デバイスがプログラムからの指令によって動作する。そして、原子力発電所をはじめとする発電プラントの制御装置に実装されるプログラムは、制御装置に設けられるメモリや伝送装置の異常発生時にこれらの異常を探知し、他のデバイスへの切り替えや中央制御室への異常発生の通知、ログ記録等の動作が要求される。
従来のプログラムの検証方法としては、実制御装置にプログラムを実装し、制御装置内の正常時ならびに異常時の実デバイスを動作させ、プログラムの応答を検証していた。しかし、開発コストの削減や開発期間の短縮のためにプログラムおよびデバイスを模擬動作させるシステムを用いたプログラムの動作検証が望まれている。
そこでプログラムの動作検証システムについて、以下の技術が開発されている。CPUおよびCPUにバスを介して接続されるデバイスをコンピュータ上で協調して模擬動作させ、プログラムの動作検証を行う技術が開発されている(例えば、特許文献1参照。)。また、プログラマブルコントローラの動作検証において、プログラマブルコントローラに接続されるデバイスの異常を模擬し、デバイス異常時に発する信号を模擬発信する技術が開発されている(例えば、特許文献2参照。)。
特開2007−11720号公報 特開2008―293488号公報
しかしながら、特許文献1に記載の技術は、デバイスの正常状態を模擬動作させているため、デバイス異常時の状況下においてプログラムを模擬動作させて動作検証を行うことはできない。また、特許文献2に記載の技術は、プログラマブルコントローラに接続されるデバイスの異常を異常時に発信する信号によって模擬するだけであるため、プログラムからの指令に対する異常デバイスの応答や、プログラムの異常デバイスに対する動作や異常判定は模擬できない。
そこで本発明は、異常あるデバイスに対するプログラムの動作結果を検証することができるプログラム検証システムの提供を目的とする。
上記目的を達成するために、本発明のプログラム検証システムは、CPUに実装されるプログラムを模擬動作させる仮想プログラム実行部と、CPUに接続される周辺デバイスを正常または異常のステータスにおいて模擬動作させることができる仮想デバイス実行部と、周辺デバイスの正常または異常のステータスを指定することができるステータス入力部と、正常時ならびに異常時の周辺デバイスに対するプログラムの適合動作を記憶する適合動作記憶部とを備え、仮想デバイス実行部は、ステータス入力部によって指定されたステータスを周辺デバイスに与え、当該ステータスにおいて周辺デバイスを動作させ、仮想プログラム実行部は、当該ステータス下の周辺デバイスに対してプログラムを動作させ、さらにプログラムの動作結果を当該ステータスにおける適合動作と照合してプログラムの動作検証を行うことを特徴とする。
さらに上記目的を達成するために、本発明のプログラム検証方法は、プログラムが実装されるCPUに接続される周辺デバイスに正常または異常のステータスを指定する工程と、指定されたステータスにおける周辺デバイスを模擬動作させる工程と、指定されたステータスにおける周辺デバイスに対してプログラムを動作させる工程と、プログラムの動作結果を当該ステータスにおけるプログラムの適合動作である適合動作と照合してプログラムの動作検証を行う工程とを備えることを特徴とする。
本発明によれば、プログラム検証システムによって異常あるデバイスに対するプログラムの動作結果を検証することができる。
本発明の第1の実施形態に係るフトウエア検証システムの概略構成図。 本発明の第1の実施形態に係るプログラム検証システムのコントローラを二重化構成とした場合の概略構成図。 本発明の第2の実施形態に係るフトウエア検証システムの概略構成図。 本発明の第3の実施形態に係るフトウエア検証システムの概略構成図。 本発明の第4の実施形態に係るフトウエア検証システムの概略構成図。 本発明の第5の実施形態に係るフトウエア検証システムの概略構成図。 本発明の第6の実施形態に係るフトウエア検証システムの概略構成図。
以下、本発明の実施形態を説明する。
(第1の実施形態)
(構成)
以下、本発明の第1の実施形態に係るプログラム検証システムについて図1および図2を参照して説明する。図1は、本発明の第1の実施形態に係るプログラム検証システムの概略構成図である。
プログラム検証システム1は、パソコン(ハードウエア)H/W9のホスト(オペレーションシステム)OS8上で動作するソフトウエアとして実装される。
プログラム検証システム1は、仮想CPU基板10と、仮想プログラム実行部2と、仮想デバイス実行部3と、ステータス入力部4と、適合動作記憶部5とから構成される。仮想CPU基板10は、実CPU基板上に実装するCPUコア11と周辺デバイス12を模擬する構成であり、実CPU基板に搭載するデバイスと同等のインタフェースを提供する。CPUコア11には、CPUコア11に実装されるプログラムと協調して動作するオンチップデバイスを構成に含めることができる。
周辺デバイス12は、CPUコア11にバスを介して接続され、CPUコア11と協調して動作するデバイスであり、メモリやハードディスクといった記憶装置、デジタル・アナログ入出力装置や光伝送装置、各種センサ、FPGA(Field Programmable Gate Array)等の演算装置を適用することができる。
さらに周辺デバイス12は、カスタムデバイスとサードパーティデバイスに分類される。カスタムデバイスは、一般にCPUコア11が実装される基板に規格品として動作保障された状態で実装される汎用デバイスである。サードパーティデバイスは、プラント監視装置等の特定の目的の使用のために個別に実装されるデバイスである。
また、周辺デバイス12は、LANポート等によって接続される外部の個別保守ツール200からのデータを受信するものを適用することができる。また、図2に示すように二重化バス14やCPCI(Compact Peripheral Component Interconnect)バス15と接続され、外部装置や他のCPU基板とデータ送受信を行うものを適用することができる。
仮想プログラム実行部2は、CPUコア11に実装されるプログラムを動作させる。当該プログラムは、周辺デバイス12と協調して動作し、さらにバスを通じて操作卓からの指令に応じた動作や、所定時間における自動のアプリケーション実行等を行う。さらに仮想プログラム実行部2は、プログラムの各動作結果を逐次受信することができる。
ステータス入力部4は、上述した周辺デバイス12の正常および異常を含むステータスを個別に指定することができる。CPUコア11に実装されるプログラムは、複数の周辺デバイス12がそれぞれ正常または異常のステータス下にある様々なステータス組の状況下おいて動作することが要求される。図1に示すテーブルは、動作要求される複数の周辺デバイス12のステータスを定めたステータス組をあらかじめ複数定めたものであり、この組を順に与えてプログラムを動作させるものとする。または、マウスやキーボードといった入力デバイスによって複数の周辺デバイス12にそれぞれステータスを入力する構成してもよい。
仮想デバイス実行部3は、周辺デバイス12の各ステータスにおける動作をあらかじめ記憶し、ステータス入力部4の指定ステータスにしたがって周辺デバイス12に当該ステータスを与えて動作模擬することができる。周辺デバイス12の動作は、自発的な動作やプログラムからの応答動作が含まれる。異常時の動作についても周辺デバイス12ごとに定められ、CPUコア11との断線や機能停止によってプログラムからの指令を受信できない状態や、異常な演算結果をプログラムに送信する状態などを設定することができる。
適合動作記憶部5は、ステータス入力部4が指定した各ステータスにおけるプログラムの適切な動作である適合動作を記憶するものである。例えば、周辺デバイス12が断線や機能停止によってプログラムからの指令を受信できない場合には、プログラムはこの異常を探知し操作卓画面に通知し、または他の正常なコントローラへの切替を行うことを適合動作として設定することができる。
さらにプログラム検証システム1は、仮想CPU基板を二重化構成とした仮想コントロールユニット18におけるプログラムの動作検証を行うこともできる。図2は、本発明の第1の実施形態に係るプログラム検証システムのコントローラを二重化構成とした場合の概略構成図である。図2に示すプログラム検証システム1は、仮想コントロールユニット18をパソコンH/W9のホストOS8上で模擬動作させるソフトウエアとして実装される。
仮想コントロールユニット18は、仮想コントローラ16a、16bから構成される。仮想コントローラ16aは、仮想CPU基板10aと、仮想コミュニケーション基板21aと、仮想タイムサーバ(インターフェイス)IF基板22aとから構成される。仮想コントローラ16bは、仮想CPU基板10bと、仮想コミュニケーション基板21bと、仮想タイムサーバIF基板22bとから構成される。さらに仮想コントローラ16aと仮想コントローラ16bは、仮想二重化バス14によって接続され二重化システムとして構成される。
(作用)
以下、本発明の第1の実施形態の作用について説明する。まずプログラム検証システム1によって仮想CPU基板10内のCPUコア11に実装されるプログラムの動作検証を行う作用について説明する。
まず、ステータス入力部4によって複数の周辺デバイス12の正常または異常のステータスを個別に指定する。例として、図1に示すステータス組の1つを各周辺デバイス12に与える。以下、周辺デバイス12であるメモリ12aに書き込み不可の異常が発生した場合を模擬動作する場合について説明する。ステータス入力部4によって当該メモリについて異常ステータスを指定し、他の周辺デバイス12については正常を指定する。
仮想デバイス実行部3は、ステータス入力部4で指定されたステータスを各周辺デバイス12に与えて周辺デバイス12を動作させる。メモリ12aに異常ステータスを与えた場合、当該メモリは書き込み不可な状態を模擬動作する。他の周辺デバイス12については正常時の動作を行わせる。
ここで適合動作記憶部5は、ステータス入力部4が指定した周辺デバイス12の各ステータス下において、プログラムの適切な動作をあらかじめ記憶するものである。例えば、CPUコア11での演算結果をメモリに書き込む動作を行う場合において、メモリ12aが書き込み不可であるとき、プログラムは書き込み不可を探知して、当該情報を仮想CPCIバス15を介して操作員の操作卓画面に通知する動作を適合動作として定めることができる。
仮想プログラム実行部2は、上述した周辺デバイス12に各ステータスが与えられた状態で、CPUコア11に実装されたプログラムを動作させる。プログラムがメモリ12aの異常を探知し、操作卓画面に通知を行う動作結果を確認したときには、適合動作と合致するものとして検証結果がオペレータに通知され、または検証結果が記憶される。適合動作と一致しないときには、当該検証結果が通知、または記憶される。さらにステータス入力部4にあらかじめ動作検証を行うべきステータスの組が複数存在するときには、順にステータスの組を与えて各組についてプログラムの動作結果と適合動作の照合を行う。
さらにCPUコア11に実装されるプログラムは、周辺デバイス12の異常判定機能を有するものがある。この場合、周辺デバイス12は正常および異常ステータス下においてプログラムからの異常判定機能に対しての周辺デバイス12の応答が仮想デバイス実行部3によって行われる。このとき、仮想ソフトウエア実行部2は、異常判定信号の送信と周辺デバイス12からの応答の確認を行う。適合動作記憶部5においては、プログラムは、周辺デバイス12異常時の異常判定信号の応答を受信して操作卓画面に周辺デバイス12の異常を通知することを適合動作として設定しているものとする。仮想ソフトウエア実行部2によってプログラムが同様の動作を行った場合には、プログラムの動作は適切である旨を通知、記憶するものとする。
次に、仮想コントロールユニット100におけるプログラムの動作検証を行う場合について説明する。仮想コントローラA系16aおよび仮想コントローラB系16bは、個別保守ツール200から電力プラントを制御するデータ(以下、制御データと称す。)をパソコンH/W9に実装されているLANポート90aまたは90bを介して仮想CPU基板1aあるいは仮想CPU基板1bにロードして動作する。
仮想コントローラA系16aおよび仮想コントローラB系16bは、一重化システムとして動作するとき、それぞれの系統に実装される仮想コニュケーション基板21a、21bと仮想CPCIバス15を介してデータを入出力する。仮想タイムサーバ17は1sタイマを生成し、仮想タイムサーバIF基板22a、22bに同一の時刻を供給する。
仮想CPU基板10aまたは10bは、それぞれ仮想タイムサーバIF基板22aおよび22bから1s割込みが入り、仮想タイムサーバ17から供給された時刻を読み出し更新する。さらに二重化システムとして動作するときは、仮想CPU基板10a、10bは仮想二重化バス14を介して相互にデータを入出力し同期して動作する。
このような仮想コントロールユニット18において、仮想CPU基板10a内のプログラムの動作検証を行うとき、ステータス入力部4は同一基板内の周辺デバイス12に加えて、他系の仮想コントローラB系16bや仮想二重化バス14に正常および異常のステータスを指定し、仮想デバイス実行部3は指定されたステータスを各デバイスに与えて動作模擬を行うことができる。
さらに、適合動作記憶部5には、他系の仮想コントローラB系16bや仮想コントローラB系16bや仮想二重化バス14の正常および異常のステータスにおけるプログラムの適切な動作をあらかじめ記憶するものとする。例えば、他系の常用系とて設定されている仮想コントローラB系16bに異常が発生した場合、自系の仮想コントローラA系16aは二重化バス14を介して異常を探知して常用系を取得する動作を適合動作であると設定することができる。
仮想プログラム実行部2は、他系の仮想コントローラB系16bに異常ステータスが指定された状態で、CPUコア11に実装されるプログラムを動作させる。仮想コントローラA系16aが常用系を取得した場合には、適切な動作である旨を通知、記録する。
(効果)
本発明の第1の実施形態によれば、実CPU基板に実装するプログラムを実CPUコアがデコード可能なネイティブなバイナリコードにコンパイルされたプログラムを変更することなく仮想的に模擬したCPUコア11で実行し、デバイスアクセス用のプログラムを変更することなく仮想CPU基板10上の周辺デバイス12にアクセスし、周辺デバイス12に対する動作をさせることができる。
さらに各周辺デバイス12は、ステータス入力部4によって異常ステータスを与えて模擬動作させ、動作結果を適合動作と照合することによって、実装プログラムを変更することなく周辺デバイス12の診断処理の実行や異常時の動作結果の検証を行うことができる。
なお、OS8内のソフトウエア内の1機能であるステータス入力部だけでなく、図2に示すようにLANポート等によって接続される外部の試験支援ツール300によって各周辺デバイス12にステータスを与える構成としてもよい。
(第2の実施形態)
(構成)
以下、本発明の第2の実施形態に係るプログラム検証システムについて図3を参照して説明する。第1の実施形態に係るプログラム検証システムの各部と同一部分には同一符号を付し、同一の構成についての説明は省略する。
図3は、本発明の第2の実施形態に係るプログラム検証システムの概略構成図である。第2の実施形態が第1の実施形態と異なる点は、仮想タイムサーバ17から時刻を仮想タイムサーバIF基板22a、22bに入力し、時刻を校正する点である。
(作用)
以下、本発明の第2の実施形態の作用について説明する。仮想タイムサーバ17から1S割り込みにより仮想タイムサーバIF基板22a、22bの割り込みドライバ33が起動し時刻を取り込む。基板模擬処理部40は、割込みドライバから起動され、排他制御して共有メモリ41に時刻を書き込む。
割込出力処理32は、基板模擬処理30から指示を受け仮想CPCIバス5に割込みを出力する。仮想CPCIバス5は、サードパーティデバイスである仮想CPCIブリッジ12bは、CPUコア11を介して試験対象となる仮想CPU基板10aのプログラムの機能の1つである1S割込処理を起動する。1S割込処理は、共有メモリ41のデータを排他的に仮想CPCIブリッジ12bおよび仮想CPCIバス15を介して入力して時刻を更新する。
(効果)
本発明の第2の実施形態によれば、仮想CPU基板10a、10bは、実機のプログラムを変更することなく仮想タイムサーバ17からの時刻を実機と同様に1S毎に入力し、時刻を校正することができ、仮想環境で通常動作の試験が可能となる。特に、CPUコア11に実装されるプログラムが所定時刻に異常判定や所定のアプリケーション実行を行うときに、当該システム内で更新された時刻によって自動的に動作させることができる。
さらにステータス入力部4または試験支援ツール300によって基板模擬処理部40に時刻の異常値への変更、割込みの停止、共有メモリ41のアクセス権取得または開放エラー、共有メモリ41への不正アクセスによるNMI(Non Maskable Interrupt)割込みの発生、基板異常のステータス設定といった異常状態のステータスを与えて模擬動作させることができる。適合動作記憶部5には、実装プログラムが上記異常を探知した場合に操作卓画面の通知や正常なコントローラへの切替等の適合動作を記憶されている。仮想プログラム実行部2は、基板模擬処理部40の異常ステータス下でプログラムを動作させ、適合動作と照合する。この結果、実機のプログラムを変更することなく試験対象となる仮想CPU基板のプログラムの機能の一つであるリモートドライバによる仮想タイムサーバIF基板22a、22bの診断処理の実行や異常模擬の試験が可能となる。
(第3の実施形態)
(構成)
以下、本発明の第3の実施形態に係るプログラム検証システムについて図4を参照して説明する。第1の実施形態に係るプログラム検証システムの各部と同一部分には同一符号を付し、同一の構成についての説明は省略する。
図4は、本発明の第3の実施形態に係るプログラム検証システムの概略構成図である。第3の実施形態が第1の実施形態と異なる点は、仮想CPU基板10a、10bが仮想コミュニケーション基板とデータ入出力を行う点である。
(作用)
以下、本発明の第3の実施形態の作用について説明する。試験対象となる仮想CPU基板1aまたは1bのプログラムの機能の1つであるリモートドライバは、CPUコア11と、仮想CPCIブリッジ12b、仮想CPCIバス15を介して排他的に仮想コミュニケーション基板21aまたは21bの共有メモリ41にデータを出力する。
データには初期化時に出力する制御データと通常運転時に出力するプロセスデータがあり、基板模擬処理20は、制御データで指定された情報と予め支援ツール300に試験用に用意された試験シナリオで決まる入力データを共有メモリに設定する。リモートドライバは、共有メモリ41のアクセス権を取得し、設定されたデータを入力する。
(効果)
本発明の第3の実施形態によれば、仮想CPU基板10a、10bは、実機のプログラムを変更することなく仮想コミュニケーション基板とのデータ入出力をすることができ、仮想環境で通常動作の試験が可能となる。
さらにステータス入力部4または試験支援ツール300によって基板模擬処理部40に、共有メモリ41のアクセス権取得や開放エラー、共有メモリ41への不正アクセスによるNMI割込みの発生、基板異常のステータス設定といった異常状態のステータスを与えて模擬動作させることができる。適合動作記憶部5には、実装プログラムが上記異常を探知した場合に操作卓画面の通知や正常なコントローラへの切替等の適合動作を記憶されている。仮想プログラム実行部2は、基板模擬処理部40の異常ステータス下でプログラムを動作させ、適合動作と照合する。結果、実機のプログラムを変更することなく試験対象となる仮想CPU基板のプログラムの機能であるリモートドライバによる仮想コミュニケーション基板21a、21bの診断処理の実行や異常模擬の試験が可能となる。
(第4の実施形態)
(構成)
以下、本発明の第4の実施形態に係るプログラム検証システムについて図5を参照して説明する。第1の実施形態に係るプログラム検証システムの各部と同一部分には同一符号を付し、同一の構成についての説明は省略する。
図5は、本発明の第4の実施形態に係るプログラム検証システムの概略構成図である。第4の実施形態が第1の実施形態と異なる点は、仮想CPU基板10a、10bが仮想CPCIバス15上に実装する共有メモリ41を有する仮想基板とのインタフェースを構築する点である。
(作用)
以下、本発明の第4の実施形態の作用について説明する。以下、仮想CPU基板10aを代表して説明する。試験対象となる仮想CPU基板10aのプログラムの機能の1つであるリモートドライバは、CPUコア11、仮想CPCIブリッジ12bを介して仮想CPCIバス15のCPCIバス管理処理部15bに通知する。CPCIバス管理処理部15bは、通知された情報からアクセスする仮想コミュケーション基板を選択し、共有メモリ41のアクセス権を得る。
リモートドライバはアクセス権の取得を確認し、CPUコア11、仮想CPCIブリッジ12bを介して仮想CPCIバス5の入出力処理部15aにデータを出力し、仮想コミュニケーション基板21aの共有メモリ41にデータを出力した後、リモートドライバはCPCIバス管理処理50にアクセス権の開放を通知して共有メモリ41のアクセス権を開放する。
仮想コミュニケーション基板21aの基板模擬処理部40は、制御データで指定された情報とあらかじめ支援ツール300に試験用に用意された試験シナリオで決まる入力データを共有メモリ41に設定する。リモートドライバは、データ出力のときと同様にCPCIバス管理処理部15bに通知して共有メモリ41のアクセス権を取得し、設定されたデータを入出力処理部15aを介して入力した後、CPCIバス管理処理部15bに通知して共有メモリ41のアクセス権を開放する。
(効果)
本発明の第4の実施形態によれば、仮想CPU基板10aは、実機プログラムを変更することなく仮想CPCIバス15上に実装する共有メモリ41を有する仮想基板とのインタフェースを構築することができ、仮想環境で通常動作を試験することができる。
さらにステータス入力部4または試験支援ツール300によって、CPCIバス管理処理部15bにCPCIバス41への不正アクセスによるNMI割込みの発生、バスの断線などの異常状態を模擬することができる。適合動作記憶部5には、実装プログラムが上記異常を探知した場合に操作卓画面の通知や正常なコントローラへの切替等の適合動作を記憶されている。仮想プログラム実行部2は、CPCIバス管理処理部15bの異常ステータス下でプログラムを動作させ、適合動作と照合する。試験対象となる仮想CPU基板10a、10bのプログラムの機能であるリモートドライバによる仮想コミュニケーション基板21a、21bの診断処理の実行や異常模擬の試験が可能となる。
(第5の実施形態)
(構成)
以下、本発明の第5の実施形態に係るプログラム検証システムについて図6を参照して説明する。第1の実施形態に係るプログラム検証システムの各部と同一部分には同一符号を付し、同一の構成についての説明は省略する。
図6は、本発明の第5の実施形態に係るプログラム検証システムの概略構成図である。第5の実施形態が第1の実施形態と異なる点は、仮想CPU基板10a、10bが二重化構成され、トラッキング処理および常用動作と待機動作の切替動作を制御する点である。
(作用)
以下、本発明の第5の実施形態の作用について説明する。以下、10aを代表して説明する。
試験対象となる仮想CPU基板10aのプログラムの機能の一つであるトラッキング処理Caは、仮想CPUコアとオンチップデバイス10a、サードパーティデバイスである仮想IEEE(Institute of Electrical and Electronic Engineers)1394回路12cにデータを出力した後、データ送出の指示を出す。これにより、仮想1EEE1394回路11paは、ホストOS8の標準機能であるソケット80a機能を使用し、パソコンH/W9に実装するLANポート90aからLANポート90bを介してソケット80bにデータを出力する。
仮想CPU基板10bの仮想IEEE1394回路12cは、ソケット80bからデータを入力し、仮想CPU基板10bのCPUコア11に割り込みをかける。
仮想CPU基板10bのトラッキング処理部43bは、その状態をポーリングすることで、データを受信したことを確認し、仮想IEEE1394回路11c、CPUコア11を介してデータを入力する。本データ入力後、同様にして仮想CPU基板10bのトラッキング処理43bは、仮想CPU基板10aのトラッキング処理43aに応答するデータを出力する。
仮想コントロールユニット18が二重化システムとして動作するときは、例えば一方の仮想CPU基板10aが常用系として演算と入出力を行いプロセス制御する常用動作を行う。他方の仮想CPU基板10bは、上述のとおりトラッキング処理により予め制御データで指定した常用系の仮想CPU基板10aのデータを入力して演算を行う待機動作を行う。
このとき、二つの仮想CPU基板10a、10b間では、カスタムデバイス12の1つである常用待機ステータス回路12dは、仮想二重化バス14を介して信号を取り合いして先に常用動作になった仮想CPU基板10a、は、他方のCPU基板10b側に常用動作を示す信号を出し、他方のCPU基板10側の同回路が常用動作にならないようにする。
(効果)
本発明の第5の実施形態によれば、仮想CPU基板10aは、実機のプログラムを変更することなく二重化構成でのトラッキング処理および常用動作と待機動作の切替動作を制御することができ、仮想環境で二重化構成時の通常動作の試験が可能となる。
さらにステータス入力部4または試験支援ツール300によって、仮想二重化バス14、IEEE1394回路12c、および常用/待機ステータス回路12dの異常状態を模擬することができる。適合動作記憶部5には、実装プログラムが上記異常を探知した場合に操作卓画面の通知や正常なコントローラへの切替等を行う適合動作を記憶されている。仮想プログラム実行部2は、上記デバイスの異常ステータス下でプログラムを動作させ適合動作と照合することによって、仮想IEEE1394回路12cの診断処理の実行や異常模擬の試験を行うことができる。
(第6の実施形態)
(構成)
以下、本発明の第6の実施形態に係るプログラム検証システムについて図7を参照して説明する。第1の実施形態に係るプログラム検証システムの各部と同一部分には同一符号を付し、同一の構成についての説明は省略する。
図7は、本発明の第6の実施形態に係るプログラム検証システムの概略構成図である。第6の実施形態が第1の実施形態と異なる点は、仮想CPU基板10、10bが仮想コミュニケーション基板21a、21bとインタフェースを有するPIO(Process Input Output)基板とのデータ入出力を行う点である。
(作用)
以下、本発明の第6の実施形態の作用について説明する。試験対象となる仮想CPU基板10a、10bのプログラムの機能の1つであるリモートドライバは、仮想CPUコア11、仮想CPCIブリッジ12bおよび仮想CPCIバス15を介して排他的に仮想コミュニケーション基板21aまたは21bの共有メモリ41にデータを出力する。
基板模擬処理部40は、仮想コミュケーション基板21aまたは21bに接続するPIO基板とのデータ入出力を模擬するためPIO模擬処理部44を実行し、制御データで指定された情報と支援ツール300に試験用に用意された試験シナリオで決まる入データを決定し共有メモリ41に設定する。リモートドライバは、共有メモリ41のアクセス権を取得し、設定されたデータを入力する。
(効果)
本発明の第6の実施形態によれば、仮想CPU基板10、10bは、実機のプログラムを変更することなく仮想コミュニケーション基板とインタフェースを有するPIO基板とのデータ入出力ができ、仮想環境で通常動作の試験が可能となる。
さらにステータス入力部4または試験支援ツール300によって、基板模擬処理部40にPIO基板の異常ステータス設定などの異常状態を模擬することができる。適合動作記憶部5には、実装プログラムが上記異常を探知した場合に操作卓画面の通知や正常なコントローラへの切替等の適合動作を記憶されている。仮想プログラム実行部2は、上記デバイスの異常ステータス下でプログラムを動作させ適合動作と照合することによって、試験対象となる仮想CPU基板のプログラムの機能であるリモートドライバによるPIO模擬処理22がエミュレートするPIO基板の診断処理の実行や異常模擬の試験を行うことができる。
1・・・プログラム検証システム
2・・・仮想プログラム実行部
3・・・仮想デバイス実行部
4・・・ステータス入力部
5・・・適合動作記憶部
8・・・ホストOS
9・・・パソコンハードウエア(H/W)
10、10a、10b・・・仮想CPU基板
11、11a、11b・・・仮想CPU
12・・・周辺デバイス
12c・・・仮想IEEE(Institute of Electrical and Electronic Engineers)1394回路
12d・・・常用/待機ステータス回路
14・・・仮想二重化バス
15・・・仮想CPCI(Compact Peripheral Component Interconnect)バス
15a・・・入出力処理
15b・・・バス管理処理
16・・・仮想コントローラ
16a・・・仮想コントローラA系
16b・・・仮想コントローラB系
17・・・仮想タイムサーバ
18・・・仮想コントロールユニット
21a、21b・・・仮想コミュニケーション基板
22a、22b・・・仮想タイムサーバインターフェイス(IF)基板
40・・・基板模擬処理部
41・・・共有メモリ
43a、43b・・・トラッキング処理部
44・・・PIO(Process Input Output)模擬処理部
80a、80b・・・ソケット
90a、90b・・・LANポート
200・・・個別保守ツール
300・・・試験支援ツール

Claims (8)

  1. CPUに実装されるプログラムを模擬動作させる仮想プログラム実行部と、
    前記CPUに接続される周辺デバイスを正常または異常のステータスにおいて模擬動作させることができる仮想デバイス実行部と、
    前記周辺デバイスの正常または異常のステータスを指定することができるステータス入力部と、
    正常および異常のステータスにおける前記周辺デバイスに対する前記プログラムの適合動作を記憶する適合動作記憶部とを備え、
    前記仮想デバイス実行部は、前記ステータス入力部によって指定されたステータスを前記周辺デバイスに与え、当該ステータスにおいて前記周辺デバイスを動作させ、
    前記仮想プログラム実行部は、当該ステータス下の前記周辺デバイスに対して前記プログラムを動作させ、さらに前記プログラムの動作結果を当該ステータスにおける前記適合動作と照合して前記プログラムの動作検証を行うようにし、
    前記CPUおよび前記周辺デバイスは、各々二重化され、さらに二重化された前記CPUおよび前記周辺デバイスを接続するCPCIバスをエミュレートする仮想二重化バス実行部をさらに備え、
    適合応答記憶部は、前記CPCIバスの正常および異常のステータスに対する前記プログラムの適合な動作をさらに記憶し、
    前記仮想デバイス実行部は、エミュレートした前記CPCIバスの各ステータスに対する前記プログラムの動作を当該ステータスにおける適合情報と比較して前記プログラムの動作検証を行うことを特徴とするプログラム検証システム。
  2. 前記CPUには複数の周辺デバイスが接続され、前記プログラムは複数の前記周辺デバイスが各々正常または異常のステータスとなる複数のステータス組において動作するものであって、
    前記適合動作記憶部は、複数のステータス組における各々の前記プログラムの適合動作を記憶し、
    前記ステータス入力部によって複数のステータス組における各前記周辺デバイスのステータスを前記周辺デバイスに順に与え、前記仮想デバイス実行部は、各々のステータス組における前記プログラムの動作を当該ステータス組における前記適合動作と比較し、前記プログラムの動作検証を行うことを特徴とする請求項1に記載のプログラム検証システ
    ム。
  3. 前記周辺デバイスは、タイムサーバインターフェイス基板を仮想的に模擬する仮想タイムサーバインターフェイス基板を含み、
    前記適合動作記憶部は、前記仮想タイムサーバIF基板の正常および異常のステータスに対する前記プログラムの適合動作をさらに記憶することを特徴とする請求項1乃至請求項2の何れか一項に記載のプログラム検証システム。
  4. 前記周辺デバイスは、コミュニケーション基板を仮想的に模擬する仮想コミュニケーション基板を含み、
    前記適合動作記憶部は、前記仮想コミュニケーション基板の正常および異常のステータスに対する前記プログラムの適合動作をさらに記憶することを特徴とする請求項1乃至請求項3の何れか一項に記載のプログラム検証システム。
  5. 前記CPUは、コミュニケーション基板間をPCIブリッジ回路によりCPCIバスで接続してデータ入出力を行うものであって、
    前記周辺デバイスは、前記CPUと仮想コミュニケーション基板に組み込む仮想PCI回路間をソケット通信でイベント交換し共有メモリでデータを入出力できるCPCI仮想バスを含み、
    前記適合動作記憶部は、前記CPCI仮想バスの正常および異常のステータスに対する前記プログラムの適合動作をさらに記憶することを特徴とする請求項1乃至請求項4の何れか一項に記載のプログラム検証システム。
  6. 前記CPUは、IEEE1394インタフェース回路間を二重化バスで接続してデータ入出力を行うものであって、
    前記周辺デバイスは、前記IEEE1394インタフェース回路をパソコンに搭載するLANコントローラにソケットインタフェースを使用して接続することでLAN通信に変換し、二つの仮想CPU基板間のデータ伝送を仮想的に模擬する仮想二重化バスを含み

    前記適合動作記憶部は、前記仮想二重化バスの正常および異常のステータスに対する前記プログラムの適合な動作をさらに記憶することを特徴とする請求項1乃至請求項5の何れか一項に記載のプログラム検証システム。
  7. 前記周辺デバイスは、PIO基板とのデータ入出力を仮想的に模擬するPIO模擬処理を含み、
    前記適合動作記憶部は、前記PIO模擬処理の正常および異常のステータスに対する前記プログラムの適合動作をさらに記憶することを特徴とする請求項1乃至請求項6の何れか一項に記載のプログラム検証システム。
  8. プログラムが実装されるCPUに接続される周辺デバイスに正常または異常のステータスを指定する工程と、
    指定されたステータスにおいて前記周辺デバイスを模擬動作させる工程と、
    指定されたステータスにおける前記周辺デバイスに対してプログラムを動作させる工程と、
    前記プログラムの動作結果を当該ステータスにおける前記プログラムの適合動作である適合動作と照合して前記プログラムの動作検証を行う工程とを備えるプログラム検証方法であって、
    前記CPUおよび前記周辺デバイスは各々二重化されており、
    二重化された前記CPUおよび前記周辺デバイスを、接続するCPCIバスにエミュレートさせる工程と、
    前記CPCIバスの正常および異常のステータスに対する前記プログラムの適合な動作を記憶装置に記憶させる工程と、
    エミュレートされた前記CPCIバスの各ステータスに対する前記プログラムの動作を当該ステータスにおける適合情報と比較して前記プログラムの動作検証させる工程とを備えたことを特徴とするプログラム検証方法。
JP2012059475A 2012-03-15 2012-03-15 プログラム検証システムおよびその検証方法 Expired - Fee Related JP5753508B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012059475A JP5753508B2 (ja) 2012-03-15 2012-03-15 プログラム検証システムおよびその検証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012059475A JP5753508B2 (ja) 2012-03-15 2012-03-15 プログラム検証システムおよびその検証方法

Publications (2)

Publication Number Publication Date
JP2013196060A JP2013196060A (ja) 2013-09-30
JP5753508B2 true JP5753508B2 (ja) 2015-07-22

Family

ID=49394993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012059475A Expired - Fee Related JP5753508B2 (ja) 2012-03-15 2012-03-15 プログラム検証システムおよびその検証方法

Country Status (1)

Country Link
JP (1) JP5753508B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2891981B1 (en) * 2014-01-06 2018-07-18 Fujitsu Limited Method and computing system allowing a method of injecting hardware faults into an executing application
CN113687839B (zh) * 2021-08-24 2023-08-08 天津津航计算技术研究所 一种基于pci9054的cpci板卡配置芯片的板上烧写方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0675810A (ja) * 1992-08-26 1994-03-18 Fujitsu Ltd 入出力装置に対するアクセス処理関数の検証方法
JP2005250937A (ja) * 2004-03-05 2005-09-15 Matsushita Electric Ind Co Ltd マイクロコンピュータソフトウェアのプログラム検証装置
JP5452336B2 (ja) * 2010-04-20 2014-03-26 三菱電機株式会社 周辺機器障害模擬システム、周辺機器障害模擬方法および周辺機器障害模擬プログラム

Also Published As

Publication number Publication date
JP2013196060A (ja) 2013-09-30

Similar Documents

Publication Publication Date Title
CN107111595B (zh) 用于检测早期引导错误的方法、设备及系统
US20130268708A1 (en) Motherboard test device and connection module thereof
CN108319549B (zh) 一种测试系统及测试方法
JP6692278B2 (ja) 演算装置及び仮想開発環境装置
US20200033832A1 (en) Techniques for providing a secured control parameter for multi-channel control of a machine
CN107678958A (zh) 一种用于综合参数显示系统软件的测试方法
US20080299525A1 (en) Operation training system and operation training method
US9183118B2 (en) Method for simulating a system on board an aircraft for testing an operating software program and device for implementing said method
KR101469179B1 (ko) 원자력 발전 시뮬레이터의 통신 진단 시스템
CN105453033A (zh) 程序测试服务
JP5753508B2 (ja) プログラム検証システムおよびその検証方法
JP6540473B2 (ja) デバッグサポートシステム
KR101658563B1 (ko) 항공기의 임베디드 컴퓨터 검증을 위한 외부장치 모의기 시스템 및 이의 운영방법
CN110673592A (zh) 一种微小卫星多个分系统通用化的故障检测测试系统
CN107450980B (zh) 运行自动化装置的方法以及自动化装置
KR20140084660A (ko) 항공기 탑재컴퓨터의 실시간 검증장치 및 그 제어방법
JP4102814B2 (ja) 入出力制御装置,情報制御装置及び情報制御方法
JP2019179284A (ja) シミュレーションシステム、及びシミュレーションプログラム
CN111044826B (zh) 检测方法及检测系统
CN111221684B (zh) 伺服器的检测方法
KR101668794B1 (ko) 원자력 발전소 시뮬레이터 서버 장애 허용 장치 및 방법
RU2487397C2 (ru) Электронная плата, выполненная с возможностью исполнения команды, происходящей из системы моделирования, и команды, происходящей из диагностического модуля, и соответствующий способ моделирования
Balashov et al. A hardware-in-the-loop simulation environment for real-time systems development and architecture evaluation
CN114414261B (zh) 一种车辆试验台和车辆测试方法
Her et al. Methodology of network environment testing for IoT devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140905

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141104

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20150216

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150218

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: 20150424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150522

LAPS Cancellation because of no payment of annual fees