JPH09305639A - シミュレーション方法および装置 - Google Patents

シミュレーション方法および装置

Info

Publication number
JPH09305639A
JPH09305639A JP11660296A JP11660296A JPH09305639A JP H09305639 A JPH09305639 A JP H09305639A JP 11660296 A JP11660296 A JP 11660296A JP 11660296 A JP11660296 A JP 11660296A JP H09305639 A JPH09305639 A JP H09305639A
Authority
JP
Japan
Prior art keywords
time
simulation
event
data
discrete
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
JP11660296A
Other languages
English (en)
Inventor
Yoshikazu Ishii
良和 石井
Toshiaki Higashihara
敏昭 東原
Toshiyuki Tsuboya
敏行 坪谷
Shuichi Takahashi
秀一 高橋
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP11660296A priority Critical patent/JPH09305639A/ja
Publication of JPH09305639A publication Critical patent/JPH09305639A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 【課題】離散事象シミュレータにおいて、外部システム
とのインタラクションを可能とすることによって、微分
方程式で記述できないシステムのシステムシミュレーシ
ョンテストなどを可能とする。 【解決手段】シミュレーション実行手段101、外部割
込事象取込手段103、及び共通の時計105からな
り、シミュレーション実行手段101は、通常の離散事
象シミュレータとほぼ同様に作用するが、シミュレーシ
ョン時刻の更新は事象テーブル104に登録された事象
の生起時刻と共通の時計105の示す時刻とが比例する
ようにシミュレーションの実行を制御し、外部割込事象
取込手段103は、外部システム106からのデータ
に、共通の時計105に基づいてシミュレーション時刻
を割り付ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プラントの制御シ
ステムなどの評価を行うためのシミュレーション装置、
すなわち外部のシステムと相互作用しながらシミュレー
ションを進めるシミュレーション方法および装置に係
り、特に、離散的な事象を扱う物流システムのような、
微分方程式で表現する必要がない、あるいは、それで表
現することができないシステムについての、離散事象シ
ミュレーション方法および装置に関する。
【0002】
【従来の技術】シミュレーションは大きく2通りに分類
される。一つは連続系のシミュレーションであり、もう
一つは離散系のシミュレーションである。前者は、時間
と空間を独立な変数として、シミュレーション対象とな
っている現象の時間変化を求める。後者は、事象とその
発生場所を独立な変数として、該事象の発生時刻を求め
る。
【0003】前者の連続系のシミュレーションは、フィ
ードバック制御のゲイン設計や安全装置の動作タイミン
グの設計など利用されている。一方、後者の離散系のシ
ミュレーションは、大規模な工場のレイアウト設計や運
転手順評価、あるいは、通信システムの処理能力評価や
プロトコル設計などに用いられている。このような利用
局面の違いを一言で述べれば、前者は時間微分方程式で
表される局所的な設計項目の評価用、後者は時間微分方
程式で表せない、あるいは、表す必要のない大局的な設
計項目の評価用と言える。
【0004】最近では、シミュレーションを、設計し製
作した制御システムの実機の性能試験にも活用するよう
になってきている。このような性能試験では、システム
シミュレーションテストと呼ばれ、一般的に、実機の制
御システムと該制御システムの制御対象となるシステム
の動作を模擬するシミュレーション装置とを接続した状
態で実行される。この性能試験において、制御システム
は、様々な制御指令をシミュレーション装置へ入力し、
その制御指令を反映して行われたシミュレーションの結
果に基づいて、該制御システムの動作が評価される。
【0005】ところが、従来は、後述する「発明が解決
しようとする課題」の欄に示すような問題があり、離散
系のシミュレーションは、上記システムシミュレーショ
ンテストへは活用されておらず、連続系のシミュレーシ
ョンだけが用いられている。
【0006】次に、本発明に関連する技術である、離散
系のシミュレーションについて、より詳しく説明する。
【0007】離散事象をシミュレーションするためのモ
デルには、事象中心のモデル、プロセス中心のモデル、
アクティビティ中心のモデルがある。事象中心のモデル
は事象の発生時点における状態の変化を記述するモデル
であり、例えば、状態遷移図で表される。プロセス中心
のモデルはシステムの中を物がどのように動くかを記述
するモデルであり、データフロー図で表される。アクテ
ィビティ中心のモデルは事象によって生じるプラントの
様々な状態の発生、終了などを記述するモデルであり、
これに直接対応する図式表現はない。
【0008】離散事象シミュレーションを実行する装置
である離散事象シミュレータは、このようなモデル化方
法を背景に構築されている場合が多いが、多くは事象中
心のモデル(またはアクティビティ中心のモデル)とプ
ロセス中心のモデルを融合した形で実現されている。す
なわち、モデルの表現上はデータフロー図的にモデル構
築を行い、内部処理では事象中心の処理が行われる。
【0009】一般的な離散事象シミュレータでの処理
を、より具体的に説明する。ここでは、対象とするシス
テムは、プロセス中心のモデルにより、時間遅れブロッ
クなどの特別な記号を用いたブロックダイアグラムによ
って記述される。なお、ここでいうブロックとは、本明
細書の他の部分では、場所あるいは要素と記述している
ものに相当する。
【0010】ブロックダイアグラムに沿って流れる物
は、トランザクションと呼ばれる。トランザクション
は、(1)フューチャーイベントチェーンと(2)カレ
ントイベントチェーンという二つのリストのいずれかに
格納される。上記(1)のリストには、現在入っている
ブロックから出て行く予定時刻が、現在のシミュレーシ
ョン時刻よりも後となるトランザクションが、出て行く
時刻が早い順に格納されている。上記(2)のリストに
は、現在入っているブロックから出て行く予定時刻が、
現在の時刻と等しいトランザクションが優先度などの順
に並んでいる。
【0011】シミュレーションの実行手段は、上記
(2)のリストに並んでいるトランザクションの処理が
全て終了すると、上記(1)のリストの先頭の事象を選
び出して、その時刻にシミュレーション時刻を合わせ
る。さらに、上記(1)のリストから発生時刻がシミュ
レーション時刻と等しい事象を全て選択し、上記(2)
のリストへ移動する。こうしてできた新しいカレントイ
ベントチェーンの先頭から、接続されたブロックに従っ
て、滞留時間が0でないブロックまでシミュレーション
を進める。このとき、滞留時間が0でないブロックで
は、その時刻に滞留時間を加えた時間を出て行く時刻と
して、上記(1)のリストに事象を登録する。
【0012】このように、離散事象シミュレータは主
に、新規に発生する事象をリストやテーブルに登録する
処理と、登録された事象の検索、実行を行う処理によっ
て実現されるものである。
【0013】
【発明が解決しようとする課題】最初、離散的な物を扱
う物流システムのようなプラントの動作を、連続系のシ
ミュレーションを用いて模擬する場合の問題点について
説明する。
【0014】連続系のシミュレーションでコンベアなど
の物流装置をシミュレーションしようとする場合、例え
ばコンベアの状態として、コンベア上の搬送対象物の数
と位置を採ったとすると、これら数と位置とをシミュレ
ーションステップ毎に更新する必要がある。
【0015】これは、プラント全体での物の流れなどを
評価する目的からは、必要以上に詳細なシミュレーショ
ンである。しかもこの時、シミュレーションの時間ステ
ップ幅Tsとコンベアの速度V、コンベアの長さL、お
よび、搬送対象物がコンベア上に乗った時刻Tの間に、
次の関係が満足されなければ、コンベアへの搬送対象物
の出入りなどのタイミングを厳密にはシミュレーション
することができない。
【0016】
【数1】L = n・Ts・V T = m・Ts ここで、n、mは自然数である。このような条件を、複
数のコンベアが配置されている、大規模なプラント全体
について成立させるのは、必ずしも容易ではなく、現実
的ではない。さらに、シミュレーションが詳細であるに
も関わらず、それが実際の動作を反映した正しいシミュ
レーションであるとは保証できない。
【0017】もちろん、シミュレーションの時間ステッ
プ幅Tsを極力小さくすることで、上記条件を近似的に
成立させることが可能である。しかし、この時間ステッ
プ幅Tsをあまり小さくすると、シミュレーションに要
する時間を増加させることになる。よって、上述したシ
ステムシミュレーションテストのようにシミュレーショ
ン時間を実際にかかる時間より短いことが望まれるよう
な用途においては、時間ステップ幅Tsを、あまり小さ
くすることはできない。
【0018】以上説明したように、従来技術では、連続
系のシミュレーションの適用が困難であるシステム、す
なわち、微分方程式で記述できない、あるいは、記述す
る必要がないプラントの動作を、時間制約のある中で正
確にはシミュレーションする事は困難であった。
【0019】次に、離散系のシミュレーションを、上述
したシステムシミュレーションテストに活用する場合の
問題点について説明する。
【0020】従来の離散系のシミュレーションでは、上
述したように事象が独立な変数として扱われ、時刻は事
象の従属変数となる。このため、連続系のシミュレーシ
ョンと違って、シミュレーション時刻は、ほぼ連続的に
進展することはなく、不規則になることが一般的であ
る。したがって、上記システムシミュレーションテスト
の場合のように、外部のシステムからの適切なタイミン
グで制御指令等の信号を入力して、シミュレーションさ
れる現象を変化させるような使用方法は、連続系の場合
に比べて著しく難しくなる。
【0021】本発明の第1の目的は、上記したような微
分方程式で記述出来ない、あるいは、記述する必要がな
いシステムについてのシミュレーションを可能とすると
共に、当該システムを制御するための制御システムのシ
ステムシミュレーションテストに用いることができる、
離散系のシミュレーション方法及びその装置を提供する
ことにある。
【0022】本発明の第2の目的は、外部からデータを
時間的に正しい順序で取り込み、当該取り込んだデータ
を適切なタイミングでシミュレーションに反映させるこ
とができる、離散系のシミュレーション方法及びその装
置を提供することにある。
【0023】
【課題を解決するための手段】上記第1及び第2の目的
を達成するために、本発明は、モデル化された事象につ
いてシミュレーションを実施するシミュレーション実行
手段を備えるシミュレーション装置において、外部から
入力されるシミュレーション動作に関する制御データを
受け付けるデータ受付手段と、外部世界での時刻と前記
シミュレーション実行手段でのシミュレーション時刻と
を対応づける時刻対応手段と、前記受け付けた制御デー
タ及び前記時刻対応手段により当該制御データを受け付
けた時点における外部世界の時刻に対応づけられたシミ
ュレーション時刻に応じて、前記シミュレーション実行
手段が行うシミュレーション動作を変化させるシミュレ
ーション制御手段とを有し、前記シミュレーション実行
手段は、前記モデル化された事象の生起する時刻を生成
する手段を少なくとも備える。
【0024】また、上記両目的を達成するために、本発
明は、離散的な事象についてシミュレーションを実施す
るシミュレーション実行手段を備えるシミュレーション
装置において、時計手段と、外部から入力されるシミュ
レーション動作に関する制御データを受け付けると共
に、当該制御データを受け付けた時点での前記時計手段
の示す時刻を、当該制御データの発生時刻として割り付
ける、外部データ取込手段とを有し、前記シミュレーシ
ョン実行手段は、前記時計手段の時刻を参照し、当該シ
ミュレーション実行手段でのシミュレーション時刻の進
みが前記時計手段の時刻の進みと比例するように、シミ
ュレーション時刻の更新動作を制御する時刻更新手段を
備え、前記受け付けた制御データ及びそれに割り付けら
れた時刻に応じて、そのシミュレーション動作を変化さ
せる。
【0025】また、上記両目的を達成するために、本発
明は、シミュレーションの対象となるシステムをモデル
化したモデル手段と、事象を特徴づける事象データを格
納する記憶手段と、前記格納されている事象データのう
ち次に行うべき事象を選択する選択手段と、前記モデル
に基づき前記選択された事象に対応する処理を実行する
処理手段と、シミュレーション時刻の更新動作を行うと
共に、更新された時間範囲に含まれる事象を前記選択手
段による選択が可能な状態とする時刻更新手段とを備え
る離散事象シミュレーション装置において、外部からの
データを受け付けると共に、当該データを受け付けたタ
イミングに対応するシミュレーション時刻を当該受け付
けたデータの発生時刻として割り付けるデータ取込手段
と、前記発生時刻が割り付けられたデータを事象データ
として前記記憶手段へ格納する事象格納手段とを有し、
前記選択手段は、その時点で前記記憶手段に格納されて
いる、外部からの事象及び予め登録されていた事象のう
ち、その発生時刻が早い順に選択する。
【0026】また、上記両目的を達成するために本発明
は、離散事象シミュレータで用いられるシミュレーショ
ンモデルにおいて、遅延モジュールと割り込み検出モジ
ュールとを少なくとも備えるループ状の部分モデルを備
え、前記遅延モジュールは、当該シミュレーションを実
行する装置に備えられているクロック手段から当該遅延
モジュールへのトリガーが生起した時刻を読み込み、前
回の読み込みからの時刻の変化分を当該遅延モジュール
の遅延時間とし、シミュレーション上の時刻がこの遅延
時間を経過した後に前記割り込み検出モジュールへのト
リガーを発生し、前記割り込み検出モジュールは、前記
トリガーがくる度に外部割り込みの有無をチェックし、
割り込みが有る場合には当該割り込みに対応して予め定
められた処理を表す部分モデルへのトリガーを生成し、
その後、前記遅延モジュールへのトリガーを生起する。
【0027】
【発明の実施の形態】本発明では、連続系のシミュレー
タに替わって、本発明を適用した離散系のシミュレータ
を使ってシミュレーションを行うことにより、上記第1
及び第2の目的を達成する。これは、離散系のシミュレ
ータの持つ、次のような性質によって実現される。
【0028】すなわち、離散系のシミュレータは、例え
ば搬送対象物が入った時刻と出た時刻以外の時刻につい
ては計算しないため、連続系のシミュレータのように、
連続的なコンベアの状態変化は把握することはできない
が、事象の発生順序は厳密に決めることができる。よっ
て、離散系のシミュレータによれば、複数のコンベア上
を搬送対象物が多数流れている場合でも、詳細なシミュ
レーション無しにシステム全体の動作を、大きな計算時
間を必要とせずに、正確なシミュレーションが可能とな
る。
【0029】ただし、上述したようなシミュレーション
を実行するには、外部からデータを正しい順序で取り込
み、シミュレーションに反映できる離散系のシミュレー
ション装置が必要となる。
【0030】そこで、本発明による離散事象シミュレー
タは、例えば、連続的に時を刻む時計手段と、システム
シミュレーションテストの対象となるような、外部シス
テムからのデータを入力して、このデータに前記時計手
段を参照して時刻の情報を付加し、事象テーブルに登録
する外部割込事象取込手段と、実行するべき事象を選択
すると共に、事象選択に伴いシミュレーション時刻を更
新する場合には、前記時計手段を参照して、当該時計手
段の示す時刻と前記シミュレーション時刻とがほぼ比例
関係になるように、選択した事象の実行タイミングを調
整する機能を有するシミュレーション実行手段とを備え
る。
【0031】外部割込事象取込手段は、外部からのデー
タの入力の有無を常時チェックして、データの入力が有
った場合には、時計手段を参照して時刻を読み出し、該
データに時刻の情報を付加して事象テーブルに記憶す
る。
【0032】シミュレーション実行手段は、事前に与え
られたシミュレーション対象システムのモデルのデータ
に基づき、事象の選択、シミュレーション時刻の更新
(必要な場合のみ)、事象に対する処理の実施、派生事
象の登録を繰り返す。
【0033】本発明においては、事象選択に伴いシミュ
レーション時刻を更新する場合には、時計手段を参照し
てシミュレーション開始からの経過時間を計算し、選択
された事象の発生時刻がシミュレーションの経過時間よ
りも早い場合には実行を見合わせ、また、割込み事象が
有った場合には、先に選択されていた事象ではなく、当
該割込み事象に対応する処理を実施する。また、割込み
事象が無かった場合には選択された事象の発生時刻が経
過時間と一致した時点で選択された事象に対応する処理
を行う。
【0034】本発明によれば、外部で発生したデータを
離散系のシミュレータにも正しい発生順序で取り込むこ
とが可能となり、離散系のシミュレーションを外部のシ
ステムと組み合わせて使用できるようになる。
【0035】以下、本発明の一実施形態を、図1〜図1
1を参照しながら詳細に説明する。なお、各図を通して
同等の要素には同一の符号を付している。
【0036】本実施形態の説明に先立ち、本発明の適用
対象となる離散事象シミュレータの基本的な構成につい
て説明する。
【0037】離散事象シミュレータの基本構成には、例
えば図3に示すように、事象選択手段301、シミュレ
ーション時刻更新手段304、事象処理手段302、事
象テーブル104、および、シミュレーション対象シス
テムモデルの定義データ303が備えられている。
【0038】上記図3に示した離散事象シミュレータの
各手段は、例えば図2のフローチャートのように動作す
る。
【0039】すなわち、離散事象シミュレータがユーザ
により起動されると、先ず初期化が行われる(ステップ
201)。初期化では、ユーザによりシミュレーション
する対象のシステムに関するモデルの定義が行われる。
更に、シミュレーション終了時刻のユーザによる設定が
行われ、これらに基づいて初期事象を事象テーブル10
4に登録する。
【0040】シミュレーション開始後は、事象選択手段
301が事象テーブル104に登録された事象をサーチ
し、選択可能な事象から一つの事象を選択する(ステッ
プ202)。選択の可否の判定の結果(ステップ20
3)、選択ができた場合には、事象処理手段302がシ
ミュレーション対象システムモデル303に基づき、選
択された事象に対応する処理を実施する(ステップ20
4)。
【0041】次に、この処理に関する派生事象の有無を
チェックし(ステップ205)、有りの場合には、事象
処理手段302がシミュレーション対象システムモデル
303に基づき、派生事象を事象テーブル104に登録
する。この後、または派生事象の有無のチェック(ステ
ップ205)で派生事象が無かった場合は、ステップ2
02の処理に戻る。
【0042】一方、事象選択の可否のチェック(ステッ
プ203)で、選択できなかった場合には、事象選択手
段301がシミュレーション時刻更新手段304にシミ
ュレーション時刻更新を要求する(ステップ207)。
シミュレーション時刻更新手段304は、事象テーブル
104に登録された事象をサーチし、未選択の事象の中
から最も早い時刻に生起する予定の事象を選択し、これ
らを選択可能とする(ステップ208)。
【0043】ここで選択ができたかどうか、ならびに選
択した事象の生起時刻がシミュレーション終了時刻より
も後であるか否かをチェックし(ステップ209)、選
択不可能または選択した事象の生起時刻がシミュレーシ
ョン終了時刻よりも後の場合は、シミュレーションを終
了とする(ステップ212)。
【0044】上記条件以外の場合は、シミュレーション
時刻更新手段304がシミュレーション時刻を更新し
(ステップ210)、更新した旨を事象選択手段301
に通知する。この後はステップ202に戻って、事象の
選択以下の処理が繰り返され、シミュレーションが進展
して行く。
【0045】シミュレーション対象システムモデル40
1とその定義データ303の一例を図4に示す。この例
は、「停止する事象」も発生し得るように定義したベル
トコンベアのモデルを示したものである。モデル401
は、モデルがどのような場所411〜413(要素ある
いはブロックと同義)から構成され、それらがどのよう
な接続関係を持つかを定義した情報である。
【0046】これはシミュレーション開始以前に、シミ
ュレータのユーザにより、例えばビジュアルプログラミ
ング言語のような、周知のモデル作成手段により、シス
テムの挙動を表すデータフローダイアグラムを記述する
こと等で定義される。こうして得られた情報は、シミュ
レータのプリプロセッサによる変換処理402によっ
て、シミュレーション実行時に用いるモデルの定義デー
タ303に変換される。
【0047】また、上記モデル401を構成する各場所
については、どの入口(421、422、431、43
2)に対して、どのような処理を行なうかということを
予め別途定義しておく。また、場所の名前も通常、その
処理を反映するように、その場所に付与しておく。
【0048】事象テーブル104は、例えば図5に示す
ような構成を備えている。事象テーブル104は、カレ
ントイベントチェーン510とフューチャーイベントチ
ェーン520とを有する。
【0049】フューチャーイベントチェーン520に
は、事象の発生時刻521、事象に関わる処理の識別子
522、及び、事象の起きる場所523に関する情報が
格納されていると共に、事象に関連する物に関する情報
あるいはその識別ID等が記録できる領域524が設け
られている。ここで、識別子522としては、例えば、
事象を表す処理のサブルーチンのアドレスなどが用いら
れる。
【0050】また、カレントイベントチェーン510の
構成は、フューチャーイベントチェーン520の構成と
基本的には同じであるが、事象の発生時刻521は必須
ではない。また、物に関する情報を、その識別IDなど
で記憶している場合は、物の情報を格納するテーブル5
30が別に必要となる。ここでは、そのような実現方式
の場合を例に示している。
【0051】また、上記の「事象に関連する物」という
のは、例えば、コンベアに段ボールが「入る事象」が生
起した場合の、「段ボール」のことであり、それに関す
る情報とは、例えば、シミュレーションによって、コン
ベアを通った段ボールの数を種類やサイズ毎に集計した
い場合に、個々の段ボール毎の種別やサイズを表す情報
のことである。
【0052】上記図3の離散事象シミュレータの動作
を、図4に示すようなモデルを用いて、より具体的に説
明する。なお、図3の定義データ303は、図4のモデ
ルの画面上の情報401を計算機が処理できる形に変換
した物であり、ここではモデルの画面上の構成を、モデ
ルの定義データ303とみなして説明する。
【0053】モデル上に定義されている場所には、入口
及び出口のうち少なくとも一方が設けられている。例え
ば、図4のDelay要素411においては、入口42
1と出口422がある。入口あるいは出口は、事象処理
手段302にとっては、関数のアドレスに対応する。従
って、モデル上のある場所の入口に物が入る事象が発生
した場合には、その入口に対応する関数を、入った物の
属性値を引数としてコールする。
【0054】例えば、図4のDelay要素411につ
いては、入口421に「物の到着という事象」が発生す
ると、時間遅れの計算処理を実施し、この計算結果に基
づいて「物が出るという事象」が起きる時刻を決め、こ
の新しい事象をフューチャーイベントチェーン520に
格納する。また、モデル上の場所が、例えばSwitc
hを表す要素である場合には、スイッチの条件判定演算
を行う関数をコールし、2つの出口のいずれかへの「出
る事象」をカレントイベントチェーン510へ格納す
る。
【0055】このような様々な事象の処理結果に基づい
て、事象テーブル104に登録された事象の中から、事
象選択手段301は最も発生時刻が早い事象を選択し、
これを次の事象として実施する。カレントイベントチェ
ーン510に選択できる事象がない場合には、シミュレ
ーション時刻更新手段304が、フューチャーイベント
チェーン520の中から、次に生じるべき事象の時刻を
読み込み、シミュレーション時刻として設定する。ま
た、その時刻に生じる全ての事象をフューチャーイベン
トチェーン520からカレントイベントチェーンへ51
0移動する。
【0056】こうした処理の繰り返しにより、先ほど入
った「物が出る事象」も処理され、出口に接続された別
の場所の入口に対する「物が入る事象」が新たに登録さ
れ、シミュレーション上の時間が進展して行く。なお、
演算などの処理の結果の大部分は、データフローダイア
グラム上のアークを流れる物の情報に関するテーブル5
30に格納されるが、事象の発生時刻に関わる計算結果
だけは、事象テーブル104上に格納される。
【0057】また、事象は大別すると次の4つのタイプ
に分かれる。すなわち、入る事象と出る事象が時間遅れ
なく生起するタイプ、何らかの時間遅れを伴って生起す
るタイプ、入ったきり出てこないタイプ、および出るだ
けのタイプである。
【0058】次に、上述の事象選択手段301、事象処
理手段302、シミュレーション時刻更新手段304
を、それぞれ実現する処理プログラムの一例を説明す
る。
【0059】先ず、事象選択手段301を実現する処理
プログラム例を、図6を参照して説明する。
【0060】事象選択手段301の起動時には、シミュ
レーション未終了で、シミュレーション時刻更新要求有
りの状態とし、次にシミュレーションが終了したか否か
を確認する(ステップ601)。未終了であれば、シミ
ュレーション時刻更新が完了しているかどうかを確認し
(ステップ602)、更新完了の場合には、カレントイ
ベントチェーン510の先頭の事象を検索・選択し(ス
テップ603)、選択可能な事象が有れば(ステップ6
04)、選択した事象を処理を事象処理手段302に要
求する(ステップ605)。
【0061】さらに、上記処理の終了を確認後(ステッ
プ606)、該選択した事象をカレントイベントチェー
ン510からこの事象を削除し(ステップ607)、ス
テップ601からの処理を繰り返す。また、ステップ6
04で選択可能な事象がないと判定された場合は(ステ
ップ604でN)、シミュレーション時刻更新手段30
4にシミュレーション時刻更新要求を出し(ステップ6
08)、ステップ601からの処理を繰り返す。
【0062】次に、事象処理手段302を実現する処理
プログラム例を、図7を参照して説明する。
【0063】事象処理手段302の起動時には、シミュ
レーション未終了で、シミュレーション時刻更新要求無
しの状態とし、次にシミュレーションが終了したか否か
を確認する(ステップ701)。未終了であれば、事象
処理要求が有るかどうかを確認し(ステップ702)、
有る場合には、前述のように関数をコールして処理を行
う(ステップ703)。
【0064】さらに、上記処理の結果、新たな事象が発
生する場合には(ステップ704)、上記図4のデータ
フローダイアグラムに対応するモデルの定義データ30
3より、その場所の次にある場所への「入る事象」をカ
レントイベントチェーン510へ登録する(ステップ7
05)。例えば、Fail要素412からの「出る事
象」に対しては、Delay要素411の入口431へ
の「入る事象」が対応する。この際、時刻や関連する情
報も併せて登録する。なお、新たに発生する事象が時間
遅れなく生じる場合は、カレントイベントチェーン51
0へ、時間遅れがある場合はフューチャーイベントチェ
ーン520へ登録する。
【0065】ステップ705の後には、再びステップ7
01からの処理を繰り返す。また、モデルの定義データ
303によっては、派生する事象がない場合も有る(ス
テップ704)が、その場合にも、また、ステップ70
1からの処理を繰り返す。
【0066】次に、シミュレーション時刻更新手段30
4を実現する処理プログラム例を、図8を参照して説明
する。
【0067】シミュレーション時刻更新手段304の起
動時には、シミュレーション未終了で、シミュレーショ
ン時刻更新要求有りの状態とし、次にフューチャーイベ
ントチェーン520の先頭の事象の生起時刻をシミュレ
ーション時刻とする(ステップ802)。また、起動後
には、シミュレーション時刻更新要求の有無を確認し
(ステップ801)、要求が有ればフューチャーイベン
トチェーン520の先頭の事象の生起時刻をシミュレー
ション時刻とする(ステップ802)。
【0068】次に、シミュレーション時刻がシミュレー
ションの終了時刻以降であるか、あるいは、選択すべき
事象が無いかを判定し、いずれかの条件に適合する場合
には(ステップ803)、シミュレーション終了とす
る。それ以外の場合には、シミュレーション時刻と同じ
生起時刻を持つ事象をフューチャーイベントチェーン5
20の中から全て選別し、これらをカレントイベントチ
ェーン510へ移動し(ステップ804)、シミュレー
ション時刻更新処理が完了した旨を事象選択手段301
へ通知する(ステップ805)。この後は、ステップ8
01からの処理を繰り返す。
【0069】離散事象シミュレータにおいては、上述し
たように、事象選択手段301、事象処理手段302、
及び、シミュレーション時刻更新手段304が、モデル
の定義データ303と事象テーブル104に順次アクセ
スしながらシミュレーションが進められる。
【0070】以上が本発明の適用対象となる離散事象シ
ミュレータの基本構成についての説明である。次に、図
1および図9〜12を用いて、本発明の一実施形態につ
いて説明する。なお、以下の説明では、上述した基本構
成と異なる構成についてのみ説明を行い、同じものにつ
いては同じ番号を付しその説明を省略する。
【0071】本実施形態の離散事象シミュレータは、図
1に示すように、上述したようなシステムシミュレーシ
ョンテストの対象となる外部システム106からの制御
に関する指令などの信号を受け付け、当該受け付けた信
号の内容を反映しつつ、離散系のシミュレーションを実
行するもので、シミュレーション実行手段101と、外
部割込事象取込手段103と、両手段101及び103
によって参照される共通の時計105と、事象テーブル
104とを備える。
【0072】外部システム106とは、例えば、その動
作が離散系のシミュレータにより模擬できる、プラント
システム等の制御を行うための制御装置である。ユーザ
はこの制御装置を介して、所望の制御指令を、所望のタ
イミングで離散事象シミュレータへ送る。
【0073】共通の時計105は、シミュレーション開
始から経過時間を連続的に刻む時計であり、例えば本実
施形態の離散事象シミュレータを実装する計算機のクロ
ックにより刻まれる時刻をベースにした時計である。
【0074】シミュレーション実行手段101は、上述
した図3の離散事象シミュレータと比較して、シミュレ
ーション時刻更新手段304の機能だけが異なってい
る。本実施形態でのシミュレーション時刻更新手段の符
号は102とする。
【0075】最初、本実施形態の離散事象シミュレータ
における動作の流れを、図9のフローチャートと図1の
構成図とに基づいて説明する。なお、図9のステップ2
010、ステップ2020〜2070、ステップ209
0〜2120は、図2のステップ201、ステップ20
2〜207、ステップ209〜212と同じ処理であ
る。
【0076】初期化(ステップ2010)では、上記図
2での処理と同様に、シミュレーションする対象のシス
テムに関するモデルの定義が、ユーザによって行われ
る。また、シミュレーション終了時刻のユーザによる設
定が行われ、これらに基づいて初期事象を事象テーブル
104に登録する。本実施形態では、さらに、外部割込
事象取込手段103の起動(ステップ2011)と共通
の時計105の初期化とを行って(ステップ201
2)、初期化動作を終了する。
【0077】シミュレーション開始後の処理は、ステッ
プ2071を除き、基本的には上記図2の処理と同様で
ある。
【0078】すなわち、事象選択手段301が事象テー
ブル104に登録された事象をサーチし、選択可能な事
象から一つの事象を選択する(ステップ2020)。選
択の可否の判定の結果(ステップ2030)、選択がで
きた場合は、事象処理手段302がシミュレーション対
象システムモデル303に基づき、選択された事象に対
応する処理を実施する(ステップ2040)。さらに、
この処理に対する派生事象の有無をチェックし(ステッ
プ2050)、有りの場合には、事象処理手段302が
シミュレーション対象システムモデル303に基づき、
派生事象を事象テーブル104に登録する(ステップ2
060)。ステップ2060の後、または、派生事象の
有無のチェック(ステップ2050)で派生事象が無か
った場合には、ステップ2020の処理に戻る。
【0079】一方、事象選択の可否のチェック(ステッ
プ2030)で、事象の選択できなかった場合には、事
象選択手段301がシミュレーション時刻更新手段10
2にシミュレーション時刻更新を要求する(ステップ2
070)。
【0080】次に、ステップ2071では以下の処理が
実行される。すなわち、上記要求が行われると、シミュ
レーション時刻更新手段102は、事象テーブル104
に登録された事象をサーチし、未選択の事象の中から最
も早い時刻に生起する予定の事象を選択する。この選択
の際には、共通の時計105の時刻を参照することによ
って、前記選択した事象の生起時刻がシミュレーション
開始からの経過時間と等しいか、あるいは、それよりも
大きくなるまでの期間中、外部からの割込の有無の確認
を継続的に監視する。共通の時計105の時刻が、前記
選択した事象の生起時刻と等しくなるか、あるいは、そ
れ以上になるか、あるいは、外部割込が有った場合に
は、外部割込により追加された事象をも含めて、再度、
最も早い生起時刻の事象を選択し、これらを選択可能と
する。本処理については図11を参照して、より詳細に
説明する。
【0081】次に、選択ができたかどうか、ならびに、
選択した事象の生起時刻がシミュレーション終了時刻よ
りも後であるか否かをチェックし(ステップ209
0)、選択不可能または選択した事象の生起時刻がシミ
ュレーション終了時刻よりも後の場合は、シミュレーシ
ョンを終了とする(ステップ2120)。また、上記条
件以外の場合には(ステップ2090でNo)、シミュ
レーション時刻更新手段102がシミュレーション時刻
を更新する(ステップ2100)。
【0082】最後に、シミュレーション時刻の更新が完
了した旨を事象選択手段301に通知し(ステップ21
10)、その後、ステップ2020に戻って、事象の選
択以下の処理を繰り返す。
【0083】次に、本発明に固有の手段である外部割込
事象取込手段103と、本発明においてはその作用が従
来のものとは異なるシミュレーション時刻更新手段10
2との処理を実現するアルゴリズムの一例について、図
10〜図12を用いて説明する。
【0084】外部割込事象取込手段103を実現する処
理のプログラム例を、図10のフローチャートを用いて
説明する。
【0085】シミュレーション実行手段101によって
外部割込事象取込手段103が起動されると、先ず外部
システム106からのデータの割込みの有無をチェック
する(ステップ1001)。外部システム106からの
データの割込みの有無の判定(ステップ1002)の結
果、割込がなければステップ1001からの処理を繰り
返す。一方、割込があれば、例えば割込フラッグをセッ
トし(ステップ1003)、シミュレーション時刻更新
手段102に外部割込事象のあったことを通知する。
【0086】さらに、外部システム106からのデータ
を読み込み(ステップ1004)、共通の時計105か
らの時刻の読み込みを行う(ステップ1005)。この
ようにして読み込んだデータと時刻を基に、データの受
信をシミュレーション実行手段101にとっての事象と
して、事象テーブル104の、例えばフィーチャーイベ
ントチェーン520(図5参照)に登録する(ステップ
1006)。
【0087】外部システム106からのデータには、当
該データがシミュレーション対象システムモデル303
のどの要素(モジュール)のどの入口に対するデータで
あるのかということを表す情報と、この送信先要素に対
して送るべき情報の内容として、例えば起こるべき事象
やその生起時刻に関する情報とが記録されている。
【0088】なお、本実施形態では、割込み事象をフィ
ーチャーイベントチェーン520に登録する場合を想定
して説明するが、割込み事象を例えばカレントイベント
チェーン510に直接登録する構成や、割込み事象専用
のテーブルを別途設け、事象の選択の際に、従来の事象
テーブルに加え、当該割込み事象専用のテーブルを検索
する構成としても良い。
【0089】次に、シミュレーション時刻更新手段10
2を実現する処理のプログラム例を図11を用いて説明
する。ここで、図11のステップ801、ステップ18
02〜1805は、上記図8のステップ801、ステッ
プ802〜805と同様な処理を用いる。
【0090】シミュレーション時刻更新手段102の起
動時には、シミュレーション未終了で、シミュレーショ
ン時刻更新要求有りの状態とし、ステップ1102以降
の処理に入る。起動後は、シミュレーション時刻更新要
求の有無を確認し(ステップ801)、要求が有ればフ
ューチャーイベントチェーン520の先頭の事象の生起
時刻を読み込み(ステップ1101)、続いて共通の時
計105からシミュレーション開始からの経過時間を読
み込む(ステップ1102)。
【0091】次に、外部割込事象取込手段103からの
割込を通知する割込フラッグを確認する(ステップ11
03)。割込がある場合(ステップ1104)には、割
込フラッグを解除(ステップ1106)した後、フュー
チャーイベントチェーン520の先頭の事象の時刻を、
シミュレーション時刻にセットする(ステップ180
2)。
【0092】割込が無かった場合は、ステップ1101
で読み込んだ時刻が、共通の時計105の示す時刻より
大きいか否かをチェックし(ステップ1105)、大き
ければステップ1802以下の処理を行う。一方、ステ
ップ1101で読み込んだ時刻が、共通の時計105の
示す時刻より小さい場合は、ステップ1102〜110
5までの処理を繰り返す。
【0093】本実施形態では、ステップ1102〜11
05の処理を繰り返すことによって、図12(a)に示
すような、本来は断続的に進展する離散事象シミュレー
タ内の時刻Tsと、外部システム106で用いられてい
る、いわば実世界の連続的に進展する時刻Toとの対応
関係を調整することにより、図12(b)に示すよう
に、本来は無関係に進む両時刻の相関をとることを可能
としている。なお、図12(b)において、1201は
TsとToとの関係を示すラインであり、1202はそ
の一部を拡大したものである。厳密に言えば、シミュレ
ーション時刻Tsは、この拡大部分1202に示されて
いるように、上記ステップ1102〜1105の処理に
よって進められる時間ステップ1203毎に段階的に進
展する。
【0094】ステップ1802以降は、上記図8での処
理と同じ処理となる。すなわち、フューチャーイベント
チェーン520の先頭の事象の時刻を、シミュレーショ
ン時刻にセットし(ステップ1802)、その後、シミ
ュレーション時刻がシミュレーションの終了時刻より大
きいか、事象を選択できるかをチェックする(ステップ
1803)。シミュレーション時刻がシミュレーション
の終了時刻より大きい場合、あるいは、事象が選択でき
ない場合には、シミュレーション終了とする。それ以外
の場合には、シミュレーション時刻と同じ生起時刻を持
つ事象をフューチャーイベントチェーン520の中から
全て選別し、これらをカレントイベントチェーン510
へ移動し(ステップ1804)、シミュレーション時刻
更新完了とする(ステップ1805)。この後はステッ
プ801以降の処理を繰り返す。
【0095】以上のようにして、本実施形態の離散事象
シミュレータによれば、離散系のシミュレーションを、
外部のシステム106と常に相関をとりながら、インタ
ラクティブな状態で実施することが可能となる。
【0096】本実施形態は、従来の離散事象シミュレー
ションにおいては、シミュレーション時刻の進展が不規
則になるため、外部のシステム106とのデータの入出
力によって事象の進展の様子が変化するようなシミュレ
ーションを行うことが困難であるという問題に対し、シ
ミュレーション実行手段101と外部からのデータを取
り込む外部割込事象取込手段103とが、共通の時計1
05を参照しながら歩調を合わせて処理を行うようにす
ることによって、外部からのデータをシミュレーション
実行手段101内で不規則に変化するシミュレーション
時刻に合わせて取り込むことが可能となることに着目し
てなされたものである。
【0097】本実施形態によれば、外部からのデータを
シミュレータ内部に正しい順序で取り込むことが可能と
なる。これにより離散事象シミュレータをシミュレーシ
ョン対象システムモデルの評価だけでなく、このような
評価に基づいて作成された制御装置などの外部のシステ
ムと組み合わせることで、上述したシステムシミュレー
ションテストのような試験にも活用できるようになると
いう効果がある。
【0098】次に、本発明を適用した離散事象シミュレ
ータの他の実施形態について、図13を参照して説明す
る。
【0099】上記図1の実施形態では、共通の時計10
5及びシミュレーション時刻更新手段102を設けるこ
とで、本来は断続的に進展する離散事象シミュレータ内
のシミュレーション時刻Tsを、図12(b)に示すよ
うに、共通の時計105の時刻(実世界の時刻)Toに
比例する時刻となるように調整している。
【0100】本実施形態は、上記図1の実施形態におい
て、シミュレーション時刻Tsと時計の時刻Toとの関
係を、図13のライン1201(傾き=1)からライン
1211(傾き>1)あるいライン1212(傾き<
1)へ変えることによって、加速シミュレーションある
いは減速シミュレーションを実現する。
【0101】より具体的には、上記図11のシミュレー
ション時刻更新手段102のステップ1105の判定、
ならびに、上記図10の外部割込事象取込手段103の
ステップ1006の処理を次のように変更する。
【0102】ステップ1006:データの受信を事象と
して事象テーブルに登録 (事象の生起時刻を時計の時刻・mとする) ステップ1105:先頭事象の生起時刻≧時計の時刻・
mのチェック ここで、mは実数である。
【0103】本実施形態によれば、シミュレーション時
刻Ts及び時計の時刻Toを同じように進めるだけでな
く、それらの対応関係を変えることによって、外部シス
テム106からのデータを取込つつ、加速あるいは減速
シミュレーションを実行することができる。
【0104】次に、本発明を適用した他の実施形態につ
いて、図14を参照して説明する。
【0105】本実施形態は、上述した実施形態の離散事
象シミュレータの替わりに、シミュレーションされる現
象、例えば比較的簡単なプラントのモデルに関して、注
目する事象の生起する時刻を生成する手段を備えるシミ
ュレータ装置に本発明を適用したものである。
【0106】本実施形態のシミュレータでは、上述した
ような離散系のシミュレータのように複雑な処理を行わ
ずに、外部からの入力される条件に基づいて事象の発生
順序が変わるような、分岐を含む事象の発生シーケンス
と事象間の発生時間間隔または時刻を格納したテーブル
に基づいて、事象およびその発生時刻を生成する。
【0107】本実施形態のシミュレータ装置は、例えば
図14の示すように、上記図1の実施形態で説明した、
外部システム106からのデータを取り込む外部割込事
象取込手段103及び共通の時計105に加えて、外部
割込事象取込手段103で取り込まれる様々な制御信号
と条件(ケース)との対応関係を予め設定しているケー
ス選択テーブル1401と、各ケース毎に設定されてい
る事象データ(1402a〜1402n)を格納する事
象データテーブル1401とを備えている。
【0108】各事象データ1402には、複数組の、事
象に関する情報と各事象について設定されている、当該
ケースが選択された後のオフセット時刻に関する情報と
が含まれている。
【0109】本実施形態のシミュレータ装置は、さら
に、ケース選択テーブル1401のデータに基づき前記
取り込まれた制御信号に対応するケースを選択するケー
ス選択手段1403と、ケース選択手段1403により
選択された事象データを事象データテーブル1402か
ら読み込むと共に、その時点での共通の時計105の時
刻を読み込むことにより、読み込んだ事象データに対応
する事象及びその発生時刻を生成する、シミュレーショ
ン実行手段1404とを有する。
【0110】本実施形態によれば、共通の時計105と
外部割込事象取込手段103とを用いることで、より簡
易なシミュレーションにおいても、シミュレータ内部の
断続的な時刻と外部世界での連続的な時刻との相関をと
ることが可能となる。
【0111】次に、本発明のその他の実施形態について
図15〜17を用いて説明する。本実施形態では、シミ
ュレーション実行手段に特別な機能を設けず、その代わ
りにシミュレーションモデルとして、上述した実施形態
と同等な効果を奏する部分モデルを備えたものを使用す
る。
【0112】本実施形態でのハードウエア構成として
は、従来の離散事象シミュレータと同様のものを用いる
ことができる。より具体的には、例えば図15に示すよ
うに、与えられるシミュレーションモデルに応じてシミ
ュレーションを実行するシミュレーション実行手段10
1と、当該シミュレータの演算処理の制御等のための時
計手段1503と、割り込み事象等を入力するための割
り込み事象入力手段1505とを備えている。
【0113】シミュレーション実行手段101は、例え
ば図3に示すような従来のものと同じ構成の装置を用い
る。なお、図15に示す構成には、図3では示されてい
なかった標準インターフェース手段1501が含まれて
いる。この標準インターフェース手段1501は、通
常、事象選択手段301で選択された事象に対応する処
理の中からファイルやI/Oへアクセスする場合に用い
られる。
【0114】本実施形態では、この標準インターフェー
ス手段1501を利用して、時計手段1503および割
り込み事象入力手段1505と、シミュレーション実行
手段101とを、メモリあるいはファイルあるいはI/
O手段である手段1502、1504を介して接続して
いる。
【0115】本実施形態によるシミュレーションモデル
には、本来シミュレーションの対象となる現象に対応す
る主モデル(図示せず)に加えて、例えば図16に示す
ように、変化時間検出モジュール1601、遅延モジュ
ール1602、外部割り込み検出モジュール1603、
初期トリガー生成モジュール1604、マージモジュー
ル1605、および外部割り込みに対応した処理を表す
モデル1606からなる部分モデルが備えられている。
【0116】このうち変化時間検出モジュール160
1、外部割り込み検出モジュール1602、外部割り込
みに対応した処理を表すモデル1606は、新たに作成
しておく必要が有るが、その他のモジュールは通常の離
散事象シミュレータに予め用意されている標準的な機能
モジュールである。
【0117】変化時間検出モジュール1601は、トリ
ガー入力を受け、それに応じて標準インターフェース手
段1501およびメモリ等の手段1502を介して、時
計手段1503の時刻を読み込み、この読み込んだ時刻
と前回読み込んだ時刻との変化分を求める。遅延モジュ
ール1602では、変化時間検出モジュール1601で
検出された時刻の変化分を遅延時間とし、シミュレーシ
ョン上での時刻が当該遅延時間を経過した後に、割り込
み検出モジュール1603へのトリガーを生起する。
【0118】割り込み検出モジュール1603は、トリ
ガー入力を受け付ける毎に、メモリ等の手段1504に
おける、当該モジュールの設定値として予め決めておい
た所定の場所へ標準インターフェース手段1501を通
してアクセスし、外部割り込みデータの有無をチェック
する。外部割り込みが有る場合には、それに対応する処
理を表す部分モデルへのトリガーを生成した後、遅延モ
ジュール1602へのトリガーを生起する。
【0119】外部割り込みに対応した処理を表すモジュ
ール1606は、0個以上のモデルからなる。ここで、
0個とは割り込みが有った時だけ何かの処理をしないと
いう場合に相当する。また、例えば図7(a)に示すよ
うに、割り込み事象が有る場合には、派生事象1606
aを生起するようにモジュールを作っておくことで、割
り込み有りの場合に対応する処理を行わせることができ
る。また、図7(b)に示すように、割り込みの有無に
応じて、異なる派生事象1606bあるいは1606c
を生起するように外部割り込み検出モジュール1603
を構成しておくことにより、より複雑な割り込み対応処
理が可能となる。
【0120】本実施形態において、シミュレーションが
起動されると、シミュレーション時刻0で初期トリガー
生成モジュール1604からトリガーが生成され、該ト
リガーが、マージモジュール1605を介して変化時間
検出モジュール1601へ入力される。変化時間検出モ
ジュール1601を、前記シミュレーションの起動と共
にリセットする構成としておくことにより、該シミュレ
ーションの起動時刻からトリガー生成等に要する微少な
時間変化が検出できる。
【0121】本実施形態ではこの微少な時間の遅延が遅
延モジュール1602に設定されるため、遅延モジュー
ル1602からトリガーが生成され割り込み検出モジュ
ール1603での処理が開始されるのは、シミュレーシ
ョン時刻0よりわずかに遅い時刻となる。したがって、
それより以前に、その他の本来シミュレーションしたい
対象の上記主モデルに関する初期化がシミュレーション
時刻0で次々に実施される。これらの処理の終了後、上
述したわずかな遅延時間よりも短い時間内で生起する事
象がなければ、遅延モジュール1602からのトリガー
が生起し、シミュレーション時刻がわずかに進む。
【0122】外部割り込み検出モジュール1603で
は、上記トリガーの入力を受けて割り込みの有無を判定
する。割り込みが有れば、その割り込みに対応した処理
を表すモデル1606へのトリガーを生起する。割り込
みがなければ、再びマージモジュール1605を通して
変化時間検出モジュール1601へのトリガーが生起さ
れ、そこまでに要した時間変化分が遅延時間として遅延
モジュール1602に新たに設定される。
【0123】通常、本来シミュレーションしたい現象の
状態変化は、個々の事象に対応する処理を実施する時間
に比べてはるかに大きいため、遅延モジュール1602
での遅延が最も短い時間となる。これは遅延モジュール
1602が処理そのものにかかった時間を遅延時間とし
ているため、シミュレーションしたい現象の状態変化の
時間間隔と、処理そのものに要する時間が等しくなるた
めである。このため、シミュレーション実行中は主に、
図16の1601、1602、1603、1605のル
ープの処理が行われることになる。
【0124】ところで、遅延モジュールの動作は、シミ
ュレーション時刻の決定に利用できるという性質があ
る。例えば遅延モジュールが1つであって、そこでの遅
延時間を10とし、遅延モジュールへデータが入った時
刻が1であるとすると、シミュレーションに現れる時刻
は1と11(=10+1)だけである。したがって、遅
延モジュールに実際の処理に要した時間を遅延時間とし
て設定することで、シミュレーション時刻が離散的に進
展することを防ぎ、外部の時刻にほぼ同期させることが
可能となる。
【0125】さらに、このような外部の時刻とほぼ同期
した微少な時間変化の度に、外部割り込みの有無をチェ
ックすることにより、ほぼ任意のタイミングで外部割り
込みを受け付けることが可能な離散事象シミュレーショ
ンを、モデルの定義のレベルで実現することができる。
【0126】
【発明の効果】本発明によれば、微分方程式で記述出来
ない、あるいは、記述する必要がないシステムについて
のシミュレーションを可能とすると共に、当該システム
を制御するための制御システムのシステムシミュレーシ
ョンテストに用いることができる、離散系のシミュレー
ション方法及びその装置を提供することができる。
【0127】さらに、本発明によれば、外部からのデー
タを時間的に正しい順序で取り込み、当該取り込んだデ
ータを適切なタイミングで、シミュレーションに反映さ
せることができる、離散系のシミュレーション方法及び
その装置を提供することができる。
【図面の簡単な説明】
【図1】本発明を適用した離散事象シミュレータの一実
施形態の構成の一例を示すブロック図。
【図2】図3の離散事象シミュレータでの処理例を示す
フローチャート。
【図3】離散事象シミュレータの基本構成の一例を示す
ブロック図。
【図4】シミュレーション対象システムモデルの一例を
示す説明図。
【図5】事象テーブルの構成例を示す説明図。
【図6】事象選択手段での処理例を示すフローチャー
ト。
【図7】事象処理手段での処理例を示すフローチャー
ト。
【図8】シミュレーション時刻更新手段での処理例を示
すフローチャート。
【図9】図1の離散事象シミュレータでの処理例を示す
フローチャート。
【図10】図9の外部割込事象取込手段の処理例を示す
フローチャート。
【図11】図9のミュレーション時刻更新手段の処理例
を示すフローチャート。
【図12】図12(a):従来の離散事象シミュレータ
内でのシミュレーション時刻と、実世界との時刻との対
応関係を示すグラフ。 図12(b):図1の離散事象シミュレータ内でのシミ
ュレーション時刻と、共通の時計の時刻との対応関係を
示すグラフ。
【図13】他の実施形態による離散事象シミュレータ内
でのシミュレーション時刻と、共通の時計の時刻との対
応関係を示すグラフ。
【図14】本発明を適用したシミュレータの他の実施形
態における構成例を示すブロック図。
【図15】本発明を適用した離散事象シミュレータの他
の実施形態における構成例を示すブロック図。
【図16】本発明の他の実施形態によるシミュレーショ
ンモデルに含まれる部分モデルの一例を示すブロック
図。
【図17】図17(a):割り込みに対応した処理のモ
デルの一例を示すブロック図。 図17(b):割り込みに対応した処理のモデルの他の
例を示すブロック図。
【符号の説明】
101…シミュレーション実行手段、102…シミュレ
ーション時刻更新手段、103…外部割込事象取込手
段、104…事象テーブル、105…共通の時計、10
6…外部システム、301…事象選択手段、302…事
象処理手段、303…シミュレーション対象システムモ
デルデータ、304…シミュレーション時刻更新手段。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 高橋 秀一 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】モデル化された事象についてシミュレーシ
    ョンを実施するシミュレーション実行手段を備えるシミ
    ュレーション装置において、 外部から入力される、シミュレーション動作に関する制
    御データを受け付けるデータ受付手段と、 外部世界での時刻と前記シミュレーション実行手段での
    シミュレーション時刻とを対応づける時刻対応手段と、 前記受け付けた制御データ、及び、前記時刻対応手段に
    より当該制御データを受け付けた時点における外部世界
    の時刻と対応づけられたシミュレーション時刻に応じ
    て、前記シミュレーション実行手段が行うシミュレーシ
    ョン動作を変化させるシミュレーション制御手段とを有
    し、 前記シミュレーション実行手段は、前記モデル化された
    事象の生起する時刻を生成する手段を少なくとも備える
    ことを特徴とするシミュレーション装置。
  2. 【請求項2】離散的な事象についてシミュレーションを
    実施するシミュレーション実行手段を備えるシミュレー
    ション装置において、 時計手段と、 外部から入力される、シミュレーション動作に関する制
    御データを受け付けると共に、当該制御データを受け付
    けた時点での前記時計手段の示す時刻を、当該制御デー
    タの発生時刻として割り付ける、外部データ取込手段と
    を有し、 前記シミュレーション実行手段は、前記時計手段の時刻
    を参照し、当該シミュレーション実行手段でのシミュレ
    ーション時刻の進みが前記時計手段の時刻の進みと近似
    的に比例するように、シミュレーション時刻の更新動作
    を制御する時刻更新手段を備え、前記受け付けた制御デ
    ータ及びそれに割り付けられた時刻に応じて、そのシミ
    ュレーション動作を変化させることを特徴とするシミュ
    レーション装置。
  3. 【請求項3】シミュレーションの対象となるシステムを
    モデル化したモデル手段と、事象を特徴づける事象デー
    タを格納する記憶手段と、前記格納されている事象デー
    タのうち次に行うべき事象を選択する選択手段と、前記
    モデルに基づき前記選択された事象に対応する処理を実
    行する処理手段と、シミュレーション時刻の更新動作を
    行うと共に、更新された時間範囲に含まれる事象を前記
    選択手段による選択が可能な状態とする時刻更新手段と
    を備える離散事象シミュレーション装置において、 外部からのデータを受け付けると共に、当該データを受
    け付けたタイミングに対応するシミュレーション時刻を
    当該受け付けたデータの発生時刻として割り付ける、デ
    ータ取込手段と、 前記発生時刻が割り付けられたデータを事象データとし
    て、前記記憶手段へ格納する事象格納手段とを有し、 前記選択手段は、その時点で前記記憶手段に格納されて
    いる、外部からの事象及び予め登録されていた事象のう
    ち、その発生時刻が早い順に選択することを特徴とする
    離散事象シミュレーション装置。
  4. 【請求項4】請求項3に記載の離散事象シミュレーショ
    ン装置において、 前記外部からのデータは、当該データの事象が対応して
    いる前記モデルの一部に関する情報を少なくとも含むも
    のであって、 前記処理手段は、前記受け付けたデータが含んでいる前
    記モデルの一部に関する情報に基づき、当該データの事
    象を処理することを特徴とする離散事象シミュレーショ
    ン装置。
  5. 【請求項5】請求項3に記載の離散事象シミュレーショ
    ン装置において、 時計手段をさらに有し、 前記データ取込手段は、前記データを受け付けた時点に
    前記時計手段の示している時刻を、当該データの発生時
    刻として割り付けるものであり、 前記時刻更新手段は、前記時計手段の時刻を参照し、シ
    ミュレーション時刻の進みが前記時計手段の時刻の進み
    と比例するように、シミュレーション時刻の更新動作を
    制御することを特徴とする離散事象シミュレーション装
    置。
  6. 【請求項6】請求項5に記載の離散事象シミュレーショ
    ン装置において、 前記時刻更新手段は、シミュレーション時刻の更新の際
    に、 前記時計手段を参照してシミュレーション開始からの経
    過時間を計算し、 この時点において次に選択される事象の発生時刻が前記
    経過時間より大きいかを調べ、 前記発生時刻が前記経過時間よりも小さい場合には、当
    該経過時間が当該発生時刻と等しくなるかあるいは大き
    くなるまで、シミュレーション時刻の更新動作を繰り返
    すことを特徴とする離散事象シミュレーション装置。
  7. 【請求項7】微分方程式で記述できない、あるいは、記
    述する必要がない現象をシミュレーションすると共に、
    外部からのデータに応じて当該シミュレーションの状態
    を変更することが可能なシミュレーション方法であっ
    て、 前記外部からのデータを受け入れる際には、当該データ
    にシミュレーション時刻を割り付け、当該割り付けられ
    たシミュレーション時刻と当該データの内容とに応じて
    シミュレーションの状態を変化させ、 前記状態が変化したシミュレーションの結果得られる、
    当該シミュレーションされる現象について予めモデル化
    された事象の生起する時刻を、外部世界の時刻に対応づ
    けることを特徴とするシミュレーション方法。
  8. 【請求項8】離散的な事象についてシミュレーションを
    実施するシミュレーション方法において、 外部から入力される、シミュレーションの動作に関する
    制御データを受け付けると共に、当該制御データを受け
    付けた時点における外部世界での時刻を、当該制御デー
    タの発生時刻として割り付け、前記受け付けた制御デー
    タ及びそれに割り付けられた時刻に応じて、シミュレー
    ション動作を変化させるものであって、 当該実施されているシミュレーションでのシミュレーシ
    ョン時刻の進みが前記外部世界での時刻の進みと近似的
    に比例するように、当該シミュレーション時刻を更新す
    ることを特徴とするシミュレーション方法。
  9. 【請求項9】離散系のシミュレーションによりその動作
    が模擬できるシステムの制御を行う制御装置のシステム
    シミュレーションテストを、前記システムの動作を模擬
    する離散事象シミュレーション装置を用いて実施する試
    験方法であって、 前記制御装置から出力される、前記システムの動作に関
    する制御データを、前記シミュレーション装置で受け付
    け、 前記制御データを受け付けた時点に対応する、前記制御
    装置が動作している実世界での時刻を、当該制御データ
    の発生時刻として割り付け、 前記受け付けた制御データ及びそれに割り付けられた時
    刻に応じて、前記シミュレーション装置は、実行するシ
    ミュレーション動作を変化させることを特徴とする試験
    方法。
  10. 【請求項10】離散事象シミュレータで用いられるシミ
    ュレーションモデルにおいて、 遅延モジュールと割り込み検出モジュールとを少なくと
    も備えるループ状の部分モデルを備え、 前記遅延モジュールは、当該シミュレーションを実行す
    る装置に備えられているクロック手段から当該遅延モジ
    ュールへのトリガーが生起した時刻を読み込み、前回の
    読み込みからの時刻の変化分を当該遅延モジュールの遅
    延時間とし、シミュレーション上の時刻が当該遅延時間
    経過後に前記割り込み検出モジュールへのトリガーを発
    生し、 前記割り込み検出モジュールは、前記トリガーがくる度
    に外部割り込みの有無をチェックし、割り込みが有る場
    合には当該割り込みに対応して予め定められた処理を表
    す部分モデルへのトリガーを生成し、その後、前記遅延
    モジュールへのトリガーを生起することを特徴とするシ
    ミュレーションモデル。
JP11660296A 1996-05-10 1996-05-10 シミュレーション方法および装置 Pending JPH09305639A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11660296A JPH09305639A (ja) 1996-05-10 1996-05-10 シミュレーション方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11660296A JPH09305639A (ja) 1996-05-10 1996-05-10 シミュレーション方法および装置

Publications (1)

Publication Number Publication Date
JPH09305639A true JPH09305639A (ja) 1997-11-28

Family

ID=14691228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11660296A Pending JPH09305639A (ja) 1996-05-10 1996-05-10 シミュレーション方法および装置

Country Status (1)

Country Link
JP (1) JPH09305639A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010224894A (ja) * 2009-03-24 2010-10-07 Internatl Business Mach Corp <Ibm> ハイブリッド・システムのシミュレーション方法及びシミュレーション・プログラム
WO2021038636A1 (ja) * 2019-08-23 2021-03-04 三菱電機株式会社 検証装置、検証方法、及び、検証プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010224894A (ja) * 2009-03-24 2010-10-07 Internatl Business Mach Corp <Ibm> ハイブリッド・システムのシミュレーション方法及びシミュレーション・プログラム
WO2021038636A1 (ja) * 2019-08-23 2021-03-04 三菱電機株式会社 検証装置、検証方法、及び、検証プログラム

Similar Documents

Publication Publication Date Title
US7567893B2 (en) Clock simulation system and method
US6470481B2 (en) State management in a co-verification system
US7703034B2 (en) Visualization tool for viewing timing information for a graphical program
KR100483636B1 (ko) 에뮬레이션및시뮬레이션을이용한설계검증방법및장치
US4763288A (en) System for simulating electronic digital circuits
US9176490B2 (en) Control program generation device, control program generation program, and control program generation method
US6571204B1 (en) Bus modeling language generator
US7478349B2 (en) Automatically synchronizing timed circuits on I/O Devices
WO2007093985A2 (en) Real time simulating method and system
CN103065000A (zh) 一种基于模型驱动工程进行SysML状态机图分析验证的方法
JP2001282327A (ja) シミュレーションシステム及びシミュレータ並びに管理サーバ及び記録媒体
JPH09305639A (ja) シミュレーション方法および装置
JP2007052580A (ja) ソフトウェア開発環境システム
US8280707B2 (en) Methods, systems, and computer program products for simulating a scenario by updating events over a time window including the past, present, and future
JP2010191758A (ja) 検証支援プログラム、検証支援装置および検証支援方法
JP2769192B2 (ja) ペトリネットを用いたシミローケースレータ
JPH10221410A (ja) Lsiの自動論理検証方式
JPH08194634A (ja) テスト実行システム
Rollo Jackson system development
JPH10320005A (ja) 分散制御システムの構成管理方法およびこれに用いるデータ
Hata et al. Development of qualitative simulation system using typical patterns
JP2729061B2 (ja) シミュレーション装置のゼロ遅延演算処理方式
CN116048750A (zh) 一种嵌入式实时系统可调度分析方法
JP2005250607A (ja) 入出力信号表示システム
JPH04201675A (ja) 列車運行管理方法