JP3293652B2 - シミュレーションプログラム生成方式 - Google Patents
シミュレーションプログラム生成方式Info
- Publication number
- JP3293652B2 JP3293652B2 JP9031492A JP9031492A JP3293652B2 JP 3293652 B2 JP3293652 B2 JP 3293652B2 JP 9031492 A JP9031492 A JP 9031492A JP 9031492 A JP9031492 A JP 9031492A JP 3293652 B2 JP3293652 B2 JP 3293652B2
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- model
- execution information
- simulation program
- method execution
- 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
Links
- 238000000034 method Methods 0.000 title claims description 123
- 238000004088 simulation Methods 0.000 claims description 61
- 239000000284 extract Substances 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- CYJRNFFLTBEQSQ-UHFFFAOYSA-N 8-(3-methyl-1-benzothiophen-5-yl)-N-(4-methylsulfonylpyridin-3-yl)quinoxalin-6-amine Chemical compound CS(=O)(=O)C1=C(C=NC=C1)NC=1C=C2N=CC=NC2=C(C=1)C=1C=CC2=C(C(=CS2)C)C=1 CYJRNFFLTBEQSQ-UHFFFAOYSA-N 0.000 description 1
- 235000018936 Vitellaria paradoxa Nutrition 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
【0001】
【産業上の利用分野】本発明はシミュレーションプログ
ラム生成方式に関し、特にシミュレーションモデルを記
述したファイル(以下、シミュレーションモデルファイ
ルという)からシミュレーションを実行し結果を得るた
めのシミュレーション用でないプログラム言語のシミュ
レーションプログラムを生成するシミュレーションプロ
グラム生成方式に関する。
ラム生成方式に関し、特にシミュレーションモデルを記
述したファイル(以下、シミュレーションモデルファイ
ルという)からシミュレーションを実行し結果を得るた
めのシミュレーション用でないプログラム言語のシミュ
レーションプログラムを生成するシミュレーションプロ
グラム生成方式に関する。
【0002】
【従来の技術】従来、シミュレーションを行うユーザ
は、シミュレーションモデルの全体をブロック化するこ
となしに、システム内を移動する物理的な物体または論
理的にひとかたまりのもの(以下、トランザクションと
いう)の流れをシミュレーション言語を用いてシミュレ
ーションモデルファイルに記述し、シミュレーション実
行プログラムを用いてシミュレーションモデルを読み込
んでシミュレーションを実行するか、シミュレーション
プログラム生成プログラムを用いてシミュレーションモ
デルファイルからシミュレーションプログラムを生成し
た後にコンピュータでシミュレーションプログラムを実
行させるかすることによりシミュレーションを行ってい
た。
は、シミュレーションモデルの全体をブロック化するこ
となしに、システム内を移動する物理的な物体または論
理的にひとかたまりのもの(以下、トランザクションと
いう)の流れをシミュレーション言語を用いてシミュレ
ーションモデルファイルに記述し、シミュレーション実
行プログラムを用いてシミュレーションモデルを読み込
んでシミュレーションを実行するか、シミュレーション
プログラム生成プログラムを用いてシミュレーションモ
デルファイルからシミュレーションプログラムを生成し
た後にコンピュータでシミュレーションプログラムを実
行させるかすることによりシミュレーションを行ってい
た。
【0003】
【発明が解決しようとする課題】上述した従来のシミュ
レーション実行方式では、以下のような問題点がある。
レーション実行方式では、以下のような問題点がある。
【0004】 シミュレーション実行プログラムで扱
えるシミュレーション言語やシミュレーションプログラ
ム生成プログラムで扱えるシミュレーション言語におい
てサブルーチン等の手段がなかったので、シミュレーシ
ョンモデルの大きさに比例して、シミュレーション言語
で記述されたモデルの記述量が増大する。
えるシミュレーション言語やシミュレーションプログラ
ム生成プログラムで扱えるシミュレーション言語におい
てサブルーチン等の手段がなかったので、シミュレーシ
ョンモデルの大きさに比例して、シミュレーション言語
で記述されたモデルの記述量が増大する。
【0005】 また、前記シミュレーション言語にお
いて局所的な変数が使用できないため、シミュレーショ
ンモデルの部分的な変更でも全体にわたるチェックが必
要である。
いて局所的な変数が使用できないため、シミュレーショ
ンモデルの部分的な変更でも全体にわたるチェックが必
要である。
【0006】 さらに、シミュレーション実行プログ
ラムおよびシミュレーションプログラム生成プログラム
でシミュレーション言語により記述されたモデルを分割
して扱えないため、シミュレーション言語により記述さ
れたモデルの再利用が困難である。
ラムおよびシミュレーションプログラム生成プログラム
でシミュレーション言語により記述されたモデルを分割
して扱えないため、シミュレーション言語により記述さ
れたモデルの再利用が困難である。
【0007】本発明の目的は、上述の点に鑑み、シミュ
レーションモデル内における同一の構造の部分を抜き出
してまとめた種類(以下、クラスという)を利用するこ
とにより、同じ種類のモデルがあった場合にクラスとし
て代表して記述すればすむようにしたシミュレーション
プログラム生成方式を提供することにある。
レーションモデル内における同一の構造の部分を抜き出
してまとめた種類(以下、クラスという)を利用するこ
とにより、同じ種類のモデルがあった場合にクラスとし
て代表して記述すればすむようにしたシミュレーション
プログラム生成方式を提供することにある。
【0008】
【課題を解決するための手段】本発明のシミュレーショ
ンプログラム生成方式は、システム内を移動するトラン
ザクションのフローをシミュレーションモデルとしてシ
ミュレーション言語で記述したファイルを読み込みシミ
ュレーションを行うシミュレーションプログラムを生成
するシミュレーションプログラム生成方式において、シ
ミュレーション言語で記述されたモデルを該モデル内に
おける同一の構造の部分を抜き出してまとめた種類であ
るクラスの記述毎に入力し、クラスの記述についての情
報を含む構文解析木データを作成するモデル読込み手段
と、このモデル読込み手段により作成された構文解析木
データから、前記シミュレーション言語で記述されたモ
デルの1つのクラスの記述に対して1つのリンクするこ
とのできるクラスのシミュレーションプログラムを、ク
ラスに属していてシミュレーションモデルの一部分であ
る単位としてのオブジェクトにメッセージを渡す手続き
を実行するときに現在のメソッド実行情報をメソッド実
行情報スタックにプッシュしメッセージに対応する新し
いメソッド実行情報を現在のメソッド実行情報におきメ
ソッドが終わったときにメソッド実行情報スタックにプ
ッシュしたメソッド実行情報を現在のメソッド実行情報
に戻して実行を続けるように生成することを繰り返すこ
とにより、シミュレーションプログラムを生成するシミ
ュレーションプログラム生成手段とを有する。
ンプログラム生成方式は、システム内を移動するトラン
ザクションのフローをシミュレーションモデルとしてシ
ミュレーション言語で記述したファイルを読み込みシミ
ュレーションを行うシミュレーションプログラムを生成
するシミュレーションプログラム生成方式において、シ
ミュレーション言語で記述されたモデルを該モデル内に
おける同一の構造の部分を抜き出してまとめた種類であ
るクラスの記述毎に入力し、クラスの記述についての情
報を含む構文解析木データを作成するモデル読込み手段
と、このモデル読込み手段により作成された構文解析木
データから、前記シミュレーション言語で記述されたモ
デルの1つのクラスの記述に対して1つのリンクするこ
とのできるクラスのシミュレーションプログラムを、ク
ラスに属していてシミュレーションモデルの一部分であ
る単位としてのオブジェクトにメッセージを渡す手続き
を実行するときに現在のメソッド実行情報をメソッド実
行情報スタックにプッシュしメッセージに対応する新し
いメソッド実行情報を現在のメソッド実行情報におきメ
ソッドが終わったときにメソッド実行情報スタックにプ
ッシュしたメソッド実行情報を現在のメソッド実行情報
に戻して実行を続けるように生成することを繰り返すこ
とにより、シミュレーションプログラムを生成するシミ
ュレーションプログラム生成手段とを有する。
【0009】
【作用】本発明のシミュレーションプログラム生成方式
では、モデル読込み手段がシミュレーション言語で記述
されたモデルを該モデル内における同一の構造の部分を
抜き出してまとめた種類であるクラスの記述毎に入力
し、クラスの記述についての情報を含む構文解析木デー
タを作成し、シミュレーションプログラム生成手段がモ
デル読込み手段により作成された構文解析木データか
ら、シミュレーション言語で記述されたモデルの1つの
クラスの記述に対して1つのリンクすることのできるク
ラスのシミュレーションプログラムを、クラスに属して
いてシミュレーションモデルの一部分である単位として
のオブジェクトにメッセージを渡す手続きを実行すると
きに現在のメソッド実行情報をメソッド実行情報スタッ
クにプッシュしメッセージに対応する新しいメソッド実
行情報を現在のメソッド実行情報におきメソッドが終わ
ったときにメソッド実行情報スタックにプッシュしたメ
ソッド実行情報を現在のメソッド実行情報に戻して実行
を続けるように生成することを繰り返すことにより、シ
ミュレーションプログラムを生成する。
では、モデル読込み手段がシミュレーション言語で記述
されたモデルを該モデル内における同一の構造の部分を
抜き出してまとめた種類であるクラスの記述毎に入力
し、クラスの記述についての情報を含む構文解析木デー
タを作成し、シミュレーションプログラム生成手段がモ
デル読込み手段により作成された構文解析木データか
ら、シミュレーション言語で記述されたモデルの1つの
クラスの記述に対して1つのリンクすることのできるク
ラスのシミュレーションプログラムを、クラスに属して
いてシミュレーションモデルの一部分である単位として
のオブジェクトにメッセージを渡す手続きを実行すると
きに現在のメソッド実行情報をメソッド実行情報スタッ
クにプッシュしメッセージに対応する新しいメソッド実
行情報を現在のメソッド実行情報におきメソッドが終わ
ったときにメソッド実行情報スタックにプッシュしたメ
ソッド実行情報を現在のメソッド実行情報に戻して実行
を続けるように生成することを繰り返すことにより、シ
ミュレーションプログラムを生成する。
【0010】
【実施例】次に、本発明について図面を参照して詳細に
説明する。
説明する。
【0011】図1は、本発明の一実施例に係るシミュレ
ーションプログラム生成方式の構成を示すブロック図で
ある。本実施例のシミュレーションプログラム生成方式
は、シミュレーション言語で記述されたモデル1と、モ
デル読込み手段21およびシミュレーションプログラム
生成手段22からなるシミュレーションプログラム生成
プログラム2と、複数のクラスのシミュレーションプロ
グラム30からなるシミュレーションプログラム3とか
ら構成されている。
ーションプログラム生成方式の構成を示すブロック図で
ある。本実施例のシミュレーションプログラム生成方式
は、シミュレーション言語で記述されたモデル1と、モ
デル読込み手段21およびシミュレーションプログラム
生成手段22からなるシミュレーションプログラム生成
プログラム2と、複数のクラスのシミュレーションプロ
グラム30からなるシミュレーションプログラム3とか
ら構成されている。
【0012】シミュレーション言語で記述されたモデル
1は、シミュレーションモデルのクラス毎にまとめられ
た複数のクラスの記述10からなる。
1は、シミュレーションモデルのクラス毎にまとめられ
た複数のクラスの記述10からなる。
【0013】図2(a)を参照すると、クラスの記述1
0は、クラスに属していてシミュレーションモデルの一
部分である単位(以下、オブジェクトという)のもつ変
数,他のオブジェクトへのポインタ等の内部情報11
と、トランザクションのオブジェクト内でのフローの単
位であるメソッドの記述12とから構成されている。
0は、クラスに属していてシミュレーションモデルの一
部分である単位(以下、オブジェクトという)のもつ変
数,他のオブジェクトへのポインタ等の内部情報11
と、トランザクションのオブジェクト内でのフローの単
位であるメソッドの記述12とから構成されている。
【0014】図2(b)を参照すると、メソッドの記述
12は、メソッドの名前121と、引数についての記述
122と、メソッドのフローにトランザクションが存在
する間だけ有効な一時的情報についての記述123と、
計算文または制御文を組み合わせて作られるフローにつ
いての記述124とからなる。
12は、メソッドの名前121と、引数についての記述
122と、メソッドのフローにトランザクションが存在
する間だけ有効な一時的情報についての記述123と、
計算文または制御文を組み合わせて作られるフローにつ
いての記述124とからなる。
【0015】図3は、クラスの記述の例100を示し、
クラスの記述の例100には、内部情報の例110と、
メソッドの記述の例120とが含まれている。
クラスの記述の例100には、内部情報の例110と、
メソッドの記述の例120とが含まれている。
【0016】シミュレーション言語で記述されたモデル
1においては、オブジェクトからオブジェクトにトラン
ザクションを渡すときに、トランザクションを送る側の
オブジェクトは、送られる側のオブジェクトにメソッド
の名前を指定してトランザクションを渡す(このことを
「メッセージを渡す」と表現する)。
1においては、オブジェクトからオブジェクトにトラン
ザクションを渡すときに、トランザクションを送る側の
オブジェクトは、送られる側のオブジェクトにメソッド
の名前を指定してトランザクションを渡す(このことを
「メッセージを渡す」と表現する)。
【0017】図4を参照すると、メソッドに対応するル
ーチンは、分岐301と、一時的情報領域確保処理30
2と、複数の文実行処理310と、分岐303とから構
成されている。メソッドに対応するルーチンでは、メソ
ッド実行ポインタにより分けられて(分岐301)、メ
ソッド実行ポインタが0である場合にはメソッドの一時
的変数の領域をとり(一時的情報領域確保処理30
2)、メソッドの進行状況に応じてメソッド実行ポイン
タが1からn(正整数)である場合には計算文または制
御文の変数を置き換えた文を実行し(文実行処理31
0)、メソッド実行ポインタを次に実行する計算文また
は制御文の変数を置き換えた文のメソッド実行ポインタ
にする。そして、メソッド内の処理が続く場合は(分岐
303でイエス)、分岐301に制御を戻して処理を繰
り返し、メソッド内の処理が続かない場合は(分岐30
3でノー)、メソッドに対応するルーチンを抜ける。
ーチンは、分岐301と、一時的情報領域確保処理30
2と、複数の文実行処理310と、分岐303とから構
成されている。メソッドに対応するルーチンでは、メソ
ッド実行ポインタにより分けられて(分岐301)、メ
ソッド実行ポインタが0である場合にはメソッドの一時
的変数の領域をとり(一時的情報領域確保処理30
2)、メソッドの進行状況に応じてメソッド実行ポイン
タが1からn(正整数)である場合には計算文または制
御文の変数を置き換えた文を実行し(文実行処理31
0)、メソッド実行ポインタを次に実行する計算文また
は制御文の変数を置き換えた文のメソッド実行ポインタ
にする。そして、メソッド内の処理が続く場合は(分岐
303でイエス)、分岐301に制御を戻して処理を繰
り返し、メソッド内の処理が続かない場合は(分岐30
3でノー)、メソッドに対応するルーチンを抜ける。
【0018】図5(a)は、生成されたシミュレーショ
ンプログラム3の実行時にトランザクションが持つトラ
ンザクションデータ400を示す図である。トランザク
ションデータ400は、現在のメソッド実行情報401
と、メソッド実行情報スタック402とから構成されて
いる。現在のメソッド実行情報401は、現在実行して
いるメソッドの実行状態についての情報である。オブジ
ェクトにメッセージを渡す手続きを実行するとき、現在
のメソッド実行情報401をメソッド実行情報スタック
402にプッシュし、メッセージに対応する新しいメソ
ッド実行情報を現在のメソッド実行情報401におく。
メソッドの実行が終わったとき、メソッド実行情報スタ
ック402にプッシュしたメソッド実行情報を現在のメ
ソッド実行情報401に戻し、実行を続ける。
ンプログラム3の実行時にトランザクションが持つトラ
ンザクションデータ400を示す図である。トランザク
ションデータ400は、現在のメソッド実行情報401
と、メソッド実行情報スタック402とから構成されて
いる。現在のメソッド実行情報401は、現在実行して
いるメソッドの実行状態についての情報である。オブジ
ェクトにメッセージを渡す手続きを実行するとき、現在
のメソッド実行情報401をメソッド実行情報スタック
402にプッシュし、メッセージに対応する新しいメソ
ッド実行情報を現在のメソッド実行情報401におく。
メソッドの実行が終わったとき、メソッド実行情報スタ
ック402にプッシュしたメソッド実行情報を現在のメ
ソッド実行情報401に戻し、実行を続ける。
【0019】図5(b)は、メソッド実行情報410の
内容を示す図である。メソッド実行情報410は、メッ
セージID(IDentification)411
と、メソッド実行ポインタ412と、計算用スタック4
13と、引数414と、一時的変数415と、オブジェ
クトへのポインタ416とから構成されている。
内容を示す図である。メソッド実行情報410は、メッ
セージID(IDentification)411
と、メソッド実行ポインタ412と、計算用スタック4
13と、引数414と、一時的変数415と、オブジェ
クトへのポインタ416とから構成されている。
【0020】図6を参照すると、シミュレーションプロ
グラム生成手段22の処理は、情報領域確保サブルーチ
ン生成ステップ501と、未処理メソッド有無判定ステ
ップ502と、カレントメソッド設定ステップ503
と、サブルーチン先頭部分生成ステップ504と、ID
番号付与ステップ505と、文実行処理生成ステップ5
06と、メソッド実行情報復元文生成ステップ507
と、サブルーチン終了部分生成ステップ508とからな
る。
グラム生成手段22の処理は、情報領域確保サブルーチ
ン生成ステップ501と、未処理メソッド有無判定ステ
ップ502と、カレントメソッド設定ステップ503
と、サブルーチン先頭部分生成ステップ504と、ID
番号付与ステップ505と、文実行処理生成ステップ5
06と、メソッド実行情報復元文生成ステップ507
と、サブルーチン終了部分生成ステップ508とからな
る。
【0021】次に、このように構成された本実施例のシ
ミュレーションプログラム生成方式の動作について説明
する。
ミュレーションプログラム生成方式の動作について説明
する。
【0022】シミュレーションプログラム生成プログラ
ム2が起動されると、モデル読込み手段21は、シミュ
レーション言語で記述されたモデル1をクラスの記述1
0毎に読み込み、クラスの記述10についての情報を含
む構文解析木データを作成する。
ム2が起動されると、モデル読込み手段21は、シミュ
レーション言語で記述されたモデル1をクラスの記述1
0毎に読み込み、クラスの記述10についての情報を含
む構文解析木データを作成する。
【0023】次に、シミュレーションプログラム生成手
段22は、モデル読込み手段21により作成された構文
解析木データから、シミュレーション言語で記述された
モデル1の1つのクラスの記述10に対して1つのリン
クすることのできるクラスのシミュレーションプログラ
ム30を生成し、全体としてシミュレーションプログラ
ム3を生成する。
段22は、モデル読込み手段21により作成された構文
解析木データから、シミュレーション言語で記述された
モデル1の1つのクラスの記述10に対して1つのリン
クすることのできるクラスのシミュレーションプログラ
ム30を生成し、全体としてシミュレーションプログラ
ム3を生成する。
【0024】詳しくは、シミュレーションプログラム生
成手段22は、まず、構文解析木データ内のクラスの記
述10の内部情報11からオブジェクト生成時に情報領
域をとるサブルーチンを生成する(ステップ501)。
成手段22は、まず、構文解析木データ内のクラスの記
述10の内部情報11からオブジェクト生成時に情報領
域をとるサブルーチンを生成する(ステップ501)。
【0025】次に、シミュレーションプログラム生成手
段22は、処理していないメソッドがあるかどうかを判
断し(ステップ502)、処理していないメソッドがあ
れば、処理していない始めのメソッドをカレントとして
処理対象とする(ステップ503)。
段22は、処理していないメソッドがあるかどうかを判
断し(ステップ502)、処理していないメソッドがあ
れば、処理していない始めのメソッドをカレントとして
処理対象とする(ステップ503)。
【0026】続いて、シミュレーションプログラム生成
手段22は、サブルーチンの先頭部分であるメソッド実
行ポインタ412による分岐301と、一時的情報領域
確保処理302とを生成する(ステップ504)。
手段22は、サブルーチンの先頭部分であるメソッド実
行ポインタ412による分岐301と、一時的情報領域
確保処理302とを生成する(ステップ504)。
【0027】次に、シミュレーションプログラム生成手
段22は、メソッド実行ポインタ412であるID番号
を計算文および制御文に付け(ステップ505)、計算
文および制御文の変数を置き換えた文実行処理310を
生成する(ステップ506)。特に、制御文がオブジェ
クトにメッセージを渡す手続きを実行する文であるとき
は、シミュレーションプログラム生成手段22は、トラ
ンザクションデータ400の現在のメソッド実行情報4
01をメソッド実行情報スタック402にプッシュし、
メッセージに対応する新しいメソッド実行情報を現在の
メソッド実行情報401とする文を生成する。
段22は、メソッド実行ポインタ412であるID番号
を計算文および制御文に付け(ステップ505)、計算
文および制御文の変数を置き換えた文実行処理310を
生成する(ステップ506)。特に、制御文がオブジェ
クトにメッセージを渡す手続きを実行する文であるとき
は、シミュレーションプログラム生成手段22は、トラ
ンザクションデータ400の現在のメソッド実行情報4
01をメソッド実行情報スタック402にプッシュし、
メッセージに対応する新しいメソッド実行情報を現在の
メソッド実行情報401とする文を生成する。
【0028】続いて、シミュレーションプログラム生成
手段22は、メソッドの終了を示す記述があったとき
に、メソッド実行情報スタック402にプッシュしたメ
ソッド実行情報を現在のメソッド実行情報401に戻す
文を生成する(ステップ507)。
手段22は、メソッドの終了を示す記述があったとき
に、メソッド実行情報スタック402にプッシュしたメ
ソッド実行情報を現在のメソッド実行情報401に戻す
文を生成する(ステップ507)。
【0029】最後に、シミュレーションプログラム生成
手段22は、サブルーチンの終了部分であるメソッドが
続くかどうかの分岐303を生成して(ステップ50
8)、1つのメソッドに対応するサブルーチンの生成を
終え、ステップ502に制御を戻す。
手段22は、サブルーチンの終了部分であるメソッドが
続くかどうかの分岐303を生成して(ステップ50
8)、1つのメソッドに対応するサブルーチンの生成を
終え、ステップ502に制御を戻す。
【0030】ステップ502で処理をしていないメソッ
ドがあれば、シミュレーションプログラム生成手段22
は、メソッドに対応するサブルーチンを繰り返し生成し
ていき、1つのクラスの記述10内のすべてのメソッド
に対応するサブルーチンの生成を終えると、1つのクラ
スのシミュレーションプログラム30が生成される。
ドがあれば、シミュレーションプログラム生成手段22
は、メソッドに対応するサブルーチンを繰り返し生成し
ていき、1つのクラスの記述10内のすべてのメソッド
に対応するサブルーチンの生成を終えると、1つのクラ
スのシミュレーションプログラム30が生成される。
【0031】このようにして、シミュレーションプログ
ラム生成手段22は、シミュレーション言語で記述され
たモデル1のすべてのクラスの記述10に対して同様の
処理を繰り返し、すべてのクラスの記述10に対する処
理が終了すると、複数のクラスのシミュレーションプロ
グラム30からなるシミュレーションプログラム3が生
成される。
ラム生成手段22は、シミュレーション言語で記述され
たモデル1のすべてのクラスの記述10に対して同様の
処理を繰り返し、すべてのクラスの記述10に対する処
理が終了すると、複数のクラスのシミュレーションプロ
グラム30からなるシミュレーションプログラム3が生
成される。
【0032】
【発明の効果】以上説明したように本発明は、シミュレ
ーションモデル内における同一の構造の部分を抜き出し
てまとめた種類であるクラス毎にシミュレーション言語
で記述されたモデルを入力するモデル読込み手段と、シ
ミュレーション言語で記述されたモデルの1つのクラス
に対して1つのリンクすることのできるシミュレーショ
ンプログラムをオブジェクトにメッセージを渡す手続き
を実行するときに現在のメソッド実行情報をメソッド実
行情報スタックにプッシュしメッセージに対応する新し
いメソッド実行情報を現在のメソッド実行情報におきメ
ソッドの実行が終わったときにメソッド実行情報スタッ
クにプッシュしたメソッド実行情報を現在のメソッド実
行情報に戻して実行を続けるように生成するシミュレー
ションプログラム生成手段とを設けたことにより、以下
のような効果がある。
ーションモデル内における同一の構造の部分を抜き出し
てまとめた種類であるクラス毎にシミュレーション言語
で記述されたモデルを入力するモデル読込み手段と、シ
ミュレーション言語で記述されたモデルの1つのクラス
に対して1つのリンクすることのできるシミュレーショ
ンプログラムをオブジェクトにメッセージを渡す手続き
を実行するときに現在のメソッド実行情報をメソッド実
行情報スタックにプッシュしメッセージに対応する新し
いメソッド実行情報を現在のメソッド実行情報におきメ
ソッドの実行が終わったときにメソッド実行情報スタッ
クにプッシュしたメソッド実行情報を現在のメソッド実
行情報に戻して実行を続けるように生成するシミュレー
ションプログラム生成手段とを設けたことにより、以下
のような効果がある。
【0033】 クラスを利用することにより、シミュ
レーションモデルの大きさが増大しても、本発明のシミ
ュレーションプログラム生成方式で扱うシミュレーショ
ン言語で記述されたモデルの記述量は必ずしもそれに比
例しては増大しない。
レーションモデルの大きさが増大しても、本発明のシミ
ュレーションプログラム生成方式で扱うシミュレーショ
ン言語で記述されたモデルの記述量は必ずしもそれに比
例しては増大しない。
【0034】 また、本発明のシミュレーションプロ
グラム生成方式で扱うシミュレーションモデルファイル
では、局所的な変数が使用でき、部分的な変更がしやす
い。
グラム生成方式で扱うシミュレーションモデルファイル
では、局所的な変数が使用でき、部分的な変更がしやす
い。
【0035】 さらに、シミュレーションモデルを分
割して扱え、シミュレーションモデルファイルを再利用
しやすい。
割して扱え、シミュレーションモデルファイルを再利用
しやすい。
【図1】本発明の一実施例に係るシミュレーションプロ
グラム生成方式の構成を示すブロック図である。
グラム生成方式の構成を示すブロック図である。
【図2】図1中のシミュレーション言語で記述されたモ
デルのクラスの記述およびクラスの記述中のメソッドの
記述の内容を示す図である。
デルのクラスの記述およびクラスの記述中のメソッドの
記述の内容を示す図である。
【図3】図1中のシミュレーション言語で記述されたモ
デルのクラスの記述列を示す図である。
デルのクラスの記述列を示す図である。
【図4】図1中のシミュレーションプログラムのメソッ
ドに対応するサブルーチンの構成を示す流れ図である。
ドに対応するサブルーチンの構成を示す流れ図である。
【図5】図1中のシミュレーションプログラムによるシ
ミュレーション実行時にトランザクションが持つトラン
ザクションデータおよびメソッド実行情報の内容を示す
図である。
ミュレーション実行時にトランザクションが持つトラン
ザクションデータおよびメソッド実行情報の内容を示す
図である。
【図6】図1中のシミュレーションプログラム生成手段
の処理を示す流れ図である。
の処理を示す流れ図である。
1 シミュレーション言語で記述されたモデル 2 シミュレーションプログラム生成プログラム 3 シミュレーションプログラム 10 クラスの記述 11 内部情報 12 メソッドの記述 21 モデル読込み手段 22 シミュレーションプログラム生成手段 30 クラスのシミュレーションプログラム 100 クラスの記述の例 101 内部情報の例 102 メソッドの記述の例 121 メソッドの名前 122 引数についての記述 123 一時的情報についての記述 124 計算文または制御文を組み合わせて作られるフ
ローについての記述 301 分岐 302 一時的情報領域確保処理 310 文実行処理 303 分岐 400 トランザクションデータ 401 現在のメソッド実行情報 402 メッセージ実行情報スタック 410 メソッド実行情報 411 メッセージID 412 メソッド実行ポインタ 413 計算用スタック 414 引数 415 一時的変数 416 オブジェクトへのポインタ
ローについての記述 301 分岐 302 一時的情報領域確保処理 310 文実行処理 303 分岐 400 トランザクションデータ 401 現在のメソッド実行情報 402 メッセージ実行情報スタック 410 メソッド実行情報 411 メッセージID 412 メソッド実行ポインタ 413 計算用スタック 414 引数 415 一時的変数 416 オブジェクトへのポインタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 一宮 和喜 神奈川県川崎市高津区坂戸3丁目2番1 号 日本電気技術情報システム開発株式 会社内 (72)発明者 岩本 真治 東京都港区芝五丁目7番1号 日本電気 株式会社内 (56)参考文献 特開 平3−269479(JP,A) 情報処理学会第44回(平成4年前期) 全国大会講演論文集」(1992−2−24) p.5−15〜5−16 情報処理学会第43回(平成3年後期) 全国大会講演論文集」(1991−9−24) p.5−141〜p.5−142 (58)調査した分野(Int.Cl.7,DB名) G06F 9/06 G06F 19/00
Claims (1)
- 【請求項1】 システム内を移動するトランザクション
のフローをシミュレーションモデルとしてシミュレーシ
ョン言語で記述したファイルを読み込みシミュレーショ
ンを行うシミュレーションプログラムを生成するシミュ
レーションプログラム生成方式において、シミュレーション言語で記述されたモデルを該 モデル内
における同一の構造の部分を抜き出してまとめた種類で
あるクラスの記述毎に入力し、クラスの記述についての
情報を含む構文解析木データを作成するモデル読込み手
段と、このモデル読込み手段により作成された構文解析木デー
タから、 前記シミュレーション言語で記述されたモデル
の1つのクラスの記述に対して1つのリンクすることの
できるクラスのシミュレーションプログラムを、クラス
に属していてシミュレーションモデルの一部分である単
位としてのオブジェクトにメッセージを渡す手続きを実
行するときに現在のメソッド実行情報をメソッド実行情
報スタックにプッシュしメッセージに対応する新しいメ
ソッド実行情報を現在のメソッド実行情報におきメソッ
ドが終わったときにメソッド実行情報スタックにプッシ
ュしたメソッド実行情報を現在のメソッド実行情報に戻
して実行を続けるように生成することを繰り返すことに
より、シミュレーションプログラムを生成するシミュレ
ーションプログラム生成手段とを有することを特徴とす
るシミュレーションプログラム生成方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9031492A JP3293652B2 (ja) | 1992-03-16 | 1992-03-16 | シミュレーションプログラム生成方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9031492A JP3293652B2 (ja) | 1992-03-16 | 1992-03-16 | シミュレーションプログラム生成方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05265730A JPH05265730A (ja) | 1993-10-15 |
JP3293652B2 true JP3293652B2 (ja) | 2002-06-17 |
Family
ID=13995072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9031492A Expired - Fee Related JP3293652B2 (ja) | 1992-03-16 | 1992-03-16 | シミュレーションプログラム生成方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3293652B2 (ja) |
-
1992
- 1992-03-16 JP JP9031492A patent/JP3293652B2/ja not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
情報処理学会第43回(平成3年後期)全国大会講演論文集」(1991−9−24)p.5−141〜p.5−142 |
情報処理学会第44回(平成4年前期)全国大会講演論文集」(1992−2−24)p.5−15〜5−16 |
Also Published As
Publication number | Publication date |
---|---|
JPH05265730A (ja) | 1993-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5675801A (en) | Object oriented system and method for generating target language code | |
US6877155B1 (en) | System and method for generating target language code utilizing an object oriented code generator | |
JPH09212356A (ja) | インタープリタ言語で記述されたコンピュータ用ソフトウェアの保護システム | |
JP3293652B2 (ja) | シミュレーションプログラム生成方式 | |
JPH08314760A (ja) | プログラム開発支援装置 | |
JPH03241439A (ja) | テストデータ作成ツール | |
JP2723805B2 (ja) | シミュレーションプログラム生成方式 | |
JP2738360B2 (ja) | マルチタスクプログラムのデバッグ方法およびデバッグシステム | |
JPH05313864A (ja) | ホスト−端末間動的リビジョン情報交換方式 | |
JPS59183441A (ja) | 拡張言語のデバツグ処理方式 | |
JP2001256075A (ja) | 開発システム、開発方法、記録媒体 | |
JP2002132502A (ja) | 言語機能解釈による分散オブジェクト自動生成システム及び方法 | |
JPH09311800A (ja) | データ自動変換装置 | |
JP2882876B2 (ja) | プログラム試験方法 | |
JP2786689B2 (ja) | コンパイラ処理方法 | |
Pulli | Real-time pattern matching technique for executable sa/rt specifications | |
JPH04116721A (ja) | システム定義ディレクティブの解析方式 | |
CN115249068A (zh) | Nvdla软件栈的推理方法、装置、设备及存储介质 | |
de Souza et al. | An implementation of a distributed algorithm for detection of local knots and cycles in directed graphs based on the CSP model and Java | |
JPH05119993A (ja) | シミユレーシヨンプログラム生成装置 | |
JPH07334399A (ja) | 固定長レコード向けコード変換方式 | |
Brown | Evaluation of the task-action grammar method for assessing learnability in user interface software | |
Hodgkinson | Practical uses of operators in Sharp APL/HP | |
JPH03127140A (ja) | プログラム動的生成方式 | |
JPH02308355A (ja) | インタプリタにおける入力手続き管理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |