JP2723805B2 - シミュレーションプログラム生成方式 - Google Patents
シミュレーションプログラム生成方式Info
- Publication number
- JP2723805B2 JP2723805B2 JP14510394A JP14510394A JP2723805B2 JP 2723805 B2 JP2723805 B2 JP 2723805B2 JP 14510394 A JP14510394 A JP 14510394A JP 14510394 A JP14510394 A JP 14510394A JP 2723805 B2 JP2723805 B2 JP 2723805B2
- Authority
- JP
- Japan
- Prior art keywords
- simulation program
- simulation
- model
- statement
- class
- 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 168
- 238000004088 simulation Methods 0.000 claims description 37
- 238000004364 calculation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 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 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
グラム生成方式に関し、特に、クラスの記述を持つシミ
ュレーションモデルファイルを参照してシミュレーショ
ンを実行するシミュレーションプログラムを生成するシ
ミュレーションプログラム生成方式に関する。
ム生成方式の一例を示したブロック図である。図4に示
したように、従来のシミュレーションプログラム生成方
式は、シミュレーションの全対象をシミュレーション言
語で表現したシミュレーションモデルファイル1と、モ
デル読込み手段21j及びシミュレーションプログラム
生成手段22jから構成されるシミュレーションプログ
ラム生成プログラム2jと、シミュレーションを実行し
て結果を得るためのシミュレーションプログラム3jと
から構成されている。
は、そのモデルを機能毎に分割したまとまりであるクラ
スの記述10の集合を有している。一方、シミュレーシ
ョンプログラム3jは、各々のクラスに対応して生成す
るクラスのシミュレーションプログラム30jの集合を
有している。
である。図5(a)に示すように、クラスの記述10
は、クラスに属していてシミュレーションモデルの一部
である単位としてのオブジェクトが持つ変数および他の
オブジェクトへのポインタなどの内部情報11と、トラ
ンザクションに対するそのオブジェクトの中でのフロー
の単位であるメソッドの記述12とから構成されてい
る。
ッドの記述12は、メソッドの名前121と、引数12
2と、あるメソッドに対応するフローにトランザクショ
ンが存在する間だけ有効な一時的情報123と、該フロ
ーに関する記述である計算文または制御文124とから
構成されている。
図である。図6に示すように、図5のクラスの記述10
に関する一つの具体例であるクラスの記述例100は、
内部情報例110と、メソッド記述例120とを含んで
いる。
1内においては、オブジェクトからオブジェクトにトラ
ンザクションを渡すときにそのトランザクションを送る
側のオブジェクトは、送られる側のオブジェクトにメソ
ッドの名前を指定して渡している( このことを「メッセ
ージを渡す」と表現する) 。
を示す流れ図である。図7に示したように、メソッドに
対応するルーチンは、分岐301と、一時的情報の領域
確保処理302と、複数の文実行処理310と、分岐3
03とを有している。
は、分岐301で、メソッドの実行ポインタにより分け
られて、メソッド実行ポインタが“0”ならば、一時的
情報の領域確保処理302で、メソッドの一時的変数の
領域をとり、メソッドの進行状況に応じてメソッド実行
ポインタが“1”から“n”(nは正の整数) である場
合に、それぞれの文実行処理310で、計算文または制
御文の変数を置換えた文を実行し、メソッド実行ポイン
タを次に実行する計算文または制御文の変数を置換えた
文のものにしている。そして、分岐303では、このメ
ソッド内の処理が続く場合には、分岐301に制御を戻
して処理を繰り返し、このメソッド内の処理が続かない
場合には、メソッドに対応するルーチンを抜けている。
ム3jの実行時のトランザクションデータとメソッド実
行情報との一例を示す図である。図8(a)に示すよう
に、生成したシミュレーションプログラム3jの実行時
に、トランザクションが持つトランザクションデータ4
00は、現在のメソッド実行情報401と、メソッド実
行情報スタック402とから構成されている。
現在実行中のメソッドの実行状態についての情報であ
る。オブジェクトにメッセージを渡す手続きを実行する
ときには、現在のメソッド実行情報401を次のメソッ
ド実行情報スタック402内にプッシュして、メッセー
ジに対応する新しいメソッド実行情報を現在のメソッド
実行情報401にしている。なお、メソッドの実行が終
ったときには、メソッド実行情報スタック402にプッ
シュしたメソッド実行情報を現在のメソッド実行情報4
01に戻して実行を続けている。
実行情報410は、メッセージID(Identifi
cation)411と、メソッド実行ポインタ412
と、計算用スタック413と、引数414と、一時的変
数415と、オブジェクトへのポインタ416とから構
成されている。
段22jの処理の一例を示す流れ図である。図9に示す
ように、シミュレーションプログラム生成手段22jの
処理は、情報領域を確保するサブルーチンの生成ステッ
プ501と、未処理メソッド有無の判定ステップ502
と、カレントメソッドの設定ステップ503と、このサ
ブルーチンの先頭部分の生成ステップ504と、そのI
D番号の付与ステップ505と、文実行処理の生成ステ
ップ506と、そのメソッド実行情報の復元文の生成ス
テップ507と、そのサブルーチンの終了部分の生成ス
テップ508とを有している。
ュレーションプログラム生成方式の動作について説明す
る。まず、シミュレーションプログラム生成プログラム
2が起動されると、モデル読込み手段21jは、シミュ
レーションモデルファイル1をクラスの記述10毎に読
込むことにより、クラスの記述10の情報を含む構文解
析木データを作成している。
作成された構文解析木データから、シミュレーションプ
ログラム生成手段22jは、上記のシミュレーションモ
デルファイル1の一つのクラスの記述10に対して一つ
のリンクをすることができるクラスのシミュレーション
プログラム30jを次々に生成することにより、全体と
してシミュレーションプログラム3jを生成している。
成手段22jは、ステップ501では、構文解析木デー
タ内のクラスの記述10の内部情報11から、オブジェ
クト生成時に情報領域をとるサブルーチンを生成してい
るる。次に、ステップ502で、処理していないメソッ
ドがあるかどうかを判断し、ステップ503で、処理し
ていないメソッドがあれば処理していないはじめのメソ
ッドをカレントとして処理対象にしている。次に、ステ
ップ504で、サブルーチンの先頭部分であるメソッド
実行ポインタ412による分岐301と、必要な一時的
情報領域の確保処理302とを生成している。
手段22jは、ステップ505で、メソッド実行ポイン
タ412としてID番号を計算文と制御文に付け、ステ
ップ506では、計算文および制御文の変数を置換えた
文実行処理310を生成している。特に制御文がオブジ
ェクトにメッセージを渡す手続きを実行する文であると
きには、トランザクションデータ400内にある現在の
メソッド情報401をメソッド実行情報スタック402
にプッシュして、メッセージに対応する新しいメソッド
実行情報を現在のメソッド実行情報401とする文を生
成している。
段22jは、ステップ507では、メソッドの終了を示
す記述があったときに、メソッド実行情報スタック40
2にプッシュしたメソッド実行情報を現在のメソッド実
行情報401に戻す文を生成している。最後に、ステッ
プ508で、サブルーチンの終了部分であるメソッドが
続くかどうかの分岐303を生成し、一つのメソッドに
対応するサブルーチンの生成を終えて、ステップ502
に制御を戻している。
ョンプログラム生成手段22jは、処理をしていないメ
ソッドがあれば、メソッドに対応するサブルーチンを繰
返し生成していくことにより、一つのクラスの記述10
内のすべてのメソッドに対応するサブルーチンの生成を
終えると一つのクラスのシミュレーションプログラム3
0jが生成されている。
jは、このようにシミュレーションモデルファイル1の
すべてのクラスの記述10に対して同様の処理を繰返し
て、すべてのクラスの記述10に対する処理が終了する
と、複数のクラスについてのシミュレーションプログラ
ム30jの集合からなるシミュレーションプログラム3
jが生成されている。
プログラム生成方式の一例としては特開平5−2657
30“シミュレーションプログラム生成方式”がある。
ーションプログラム生成方式は、あるシミュレーション
モデルファイルの全体をシミュレーションプログラムの
対象としていたために、メソッドのみの単体動作の確認
を行う場合に、シミュレーションを行おうとする人自身
がそのメソッドに関連する変数やメソッドを捜し出して
それらを記述したシミュレーションモデルファイルを単
独に作成する必要があり、メソッドのみの単体動作の確
認が煩わしくて困難であるという欠点を有している。
ュレーションプログラム生成方式は、内部で移動するト
ランザクションに関するフローについてシミュレーショ
ンを実行する動作を、シミュレーションを実行する対象
となるモデルにおける同種の構造を持つ部分を抜出して
まとめた種類をクラスとしてクラス毎にシミュレーショ
ン言語を用いてシミュレーションモデルファイルへ記述
し、そのファイルからシミュレーションプログラムを生
成するシミュレーションプログラム生成方式において、 (A)特定のメソッドのみを選択するために指定された
対象メソッド名を受けて前記シミュレーションモデルフ
ァイルの中から指定された対象メソッド名に関連する対
象メソッドのシミュレーションモデルのみを選択して読
込むモデル読込み手段と、 (B)前記モデル読込み手段が読込んだシミュレーショ
ンモデルのみに限定して対象メソッドに関するシミュレ
ーションプログラムを生成するシミュレーションプログ
ラム生成手段と、を備えて構成されている。
照して説明する。図1は本発明のシミュレーションプロ
グラム生成方式の一実施例を示すブロック図である。図
1に示した本実施例のシミュレーションプログラム生成
方式は、シミュレーションモデルファイル1と、モデル
読込み手段21およびシミュレーションプログラム生成
手段22から構成されるシミュレーションプログラム生
成プログラム2と、シミュレーションプログラム3とを
有して構成されている。
1は、各シミュレーションモデルをクラス毎にまとめる
ことにより、複数のクラスの記述10を有している。
ログラム2のモデル読込み手段21は、メソッド読込み
手段211を含んでおり、シミュレーションプログラム
生成手段22は、メソッド対応シミュレーションプログ
ラム生成手段221を含んでいる。さらに、シミュレー
ションプログラム3は、対象メソッドに関するクラスの
シミュレーションプログラム30のそれぞれを含んでい
る。
ログラムの処理の一例を示す流れ図である。シミュレー
ションプログラム生成プログラム2は、図2に示すよう
に、対象メソッドの有無判定ステップ51と、未処理対
象メソッドに対する有無判定ステップ52と、カレント
メソッドの設定ステップ53と、メソッド読込み手段2
11の処理ステップ54とからなるモデル読込み手段2
1、および情報領域を確保するサブルーチン生成ステッ
プ61と、そのサブルーチンの先頭部分の生成ステップ
62と、ID番号付与ステップ63と、文実行処理の生
成ステップ64と、メソッド実行情報に対する復元文生
成ステップ65と、サブルーチンの終了部分の生成ステ
ップ66と、メソッド対応シミュレーションプログラム
生成手段221の処理ステップ67とからなるシミュレ
ーションプログラム生成手段22とを有している。
ド対応シミュレーションプログラム生成手段の処理の一
例を示す流れ図である。図3(a)に示すように、メソ
ッド読込み手段211は、そのメソッドが存在するクラ
スの検索ステップ54−1と内部情報およびカレントメ
ソッドの読込みステップ54−2とを行っている。
ド対応シミュレーションプログラム生成手段221は、
呼出しメソッドの有無判定ステップ67−1と、文実行
処理終了の判定ステップ67−2と、呼出しメソッドに
対する設定ステップ67−3とを行っている。
ついて説明する。シミュレーションプログラム生成プロ
グラム2が起動されると、まず、図2のステップ51で
は、モデル読込み手段21は、対象メソッド名15が指
定されているかどうかを判断して、指定されている対象
メソッド名15がなければ、シミュレーションモデルフ
ァイル1のすべてのクラスの記述10について、従来通
りのシミュレーションプログラムの生成を行っている。
る場合に、ステップ52で、モデル読込み手段21は、
未処理の対象メソッドがあるかどうかの判定を行ってい
る。そして、対象メソッド名15によって複数個が指定
された対象メソッドのすべてが処理されている場合に
は、目的としたそれぞれの対象メソッドに関するクラス
のシミュレーションプログラム30がすべて生成された
ので終了している。
ッドがある場合には、ステップ53では、この対象メソ
ッドをカレントメソッドに設定して処理の対象としてい
る。そして、ステップ54に移行し、図3のステップ5
4−1で、モデル読込み手段21は、メソッド読込み手
段211を使用してカレントメソッドの記述してあるク
ラスを検索して、ステップ54−2で、それらのクラス
だけに関する内部情報とカレントメソッドの記述とを読
込んで、それらのクラスの記述10についての情報を含
む構文解析木データの作成を行っている。
手段22は、ステップ61で、そのカレントメソッドに
関する構文解析木データの中のクラスの記述10の内部
情報11からオブジェクト生成時に情報領域をとるサブ
ルーチンを生成し、ステップ62で、サブルーチンの先
頭部分であるメソッド実行ポインタ412による分岐3
01と、一時的情報領域の確保処理302とを生成して
いる。
御文のID番号としてメソッド実行ポインタ412を付
け、ステップ64で、計算文および制御文の変数を置換
えた文実行処理310を生成している。特に、制御文が
オブジェクトにメッセージを渡す手続きを実行する文で
ある時には、トランザクションデータ400の現在のメ
ソッド実行情報401をメソッド実行情報スタック40
2内にプッシュして、メッセージに対応する新しいメソ
ッド実行情報を現在のメソッド実行情報401とする文
を生成している。
示す記述があったときに、メソッド実行情報スタック4
02にプッシュしたメソッド実行情報を現在のメソッド
実行情報401に戻す文を生成している。続いて、ステ
ップ66で、サブルーチンの終了部分であるメソッドが
続くかどうかの分岐303を生成し、一つのメソッドに
対応するサブルーチンの生成を終えている。
り、ステップ67−1で、メソッド対応シミュレーショ
ンプログラム生成手段221を用いて制御文がオブジェ
クトにメッセージを渡す手続きを実行する文( 以下に
「呼出しメソッド」という) があったかどうかの判断を
行うことによって、制御文が呼出しメソッドであって、
ステップ67−2で、この呼出しメソッドが未だ文実行
処理を終了しておらず、シミュレーションプログラムが
生成されていない場合に、ステップ67−3で、この呼
出しメソッドを未処理メソッドとし、ステップ52に戻
り未処理メソッドがなくなるまで以上の処理を繰り返し
て、対象メソッドに関する複数のクラスのシミュレーシ
ョンプログラム30を生成している。
ドが存在しない場合に、あるいは、ステップ67−2
で、既に文実行処理を生成して、シミュレーションプロ
グラム30が生成されている場合には、何も処理を行わ
ずにそのまま終了している。
生成手段22は、シミュレーションモデルファイル1の
対象メソッドに関するクラスの記述10だけに対して、
対応するクラスのシミュレーションプログラム30から
構成されるシミュレーションプログラム3を生成してい
る。
ュレーションプログラム生成方式は、メソッド名を指定
することによりその対象メソッドについてのシミュレー
ションプログラムだけを生成することができるので、少
ない作業工数で特定メソッドに対応する動作確認を行う
ことができるという効果を有している。
の一実施例を示すブロック図である。
処理の一例を示している流れ図である。
レーションプログラム生成手段の処理の一例を示す流れ
図である。
一例を示しているブロック図である。
図である。
行時のトランザクションデータとメソッド実行情報との
一例を示す図である。
処理の一例を示している流れ図である。
ム 3,3j シミュレーションプログラム 10 クラスの記述 11 内部情報 12 メソッドの記述 15 対象メソッド名 21,21j モデル読込み手段 22,22j シミュレーションプログラム生成手段 30 対象メソッドに関するクラスのシミュレーショ
ンプログラム 30j クラスのシミュレーションプログラム 100 クラスの記述例 110 内部情報例 120 メソッド記述例 121 メソッドの名前 122 引数 123 一時的情報 124 計算文または制御文 211 メソッド読込み手段 221 メソッド対応シミュレーションプログラム生
成手段 400 トランザクションデータ 401 現在のメソッド実行情報 402 メソッド実行情報スタック 410 メソッド実行情報 411 メッセージID 412 メソッド実行ポインタ 413 計算用スタック 414 引数 415 一時的変数 416 オブジェクトへのポインタ
Claims (1)
- 【請求項1】 内部で移動するトランザクションに関す
るフローについてのシミュレーションを実行する動作
を、シミュレーションを実行する対象となるモデルにお
ける同種の構造を持つ部分を抜出してまとめた種類をク
ラスとして、クラス毎にシミュレーション言語を用い
て、シミュレーションモデルファイルへ記述して、その
ファイルからシミュレーションプログラムを生成するシ
ミュレーションプログラム生成方式において、 (A)特定のメソッドのみを選択するために指定された
対象メソッド名を受けて前記シミュレーションモデルフ
ァイルの中から指定された対象メソッド名に関連する対
象メソッドのシミュレーションモデルのみを選択して読
込むモデル読込み手段と、 (B)前記モデル読込み手段が読込んだシミュレーショ
ンモデルのみに限定して対象メソッドに関するシミュレ
ーションプログラムを生成するシミュレーションプログ
ラム生成手段と、 を備えることを特徴とするシミュレーションプログラム
生成方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14510394A JP2723805B2 (ja) | 1994-06-27 | 1994-06-27 | シミュレーションプログラム生成方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14510394A JP2723805B2 (ja) | 1994-06-27 | 1994-06-27 | シミュレーションプログラム生成方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0816371A JPH0816371A (ja) | 1996-01-19 |
JP2723805B2 true JP2723805B2 (ja) | 1998-03-09 |
Family
ID=15377451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14510394A Expired - Fee Related JP2723805B2 (ja) | 1994-06-27 | 1994-06-27 | シミュレーションプログラム生成方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2723805B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5363286B2 (ja) * | 2009-11-30 | 2013-12-11 | 富士通フロンテック株式会社 | シミュレーションプログラム生成プログラム及びシミュレーションプログラム生成方法 |
-
1994
- 1994-06-27 JP JP14510394A patent/JP2723805B2/ja not_active Expired - Fee Related
Non-Patent Citations (5)
Title |
---|
NEC技報 VOL.46 NO.8(1993)P80−85 |
情報処理学会第39回(平成元年後期)全国大会講演論文集、P2051−2052 |
情報処理学会第41回(平成2年後期)全国大会講演論文集(1)、P1.141−1.144 |
情報処理学会第44回(平成4年前期)全国大会講演論文集(5)、P5.15−5.16 |
情報処理学会第45回(平成4年後期)全国大会講演論文集(5)、P5.35−5.36 |
Also Published As
Publication number | Publication date |
---|---|
JPH0816371A (ja) | 1996-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3904645B2 (ja) | ハードウェア/ソフトウェア協調シミュレーション装置 | |
US6289503B1 (en) | System and method for trace verification | |
US6330527B1 (en) | Apparatus and method for modeling frameworks via use of object-oriented analysis information | |
JP3139459B2 (ja) | 並列分散システムのデバッグ装置及びデバッグ方法 | |
JP2723805B2 (ja) | シミュレーションプログラム生成方式 | |
JPH08314760A (ja) | プログラム開発支援装置 | |
JPH10187461A (ja) | 言語処理方式 | |
JP3293652B2 (ja) | シミュレーションプログラム生成方式 | |
JP2820184B2 (ja) | ロードモジュール単体テスト支援装置 | |
Green et al. | Software technology for embedded systems | |
CN115249068A (zh) | Nvdla软件栈的推理方法、装置、设备及存储介质 | |
JP2786689B2 (ja) | コンパイラ処理方法 | |
JP2606658B2 (ja) | 論理シミュレータおよび制御方法 | |
JP3156343B2 (ja) | データ依存関係情報処理方法 | |
JPH07334399A (ja) | 固定長レコード向けコード変換方式 | |
CN115712560A (zh) | 软件测试方法、装置、计算设备及存储介质 | |
JP2000056956A (ja) | 要求仕様モデル・他形式モデル変換装置及び方法 | |
JP2002055703A (ja) | Ncデータ作成方法及びその装置並びにncデータ作成方法のプログラムを記憶した記憶媒体 | |
JPH09311800A (ja) | データ自動変換装置 | |
JP2003337707A (ja) | コンパイラおよびリスト構造データを処理するループの高速化方法 | |
Lehmann et al. | Algorithm partitioning and optimization for network processors. | |
JPH0954704A (ja) | 言語プロセッサのテストプログラム自動作成システム | |
JPH03127140A (ja) | プログラム動的生成方式 | |
JPH05216828A (ja) | ソフトウェアシミュレータのバッチ実行下でのエラー処理方式 | |
King | Status and issues in international accreditation of computer science and engineering programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19971104 |
|
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 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071128 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081128 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081128 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091128 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091128 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101128 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |