JPH09305389A - ソフトウエア開発支援のシミュレーション装置 - Google Patents
ソフトウエア開発支援のシミュレーション装置Info
- Publication number
- JPH09305389A JPH09305389A JP8145018A JP14501896A JPH09305389A JP H09305389 A JPH09305389 A JP H09305389A JP 8145018 A JP8145018 A JP 8145018A JP 14501896 A JP14501896 A JP 14501896A JP H09305389 A JPH09305389 A JP H09305389A
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- state
- program
- simulation model
- function
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 シミュレーションモデルと開発プログラムが
リンクされた開発環境を作る。 【解決手段】 開発対象プログラム1とシミュレーショ
ンモデル2を同時に動作をさせてシステムの挙動を確認
し、プログラム上のシステムの動作を決定する各種のパ
ラメータのより正確な値を得る。モデル2は、プログラ
ム1からの指令によって制御される機械の挙動を計算機
上で模擬するもので、デバイスとよぶ構成要素から構成
されている。矛盾検出部4は、シミュレーションエンジ
ン3がモデルの更新を終了すると直ちに起動されて、全
てのデバイスの状態がシステムの仕様を満たしているか
どうかを判定し、満たしていないとそのデバイスをユー
ザに知らせる。プログラムの実行は連続的な手続きの実
行であり、シミュレーションモデルの実行は非連続で状
態遷移型の実行であり、ブリッジ部5は、これらの実行
形態の違いを埋め、互いに情報の通信が行えるようにす
る。
リンクされた開発環境を作る。 【解決手段】 開発対象プログラム1とシミュレーショ
ンモデル2を同時に動作をさせてシステムの挙動を確認
し、プログラム上のシステムの動作を決定する各種のパ
ラメータのより正確な値を得る。モデル2は、プログラ
ム1からの指令によって制御される機械の挙動を計算機
上で模擬するもので、デバイスとよぶ構成要素から構成
されている。矛盾検出部4は、シミュレーションエンジ
ン3がモデルの更新を終了すると直ちに起動されて、全
てのデバイスの状態がシステムの仕様を満たしているか
どうかを判定し、満たしていないとそのデバイスをユー
ザに知らせる。プログラムの実行は連続的な手続きの実
行であり、シミュレーションモデルの実行は非連続で状
態遷移型の実行であり、ブリッジ部5は、これらの実行
形態の違いを埋め、互いに情報の通信が行えるようにす
る。
Description
【0001】
【発明の属する技術分野】本発明は、機械制御型ソフト
ウエアの開発支援のシミュレーション装置に関する。
ウエアの開発支援のシミュレーション装置に関する。
【0002】
【従来の技術】本発明は、機械の動作を制御するソフト
ウエアの開発効率を向上させる開発環境を提供するため
に、機械の動作を模擬するシミュレータをプログラムの
実行とリンクさせて、動作の確認や不具合の発見を容易
にすることを目的とするものであるが、その背景問題と
して、 1.機械動作のタイミングや動作時間等はタイミングチ
ャートでソフトウエアに仕様が与えられるが、そのとお
りにプログラムを作成しても、実際にハードウエアを動
かしてみるとシステムの仕様通りには動作しないことが
多い。 2.ハードウエアが出来上がっていないとソフトウエア
のテストや検証が行えない。等があげられる。
ウエアの開発効率を向上させる開発環境を提供するため
に、機械の動作を模擬するシミュレータをプログラムの
実行とリンクさせて、動作の確認や不具合の発見を容易
にすることを目的とするものであるが、その背景問題と
して、 1.機械動作のタイミングや動作時間等はタイミングチ
ャートでソフトウエアに仕様が与えられるが、そのとお
りにプログラムを作成しても、実際にハードウエアを動
かしてみるとシステムの仕様通りには動作しないことが
多い。 2.ハードウエアが出来上がっていないとソフトウエア
のテストや検証が行えない。等があげられる。
【0003】特開平7−84832号公報(リアルタイ
ムシミュレーション装置)の発明は、オブジェクト間の
メッセージの送受信によってシミュレーションを実行す
るもので、メッセージパスを格納して、解釈実行するも
のである。
ムシミュレーション装置)の発明は、オブジェクト間の
メッセージの送受信によってシミュレーションを実行す
るもので、メッセージパスを格納して、解釈実行するも
のである。
【0004】特開平4−226426号公報(情報処理
装置のシミュレータ及びシミュレーション装置)の発明
は、情報処理装置を模擬するシミュレータでデバイス制
御を模擬するデバイス装置模擬機能を、モデルを表示す
る機能とデバイスの操作に応じて表示モデルの動作を模
擬するモデル模擬装置とモニタから構成している。
装置のシミュレータ及びシミュレーション装置)の発明
は、情報処理装置を模擬するシミュレータでデバイス制
御を模擬するデバイス装置模擬機能を、モデルを表示す
る機能とデバイスの操作に応じて表示モデルの動作を模
擬するモデル模擬装置とモニタから構成している。
【0005】
【発明が解決しようとする課題】実時間型機械制御プロ
グラムの開発は、実機(ハードウエア)が試作された後
に、プログラムをインストールして、動作確認しながら
与えられた仕様を満たすように、エラー&テストを繰り
返してる。而して、物理現象や機械動作のシミュレーシ
ョンモデルが存在するが、開発対象プログラムと直接リ
ンクしてデバイスやテストが行えない。本発明は、シミ
ュレーションモデルと開発プログラムがリンクされた開
発環境を作るもので、シミュレーションモデルは、モデ
ルの構築が容易かつ理解しやすい表現にし、開発対象プ
ログラムとの接続が簡単に行なえるようにしたものであ
る。
グラムの開発は、実機(ハードウエア)が試作された後
に、プログラムをインストールして、動作確認しながら
与えられた仕様を満たすように、エラー&テストを繰り
返してる。而して、物理現象や機械動作のシミュレーシ
ョンモデルが存在するが、開発対象プログラムと直接リ
ンクしてデバイスやテストが行えない。本発明は、シミ
ュレーションモデルと開発プログラムがリンクされた開
発環境を作るもので、シミュレーションモデルは、モデ
ルの構築が容易かつ理解しやすい表現にし、開発対象プ
ログラムとの接続が簡単に行なえるようにしたものであ
る。
【0006】
【課題を解決するための手段】請求項1の発明は、プロ
グラムからの制御に基づき制御対象の物理的対象の挙動
をシミュレーションするソフトウエア開発支援のシミュ
レーション装置において、シミュレーションモデルは、
個々の物理的対象を表現するデバイスと呼ぶ要素から構
成され、デバイスには、デバイスが持つ特性や性質の情
報(属性と呼ぶ)、デバイスの取りうる状態とその状態
遷移に関する情報、さらに、各状態毎に、その状態が存
在を判定する論理的条件(成立条件と呼ぶ)、その状態
内で成立する属性の関数的記述(状態関数と呼ぶ)が定
義されていることを特徴としたものである。
グラムからの制御に基づき制御対象の物理的対象の挙動
をシミュレーションするソフトウエア開発支援のシミュ
レーション装置において、シミュレーションモデルは、
個々の物理的対象を表現するデバイスと呼ぶ要素から構
成され、デバイスには、デバイスが持つ特性や性質の情
報(属性と呼ぶ)、デバイスの取りうる状態とその状態
遷移に関する情報、さらに、各状態毎に、その状態が存
在を判定する論理的条件(成立条件と呼ぶ)、その状態
内で成立する属性の関数的記述(状態関数と呼ぶ)が定
義されていることを特徴としたものである。
【0007】請求項2の発明は、デバイス間の属性の依
存関係をパイプと呼ぶ機能で実現し、パイプは、あるデ
バイスの属性と別のデバイスの属性との対応関係とそれ
らがどのような依存関係にあるかを示す関数的記述から
成ることを特徴としたものである。
存関係をパイプと呼ぶ機能で実現し、パイプは、あるデ
バイスの属性と別のデバイスの属性との対応関係とそれ
らがどのような依存関係にあるかを示す関数的記述から
成ることを特徴としたものである。
【0008】請求項3の発明は、ブリッジ部に、シミュ
レーションモデルの状態変化とプログラムのイベントと
の対応関係を定義するテーブルが存在し、該ブリッジ部
は、プログラム実行部内で実行中のプログラムが送るデ
バイスへの指令に基づき、シミュレーション部内のデバ
イスの状態を遷移させる機能とシミュレーション部内の
デバイスの状態変化を検出し、プログラム側にイベント
のディスパッチを行う機能を実行することを特徴とした
ものである。
レーションモデルの状態変化とプログラムのイベントと
の対応関係を定義するテーブルが存在し、該ブリッジ部
は、プログラム実行部内で実行中のプログラムが送るデ
バイスへの指令に基づき、シミュレーション部内のデバ
イスの状態を遷移させる機能とシミュレーション部内の
デバイスの状態変化を検出し、プログラム側にイベント
のディスパッチを行う機能を実行することを特徴とした
ものである。
【0009】請求項4の発明は、開発支援環境は、シミ
ュレーションモデルがシステムの動作仕様と矛盾する状
態を検知してそれを利用者に通知する矛盾検知部を持
ち、矛盾検知部は、シミュレーションの実行中に各デバ
イスの状態を調べて、与えられたシステム動作仕様の記
述に基づき、デバイスの異常状態を検出し、それをモニ
タ上に表示することを特徴としたものである。
ュレーションモデルがシステムの動作仕様と矛盾する状
態を検知してそれを利用者に通知する矛盾検知部を持
ち、矛盾検知部は、シミュレーションの実行中に各デバ
イスの状態を調べて、与えられたシステム動作仕様の記
述に基づき、デバイスの異常状態を検出し、それをモニ
タ上に表示することを特徴としたものである。
【0010】
〔開発支援環境全体の構成〕本発明の開発支援環境は、
物理的挙動を定義したシミュレータを持ち、開発対象プ
ログラム1とシミュレーションモデル2を同時に動作を
させてシステムの挙動を確認することにより、プログラ
ム上のシステムの動作を決定する各種のパラメータのよ
り正確な値を得るものである。
物理的挙動を定義したシミュレータを持ち、開発対象プ
ログラム1とシミュレーションモデル2を同時に動作を
させてシステムの挙動を確認することにより、プログラ
ム上のシステムの動作を決定する各種のパラメータのよ
り正確な値を得るものである。
【0011】〔シミュレーションモデルの構成〕図1
は、シミュレーションによる開発支援環境の概略を示す
図で、シミュレーションモデル2は、プログラム1から
の指令によって制御される機械の挙動を計算機上で模擬
するもので、モデルは、デバイスとよぶ構成要素から構
成されている。個々のデバイスは、例えば、モータ、ア
クチュエータ、センサ等の現実の物体と対応しており、
物体の挙動はデバイスの内部変数の変化によって表現さ
れる。
は、シミュレーションによる開発支援環境の概略を示す
図で、シミュレーションモデル2は、プログラム1から
の指令によって制御される機械の挙動を計算機上で模擬
するもので、モデルは、デバイスとよぶ構成要素から構
成されている。個々のデバイスは、例えば、モータ、ア
クチュエータ、センサ等の現実の物体と対応しており、
物体の挙動はデバイスの内部変数の変化によって表現さ
れる。
【0012】デバイスには、デバイスの性質や特性に関
する情報を属性として持っており、時間と共に変化する
場合には変数になる。モータの属性には、回転速度や回
転トルク等の属性がある。属性間の写像関係は、状態関
数と呼ぶ関数によって対応づける。属性の値が属性間住
時間に依存する場合には時間を含んだ関数になる。
する情報を属性として持っており、時間と共に変化する
場合には変数になる。モータの属性には、回転速度や回
転トルク等の属性がある。属性間の写像関係は、状態関
数と呼ぶ関数によって対応づける。属性の値が属性間住
時間に依存する場合には時間を含んだ関数になる。
【0013】ところで、実世界の“もの”デバイスは、
一般に、ライフサイクルと呼ばれる特定の振る舞いのパ
ターンがあるデバイスの動的な振る舞いパターンを状態
遷移として抽象化してモデル化する。各状態毎にその状
態内で有効な属性と状態関数を定義する。例えば、静止
状態と動作状態では、摩擦に関する法則が異なってい
る。デバイスの状態遷移を定義するということは、デバ
イスの挙動を目的をもってモデル化するということにな
る。一方、状態の中での物理的法則や原理は客観性のあ
る数学的記述を与えている。
一般に、ライフサイクルと呼ばれる特定の振る舞いのパ
ターンがあるデバイスの動的な振る舞いパターンを状態
遷移として抽象化してモデル化する。各状態毎にその状
態内で有効な属性と状態関数を定義する。例えば、静止
状態と動作状態では、摩擦に関する法則が異なってい
る。デバイスの状態遷移を定義するということは、デバ
イスの挙動を目的をもってモデル化するということにな
る。一方、状態の中での物理的法則や原理は客観性のあ
る数学的記述を与えている。
【0014】デバイス間の伝達情報(力、温度、電磁気
等)の流れは、図2に示すように、パイプと呼ぶ伝達経
路を通して、2つのデバイス間で関連し合う属性の値の
対応付けを行う。こうしてシミュレーションモデルは、
デバイスがパイプによってつながれたネットワーク上の
構造になる。
等)の流れは、図2に示すように、パイプと呼ぶ伝達経
路を通して、2つのデバイス間で関連し合う属性の値の
対応付けを行う。こうしてシミュレーションモデルは、
デバイスがパイプによってつながれたネットワーク上の
構造になる。
【0015】 (注 *は<…>を0回以上の繰り返し可) デバイス名:デバイスの名称 属性 :デバイスに関連する性質や特性を表現する
変数あるいは定数 状態名 :状態を表現する名称 状態関数 :状態内で成立する法則や原理を表現する属
性間の関数的記述表現 成立条件 :状態が成立し続けるための条件、真または
偽の2値関数(論理式)で表現
変数あるいは定数 状態名 :状態を表現する名称 状態関数 :状態内で成立する法則や原理を表現する属
性間の関数的記述表現 成立条件 :状態が成立し続けるための条件、真または
偽の2値関数(論理式)で表現
【0016】 伝達関数 :入力と出力の対応関係の関数的記述
【0017】〔シミュレーションエンジンの構成〕シミ
ュレーションエンジン3は、シミュレーションモデル2
を時間の経過に従ってモデル内の状態を更新していき、
モデルに挙動を与える、つまり、エンジンによってモデ
ルが活性化されて動作する。すなわち、一定時間毎に、
モデル内の全てのデバイスを走査して、デバイスの状態
関数に基づき属性の値を更新すると共に成立条件をテス
トして必要であればデバイスの状態の遷移を起こす。と
ころで、エンジンに時間を与えるクロックは、プログラ
ム実行部のクロックと同じものを利用する。ただし、ク
ロックは実時間を刻むものでなく、デバグやモニターが
容易に行えるように、時間を進める早さを自由に設定が
出来る論理的なクロックである。
ュレーションエンジン3は、シミュレーションモデル2
を時間の経過に従ってモデル内の状態を更新していき、
モデルに挙動を与える、つまり、エンジンによってモデ
ルが活性化されて動作する。すなわち、一定時間毎に、
モデル内の全てのデバイスを走査して、デバイスの状態
関数に基づき属性の値を更新すると共に成立条件をテス
トして必要であればデバイスの状態の遷移を起こす。と
ころで、エンジンに時間を与えるクロックは、プログラ
ム実行部のクロックと同じものを利用する。ただし、ク
ロックは実時間を刻むものでなく、デバグやモニターが
容易に行えるように、時間を進める早さを自由に設定が
出来る論理的なクロックである。
【0018】ここで、シミュレーションモデルの更新が
矛盾なくかつ確実に終了するように、モデル構築におい
て以下の2つの前提を仮定する。 1.デバイス間の伝達にはフィードバックやループは存
在しない。 2.デバイス間の伝達には互いに相手からの情報を待ち
合うデッドロックは存在しない。
矛盾なくかつ確実に終了するように、モデル構築におい
て以下の2つの前提を仮定する。 1.デバイス間の伝達にはフィードバックやループは存
在しない。 2.デバイス間の伝達には互いに相手からの情報を待ち
合うデッドロックは存在しない。
【0019】〔モデル更新の手続き(一定時間間隔(例
1msec)で起動される)〕全てのデバイスに対して以下
のステップにより時間tにおける属性や状態を計算す
る。 ステップ1 デバイスの現在状態において、その状態関
数に基づき属性の値を更新する。他のデバイスの影響を
受ける属性があり、まだパイプを通して伝達されていな
い場合には、伝達されるまで待つ。 ステップ2 更新された属性の値から成立条件を判定す
る。もし条件が満たされなくなっていれば、条件を満た
す他の状態に遷移する。他の状態に移れば、そこの状態
関数に基づき属性の値を決定する。 ステップ3 更新された属性はパイプを通して他のデバ
イスに伝えられる。
1msec)で起動される)〕全てのデバイスに対して以下
のステップにより時間tにおける属性や状態を計算す
る。 ステップ1 デバイスの現在状態において、その状態関
数に基づき属性の値を更新する。他のデバイスの影響を
受ける属性があり、まだパイプを通して伝達されていな
い場合には、伝達されるまで待つ。 ステップ2 更新された属性の値から成立条件を判定す
る。もし条件が満たされなくなっていれば、条件を満た
す他の状態に遷移する。他の状態に移れば、そこの状態
関数に基づき属性の値を決定する。 ステップ3 更新された属性はパイプを通して他のデバ
イスに伝えられる。
【0020】〔矛盾検知部の構成〕矛盾検知4は、図3
に示すように、シミュレーションモデルの状態が、シス
テムに与えられた仕様と矛盾するあるいは一般的な物理
法則などから違反したことを検出(条件判定)する機能
である。この機能は、シミュレーションエンジンがシミ
ュレーションモデルの更新を終了すると直ちに起動され
て、全てのデバイスの状態がシステムの仕様を満たして
いるかどうかを判定し、もし満たしていないとそのデバ
イスをユーザに知らせる。システムの仕様は、システム
の挙動について満足すべき条件を表現する論理式の集ま
りとして、矛盾検知部に格納されている。
に示すように、シミュレーションモデルの状態が、シス
テムに与えられた仕様と矛盾するあるいは一般的な物理
法則などから違反したことを検出(条件判定)する機能
である。この機能は、シミュレーションエンジンがシミ
ュレーションモデルの更新を終了すると直ちに起動され
て、全てのデバイスの状態がシステムの仕様を満たして
いるかどうかを判定し、もし満たしていないとそのデバ
イスをユーザに知らせる。システムの仕様は、システム
の挙動について満足すべき条件を表現する論理式の集ま
りとして、矛盾検知部に格納されている。
【0021】〔矛盾検知の手続き〕シミュレーションモ
デルの内容が更新される度に以下のステップの手続きを
実行する。 ステップ1 システム動作記述より、論理式を取り出
す。 ステップ2 取り出した論理式をシミュレーションモデ
ル内のデバイスの属性値や状態の情報に基づき評価し
て、論理式の成立/不成立を判定する。 ステップ3 判定の結果をモニタやデバガーを通して利
用者に通知する。
デルの内容が更新される度に以下のステップの手続きを
実行する。 ステップ1 システム動作記述より、論理式を取り出
す。 ステップ2 取り出した論理式をシミュレーションモデ
ル内のデバイスの属性値や状態の情報に基づき評価し
て、論理式の成立/不成立を判定する。 ステップ3 判定の結果をモニタやデバガーを通して利
用者に通知する。
【0022】〔ブリッジ部の構成〕プログラムの実行は
プログラム内の関数が逐次的に処理されるという連続的
な手続きの実行である。これに対して、シミュレーショ
ンモデルの実行は一定時間毎にモデル内のデバイスの内
容を更新していき状態を遷移させるという非連続で状態
遷移型の実行である。こうしたそれぞれの実行形態の違
いを埋め、互いに情報の通信が行えるようにするのがブ
リッジ部5の役割である。このブリッジ部の構成を図4
に示す。
プログラム内の関数が逐次的に処理されるという連続的
な手続きの実行である。これに対して、シミュレーショ
ンモデルの実行は一定時間毎にモデル内のデバイスの内
容を更新していき状態を遷移させるという非連続で状態
遷移型の実行である。こうしたそれぞれの実行形態の違
いを埋め、互いに情報の通信が行えるようにするのがブ
リッジ部5の役割である。このブリッジ部の構成を図4
に示す。
【0023】ブリッジ部5の動作は、プログラム(図5
にオブジェクト指向で記述されたプログラムの概要を示
す)から関数の起動(イベントの送信)によりモデルに
対して指令を発すると、あるデバイスの状態を別の状態
に遷移させる。この関数と状態遷移の対応関係に関する
情報は、図7に示すように、状態遷移管理テーブルに登
録されている。一方、モデル内であるデバイスの状態が
別の状態に遷移することが必要であればプログラムのあ
る関数を起動させる。この状態遷移と起動する関数の対
応関係は、図8に示すように、イベント発生管理テーブ
ルに登録されている。シミュレーション実行前にブリッ
ジ部は、この開発環境の利用者が作成したインターフェ
ース定義記述(図6参照)を読み込み、2つのテーブル
(状態遷移管理テーブルとイベント発生管理テーブル)
を自動的に生成する。図9にプログラムとモデルの通信
の流れを示す。
にオブジェクト指向で記述されたプログラムの概要を示
す)から関数の起動(イベントの送信)によりモデルに
対して指令を発すると、あるデバイスの状態を別の状態
に遷移させる。この関数と状態遷移の対応関係に関する
情報は、図7に示すように、状態遷移管理テーブルに登
録されている。一方、モデル内であるデバイスの状態が
別の状態に遷移することが必要であればプログラムのあ
る関数を起動させる。この状態遷移と起動する関数の対
応関係は、図8に示すように、イベント発生管理テーブ
ルに登録されている。シミュレーション実行前にブリッ
ジ部は、この開発環境の利用者が作成したインターフェ
ース定義記述(図6参照)を読み込み、2つのテーブル
(状態遷移管理テーブルとイベント発生管理テーブル)
を自動的に生成する。図9にプログラムとモデルの通信
の流れを示す。
【0024】〔動作例〕以下に、図10乃至図12を参
照しながら、複写機における給紙部のコントローラのプ
ログラム開発を例に取り説明する。 〔開発システム〕給紙部は、図10に示すように、モー
タ10とそれと直結した給紙ローラ11および紙位置検
知センサ12と紙搬送ガイド板からなり、これらを制御
する制御プログラム13は、モータのオン/オフとセン
サの検知情報を受け取る。
照しながら、複写機における給紙部のコントローラのプ
ログラム開発を例に取り説明する。 〔開発システム〕給紙部は、図10に示すように、モー
タ10とそれと直結した給紙ローラ11および紙位置検
知センサ12と紙搬送ガイド板からなり、これらを制御
する制御プログラム13は、モータのオン/オフとセン
サの検知情報を受け取る。
【0025】〔開発システムの動作仕様〕図11は、給
紙部の動作を説明するための概略図、図12は、給紙プ
ログラムのタイムチャートで、給紙ローラ11は、紙1
4を送り出し、紙14がセンサ位置12に達する(T
1)と、モータ10を停止(T2)し、1msec後に給紙
ローラ11を回転させ紙14をレジストローラ15まで
送り、さらにレジストローラ15に噛み合わせるために
たわみSを持たせて紙14を送り、モータ10を停止す
る(T3)。たわみSによって紙14が盛り上がる高さ
は8mm一定になるようにする。プログラムは、実時間
によるシーケンシャルな制御を行うため、決定すべきパ
ラメータは、T1,T2,T3の時刻である。
紙部の動作を説明するための概略図、図12は、給紙プ
ログラムのタイムチャートで、給紙ローラ11は、紙1
4を送り出し、紙14がセンサ位置12に達する(T
1)と、モータ10を停止(T2)し、1msec後に給紙
ローラ11を回転させ紙14をレジストローラ15まで
送り、さらにレジストローラ15に噛み合わせるために
たわみSを持たせて紙14を送り、モータ10を停止す
る(T3)。たわみSによって紙14が盛り上がる高さ
は8mm一定になるようにする。プログラムは、実時間
によるシーケンシャルな制御を行うため、決定すべきパ
ラメータは、T1,T2,T3の時刻である。
【0026】〔開発システムのシミュレーションモデ
ル〕シミュレーションモデルに含まれるデバイスは、モ
ータ、給紙ローラ、紙、給紙ガイド板、紙位置センサが
あり、それぞれのデバイスモデルの例を、図13乃至図
17に順次示す。モータ10は電源がオンになると、一
定時間の加速して定常回転に至る。給紙ローラ11は、
モータから発生する熱により形状が膨張して半径が大き
くなると、回転速度が大きくなる。紙14のたわみは、
紙14を縮めた距離とたわむことが可能なガイド板16
の隙間幅から、紙14が盛り上がる高さが決まる。こう
したデバイスの属性と取りうる状態を定義し、各状態で
成立する物理的法則に基づく属性の関数を決定してい
る。デバイス間の伝達は、モータからローラに回転が伝
えられ、またモータから発生した熱量がローラの温度に
影響を与える。ローラの回転速度は紙の移動速度へと伝
達される。こうした定義はパイプによって定義される。
以下に、各デバイスのモデル表現を図的に記述する。
ル〕シミュレーションモデルに含まれるデバイスは、モ
ータ、給紙ローラ、紙、給紙ガイド板、紙位置センサが
あり、それぞれのデバイスモデルの例を、図13乃至図
17に順次示す。モータ10は電源がオンになると、一
定時間の加速して定常回転に至る。給紙ローラ11は、
モータから発生する熱により形状が膨張して半径が大き
くなると、回転速度が大きくなる。紙14のたわみは、
紙14を縮めた距離とたわむことが可能なガイド板16
の隙間幅から、紙14が盛り上がる高さが決まる。こう
したデバイスの属性と取りうる状態を定義し、各状態で
成立する物理的法則に基づく属性の関数を決定してい
る。デバイス間の伝達は、モータからローラに回転が伝
えられ、またモータから発生した熱量がローラの温度に
影響を与える。ローラの回転速度は紙の移動速度へと伝
達される。こうした定義はパイプによって定義される。
以下に、各デバイスのモデル表現を図的に記述する。
【0027】〔シミュレーションの動作〕シミュレーシ
ョンモデルでは、そこに与える初期値や設定値(デバイ
スの属性)によって動作が異なる。従って、例で示した
システムの動作仕様とシミュレーションモデルから、プ
ログラムとシミュレーションモデルを実行するとどのよ
うな事象が発生するか、幾つかの場合を挙げてみる。 1.モータの回転時間が長すぎて、レジストローラ前で
ジャムが発生する。t=T3にプログラムはモータの回
転を停止させる。しかし、この時シミュレーションモデ
ルの紙デバイスのたわみ高属性の値は、規定の8mmを
大きく越えている。矛盾検知部がこの状態が異常である
ことを検出する。 2.モータの回転時間が短すぎて、紙がレジストローラ
まで達していない。
ョンモデルでは、そこに与える初期値や設定値(デバイ
スの属性)によって動作が異なる。従って、例で示した
システムの動作仕様とシミュレーションモデルから、プ
ログラムとシミュレーションモデルを実行するとどのよ
うな事象が発生するか、幾つかの場合を挙げてみる。 1.モータの回転時間が長すぎて、レジストローラ前で
ジャムが発生する。t=T3にプログラムはモータの回
転を停止させる。しかし、この時シミュレーションモデ
ルの紙デバイスのたわみ高属性の値は、規定の8mmを
大きく越えている。矛盾検知部がこの状態が異常である
ことを検出する。 2.モータの回転時間が短すぎて、紙がレジストローラ
まで達していない。
【0028】モータの加速時間を考慮していなかったた
め、モータをオフにするT3の値が早すぎる結果となっ
た。このことは、シミュレーションモデルの紙デバイス
の先端位置(px1)の値がガイド板の長さLに満たし
ていないことにより、矛盾検知部が異常であることを検
出する。このように、シミュレーションモデルによりモ
ータの加速/減速時間の考慮やモーラ半径の変化といっ
たより詳細な物理的挙動をシミュレートすることで、プ
ログラムの動作が正しいかどうかを判断することができ
る。
め、モータをオフにするT3の値が早すぎる結果となっ
た。このことは、シミュレーションモデルの紙デバイス
の先端位置(px1)の値がガイド板の長さLに満たし
ていないことにより、矛盾検知部が異常であることを検
出する。このように、シミュレーションモデルによりモ
ータの加速/減速時間の考慮やモーラ半径の変化といっ
たより詳細な物理的挙動をシミュレートすることで、プ
ログラムの動作が正しいかどうかを判断することができ
る。
【0029】
請求項1の効果:物理的対象を状態遷移があるデバイス
で表現することにより、システムを目的範的にモデル化
することができ、効率がよくまた理解しやすいシミュレ
ーションモデルが得られる。さらに、状態の中に属性の
時間的挙動を記述する状態関数によって、数値解析的な
シミュレーションの実行が可能であり、実時間制御型プ
ログラムと結合させて、そのデバグや動作確認の開発支
援に利用することができる。
で表現することにより、システムを目的範的にモデル化
することができ、効率がよくまた理解しやすいシミュレ
ーションモデルが得られる。さらに、状態の中に属性の
時間的挙動を記述する状態関数によって、数値解析的な
シミュレーションの実行が可能であり、実時間制御型プ
ログラムと結合させて、そのデバグや動作確認の開発支
援に利用することができる。
【0030】請求項2の効果:パイプにより、シミュレ
ーションモデルを複数のデバイスのネットワークとして
構成することことができ、大規模なシミュレーションモ
デルを構築することが可能になる。
ーションモデルを複数のデバイスのネットワークとして
構成することことができ、大規模なシミュレーションモ
デルを構築することが可能になる。
【0031】請求項3の効果:プログラム実行部はプロ
グラムを連続的に実行するのに対して、シミュレーショ
ン部ではデバイスの状態や属性の値を一定時間間隔で更
新していく非連続的な実行形式であり、ブリッジによっ
てこの実行方式の違いを越えて、2つを同時に実行させ
ながら互いの情報の受渡が出来る。
グラムを連続的に実行するのに対して、シミュレーショ
ン部ではデバイスの状態や属性の値を一定時間間隔で更
新していく非連続的な実行形式であり、ブリッジによっ
てこの実行方式の違いを越えて、2つを同時に実行させ
ながら互いの情報の受渡が出来る。
【0032】請求項4の効果:矛盾検知部により、プロ
グラムの不具合を容易に検出することが出来、開発の効
率が向上する。
グラムの不具合を容易に検出することが出来、開発の効
率が向上する。
【図1】 本発明が適用されるシミュレーションによる
開発支援環境の概略を示す図である。
開発支援環境の概略を示す図である。
【図2】 デバイス間の伝達情報の一例を示す図であ
る。
る。
【図3】 矛盾検知部の構成例を示す図である。
【図4】 ブリッジ部の構成例を示す図である。
【図5】 オブジェクト指向で記述されたプログラムの
概要を示す図である。
概要を示す図である。
【図6】 インターフェイスの定義記述を示す図であ
る。
る。
【図7】 状態遷移のための管理テーブルの一例を示す
図である。
図である。
【図8】 イベント発生のための管理テーブルの一例を
示す図である。
示す図である。
【図9】 プログラムとモデル間の通信の流れを示す図
である。
である。
【図10】 複写機の給紙部に関するプログラムと物理
的デバイスを示す図である。
的デバイスを示す図である。
【図11】 給紙部の動作説明をするための概略図であ
る。
る。
【図12】 給紙部におけるプログラムのタイムチャー
トの一例を示す図である。
トの一例を示す図である。
【図13】 モータのデバイスモデルを示す図である。
【図14】 給紙ローラのデバイスモデルを示す図であ
る。
る。
【図15】 紙のデバイスモデルを示す図である。
【図16】 給紙ガイド板のデバイスモデルを示す図で
ある。
ある。
【図17】 センサーのデバイスモデルを示す図であ
る。
る。
1…開発プログラム、2…シミュレーションモデル、3
…エンジン部、4…矛盾検出部、5…ブリッジ部。
…エンジン部、4…矛盾検出部、5…ブリッジ部。
Claims (4)
- 【請求項1】 プログラムからの制御に基づき制御対象
の物理的対象の挙動をシミュレーションするソフトウエ
ア開発支援のシミュレーション装置において、シミュレ
ーションモデルは、個々の物理的対象を表現するデバイ
スと呼ぶ要素から構成され、デバイスには、デバイスが
持つ特性や性質の情報(属性と呼ぶ)、デバイスの取り
うる状態とその状態遷移に関する情報、さらに、各状態
毎に、その状態が存在を判定する論理的条件(成立条件
と呼ぶ)、その状態内で成立する属性の関数的記述(状
態関数と呼ぶ)が定義されていることを特徴とするソフ
トウエア開発支援のシミュレーション装置。 - 【請求項2】 デバイス間の属性の依存関係をパイプと
呼ぶ機能で実現し、パイプは、あるデバイスの属性と別
のデバイスの属性との対応関係とそれらがどのような依
存関係にあるかを示す関数的記述から成ることを特徴と
するソフトウエア開発支援のシミュレーション装置。 - 【請求項3】 ブリッジ部に、シミュレーションモデル
の状態変化とプログラムのイベントとの対応関係を定義
するテーブルが存在し、該ブリッジ部は、プログラム実
行部内で実行中のプログラムが送るデバイスへの指令に
基づき、シミュレーション部内のデバイスの状態を遷移
させる機能とシミュレーション部内のデバイスの状態変
化を検出し、プログラム側にイベントのディスパッチを
行う機能を実行することを特徴とするソフトウエア開発
支援のシミュレーション装置。 - 【請求項4】 開発支援環境は、シミュレーションモデ
ルがシステムの動作仕様と矛盾する状態を検知してそれ
を利用者に通知する矛盾検知部を持ち、矛盾検知部は、
シミュレーションの実行中に各デバイスの状態を調べ
て、与えられたシステム動作仕様の記述に基づき、デバ
イスの異常状態を検出し、それをモニタ上に表示するこ
とを特徴とするソフトウエア開発支援のシミュレーショ
ン装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8145018A JPH09305389A (ja) | 1996-05-15 | 1996-05-15 | ソフトウエア開発支援のシミュレーション装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8145018A JPH09305389A (ja) | 1996-05-15 | 1996-05-15 | ソフトウエア開発支援のシミュレーション装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09305389A true JPH09305389A (ja) | 1997-11-28 |
Family
ID=15375535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8145018A Pending JPH09305389A (ja) | 1996-05-15 | 1996-05-15 | ソフトウエア開発支援のシミュレーション装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09305389A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000036477A1 (fr) * | 1998-12-16 | 2000-06-22 | Fujitsu Limited | Systeme, dispositif et support de memorisation servant au developpement d'un programme de commande d'un mecanisme |
JP2003030251A (ja) * | 2001-07-19 | 2003-01-31 | Fujitsu Ltd | シミュレーションシステム、方法、プログラム及び記録媒体 |
JP2006107370A (ja) * | 2004-10-08 | 2006-04-20 | Canon Inc | 情報処理装置及びその制御方法 |
JP2007086992A (ja) * | 2005-09-21 | 2007-04-05 | Canon Inc | 設計支援プログラム及び設計支援方法 |
US7257521B2 (en) | 2000-02-14 | 2007-08-14 | Fujitsu Limited | Support system, and computer-readable recording medium in which support program is recorded |
US7441235B2 (en) | 2003-02-28 | 2008-10-21 | Denso Corporation | Method, apparatus and program for testing control program |
JP2010170339A (ja) * | 2009-01-22 | 2010-08-05 | Canon Inc | 情報処理装置、情報処理システム及びそれらの制御方法 |
-
1996
- 1996-05-15 JP JP8145018A patent/JPH09305389A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000036477A1 (fr) * | 1998-12-16 | 2000-06-22 | Fujitsu Limited | Systeme, dispositif et support de memorisation servant au developpement d'un programme de commande d'un mecanisme |
US7257521B2 (en) | 2000-02-14 | 2007-08-14 | Fujitsu Limited | Support system, and computer-readable recording medium in which support program is recorded |
JP2003030251A (ja) * | 2001-07-19 | 2003-01-31 | Fujitsu Ltd | シミュレーションシステム、方法、プログラム及び記録媒体 |
US7441235B2 (en) | 2003-02-28 | 2008-10-21 | Denso Corporation | Method, apparatus and program for testing control program |
JP2006107370A (ja) * | 2004-10-08 | 2006-04-20 | Canon Inc | 情報処理装置及びその制御方法 |
JP2007086992A (ja) * | 2005-09-21 | 2007-04-05 | Canon Inc | 設計支援プログラム及び設計支援方法 |
JP4621100B2 (ja) * | 2005-09-21 | 2011-01-26 | キヤノン株式会社 | 設計支援プログラム |
JP2010170339A (ja) * | 2009-01-22 | 2010-08-05 | Canon Inc | 情報処理装置、情報処理システム及びそれらの制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2577413B1 (en) | Method and system for closed-loop controller programming | |
KR100314262B1 (ko) | 그래픽언어기술프로세스내다수도구사용대화식컴퓨터프로그램개발방법및그장치 | |
JP5455896B2 (ja) | テストベンチのための開発設備のシミュレーション装置および方法 | |
JP5179249B2 (ja) | 制御装置シミュレーション方法、システム及びプログラム | |
US9176490B2 (en) | Control program generation device, control program generation program, and control program generation method | |
JP2009265668A (ja) | 工学プロジェクトの訓練シミュレータ | |
EP2833223B1 (en) | Simulation device, simulation method and simulation program | |
JPH09305389A (ja) | ソフトウエア開発支援のシミュレーション装置 | |
JP2020099141A (ja) | 制御装置試験装置とその制御方法及び制御装置試験システム | |
CN110275504A (zh) | 故障预测支援装置及其方法以及计算机可读存储介质 | |
CN102902852B (zh) | 一种汽车ecu诊断软件模型的自动生成系统及方法 | |
CN111191336B (zh) | 航空发动机控制原型闭环仿真方法和系统、存储介质 | |
JP4875545B2 (ja) | シミュレーション同期装置及びその制御方法 | |
JP5314959B2 (ja) | 情報処理装置、及びその制御方法、コンピュータプログラム、記憶媒体 | |
CN116893842A (zh) | 用于从技术安装设施中的工程程序中根除程序错误的方法和系统 | |
JP5212508B2 (ja) | デバッグ装置 | |
CN114826954A (zh) | 一种车载以太网监测系统以及监测方法 | |
CN114518734B (zh) | 一种控制模型集成方法、装置及其介质 | |
Erkkinen | Model style guidelines for production code generation | |
Wang | Enhancing the applications of building automation systems for better building energy and environmental performance | |
JPH0887316A (ja) | 制御装置 | |
JP2000200190A (ja) | ソフトウェア開発支援装置、ソフトウェア開発支援方法およびその方法をコンピュ―タに実行させるプログラムを記録したコンピュ―タ読み取り可能な記録媒体 | |
KR20090065878A (ko) | 센서 네트워크를 구성하기 위한 타겟 센서 노드를 시험하는장치 및 그 방법 | |
JPH09114516A (ja) | 設備制御システムの設備制御シーケンスの動作状態監視方法及びシーケンス制御装置 | |
Erkkinen | Fixed-Point ECU Development with Model-Based Design |