JP2005352670A - シミュレーション装置及び検査装置 - Google Patents

シミュレーション装置及び検査装置 Download PDF

Info

Publication number
JP2005352670A
JP2005352670A JP2004171463A JP2004171463A JP2005352670A JP 2005352670 A JP2005352670 A JP 2005352670A JP 2004171463 A JP2004171463 A JP 2004171463A JP 2004171463 A JP2004171463 A JP 2004171463A JP 2005352670 A JP2005352670 A JP 2005352670A
Authority
JP
Japan
Prior art keywords
subsystem
program
model
inspection
block
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.)
Pending
Application number
JP2004171463A
Other languages
English (en)
Inventor
Shingo Nishie
慎吾 西江
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2004171463A priority Critical patent/JP2005352670A/ja
Publication of JP2005352670A publication Critical patent/JP2005352670A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】 制御系等のシステムを構成するサブシステムについてのシミュレーションを簡単に行えるようにして、開発プログラムの検査を効率的に行えるようにすること。
【解決手段】 シミュレーション装置は、サブシステムブロックを構成するブロック群の内、サブシステムブロック外であって上層システム内のブロックからデータを受け取る構成にされた入力ポートブロックを、所定のメモリ領域に設定された値を取得する変数読出ブロックに変更する(S220,S225)。また、上記ブロック群の内、サブシステムブロック外であって上層システム内のブロックにデータを引き渡す構成にされた出力ポートブロックを、所定のメモリ領域に値を記録する変数書込ブロックに変更する(S240,245)。シミュレーション装置は、この修正後のサブシステムのモデルを用いて、サブシステムについてのシミュレーションを行う。
【選択図】 図4

Description

本発明は、モデル化されたシステムのシミュレーションを行うシミュレーション装置、及び、そのシミュレーション装置を用いたプログラムの検査装置に関する。
従来、情報処理装置(パーソナルコンピュータ等)に、システムのモデル化やシミュレーション等を簡易に実現するSimulink(登録商標)等のソフトウェアパッケージを組み込み、このソフトウェアパッケージを用いて、制御システム等のシミュレーションを行う方法が知られている。
Simulink(登録商標)は、ポインティングデバイスから入力される利用者の操作情報に従って、システムのモデルを表すブロック線図を形成する。このソフトウェアパッケージには、ブロック線図に用いることのできる各ブロックについて、そのブロックに対応する機能をコンピュータに実現させるためのプログラムコード(基本プログラム)が用意されており、Simulink(登録商標)は、この基本プログラムを、ブロック線図の内容に従って組み合わせ、これをコンピュータに実行させることにより、上記システムのシミュレーションを実現する。尚、Simulink(登録商標)等のソフトウェアパッケージについては、周知であるので、ここでは先行技術文献を非開示とする。
ところで、制御システム等に用いるプログラムの検査方法としては、従来、プログラムの実行結果(出力データ)と、検査する者が手計算で論理的に導出した理論値と、を比較することによりプログラムの実行結果が適切であるか否かを検査する方法が知られている。しかしながら、この方法では、検査する者の負担が大きく、また、計算ミスが多いため、検査効率が悪いと言った問題があった。
そこで、本発明者らは、上記Simulink(登録商標)等のソフトウェアパッケージを用いて理論値を算出し、この理論値と、プログラムの実行結果(出力データ)と、を比較することにより、制御システム等に用いるプログラムの実行結果が適切であるか否かを検査する方法を考えた。
しかしながら、上記ソフトウェアパッケージでは、仕様上、システム全体についてのシミュレーションを行うことはできても、そのシステムを構成するサブシステムについてのシミュレーションを、選択的に実行することができない。サブシステム内の基本プログラムは、そのシステム内であってサブシステム外の基本プログラムとデータを授受する構成にされているため、外部から検査用のデータを入力しようとしても、サブシステム外の基本プログラムの処理を経なければ、検査対象のサブシステムにデータを伝達することができないのである。
従って、サブシステムについての単独シミュレーションを行うためには、そのサブシステムについてのブロック線図を、手作業で、一つのシステムのモデルとして新たに作成しなければならず、従来の方法では、サブシステムについての検査効率が悪かった。
本発明は、こうした問題に鑑みなされたものであり、制御系等のシステムを構成するサブシステムについてのシミュレーションを簡単に行えるようにすると共に、開発プログラムの検査を効率的に行えるようにすることを目的とする。
かかる目的を達成するためになされた請求項1記載の発明は、基本プログラムの組合せからなるシステムのモデルを用いて、そのシステムのシミュレーションを行うシミュレーション装置であって、基本プログラムの組合せからなる上記システムのモデルから、上記システムを構成する所定のサブシステムについての基本プログラム群を抽出する抽出手段と、独立モデル生成手段と、サブシステムシミュレーション実行手段と、を備えるものである。
独立モデル生成手段は、抽出手段により抽出された上記基本プログラム群の内、その抽出手段により抽出された基本プログラム群以外の上記モデル内の基本プログラムからデータを受け取る構成にされた基本プログラムを、第一のメモリ領域からデータを取得するプログラムに変更する。
また、この独立モデル生成手段は、抽出手段により抽出された上記基本プログラム群の内、抽出手段により抽出された基本プログラム群以外の上記モデル内の基本プログラムにデータを引き渡す構成にされた基本プログラムを、第二のメモリ領域にデータを記録するプログラムに変更する。
上述したように、サブシステムのモデルを構成する基本プログラム群には、当該基本プログラム群以外の他の基本プログラムとデータを授受して動作する基本プログラムが存在するため、この基本プログラム群を単に用いるだけでは、サブシステムのシミュレーションを行うことができない。そこで、本発明では、独立モデル生成手段により、上記基本プログラム群の一部を他のプログラムに変更しているのである。
独立モデル生成手段の動作によって、上記サブシステムのモデルは、上記システムのモデルから独立したモデルに変換される。即ち、独立モデル生成手段による変更処理後のサブシステムのモデルは、上記システムのモデル内の他の基本プログラムとデータ授受することなく動作可能なモデルとなる。
サブシステムシミュレーション実行手段は、この独立モデル生成手段により生成されたサブシステムのモデルを用いて、サブシステムのシミュレーションを行う。尚、サブシステムシミュレーション実行手段は、外部から取得したデータを、上記第一のメモリ領域にセットして、上記サブシステムのシミュレーションを実行する構成にされてもよいし、外部手段によって第一のメモリ領域にセットされたデータを用いて、サブシステムのシミュレーションを実行する構成にされてもよい。
本発明のシミュレーション装置によれば、抽出手段、独立モデル生成手段、及び、サブシステムシミュレーション実行手段の動作により、上述のソフトウェアパッケージにより作成されたモデルを用いて、サブシステムのシミュレーションを簡単に行うことができる。従って、本発明によれば、制御システム等に用いるプログラムを開発する際、それら各プログラムについての検査を、効率的に行うことができる。
尚、システムのモデルに関する情報として、各基本プログラムに対応するブロックからなるブロック線図を、表示手段に表示させる機能を備えるシミュレーション装置に、本発明を適用する場合には、上記ブロック線図を構成するブロックについての選択指示が入力されると、その選択指示に基づき、抽出対象のサブシステムを決定し、そのサブシステムについての基本プログラム群を抽出するように、上記抽出手段を構成するとよい。
このシミュレーション装置によれば、ブロック線図を用いて、ポインティングデバイス等でサブシステムのブロックを選択する程度で、上記システムとは独立したサブシステムのモデルを独立モデル生成手段に生成させることができるので、操作性がよく、利用者にとっては便利である。
また、独立モデルの生成に際しては、生成したモデルにおける基本プログラムの実行順序と、そのモデルの元となったシステム全体のモデルにおける該当基本プログラムの実行順序と、が一致していないと、演算順序の違いから、システムのモデルを構成するサブシステムのモデル部の出力と、独立モデル生成手段にて生成されたサブシステムのモデルの出力とが、一致しなくなる可能性があるから、独立モデル生成手段では、請求項2記載のように、基本プログラムの置換だけでなく、実行順序関係の設定も行うとよい。
請求項2記載のシミュレーション装置では、独立モデル生成手段が、システムのモデルに設定された上記所定のサブシステムについての基本プログラム群の実行順序関係を、独立したサブシステムのモデル生成時に、そのサブシステムのモデルを構成する基本プログラム群に対して設定することにより、システムのモデルにおける上記所定のサブシステムについての実行順序関係と、独立したサブシステムのモデルにおける基本プログラム群の実行順序関係と、を一致させる構成にされている。
このシミュレーション装置によれば、独立モデル生成手段によって生成したサブシステムのモデルにおける演算順序を、システム全体のモデルと一致させることができるので、システム全体のモデルとは異なるシミュレーション結果が、独立モデル生成手段にて生成されたサブシステムのモデルから出力されるのを防止することができる。
また、システム構築時に作成されたそのシステムを構成するサブシステムとしての機能をコンピュータに実現させるためのプログラム、を検査するための検査装置には、プログラムの出力結果が適切であるか否かを判定するために、上述のシミュレーション装置を用いるとよい。
請求項3記載の検査装置は、検査対象のプログラムを取得する検査対象取得手段と、検査対象のプログラムの引数に設定すべきデータを取得するデータ取得手段とを備え、プログラム実行手段にて、データ取得手段が取得したデータを引数に設定し、検査対象のプログラムをコンピュータに実行させる。また、この検査装置は、上記システムのモデルから、検査対象のプログラムにて実現される予定のサブシステムをモデル化した基本プログラム群を抽出する請求項1又は請求項2記載のシミュレーション装置と、実行制御手段と、検査手段とを備える。
実行制御手段は、データ取得手段が取得したデータを、第一のメモリ領域にセットし、そのデータを用いたサブシステムのシミュレーションを、サブシステムシミュレーション実行手段に実行させる。また、検査手段は、サブシステムシミュレーション実行手段の動作により第二のメモリ領域に記録されたデータに基づき、プログラム実行手段の動作によりコンピュータが実行した上記検査対象のプログラムの出力データを検査する。
この検査装置では、上記シミュレーション装置で実行されたサブシステムのシミュレーション結果に基づき、検査対象のプログラムの動作が検査されるので、従来のように検査する者の手計算により理論値を算出して検査対象のプログラムの出力データを検査する必要がなく、制御システム等に必要な各プログラムについての検査を、効率的に行うことができる。尚、検査手段による検査結果は、ハードディスク等の記録媒体にデータ出力されてもよいし、印刷手段にて印刷出力されてもよいし、表示手段にて表示されてもよい。
また、検査手段における検査方法としては、サブシステムシミュレーション実行手段の動作により第二のメモリ領域に記録されたデータに基づき、検査対象のプログラムの出力データが示す値が適値であるか否かを判定する方法が挙げられる。このような方法で検査を行う請求項4記載の検査装置によれば、プログラム作成者が意図した通りの値を、検査対象のプログラムが出力するか否かを簡単に検査することができる。
但し、検査対象のプログラムが出力するデータの値には、プログラム実行時に生ずる演算誤差の影響が表れるため、検査対象のプログラムの出力データが示す値が適値であるか否かを判定する際には、プログラム実行手段の動作によりコンピュータが実行した検査対象のプログラムの演算誤差を考慮に入れるべきである。
従って、請求項4記載の検査装置においては、請求項5記載のように検査手段を構成するとよい。請求項5記載の検査装置における検査手段は、プログラム実行手段の動作によりコンピュータが実行した検査対象のプログラムの演算誤差を考慮にいれて、検査対象のプログラムの出力データが示す値と、サブシステムシミュレーション実行手段の動作により第二のメモリ領域に記録されたデータが示す値と、が一致しているか否かを判断する一致判断手段を備えるものである。
この検査装置によれば、一致判断手段にて両者の値が一致していると判断されると、検査手段により、検査対象のプログラムの出力データが示す値が、適値であると判定される。このため、当該検査装置によれば、検査手段が演算誤差の影響を受けて不適切な検査結果を導出するのを防止することができ、検査結果の信頼性が低下するのを防止することができる。
尚具体的に、一致判断手段は、検査対象のプログラムの出力データが示す値を基準とした上記演算誤差の範囲内に、サブシステムシミュレーション実行手段の動作により第二のメモリ領域に記録されたデータが示す値が収まっていると、検査対象のプログラムの出力データが示す値と、サブシステムシミュレーション実行手段の動作により第二のメモリ領域に記録されたデータが示す値と、が一致していると判断する構成にされるとよい。
このように構成された請求項6記載の検査装置によれば、高速且つ正確に、検査対象のプログラムの出力データが示す値が適値であるか否かを判定することができる。従って、この発明によれば、一層効率的に開発プログラムの検査を行うことができる。尚、浮動小数点演算を行うプログラムについては、丸め処理により生じる最大誤差を、上記演算誤差として取り扱えばよい。
具体的に、単精度浮動小数点数についての丸め処理が四捨五入の場合には、四則演算1回で最大、有効数字7桁目の数値に対し、±1.19209の誤差が生じる。また、丸め処理が切り捨ての場合には、四則演算1回で最大、有効数字7桁目の数値に対し、±2.38418の誤差が生じる。よって、単精度浮動小数点数を用いて演算を行うプログラムについては、この値を、上記演算誤差として取り扱えばよい。このようにすれば、上記丸め処理による検査の誤判定を防止することができる。
また、浮動小数点演算を行うプログラムについては、丸め処理により生じる最大誤差を所定の桁で切り上げた値を、上記演算誤差として取り扱うと一層好ましい。例えば、単精度浮動小数点数についての丸め処理であって、四捨五入による丸め処理によって生じる最大誤差の小数点一桁目を切り上げる際には、上記演算誤差として±2を設定すればよい。その他、丸め処理が切り捨ての場合には、上記演算誤差として±3を設定すればよい。このように演算誤差を設定すれば、検査を高速に行うことができる。
以下に、本発明の実施例について図面とともに説明する。図1(a)は、本発明が適用されたシミュレーション装置1のハードウェア構成を表す説明図であり、図1(b)は、シミュレーション装置1のソフトウェア構成を表す説明図である。
図1(a)に示すように、本実施例のシミュレーション装置1は、各種演算処理を行うCPU11と、当該シミュレーション装置1の電源投入時に必要なプログラム等を記憶するROM13と、CPU11によるプログラム実行時に作業用メモリとして使用されるRAM15と、利用者の操作情報をCPU11に入力するためのキーボードやポインティングデバイス等からなる操作部17と、各種情報を表示するための液晶ディスプレイ等からなる表示部18と、後述する検査処理等をCPU11に実行させるためのプログラムやプログラム実行時に必要なデータ等を記憶するハードディスク装置(HDD)19と、を備える。
CPU11は、ハードディスク装置19に格納された各種プログラムを実行することにより、図1(b)に示すモデル編集部21、プログラム生成部23、及び検査処理部25としての機能を果たす。モデル編集部21及びプログラム生成部23としての機能をCPU11に実現させるためのプログラムとしては、システムのモデル化(モデリング)、シミュレーション、プログラミング等を簡易に実現する周知のソフトウェアパッケージ(例えば、Simulink(登録商標)等)を用いることができる。
モデル編集部21は、ブロック線図に用いることのできるブロックに関する情報を、ハードディスク装置19に格納されたライブラリLBから読み出し、この情報に基づき、表示部18に、ブロック線図の作成画面を表示させる。このモデル編集部21は、操作部17から入力される利用者の操作情報に基づき、利用者がシミュレーション対象としているシステムのブロック線図を作成することで、システムのモデル化を行う。
尚、ライブラリLBには、ブロック線図に用いることのできるブロックの識別情報(プロックID)と、そのブロックのプログラムコードとが互いに関連付けられて記憶されている。プログラムコードは、そのブロックに割り当てられた演算処理をCPU11に実行させるためのものであり、周知の言語で記述されている。
モデル編集部21でモデル化されたシステムに関する情報は、モデルデータとしてハードディスク装置19に保存される。ここで保存されるモデルデータは、モデルを構成するブロックの配置・接続等に関するモデル構成情報と、各ブロックに対応する演算処理(プログラムコード)の実行順序を表す実行順序情報とからなる。尚、図2には、モデル構成情報の例を示す。
図2に示すように、モデル構成情報は、モデル編集部21において作成されたブロック線図と等価な情報を備え、モデルを構成するブロックの配置を表す情報、ブロック間の接続を表す情報等からなる。具体的に、図2に示すシステムのモデルML1は、信号発生ブロックB11と、信号観測ブロックB21と、定数ブロックB31と、加算ブロックB41と、変数読出ブロックB51と、変数書込ブロックB61と、サブシステムブロックBS1と、から構成されている。これらのプロックでは、シミュレーション実行時に、そのブロックに関連付けられたプログラムコードに対応する演算処理がCPU11により実行される。
モデルML1を構成する信号発生ブロックB11は、当該モデルML1への入力信号を生成するプログラムコードと関連付けられたブロックであり、信号観測ブロックB21は、当該モデルML1からの出力信号を観測するためのプログラムコードと関連付けられたブロックである。
また、定数ブロックは、自身に設定された定数を、下流のブロックに引き渡すプログラムコードと関連付けられたブロックであり、加算ブロックは、上流のブロックから入力された複数の値の総計を下流のブロックに引き渡すプログラムコードと関連付けられたブロックである。
その他、変数読出ブロックは、所定の変数(変数読出ブロックB51の場合は変数A)に割り当てられたRAM15内のメモリ領域にセットされた値を取り込み、これを下流のブロックに引き渡すプログラムコードと関連付けられたブロックであり、変数書込ブロックは、所定の変数(変数書込ブロックB61の場合は変数A)に割り当てられたRAM15内のメモリ領域に値を書き込むプログラムコードと関連付けられたブロックである。
また、サブシステムブロックBS1は、入力ポートブロックB12,B13と、出力ポートブロックB22,B23と、変数Bについての変数読出ブロックB53と、サブシステムブロックBS2と、加算ブロックB42,B43と、上流のブロックから取り込んだ値を所定倍して下流のブロックに引き渡すプログラムコードと関連付けられたブロックB71と、から構成されている。
尚、入力ポートブロック及び出力ポートブロックは、自身が所属するサブシステムブロックを構成しないモデル内の他のブロックとデータ授受を行うためのプログラムコードと関連付けられたブロックである。具体的に、入力ポートブロックB12,B13は、サブシステムブロックBS1外に配置された上流のブロックから値を取り込み、これを下流のブロックに引き渡すプログラムコードと関連付けられたブロックであり、出力ポートブロックB22,B23は、上流のブロックから値を取り込み、これをサブシステムブロックBS1外に配置された下流のブロックに引き渡すプログラムコードと関連付けられたブロックである。
また、サブシステムブロックBS2は、入力ポートブロックB14と、変数読出ブロックB54と、定数ブロックB32と、出力ポートブロックB24と、上流のブロックから取り込んだ複数の値を所定の演算式で乗算・除算するプログラムコードと関連付けられた乗除算ブロックB81と、から構成されている。
プログラム生成部23は、このような構成のモデルデータを、外部からの指令に基づき適宜読出し、各ブロックに対応するプログラムコードをライブラリLBから読み出して、これらを組み合わせることにより、ブロック線図で表されたシステムのモデルに対応する演算処理をCPU11に実行させるためのシミュレーションプログラムPr1を生成する。また、プログラムPr1生成の際には、モデルデータに含まれる実行順序情報に従って、各ブロックに対応する演算処理がCPU11により順に行われるように、プログラムPr1を組み立てる。
本実施例のシミュレーション装置1は、このようにして生成されたシミュレーションプログラムPr1と、検査対象プログラムPr2と、に同一のデータを与えて、その出力値を比較することにより、検査対象プログラムPr2が、シミュレーションプログラムPr1と同一の演算結果を出力するか否かを検査する。
しかしながら、サブシステムブロックBS1には、ブロックB71等に対して、サブシステムブロックBS1外のブロックを介さずに外部から直接データを与えるための手段が存在しないため、このモデル構成情報を備えるモデルデータに基づいて、プログラム生成部23に、シミュレーションプログラムPr1を生成させても、サブシステムブロックBS1にて表現されたサブシステムについてのシミュレーションを単独で実行することができない。
従って、このサブシステムについてのシミュレーションを行うためには、サブシステムブロックBS1を修正して、システム全体のモデルML1とは独立したサブシステムのモデルデータを生成する必要があるが、これを利用者による手作業で行うと時間がかかる。
そこで、当該シミュレーション装置1では、システム全体のモデルデータに基づき、検査処理部25にて、そのシステムとは独立したサブシステムのモデルML2を構築して、そのモデルML2に関するモデル構成情報を含むモデルデータを生成し、これを用いてプログラム生成部23にシミュレーションプログラムPr1を生成させるようにした。
以下には、この検査処理部25が実行する処理について説明する。図3は、検査処理部25が実行する検査処理を表すフローチャートである。検査処理部25は、利用者の操作により操作部17からサブシステム抽出指令が入力されると、当該検査処理を実行する。
検査処理を実行すると、検査処理部25は、サブシステム抽出指令にて指定されたモデルデータをハードディスク装置19から読み出し(S110)、そのモデルデータに基づき、表示部18に、システム全体のブロック線図(図2参照)を示したGUI(グラフィカルユーザインタフェース)構成のサブシステム抽出画面を表示させる(S130)。
その後、検査処理部25は、サブシステム抽出画面に表示されたブロック線図内のサブシステムブロックBS1,BS2の一つが、ポインティングデバイス等を用いて利用者により選択されるまで待機し(S150)、利用者によりサブシステムブロックBS1,BS2の一つが選択され、その選択指示情報が操作部17より入力されると(S150でYes)、利用者により選択されたサブシステムブロックBS1,BS2を、抽出対象に決定し(S170)、独立モデル生成処理を実行する(S200)。図4は、検査処理部25が実行する独立モデル生成処理を表すフローチャートである。
独立モデル生成処理を実行すると、検査処理部25は、S110にて読み出したモデルデータが保有するシステム全体のモデル構成情報の中から、抽出対象に決定されたサブシステムブロック(ここではサブシステムブロックBS1とする。)についての情報(具体的には、図2中段に示すブロック群からなるモデル構成情報)を抽出し、後続の処理にて置換するブロックの検索範囲を決定する(S210)。
その後、検査処理部25は、抽出した情報(図2中段に示すモデル構成情報)に基づき、サブシステムブロックBS1に含まれる入力ポートブロックB12,B13を検索し、検索された入力ポートブロックB12,B13の一つを選択して(S220)、選択した入力ポートブロックB12,B13を変数読出ブロックB55,B56に置換する修正を、抽出したモデル構成情報に対して施す(S225:図5参照)。
S225での処理を終えると、検査処理部25は、修正後のモデル構成情報に基づいて、S210で抽出したモデル構成情報に含まれる入力ポートブロックB12,B13を、全て変数読出ブロックに置換したか否か判断し(S230)、置換していないと判断すると(S230でNo)、S220に移行して、未処理の入力ポートブロックB12,B13を一つ選択し(S220)、これを、変数読出ブロックB55,B56に置換する(S225)。
また、検査処理部25は、抽出したモデル構成情報に含まれる入力ポートブロックB12,B13を全て変数読出ブロックに置換したと判断すると(S230でYes)、その修正後のモデル構成情報の中から、出力ポートブロックB22,B23を一つ選択し(S240)、これを変数書込ブロックB63,B64に置換する修正を、上記モデル構成情報に対して施す(S245)。
S245での処理を終えると、検査処理部25は、上記モデル構成情報に含まれる出力ポートブロックB22,B23を全て変数書込ブロックに置換したか否か判断し、出力ポートブロックB22,B23を全て変数書込ブロックに置換していないと判断すると(S250でNo)、処理をS240に戻して、未処理の出力ポートブロックB22,B23を一つ選択し(S240)、これを変数書込ブロックB63,B64に置換する(S245)。
そして、モデル構成情報に含まれる出力ポートブロックB22,B23を全て変数書込ブロックに置換したと判断すると(S250でYes)、S260に移行する。尚、S210で抽出したモデル構成情報は、入力ポートブロックB12,13及び出力ポートブロックB22,B23の置換が終了し、検査処理部25がS250でYesと判断した時点で、図5に示す構成にされる。図5は、置換後のサブシステムのモデルML2を表すモデル構成情報についての説明図である。尚、S220〜S250では、下層のサブシステムブロックBS2を構成する入力ポートブロックB14及び出力ポートブロックB24に対しての置換処理は行われない。
S260に処理を移行すると、検査処理部25は、サブシステムブロックBS1に含まれる下層のサブシステムのモデルを表すサブシステムブロックBS2をスタブ化するか否か判断する。尚、ここでいうスタブ化とは、入力値に関係なくサブシステムブロックBS2の出力ポートから一定の値を出力するようにサブシステムブロックBS2を再構築する処理のことである。
S260では、スタブ化するか否かについての情報を利用者から取得するための選択画面を表示部18に表示させ、操作部17からスタブ化しない旨の操作情報が入力されると(S260でNo)、S280に移行する。一方、操作部17からスタブ化する旨の操作情報が入力されると(S260でYes)、検査処理部25は、スタブ化処理を実行する(S270)。尚、図6は、スタブ化処理を表すフローチャートである。
スタブ化処理を実行すると、検査処理部25は、操作部17から入力される操作情報に従い、スタブ化の対象ブロックを決定し(S271)、スタブ化の対象ブロック(ここでは、サブシステムブロックBS2)に含まれる出力ポートブロックB24を一つ選択する(S272)。
そして、出力ポートブロックB24の上流に位置するブロック(乗除算ブロックB81)の下流に終端ブロックB83(図7参照)を配置して、そのブロック(乗除算ブロックB81)の出力端と終端ブロックB83の入力端とを接続し、出力ポートブロックB24の上流に位置するブロック(乗除算ブロックB81)からの出力信号を、終端ブロックB83で受けるように、上記モデル構成情報を書き換える(S273)。尚、終端ブロックB83は、上流側のブロックから受け付けた値を破棄するプログラムコードに関連付けられたブロックである。
また、検査処理部25は、S272で選択した出力ポートブロックB24の上流に、変数読出ブロックB57を配置して、変数読出ブロックB57の出力端と出力ポートブロックB24の入力端とを接続し、変数読出ブロックB57が変数Out31に割り当てられたRAM15内のメモリ領域から読み出した値が、出力ポートブロックB24に入力されるように、モデル構成情報を書き換える(S274)。
S274での処理を終えると、検査処理部25は、スタブ化の対象ブロックに含まれる全ての出力ポートブロックに対してS272〜S274までの処理を施したか否か判断し(S275)、全て終了していないと判断すると(S275でNo)、S272に移行し、未処理の出力ポートブロックについて、上述の処理を実行する。一方、全ての出力ポートブロックに対してS272〜S274までの処理を施したと判断すると(S275でYes)、検査処理部25は、当該スタブ化処理を終了し、S280に移行する。尚、スタブ化処理後のサブシステムブロックBS2は、図7に示すようにされる。図7は、スタブ化処理後のサブシステムブロックBS2の構成を表す説明図である。
S280において、検査処理部25は、修正後のモデル構成情報に対応する実行順序情報を作成する。この際には、S110で読み出したシステム全体についてのモデルデータに含まれる実行順序情報が参照され、S110で読み出したモデルデータに含まれる実行順序情報が示す実行順序と同様の実行順序で演算が行われるように、実行順序情報を作成する。具体的には、置換されていないブロックについて、その実行順位を、S110で読み出したモデルデータに含まれる実行順序情報が示すものと同一のものとし、置換されたブロックについては、その実行順位を、置換前のブロックと同一の実行順位に設定する。
このように実行順位を設定し実行順序情報を作成した後には、当該独立モデル生成処理にて修正した修正後のモデル構成情報と、S280で作成した実行順序情報と、を格納したモデルデータを新規に作成し、これをハードディスク装置19に保存する(S290)。S290での処理後、検査処理部25は、当該独立モデル生成処理を終了する。
同一のブロック線図(モデル構成情報)を用いたシミュレーションであっても、各ブロックに対応するプログラムの実行順序が異なる場合には、実行結果に差異が生じる可能性があるが、この独立モデル生成処理では、システム全体のモデルML1に設定されているサブシステムブロックBS1を構成するブロック群の実行順序関係と同一の実行順序関係を表す実行順序情報を、サブシステムの独立モデルを表すモデルデータの生成時に、その独立モデルを表すモデル構成情報に付加して、独立モデルに、システム全体のモデルML1に設定されているサブシステムブロックBS1の実行順序関係と同一の実行順序関係を設定する(S290)ので、独立モデルの実行順序関係と、システム全体のモデルML1におけるサブシステムブロックBS1についての実行順序関係と、を一致させることができ、当該独立モデル生成処理にて生成したモデルのシミュレーション結果と、システム全体のモデルML1におけるサブシステムブロックBS1のシミュレーション結果と、に差異が生じるのを防止することができる。
なお、一般的には独立モデル生成過程において、S280を実行する必要があるが、独立モデル生成前後において、その実行順序関係が自然に保たれることが保証される場合には、このような処理を適宜省略することができる。
独立モデル生成処理を終了すると、検査処理部25は、S300にて、シミュレーション処理を実行する。図8は、検査処理部25が実行するシミュレーション処理を表すフローチャートであり、図9は、このシミュレーション処理で用いられる入出力データシートの構成を表す説明図である。
シミュレーション処理を実行すると、検査処理部25は、ハードディスク装置19の所定場所から、サブシステムのシミュレーションに必要な変数の値が記述された入力データを含む入出力データシートSTを読み出す(S310)と共に、S290にて新規登録したモデルデータに基づくシミュレーションプログラムPr1を、プログラム生成部23に生成させる(S320)。
その後、検査処理部25は、入出力データシートSTに含まれる入力変数値の一組x1,x2,x3,x4,x5を入出力データシートSTから読み出し、シミュレーションプログラムPr1における変数読出ブロックB53,B55,B56,B54,B57に相当するプログラムが値を読出可能なRAM15内のメモリ領域Sp1,Sp2,Sp3,Sp4,Sp5に、これらを書き込むことで、選択した入力変数値の一組をシミュレーションプログラムPr1の引数に設定する(S330)。
図9に示すように、入出力データシートSTには、検査項目毎に、上記一組の入力変数値として、変数B,In21,In22,C,Out31についての値x1,x2,x3,x4,x5が記載されており、S330では、一の検査項目に設定されたこれら各値x1,x2,x3,x4,x5を、シミュレーションプログラムPr1の引数に設定する。
S330での処理を終えると、検査処理部25は、S320で生成されたシミュレーションプログラムPr1に基づいたサブシステムBS1についてのシミュレーションをCPU11に実行させる(S340)。
S340におけるシミュレーションプログラムPr1の実行により、変数書込ブロックB63,B64についてのプログラムがCPU11により実行され、変数書込ブロックB63,B64に割り当てられた変数Out21,Out22のメモリ領域Sp6,Sp7には、シミュレーション結果として、変数Out21の値Y11及び変数Out22の値Y12(以下、この二つの値をまとめて値Y1と表現する。)が書き込まれる。
検査処理部25は、この値Y11,Y12を、S350にて、対応するメモリ領域Sp6,Sp7から読み出す。そして、読み出した値Y1を、入出力データシートSTの所定位置に書き込むことで、入出力データシートSTに、このシミュレーションで用いた入力変数の値x1,x2,x3,x4,x5と関連付けて、値Y11,Y12を記憶させる(S360)。
S360での処理を終えると、検査処理部25は、入出力データシートSTに記載の全検査項目についてのシミュレーションが終了したか否か判断し(S370)、終了していないと判断すると(S370でNo)、S330に移行し、未処理の検査項目についての入力変数値x1,x2,x3,x4,x5を入出力データシートSTから読み出して、これをシミュレーションプログラムPr1の引数に設定し、後続の処理を実行する。一方、S370で、入出力データシートSTに記載の全検査項目についてのシミュレーションが終了したと判断すると、検査処理部25は、当該シミュレーション処理を終了する。
シミュレーション処理を終了すると、検査処理部25は、S400にて、検査プログラム実行処理を実行する。尚、図10は、検査処理部25が実行する検査プログラム実行処理を表すフローチャートである。
検査プログラム実行処理を実行すると、検査処理部25は、ハードディスク装置19の所定場所から、検査対象のプログラムPr2を読み出す(S410)。そして、シミュレーション処理により値Y1が付加された入出力データシートSTを読み出し(S420)、入出力データシートSTに含まれる入力変数値の一組x1,x2,x3,x4,x5を、検査対象プログラムPr2の引数に設定して(S430)、検査対象プログラムPr2をCPU11に実行させる(S440)。
この後、検査処理部25は、検査対象プログラムPr2の実行結果として、RAM15の所定メモリ領域に書き込まれた検査対象プログラムPr2の出力値Y21,Y22(以下、この二つの値をまとめて値Y2と表現する。)をRAM15から読み出し(S450)、この値Y2を、入出力データシートSTの所定位置に書き込む。これにより、入出力データシートSTには、S430で用いた入力変数の値x1,x2,x3,x4,x5及び値Y1に関連付けられて、S450で読み出した値Y21,Y22が記録される(S460)。
S460での処理を終えると、検査処理部25は、入出力データシートSTに記載の全検査項目について、その入力変数値を引数に設定した検査対象プログラムPr2の実行及び出力値Y21,Y22の入出力データシートSTへの書き込みが終了したか否か判断し(S470)、終了していないと判断すると(S470でNo)、S430に移行する。
そして、未処理の検査項目についての入力変数値x1,x2,x3,x4,x5を入出力データシートSTから読み出し、これを検査対象プログラムPr2の引数に設定し、後続の処理を実行する。一方、入出力データシートSTに記載の全検査項目について、その入力変数値を引数に設定した検査対象プログラムPr2の実行及び出力値Y21,Y22の入出力データシートSTへの書き込みが終了したと判断すると(S470でYes)、検査処理部25は、当該検査プログラム実行処理を終了する。
この検査プログラム実行処理を終了すると、検査処理部25は、S500にて合否判定処理を実行する。図11は、検査処理部25が実行する合否判定処理を表すフローチャートである。
合否判定処理を実行すると、検査処理部25は、値Y1及び値Y2が付加された入出力データシートSTを読み出し(S510)、その入出力データシートSTに記載されている検査項目の入力変数値と関連付けられた値Y1及び値Y2の一組を検査対象として選択し(S520)、値Y1と値Y2との差が、予め定められた演算誤差E0以下であるか否かを判断する(S540)。
本実施例では、浮動小数点演算における丸め処理により、1度の四則演算で生じる最大誤差を、演算誤差E0に設定している。具体的に、検査対象プログラムPr2の引数が単精度浮動小数点数であって、丸め処理が四捨五入の場合には、演算誤差E0として、有効数字7桁目に対し値1.19209を設定する。
ここで、検査処理部25は、不等式Y21−E0≦Y11≦Y21+E0、及び、Y22−E0≦Y12≦Y22+E0が満足されていると、値Y1と値Y2との差が予め設定された演算誤差E0以下である(S540でYes)と判断し、上記不等式が満足されていないと、値Y1と値Y2との差が予め設定された演算誤差E0以下ではない(S540でNo)と判断する。
S540でYesと判断すると、検査処理部25は、値Y2は値Y1と一致しているから適値であると判断して、その旨の合格判定情報(本実施例では○印)を、入出力データシートSTの所定位置に書き込み、入出力データシートSTに、比較した値Y1及び値Y2と関連付けて、合格判定情報を記憶させる(S550)。
一方、S540でNoと判断すると、検査処理部25は、値Y2は値Y1と一致していないから適値ではないと判断して、その旨の不合格判定情報(本実施例では×印)を、入出力データシートSTの所定位置に書き込み、入出力データシートSTに、比較した値Y1及び値Y2と関連付けて、不合格判定情報を記憶させる(S560)。
S550又はS560での処理を終えると、検査処理部25は、入出力データシートSTに記載の全検査項目について、値Y1及び値Y2の比較・合否判定が終了したか否か判断し(S570)、終了していないと判断すると(S570でNo)、S520に移行して、未処理の検査項目に関連付けられた値Y1及び値Y2を検査対象として選択し、後続の処理を実行する。
一方、入出力データシートSTに記載の全検査項目について、値Y1及び値Y2の比較・合否判定が終了したと判断すると(S570でYes)、検査処理部25は、当該合否判定処理を終了する。この合否判定処理によって、ハードディスク装置19には、合否判定結果が記載された入出力データシートSTが保存される。
以上、本実施例のシミュレーション装置1について説明したが、このシミュレーション装置1によれば、基本プログラム(プログラムコード)の組合せからなるシステムのモデル(シミュレーションプログラム)を用いてシステムのシミュレーションを行う。また、サブシステムについてのシミュレーションを行う際には、シミュレーションプログラムの元データであるモデルデータにおいて、シミュレーション対象のサブシステムに対応するサブシステムブロックBS1を構成するブロック群の内、サブシステムブロックBS1外であってモデルML1内のブロックからデータを受け取る構成にされた入力ポートブロックB12,B13を、夫々、所定のメモリ領域Sp2,Sp3にセットされたデータを取得する変数読出ブロックB55,B56に変更する(S220,S225)。
また、サブシステムブロックBS1を構成するブロック群の内、サブシステムブロックBS1外であってモデルML1内のブロックにデータを引き渡す構成にされた出力ポートブロックB22,B23を、夫々、所定のメモリ領域Sp6,Sp7にデータを記録する変数書込ブロックB63,B64に変更する(S240,245)。
この処理によって、シミュレーション装置1の検査処理部25は、上記サブシステムブロックBS1を、上記モデルML1内の他のブロックから切り出し、変数In21,In22を通じて、システム外部からデータをサブシステムブロックBS1内に直接入力でき、又、変数Out21,変数Out22を通じて、サブシステムブロックBS1での演算結果を、システム外部に直接出力できるモデルML1から独立した上記サブシステムのモデルML2を生成する。
また、検査処理部25は、このモデルML2についてのモデル構成情報を用いて、プログラム生成部23にシミュレーションプログラムPr1を生成させ、そのシミュレーションプログラムPr1を用いて、サブシステムブロックBS1に対応するサブシステムについてのシミュレーションをCPU11に実行させる(S340)。
このように、本実施例のシミュレーション装置1によれば、モデルML1についてのモデルデータを編集して、サブシステム単体でのシミュレーションを実行可能としているので、サブシステム単体でのシミュレーションを簡単に行うことができる。また、このシミュレーション装置1によれば、サブシステムのシミュレーションを簡単に行うことができるので、制御システムに用いるプログラム等を開発する際、プログラムの検査を効率的に行うことができる。
特に、本実施例によれば、検査処理部25が、S150にて選択されたサブシステムに対応する機能をCPU11に実現させるための検査対象プログラムPr2の出力値Y2を、上記サブシステムのシミュレーションにて得られたシミュレーション結果(値Y1)に基づいて検査するので、理論値の手計算を行う必要がなく、大変便利である。
即ち、このシミュレーション装置1では、検査処理部25が、S410でハードディスク装置19から検査対象プログラムPr2を取得すると共に、S420,S430で検査対象のプログラムの引数に設定すべきデータ(入力変数値x1,x2,x3,x4,x5)を読み出し、その入力変数値x1,x2,x3,x4,x5を引数に設定して検査対象プログラムPr2をCPU11に実行させ(S430,S440)、この出力値Y2を入出力データシートSTに記録する一方で、検査対象プログラムPr2の引数に設定する値と同一の値を、シミュレーションプログラムPr1の引数に設定し(S330)、その値を用いたサブシステムのシミュレーションを実行して(S340)、そのシミュレーション結果(値Y1)を、入出力データシートSTに記録する。
そして、この入出力データシートSTに記録された値Y1及び値Y2が一致しているか否かを判断することにより(S520〜S540)、検査対象プログラムPr2の出力値Y2が適値であるか否かを判定し、この判定結果を入出力データシートSTに出力する(S550,S560)。従って、本実施例によれば、プログラムPr2についての動作確認をする際、手計算により理論値を算出して、検査対象プログラムPr2の出力値Y2を検査する必要がなく、開発したプログラムPr2についての検査を、効率的に行うことができるのである。
尚、検査対象プログラムPr2の出力値には、プログラムPr2の実行時に生ずる演算誤差が含まれるが、本実施例では、検査対象プログラムPr2の出力値が適値であるか否かを判定する際に、検査対象プログラムPr2の演算誤差E0を考慮に入れて、検査対象プログラムPr2の出力値Y2と、シミュレーションにより得られた値Y1と、が一致しているか否かを判断するようにした(S540)。
そして、値Y2を基準とした演算誤差E0の範囲内に、値Y1が収まっていると、検査対象プログラムPr2の出力値Y2と、シミュレーション結果(値Y1)と、が一致しているとして(S540でYes)、検査対象プログラムPr2の出力結果を合格判定するようにした(S550)。従って、本実施例のシミュレーション装置1によれば、演算誤差E0の影響により不適切な検査結果が導出されるのを防止することができる。
尚、本発明のシミュレーション装置及び検査装置は、シミュレーション装置1に相当する。また、抽出手段は、検査処理部25が実行するS210での処理にて実現され、独立モデル生成手段は、検査処理部25が実行するS220〜S290での処理にて実現されている。その他、サブシステムシミュレーション実行手段は、検査処理部25が実行するS340での処理にて実現され、実行制御手段は、検査処理部25が実行するS330での処理にて実現されている。
また、検査対象取得手段は、検査処理部25が実行するS410での処理にて実現され、データ取得手段は、検査処理部25が実行するS310,S420での処理にて実現され、プログラム実行手段は、検査処理部25が実行するS430,S440での処理にて実現され、検査手段は、検査処理部25が実行する合否判定処理にて実現されている。その他、一致判断手段は、検査処理部25が実行するS520〜S540での処理にて実現されている。
また、本発明のシミュレーション装置及び検査装置は、上記実施例に限定されるものではなく、種々の態様を採ることができる。
例えば、S540では、浮動小数点演算の丸め処理により1度の四則演算で生じる最大誤差を所定の桁で切り上げた値を、演算誤差E0として用いてもよい。具体的に、丸め処理が四捨五入の場合であって、単精度浮動小数点数についての丸め処理によって生じる最大誤差の小数点一桁目を切り上げる場合には、演算誤差E0として、有効数字7桁目に値2を設定すればよい。
その他、図3に示す検査処理では、S110からS300までの処理を実行する前に、S400の処理を実行するようにしてもよい。また、図4に示す独立モデル生成処理では、S220からS230までの処理、S240からS250までの処理、及び、S260からS270までの処理、の実行順序を、入れ替えてもよい。
本発明が適用されたシミュレーション装置1のハードウェア構成を表す説明図(a)及びソフトウェア構成を表す説明図(b)である。 モデル構成情報の一例を示した説明図である。 検査処理部25が実行する検査処理を表すフローチャートである。 検査処理部25が実行する独立モデル生成処理を表すフローチャートである。 置換後のサブシステムのモデルML2を表す説明図である。 検査処理部25が実行するスタブ化処理を表すフローチャートである。 スタブ化処理後のサブシステムブロックBS2の構成を表す説明図である。 検査処理部25が実行するシミュレーション処理を表すフローチャートである。 入出力データシートSTの構成を表す説明図である。 検査処理部25が実行する検査プログラム実行処理を表すフローチャートである。 検査処理部25が実行する合否判定処理を表すフローチャートである。
符号の説明
1…シミュレーション装置、11…CPU、13…ROM、15…RAM、17…操作部、18…表示部、19…ハードディスク装置、21…モデル編集部、23…プログラム生成部、25…検査処理部、B12,B13,B14…入力ポートブロック、B22,B23,B24…出力ポートブロック、B51〜B57…変数読出ブロック、B61〜B64…変数書込ブロック、B83…終端ブロック、BS1,BS2…サブシステムブロック、LB…ライブラリ、ML1,ML2…モデル、Pr1…シミュレーションプログラム、Pr2…検査対象プログラム、ST…入出力データシート、Sp1〜Sp7…メモリ領域

Claims (6)

  1. 基本プログラムの組合せからなるシステムのモデルを用いて、前記システムのシミュレーションを行うシミュレーション装置であって、
    前記システム内の所定のサブシステムをモデル化した基本プログラム群を、前記モデルから抽出する抽出手段と、
    前記抽出手段が抽出した基本プログラム群の内、この基本プログラム群以外の前記モデル内の基本プログラムからデータを受け取る構成にされた基本プログラムを、第一のメモリ領域からデータを取得するプログラムに変更すると共に、前記抽出手段が抽出した基本プログラム群の内、この基本プログラム群以外の前記モデル内の基本プログラムにデータを引き渡す構成にされた基本プログラムを、第二のメモリ領域にデータを記録するプログラムに変更することにより、前記システムから独立したサブシステムのモデルを生成する独立モデル生成手段と、
    前記独立モデル生成手段により生成された前記サブシステムのモデルを用いて、前記サブシステムのシミュレーションを行うサブシステムシミュレーション実行手段と、
    を備えることを特徴とするシミュレーション装置。
  2. 前記独立モデル生成手段は、前記システムのモデルに設定された前記所定のサブシステムについての基本プログラム群の実行順序関係を、前記独立したサブシステムのモデル生成時に、前記独立したサブシステムのモデルを構成する基本プログラム群に対して設定することにより、前記システムのモデルにおける前記所定のサブシステムについての前記実行順序関係と、前記独立したサブシステムのモデルにおける基本プログラム群の実行順序関係と、を一致させることを特徴とする請求項1記載のシミュレーション装置。
  3. システムの構築時に作成された前記システム内のサブシステムとしての機能をコンピュータに実現させるためのプログラム、を検査するための検査装置であって、
    検査対象のプログラムを取得する検査対象取得手段と、
    前記検査対象のプログラムの引数に設定すべきデータを取得するデータ取得手段と、
    前記データ取得手段が取得したデータを引数に設定して、前記検査対象のプログラムをコンピュータに実行させるプログラム実行手段と、
    前記システムのモデルから、前記検査対象のプログラムに対応する前記システム内のサブシステムをモデル化した基本プログラム群を抽出する前記抽出手段を備える請求項1又は請求項2記載のシミュレーション装置と、
    前記データ取得手段が取得したデータを、前記第一のメモリ領域にセットして、そのデータを用いた前記サブシステムのシミュレーションを、前記サブシステムシミュレーション実行手段に実行させる実行制御手段と、
    前記サブシステムシミュレーション実行手段の動作により前記第二のメモリ領域に記録されたデータに基づいて、前記プログラム実行手段の動作によりコンピュータが実行した前記検査対象のプログラムの出力データを検査する検査手段と、
    を備えることを特徴とする検査装置。
  4. 前記検査手段は、前記サブシステムシミュレーション実行手段の動作により前記第二のメモリ領域に記録されたデータに基づき、前記検査として、前記検査対象のプログラムの出力データが示す値が、適値であるか否かを判定することを特徴とする請求項3記載の検査装置。
  5. 前記検査手段は、
    前記プログラム実行手段の動作によりコンピュータが実行した前記検査対象のプログラムの演算誤差を考慮にいれて、前記検査対象のプログラムの出力データが示す値と、前記サブシステムシミュレーション実行手段の動作により前記第二のメモリ領域に記録された前記データが示す値と、が一致しているか否かを判断する一致判断手段、
    を備え、前記一致判断手段にて前記値が一致していると判断されると、前記検査対象のプログラムの出力データが示す値が、適値であると判定することを特徴とする請求項4記載の検査装置。
  6. 前記一致判断手段は、前記検査対象のプログラムの出力データが示す値を基準とした前記演算誤差の範囲内に、前記サブシステムシミュレーション実行手段の動作により前記第二のメモリ領域に記録された前記データが示す値が収まっていると、前記検査対象のプログラムの出力データが示す値と、前記サブシステムシミュレーション実行手段の動作により前記第二のメモリ領域に記録された前記データが示す値と、が一致していると判断することを特徴とする請求項5記載の検査装置。
JP2004171463A 2004-06-09 2004-06-09 シミュレーション装置及び検査装置 Pending JP2005352670A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004171463A JP2005352670A (ja) 2004-06-09 2004-06-09 シミュレーション装置及び検査装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004171463A JP2005352670A (ja) 2004-06-09 2004-06-09 シミュレーション装置及び検査装置

Publications (1)

Publication Number Publication Date
JP2005352670A true JP2005352670A (ja) 2005-12-22

Family

ID=35587122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004171463A Pending JP2005352670A (ja) 2004-06-09 2004-06-09 シミュレーション装置及び検査装置

Country Status (1)

Country Link
JP (1) JP2005352670A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020562A (ja) * 2008-07-10 2010-01-28 Ricoh Co Ltd 画像処理装置、情報処理装置、ソフトウェア動作テスト方法、ソフトウェア動作テストプログラム、及びそのプログラムを記録した記録媒体
JP2013033487A (ja) * 2006-11-27 2013-02-14 Honeywell Internatl Inc 要求ベーステスト生成
US8984488B2 (en) 2011-01-14 2015-03-17 Honeywell International Inc. Type and range propagation through data-flow models
JP2019168881A (ja) * 2018-03-23 2019-10-03 日立オートモティブシステムズ株式会社 ソフトウェア開発装置
JP2021117666A (ja) * 2020-01-24 2021-08-10 株式会社デンソー コード検査ツール、コード検査方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013033487A (ja) * 2006-11-27 2013-02-14 Honeywell Internatl Inc 要求ベーステスト生成
JP2010020562A (ja) * 2008-07-10 2010-01-28 Ricoh Co Ltd 画像処理装置、情報処理装置、ソフトウェア動作テスト方法、ソフトウェア動作テストプログラム、及びそのプログラムを記録した記録媒体
US8984488B2 (en) 2011-01-14 2015-03-17 Honeywell International Inc. Type and range propagation through data-flow models
JP2019168881A (ja) * 2018-03-23 2019-10-03 日立オートモティブシステムズ株式会社 ソフトウェア開発装置
JP2021117666A (ja) * 2020-01-24 2021-08-10 株式会社デンソー コード検査ツール、コード検査方法
JP7415593B2 (ja) 2020-01-24 2024-01-17 株式会社デンソー コード検査ツール、コード検査方法

Similar Documents

Publication Publication Date Title
CN112506759B (zh) 伺服系统控制软件的自动化测试方法、装置及存储介质
JP2006350686A (ja) 命令セット・シミュレータ生成装置及びシミュレータ生成方法
US8543362B2 (en) System and method for configuring a simulation model utilizing a tool for automatic input/output assignment
US11625843B2 (en) Systems and methods for automatic alignment of drawings
JP6996629B2 (ja) 検証自動化装置、検証自動化方法、およびプログラム
US20220222049A1 (en) Visual Programming for Deep Learning
WO2018092237A1 (ja) プログラムコード生成装置、プログラムコード生成方法及びプログラムコード生成プログラム
JP2005352670A (ja) シミュレーション装置及び検査装置
KR101985491B1 (ko) 다이어그램 방식의 시각화 수식 작성을 통한 결과 생성 및 모니터링 장치
US11915370B2 (en) Method and system for 3D modeling based on irregular-shaped sketch
US20150082278A1 (en) Clone detection method and clone function commonalizing method
JP5429214B2 (ja) プログラム作成支援装置、プログラム作成支援方法およびコンピュータプログラム
JP2008129914A (ja) ソフトウェア検証用モデル生成装置、及びソフトウェア検証用モデル生成方法
US20220405108A1 (en) System and Method for GUI Development and Deployment in a Real Time System
JP6547345B2 (ja) テストケース生成プログラム、テストケース生成方法およびテストケース生成装置
US20230169240A1 (en) Computing device and method generating optimal input data
JP2020144509A (ja) 自動コード生成方法、及び自動コード生成プログラム
KR102666182B1 (ko) 기계학습 기반의 문서 수정명령 처리 장치 및 방법
WO2021192152A1 (ja) プログラミング支援プログラム、プログラミング支援装置およびプログラミング支援方法
KR102424342B1 (ko) 섬네일 이미지 생성 방법 및 장치
WO2015093457A1 (ja) 情報処理装置、情報処理方法、プログラム及び記録媒体
WO2022049693A1 (ja) プログラム作成装置および方法
JP5136257B2 (ja) 経路管理方法
CN117494248A (zh) 坐标数据处理方法、装置、计算机设备、存储介质
CN113467985A (zh) 一种函数校验方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090721

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091020

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100302