JP2002140652A - Method and device for simulation and recording medium - Google Patents
Method and device for simulation and recording mediumInfo
- Publication number
- JP2002140652A JP2002140652A JP2000333917A JP2000333917A JP2002140652A JP 2002140652 A JP2002140652 A JP 2002140652A JP 2000333917 A JP2000333917 A JP 2000333917A JP 2000333917 A JP2000333917 A JP 2000333917A JP 2002140652 A JP2002140652 A JP 2002140652A
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- external
- data
- external function
- 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
- 238000004088 simulation Methods 0.000 title claims abstract description 139
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000006870 function Effects 0.000 claims abstract description 120
- 238000012545 processing Methods 0.000 claims abstract description 72
- 230000008569 process Effects 0.000 claims abstract description 12
- 230000002123 temporal effect Effects 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 230000036962 time dependent Effects 0.000 description 3
- 241000208140 Acer Species 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 101001003187 Hordeum vulgare Alpha-amylase/subtilisin inhibitor Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、シミュレーション
装置に関し、特に、システム(系)の時間軸上の挙動を
シミュレートするシミュレーション方法、装置、及び記
録媒体に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a simulation apparatus, and more particularly, to a simulation method, an apparatus, and a recording medium for simulating a behavior on a time axis of a system (system).
【0002】[0002]
【従来の技術】時間依存のシミュレーション装置が外部
資源とのデータの交換によってインタラクティブにシミ
ュレーションを実行するためには、シミュレーション装
置がファイル、共有メモリ、入出力ポートなどの外部資
源にデータを出力する手段、外部資源からデータを入力
する手段が必要になる。2. Description of the Related Art In order for a time-dependent simulation apparatus to execute a simulation interactively by exchanging data with an external resource, the simulation apparatus outputs data to an external resource such as a file, a shared memory, and an input / output port. Therefore, means for inputting data from external resources is required.
【0003】また、時間依存のシステムが外部資源との
データの授受をある特定の時間に行うためには、シミュ
レーション装置内部で管理している内部時間と、タイマ
ーなどの外部資源が管理している外部時間が一致してい
る必要がある。そのため、このようなシミュレーション
装置には外部資源と時間的な一致を取るための同期手段
が必要になる。In order for a time-dependent system to exchange data with an external resource at a specific time, an internal time managed inside the simulation apparatus and an external resource such as a timer are managed. External time must match. For this reason, such a simulation device requires a synchronization means for obtaining a time coincidence with an external resource.
【0004】ところで、従来のシミュレーション装置の
代表的な開発言語としては、アセンブラ, BASI
C, Fortran, C, C++, JAVA
(登録商標)などの言語がある。これらの言語を用いた
シミュレーション装置で行われる処理について図8を用
いて説明する。図8には、シミュレーション装置101
と外部資源102とが示されている。シミュレーション
装置101では、シミュレーションの内部処理103、
外部資源102との時間的な整合性を取るための同期処
理104、外部資源102との入出力を行う入出力処理
105といった一連の処理が繰り返し行われる。[0004] By the way, as typical development languages of the conventional simulation apparatus, assembler and BASI are used.
C, Fortran, C, C ++, JAVA
(Registered trademark). The processing performed by the simulation device using these languages will be described with reference to FIG. FIG. 8 shows a simulation apparatus 101.
And an external resource 102 are shown. In the simulation device 101, an internal process 103 of the simulation,
A series of processes such as a synchronization process 104 for obtaining temporal consistency with the external resource 102 and an input / output process 105 for performing input / output with the external resource 102 are repeatedly performed.
【0005】上述の言語は、標準関数やライブラリを用
いることによって容易にファイルの読み書きや、メモリ
へのアクセス、外部通信ポートへのアクセスなどを実現
することができ、外部資源との情報の交換が可能であ
る。また、ハードウェアが持っているタイマー機能とラ
イブラリや標準関数などを利用して実時間を取得するこ
とができるため、シミュレーション装置が内部で管理し
ている時間との同期を取ることも容易である。The above-mentioned languages can easily realize reading and writing of a file, access to a memory, access to an external communication port, and the like by using standard functions and libraries, and can exchange information with external resources. It is possible. In addition, since the real time can be acquired using the timer function and the library or the standard function of the hardware, it is easy to synchronize with the time internally managed by the simulation apparatus. .
【0006】このため、シミュレーション実行中に外部
とのインタラクティブな入出力処理を行うシミュレーシ
ョン装置を構築する場合には、上記言語自身が有してい
る入出力インタフェース機能、時間管理機能を用いるこ
とができる。For this reason, when constructing a simulation apparatus for performing interactive input / output processing during execution of a simulation, the input / output interface function and time management function of the language itself can be used. .
【0007】一方、別々に構成したモデルを読み込んで
再構成可能なシステムの時間軸上の挙動をシミュレート
する装置としては、HCC言語(Hybrid Concurrent Con
straint Programming Language)を用いたテキストベー
スで編集可能なインタプリタ、Mathematca言語のアドイ
ンツールやフロントエンド、Mapleフロントエンド、Mat
hcadフロントエンドなどがある。On the other hand, as a device for reading separately constructed models and simulating the behavior on a time axis of a reconfigurable system, an HCC language (Hybrid Concurrent Concurrent
Text-based editable interpreter using straint programming language), add-in tool and front end for Mathematca language, Maple front end, Mat
There is an hcad front end and so on.
【0008】これらの言語は、時間依存のシステムを微
分方程式や恒等式などの拘束条件を用いて表記する機能
を持っており、シミュレーションモデルを直感的に構築
できるといった特徴や、モデルの再利用が容易であると
いった特徴がある。ここでは、このような言語を制約型
プログラミング言語(コンストレイントプログラミング
言語)と呼ぶ。These languages have a function of expressing a time-dependent system using constraints such as differential equations and identities, and have a feature that a simulation model can be constructed intuitively, and a model can be easily reused. There is a feature that is. Here, such a language is called a constraint type programming language (a constraint programming language).
【0009】また、こうした言語の中には、C言語など
の他の言語を呼び出す機能を備えたものもある。この機
能は、主に数学関数や複雑な論理演算などを高速に処理
させるために用いられる。Some of these languages have a function of calling another language such as the C language. This function is mainly used to process mathematical functions and complicated logical operations at high speed.
【0010】[0010]
【発明が解決しようとする課題】しかし、制約型プログ
ラミング言語は、それ自身が外部資源とデータを授受す
る機能を備えていないため、シミュレーション実行中に
外部とのインタラクティブな入出力処理を行うシステム
を構築することは不可能である。そのため、制約型プロ
グラミング言語では、シミュレーションモデル作成時
に、予め決められたシナリオどおりにシミュレーション
を実行することしかできないという問題があった。However, since the constraint-type programming language does not have a function of exchanging data with an external resource, a system for performing interactive input / output processing during execution of a simulation is required. It is impossible to build. For this reason, the constraint-based programming language has a problem that a simulation can only be executed according to a predetermined scenario when a simulation model is created.
【0011】また、制約型プログラミング言語は、それ
自身が実時間を取得する機能を有していないため、デー
タの入出力処理を行うに際して外部との同期を取ること
ができないという問題があった。In addition, since the constraint-type programming language does not have a function for acquiring real time, there is a problem that synchronization with the outside cannot be performed when performing data input / output processing.
【0012】本発明は上記実状に鑑みてなされたもので
あり、制約型プログラミング言語に基づくシミュレーシ
ョンを実行中に外部との同期を取りつつデータの入出力
処理を行うことのできるシミュレーション方法、装置、
及び記録媒体を提供することを目的とする。The present invention has been made in view of the above situation, and has a simulation method and apparatus capable of performing data input / output processing while synchronizing with the outside while executing a simulation based on a restricted programming language.
And a recording medium.
【0013】[0013]
【課題を解決するための手段】上記課題を解決するた
め、本発明によれば、システムの時間軸上の挙動をシミ
ュレートするシミュレーション装置において、制約型プ
ログラミング言語で記述されたモデルのシミュレーショ
ンを実行し、当該シミュレーションの実行中に外部関数
を呼び出すと共にその外部関数から返される戻り値に応
じて当該シミュレーションの動作を変更するシミュレー
ション実行手段と、前記シミュレーション実行手段から
の呼び出しに応じ、前記シミュレーション実行手段と外
部資源との時間的な整合性をとりつつ、当該外部資源に
アクセスしてデータを読み出してそのデータを前記シミ
ュレーション実行手段に戻り値として返す外部関数を処
理する外部関数処理手段とを具備したことを特徴とする
シミュレーション装置が提供される。According to the present invention, there is provided a simulation apparatus for simulating a behavior of a system on a time axis, wherein a simulation of a model described in a constraint-type programming language is performed. Simulation execution means for calling an external function during execution of the simulation and changing the operation of the simulation in accordance with a return value returned from the external function; and executing the simulation execution means in response to a call from the simulation execution means. And external function processing means for processing an external function that accesses the external resource, reads data, and returns the data as a return value to the simulation execution means while maintaining temporal consistency with the external resource. Simulation equipment characterized by the following: There is provided.
【0014】なお、前記構成において、前記外部関数処
理手段は、前記シミュレーション実行手段が前記外部関
数を呼び出す周期と実質的に等しい時間で当該外部関数
を処理するものであってもよい。In the above configuration, the external function processing means may process the external function at a time substantially equal to a cycle at which the simulation executing means calls the external function.
【0015】また、前記構成において、前記外部関数処
理手段は、前記シミュレーション実行手段からの呼び出
しの種類に応じて、前記外部関数を処理する時間を変え
るものであってもよい。In the above configuration, the external function processing means may change a time for processing the external function in accordance with a type of call from the simulation executing means.
【0016】また、前記構成において、前記外部関数処
理手段は、前記外部資源にアクセスする際にデータの書
き込み及びデータの読み出しを要求するものであっても
よい。In the above configuration, the external function processing means may request data writing and data reading when accessing the external resource.
【0017】また、前記構成において、前記外部関数
は、C言語で記述されたものであってもよい。Further, in the above configuration, the external function may be described in C language.
【0018】また、前記構成において、前記制約型プロ
グラミング言語は、HCC言語(Hybrid Concurrent Con
straint Programming Language)であってもよい。In the above configuration, the constraint-type programming language may be an HCC language (Hybrid Concurrent Concurrent Language).
straint Programming Language).
【0019】また、本発明によれば、システムの時間軸
上の挙動をシミュレートするシミュレーション方法にお
いて、制約型プログラミング言語で記述されたモデルの
シミュレーションの実行中に外部関数を呼び出し、前記
外部関数により、前記モデルのシミュレーションと外部
資源との時間的な整合性をとりつつ、当該外部資源にア
クセスしてデータを読み出してそのデータを前記モデル
のシミュレーションに反映させることを特徴とするシミ
ュレーション方法が提供される。According to the present invention, in a simulation method for simulating a behavior of a system on a time axis, an external function is called during execution of a simulation of a model described in a constraint programming language, and the external function is called by the external function. A method of accessing the external resource, reading data, and reflecting the data in the simulation of the model while ensuring temporal consistency between the simulation of the model and the external resource. You.
【0020】また、本発明によれば、システムの時間軸
上の挙動のシミュレーションを行うためのコンピュータ
プログラムを記録した、コンピュータにより読み取り可
能な記録媒体において、前記コンピュータプログラム
は、制約型プログラミング言語で記述されたモデルのシ
ミュレーションの実行中に外部関数を呼び出し、前記外
部関数により、前記モデルのシミュレーションと外部資
源との時間的な整合性をとりつつ、当該外部資源にアク
セスしてデータを読み出してそのデータを前記モデルの
シミュレーションに反映させる手順とを実行することを
特徴とする記録媒体が提供される。According to the present invention, in a computer-readable recording medium recording a computer program for simulating a behavior of a system on a time axis, the computer program is described in a constrained programming language. An external function is called during the execution of the simulation of the model, and the external function accesses the external resource and reads out the data while maintaining the temporal consistency between the simulation of the model and the external resource. And a step of reflecting the above in a simulation of the model.
【0021】[0021]
【発明の実施の形態】以下、図面を参照して本発明の実
施形態を説明する。図1は、本発明に係る第1の実施形
態及び第2の実施形態に共通するシミュレーション装置
の概念を説明するためのブロック図である。Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram for explaining the concept of a simulation apparatus common to the first embodiment and the second embodiment according to the present invention.
【0022】同図には、シミュレーション装置1と外部
資源2とが示されている。シミュレーション装置1は、
システムの時間軸上の挙動をシミュレートするものであ
り、シミュレーション実行部3と外部関数処理4とを備
えている。なお、外部資源2は、シミュレーション装置
1の内部に含まれるように構成してもよい。FIG. 1 shows a simulation apparatus 1 and an external resource 2. The simulation device 1
It simulates the behavior on the time axis of the system, and includes a simulation execution unit 3 and an external function processing 4. Note that the external resource 2 may be configured to be included in the simulation device 1.
【0023】シミュレーション実行部3の中では、シミ
ュレーションの内部処理5が行われ、外部資源2とのデ
ータの入出力が必要な時点で外部関数の呼び出し6が行
われる。In the simulation executing section 3, an internal processing 5 of the simulation is performed, and a call 6 of an external function is performed at a time when data input / output with the external resource 2 is required.
【0024】すなわち、シミュレーション実行部3は、
HCC言語などの制約型プログラミング言語(コンスト
レイントプログラミング言語)で記述された単一のシミ
ュレーションモデル(以下、モデルと称する)ないしは
別々に作成されたモデルのシミュレーションを実行し、
当該シミュレーションの実行中に外部関数を呼び出すと
共にその外部関数から返される戻り値に応じて当該シミ
ュレーションの動作を変更するものである。That is, the simulation execution unit 3
Execute a simulation of a single simulation model (hereinafter referred to as a model) written in a constraint-based programming language (constrained programming language) such as the HCC language or a separately created model;
An external function is called during the execution of the simulation, and the operation of the simulation is changed according to a return value returned from the external function.
【0025】一方、外部関数処理部4の中では、図示の
ように外部関数の呼び出し6に応じてシミュレーション
実行部3と外部資源2との時間的な整合性を取るための
同期処理7が行われ、シミュレーション実行部3と外部
資源2とのデータの入出力処理8が行われる。On the other hand, in the external function processing unit 4, as shown in the figure, a synchronization process 7 for obtaining temporal consistency between the simulation execution unit 3 and the external resource 2 according to the call of the external function 6 is executed. Then, data input / output processing 8 between the simulation execution unit 3 and the external resource 2 is performed.
【0026】すなわち、外部関数処理部4は、シミュレ
ーション実行部3からの呼び出しに応じ、シミュレーシ
ョン実行部3と外部資源2との時間的な整合性をとりつ
つ、当該外部資源2にアクセスしてデータを読み出して
そのデータをシミュレーション実行部3に戻り値として
返す外部関数を処理するものである。この関数は、上記
モデルを記述したソースコード(プログラム)に対する
外部関数としてC言語などの言語で記述されている。特
に、外部関数処理部4は、シミュレーション実行部3が
外部関数を呼び出す周期と実質的に等しい時間で当該外
部関数を処理する。That is, in response to the call from the simulation execution unit 3, the external function processing unit 4 accesses the external resource 2 and obtains the data while maintaining the temporal consistency between the simulation execution unit 3 and the external resource 2. And an external function that reads the data and returns the data to the simulation execution unit 3 as a return value. This function is described in a language such as the C language as an external function for a source code (program) describing the model. In particular, the external function processing unit 4 processes the external function at a time substantially equal to the period at which the simulation execution unit 3 calls the external function.
【0027】このように、入出力処理および同期処理を
行うルーチンを外部関数に持たせ、そのルーチンを拘束
条件の一部として呼び出すことによって、外部資源への
アクセス及び同期を実現できるものとなっている。As described above, by providing the routine for performing the input / output processing and the synchronization processing in the external function and calling the routine as a part of the constraint condition, the access and the synchronization with the external resource can be realized. I have.
【0028】図2は、本発明の第1の実施形態によるシ
ミュレーション装置に関わるデータの流れを示すブロッ
ク図である。FIG. 2 is a block diagram showing a data flow relating to the simulation device according to the first embodiment of the present invention.
【0029】同図に示されるように、シミュレーション
装置1には、データ処理装置9およびシミュレーション
データ表示装置10が接続されている。データ処理装置
9中に設けられるデータファイルは上述の外部資源2に
相当するものである。なお、シミュレーションデータ表
示装置10は、シミュレーション装置1の内部に含まれ
るように構成してもよい。As shown in FIG. 1, a data processing device 9 and a simulation data display device 10 are connected to the simulation device 1. The data file provided in the data processing device 9 corresponds to the external resource 2 described above. Note that the simulation data display device 10 may be configured to be included in the simulation device 1.
【0030】シミュレーション装置1は、上述の外部関
数の機能を利用することにより、シミュレーションの実
行中にデータ処理装置9のデータファイルにアクセスす
る。データ処理装置9は、シミュレーション装置1から
のアクセスに応じ、データファイルから指定されたデー
タを読み出してシミュレーション装置1に送る。シミュ
レーション装置1は、読み出したデータを実行中のシミ
ュレーションのプログラムに反映させる。そして、シミ
ュレーション装置1は、上記データがプログラムに反映
されたシミュレーションの実行結果をシミュレーション
データ表示装置10に表示させる。The simulation device 1 accesses the data file of the data processing device 9 during execution of the simulation by using the function of the above-mentioned external function. The data processing device 9 reads the designated data from the data file and sends it to the simulation device 1 in response to the access from the simulation device 1. The simulation device 1 reflects the read data on a simulation program being executed. Then, the simulation device 1 causes the simulation data display device 10 to display a simulation execution result in which the data is reflected in the program.
【0031】なお、本実施形態によるシミュレーション
装置1は、シミュレーションの実行中にデータ処理装置
9のデータファイルからデータを読み出すことはできる
が、データ処理装置9のデータファイルに対してデータ
を変更する(データを書き込む)ことはできない。The simulation device 1 according to the present embodiment can read data from the data file of the data processing device 9 during execution of the simulation, but changes the data to the data file of the data processing device 9 ( Data cannot be written).
【0032】図3は、外部関数による外部との入出力処
理を説明するための図である。同図には、シミュレーシ
ョン実行部3によって実行されるモデルA及びモデル
B、外部関数処理部4によって処理される外部関数、及
びデータ処理装置9に保持されるデータファイルが示さ
れている。FIG. 3 is a diagram for explaining input / output processing with an external device by an external function. FIG. 2 shows models A and B executed by the simulation execution unit 3, external functions processed by the external function processing unit 4, and data files held in the data processing device 9.
【0033】上記モデルA及びモデルBはそれぞれHC
C言語で記述されており、予めソースコードとして指定
された手順でのみ実行することができるものである。こ
れらモデルA、モデルBは単体でも実行可能であるが、
本実施形態ではシステム全体の挙動をシミュレートでき
るようにするため、図示のようにモデルAとモデルBと
を統合(再結合)しておく。また、モデルBに記述され
たHCC言語(ソースコード、プログラム)の中には、
外部とのデータの入出力を可能とするために外部関数を
呼び出しする部分が備えられる。なお、外部関数呼び出
し部は、ここでは複数記述されているものとする。The model A and the model B are each HC
It is described in C language and can be executed only by a procedure specified as a source code in advance. Although these models A and B can be executed alone,
In the present embodiment, in order to simulate the behavior of the entire system, the model A and the model B are integrated (recombined) as illustrated. In the HCC language (source code, program) described in Model B,
A part for calling an external function is provided to enable input / output of data with the outside. It is assumed that a plurality of external function calling units are described here.
【0034】一方、外部関数は、C言語で記述されてお
り、ここでは一例としてgetData関数と称するものが使
用される場合を考える。また、外部資源であるデータフ
ァイル中のデータは、テキスト形式で記述され、文字列
の並びとして例えば0, 0, 0,0, 0, 0, 0, 1, 0, 0…の
順に記述されている。getData関数からの読み出し要求
がある毎に、指定されたデータ(1又は0)がgetData
関数に渡される。 ここで、データは、外部から書き込
みが可能な共有メモリ内に保存するようにしてもよい。On the other hand, the external function is described in C language, and here, as an example, a case where a function called a getData function is used will be considered. The data in the data file, which is an external resource, is described in a text format, and described as a sequence of character strings, for example, in the order of 0, 0, 0, 0, 0, 0, 0, 1, 0, 0. I have. Each time there is a read request from the getData function, the specified data (1 or 0) is
Passed to the function. Here, the data may be stored in a shared memory that can be written from the outside.
【0035】モデルA及びモデルBについてシミュレー
ションが実行され、処理がモデルB中の外部関数呼び出
し部に差し掛かると、外部関数呼び出し部は、所定の引
数を指定してgetData関数を呼び出す。getData関数は、
同期をとるために、必要に応じて自身の実行時間の調整
を行った後、外部のデータ処理装置に対して上記引数に
対応するデータの読み出し要求を行い、データファイル
から指定したデータを読み出す。getData関数は、読み
出したデータに応じて戻り値を決定し、その戻り値を外
部関数呼び出し部に返す。When the simulation is performed on the model A and the model B, and the process reaches the external function calling part in the model B, the external function calling part calls the getData function by designating a predetermined argument. The getData function is
In order to synchronize, after adjusting its own execution time as necessary, it issues a read request for data corresponding to the argument to an external data processing device, and reads the specified data from the data file. The getData function determines a return value according to the read data, and returns the return value to the external function calling unit.
【0036】なお、外部関数呼び出し部からシミュレー
ション中に外部関数を呼び出す周期と外部関数が処理さ
れている時間が実質的に等しくなるように予め設定して
おくものとする。この場合、外部関数呼び出し部からの
呼び出しの種類に応じて外部関数を処理する時間を変え
ることも考えられる。It is assumed that the period in which the external function is called during the simulation from the external function calling unit is set in advance so that the time during which the external function is processed is substantially equal. In this case, it is conceivable to change the processing time of the external function according to the type of call from the external function calling unit.
【0037】また、ファイルデータの値に応じた関数の
戻り値を予め設定しておく(例えばデータの値が1であ
れば戻り値を1とし、データの値が0であれば戻り値を
0とする)。なお、ファイルデータは、他のアプリケー
ションが変更な状態で読み込むようにしてもよい。Also, the return value of the function corresponding to the value of the file data is set in advance (for example, if the data value is 1, the return value is 1; if the data value is 0, the return value is 0). And). The file data may be read by another application in a changed state.
【0038】本実施形態で使用するHCC言語では逐次
的に処理が進められていくため、外部関数が処理されて
いる途中にその他の処理が実行されることはなく、外部
関数を用いて外部との同期を取ることが可能となる。In the HCC language used in this embodiment, the processing proceeds sequentially, so that no other processing is executed while the external function is being processed. Can be synchronized.
【0039】次に、図4のフローチャートを参照して、
シミュレーション実行部3側で行われる動作を説明す
る。モデルBのプログラムは、シミュレーション実行中
において例えば引数を“start”としてgetData関数を呼
び出す(ステップA1)。この後、getData関数からの
戻り値が1であるか0であるかを判定し(ステップA
2)、戻り値が1であればモデルBの動作をオン状態に
する(ステップA3)。一方、戻り値が0であれば何も
しない。Next, referring to the flowchart of FIG.
The operation performed on the simulation execution unit 3 side will be described. The program of the model B calls the getData function with the argument being “start”, for example, during the execution of the simulation (step A1). Thereafter, it is determined whether the return value from the getData function is 1 or 0 (step A).
2) If the return value is 1, the operation of the model B is turned on (step A3). On the other hand, if the return value is 0, nothing is done.
【0040】次に、モデルBのプログラムは、例えば引
数を“end”としてgetData関数を呼び出す(ステップA
4)。この後、getData関数からの戻り値が1であるか
0であるかを判定し(ステップA5)、戻り値が1であ
ればモデルBの動作をオフ状態にする(ステップA
6)。一方、戻り値が0であれば何もしない。Next, the model B program calls the getData function with the argument being “end” (step A).
4). Thereafter, it is determined whether the return value from the getData function is 1 or 0 (step A5). If the return value is 1, the operation of the model B is turned off (step A).
6). On the other hand, if the return value is 0, nothing is done.
【0041】この後、シミュレーションを終了するか、
あるいはシミュレーションをそのまま続行するかについ
て判別する(ステップA7)。続行する場合にはステッ
プA1からの処理を繰り返し、そうでなければ本シミュ
レーションを終了する。Thereafter, the simulation is terminated, or
Alternatively, it is determined whether to continue the simulation as it is (step A7). When continuing, the processing from step A1 is repeated. Otherwise, the simulation is terminated.
【0042】次に、図5のフローチャートを参照して、
外部関数処理部4側で行われる動作を説明する。外部関
数処理部4におけるgetData関数は、モデルBのプログ
ラムから呼び出されると、指定された引数が“start”
であるか否かを判定する(ステップB1)。引数が“st
art”であれば、getData関数は、これに対応する処理を
行うに際して同期を保つには自身の実行時間の調整を行
う必要があるものとみなして、例えば1秒待ち(ステッ
プB2)、その後にデータ処理装置9のデータファイル
から指定のデータを読み出す(ステップB3)。一方、
引数が“start”でなければ(引数が“end”であれ
ば)、getData関数は、待ち時間なしにデータ処理装置
9のデータファイルから指定のデータを読み出す。Next, referring to the flowchart of FIG.
The operation performed by the external function processing unit 4 will be described. When the getData function in the external function processing unit 4 is called from the model B program, the designated argument is "start".
Is determined (step B1). If the argument is "st
If "art", the getData function considers that it is necessary to adjust its own execution time in order to maintain synchronization when performing the processing corresponding thereto, and waits for, for example, 1 second (step B2), and thereafter The designated data is read from the data file of the data processing device 9 (step B3).
If the argument is not “start” (if the argument is “end”), the getData function reads specified data from the data file of the data processing device 9 without waiting time.
【0043】次に、getData関数は、データファイルか
ら読み出したデータが0から1に変わった否かを判定す
る(ステップB4)。データが0から1に変わったので
あれば、getData関数は戻り値に1をセットし(ステッ
プB5)、一方、データが1から0に変わったのであれ
ば、getData関数は戻り値に0をセットして、これをモ
デルBのプログラムに返す(ステップB6)。これによ
り、外部関数であるgetData関数の処理が終わる。Next, the getData function determines whether the data read from the data file has changed from 0 to 1 (step B4). If the data has changed from 0 to 1, the getData function sets the return value to 1 (step B5), while if the data changes from 1 to 0, the getData function sets the return value to 0. Then, this is returned to the model B program (step B6). Thus, the processing of the external function getData function ends.
【0044】なお、本実施形態では、シミュレーション
装置の実行中に例えばテキストエディタなどを用いて編
集をした場合、編集結果に応じてシミュレーションの実
行状態が変化し、シミュレーションデータ表示装置10
によってその変化を確認することができる。また、別の
アプリケーションプログラムがそのデータを編集するこ
とによって、シミュレーションの実行状態を変えること
も可能である。In the present embodiment, when editing is performed using, for example, a text editor during execution of the simulation apparatus, the simulation execution state changes in accordance with the editing result, and the simulation data display apparatus 10
Can confirm the change. In addition, another application program can change the execution state of the simulation by editing the data.
【0045】このように、第1の実施形態によれば、H
CC言語などの制約型プログラミング言語に基づくシミ
ュレーションを実行中に外部のデータ処理装置9との同
期を取りつつそのデータ処理装置9からデータを読み出
してシミュレーションの動作を変更させることができ
る。As described above, according to the first embodiment, H
During execution of a simulation based on a constrained programming language such as the CC language, data can be read from the data processing device 9 while synchronizing with the external data processing device 9 to change the operation of the simulation.
【0046】次に、第2の実施形態について説明する。
図6は、本発明の第2の実施形態によるシミュレーショ
ン装置に関わるデータの流れを示すブロック図である。
なお、以下では、上述の第1の実施形態と共通する要素
には同一の符号を付し、その詳細な説明を省略する。Next, a second embodiment will be described.
FIG. 6 is a block diagram showing a data flow relating to the simulation device according to the second embodiment of the present invention.
In the following, the same reference numerals are given to the same elements as those in the above-described first embodiment, and detailed description thereof will be omitted.
【0047】第1の実施形態(図2)ではデータ処理装
置9のデータファイルからデータを読み出す場合を説明
したが、本実施形態(図6)ではこれに加え、シミュレ
ーション装置1からのアクセスによりデータ処理装置9
のデータファイルにデータを書き込むことが可能であ
る。なお、データ書き込みの場合も、データ読み出しの
場合と同様に、外部関数を利用することによって同期お
よび入出力処理が実現される。In the first embodiment (FIG. 2), the case where the data is read from the data file of the data processing device 9 has been described. In the present embodiment (FIG. 6), the data is read by the access from the simulation device 1. Processing device 9
It is possible to write data to a data file. In the case of data writing, as in the case of data reading, synchronization and input / output processing are realized by using an external function.
【0048】なお、シミュレーション実行部3側で行わ
れる動作については、図4に示したフローチャートとほ
ぼ同様であり、モデルBの外部関数呼び出し部から外部
関数を呼び出す際にデータを渡す処理が加わるだけとな
るため、ここではその説明を省略する。The operation performed by the simulation execution unit 3 is substantially the same as that shown in the flowchart of FIG. 4, except that a process of passing data when an external function is called from the external function calling unit of the model B is added. Therefore, the description is omitted here.
【0049】次に、図7のフローチャートを参照して、
外部関数処理部4側で行われる動作を説明する。外部関
数処理部4におけるgetData関数は、モデルBのプログ
ラムから呼び出されると、指定された引数が“start”
であるか否かを判定する(ステップD1)。引数が“st
art”であれば、getData関数は、これに対応する処理を
行うに際して同期を保つには自身の実行時間の調整を行
う必要があるものとみなして、例えば1秒待ち(ステッ
プD2)、その後にデータ処理装置9のデータファイル
に指定のデータを書き込む(ステップD3)。一方、引
数が“start”でなければ(引数が“end”であれば)、
getData関数は、待ち時間なしにデータ処理装置9のデ
ータファイルに指定のデータを書き込む。この後、getD
ata関数は、データ処理装置9のデータファイルから指
定のデータを読み出す(ステップD4)。Next, referring to the flowchart of FIG.
The operation performed by the external function processing unit 4 will be described. When the getData function in the external function processing unit 4 is called from the model B program, the designated argument is "start".
Is determined (step D1). If the argument is "st
If it is "art", the getData function considers that it is necessary to adjust its execution time to maintain synchronization when performing the processing corresponding thereto, and waits for, for example, 1 second (step D2), and then The designated data is written to the data file of the data processing device 9 (step D3), while if the argument is not “start” (if the argument is “end”),
The getData function writes specified data to the data file of the data processing device 9 without waiting time. After this, getD
The ata function reads specified data from the data file of the data processing device 9 (step D4).
【0050】次に、getData関数は、データファイルか
ら読み出したデータが0から1に変わったか否かを判定
する(ステップD5)。データが0から1に変わったの
であれば、getData関数は戻り値に1をセットし(ステ
ップD6)、一方、データが1から0に変わったのであ
れば、getData関数は戻り値に0をセットして、これを
モデルBのプログラムに返す(ステップD7)。これに
より、外部関数であるgetData関数の処理が終わる。Next, the getData function determines whether the data read from the data file has changed from 0 to 1 (step D5). If the data changes from 0 to 1, the getData function sets the return value to 1 (step D6), while if the data changes from 1 to 0, the getData function sets the return value to 0. Then, this is returned to the model B program (step D7). Thus, the processing of the external function getData function ends.
【0051】本発明の第2の実施形態によれば、シミュ
レーション実行中にシミュレーション実行部3からデー
タ処理装置9に中のデータファイルに書き込みを行って
データを変更することができるとともに、データ処理装
置9からデータを読み出してシミュレーションの動作を
変更させることができるため、より複雑な処理が可能に
なり、多様なシミュレーションを行うことができる。According to the second embodiment of the present invention, the data can be changed by writing the data file in the data processing device 9 from the simulation execution unit 3 to the data processing device 9 during the execution of the simulation. Since the operation of the simulation can be changed by reading the data from the memory 9, more complicated processing becomes possible and various simulations can be performed.
【0052】上記各実施形態で説明したシミュレーショ
ンの処理手順は、コンピュータプログラムとして、コン
ピュータにより読み取り可能な記録媒体に記録しておく
ことが可能である。そのコンピュータプログラムを必要
時に読み出して実行することにより、シミュレーション
を実行することができる。この場合、コンピュータプロ
グラムの構成としては、制約型プログラミング言語で記
述されたモデルのシミュレーションの実行中に外部関数
を呼び出し、前記外部関数により、前記モデルのシミュ
レーションと外部資源との時間的な整合性をとりつつ、
当該外部資源にアクセスしてデータを読み出してそのデ
ータを前記モデルのシミュレーションに反映させる手順
とを含むようにすればよい。The simulation procedure described in each of the above embodiments can be recorded as a computer program on a computer-readable recording medium. By reading and executing the computer program when necessary, a simulation can be executed. In this case, as a configuration of the computer program, an external function is called during the simulation of the model described in the constraint-type programming language, and the external function uses the external function to ensure temporal consistency between the simulation of the model and external resources. While taking
A procedure of accessing the external resource, reading data, and reflecting the data in the simulation of the model.
【0053】なお、本発明は、上述した実施形態に限定
されるものではなく、その要旨の範囲で種々変形して実
施することが可能である。The present invention is not limited to the above-described embodiment, but can be implemented with various modifications within the scope of the invention.
【0054】例えば、上記実施形態ではHCC言語を使
用した場合を例にとって説明したが、本発明はこれに限
定されず、他の制約型プログラミング言語(Mathematic
a言語、Maple言語、Mathcad言語等)を使用してもよ
い。For example, in the above embodiment, the case where the HCC language is used has been described as an example. However, the present invention is not limited to this, and other constraint-based programming languages (Mathematic
a language, Maple language, Mathcad language, etc.).
【0055】[0055]
【発明の効果】以上詳記したように本発明によれば、制
約型プログラミング言語に基づくシミュレーションを実
行中に外部との同期を取りつつデータの入出力処理を行
うことのできるシミュレーション方法、装置、及び記録
媒体を提供することができる。As described above in detail, according to the present invention, a simulation method and apparatus capable of performing data input / output processing while synchronizing with the outside during execution of a simulation based on a restricted programming language, And a recording medium.
【図1】本発明に係る第1の実施形態及び第2の実施形
態に共通するシミュレーション装置の概念を説明するた
めのブロック図。FIG. 1 is a block diagram for explaining a concept of a simulation apparatus common to a first embodiment and a second embodiment according to the present invention.
【図2】本発明の第1の実施形態によるシミュレーショ
ン装置に関わるデータの流れを示すブロック図。FIG. 2 is a block diagram showing a data flow relating to the simulation device according to the first embodiment of the present invention.
【図3】同実施形態において外部関数による外部との入
出力処理を説明するための図。FIG. 3 is an exemplary view for explaining input / output processing to / from the outside by an external function in the embodiment.
【図4】同実施形態においてシミュレーション実行部側
で行われる動作を説明するためのフローチャート。FIG. 4 is a flowchart for explaining an operation performed on the simulation execution unit side in the embodiment.
【図5】同実施形態において外部関数処理部側で行われ
る動作を説明するためのフローチャート。FIG. 5 is a flowchart for explaining an operation performed on the external function processing unit side in the embodiment.
【図6】本発明の第2の実施形態によるシミュレーショ
ン装置に関わるデータの流れを示すブロック図。FIG. 6 is a block diagram showing a data flow relating to a simulation device according to a second embodiment of the present invention.
【図7】同実施形態において外部関数処理部側で行われ
る動作を説明するためのフローチャート。FIG. 7 is a flowchart for explaining an operation performed on the external function processing unit side in the embodiment.
【図8】従来のシミュレーション装置で行われる処理を
説明するための図。FIG. 8 is a diagram for explaining processing performed by a conventional simulation device.
1…シミュレーション装置 2…外部資源 3…シミュレーション実行部 4…外部関数処理部 5…外部処理 6…外部関数呼び出し 7…同期処理 8…入出力処理 9…データ処理装置 10…シミュレーションデータ表示装置 DESCRIPTION OF SYMBOLS 1 ... Simulation apparatus 2 ... External resource 3 ... Simulation execution part 4 ... External function processing part 5 ... External processing 6 ... External function call 7 ... Synchronization processing 8 ... Input / output processing 9 ... Data processing device 10 ... Simulation data display device
Claims (8)
トするシミュレーション装置において、 制約型プログラミング言語で記述されたモデルのシミュ
レーションを実行し、当該シミュレーションの実行中に
外部関数を呼び出すと共にその外部関数から返される戻
り値に応じて当該シミュレーションの動作を変更するシ
ミュレーション実行手段と、 前記シミュレーション実行手段からの呼び出しに応じ、
前記シミュレーション実行手段と外部資源との時間的な
整合性をとりつつ、当該外部資源にアクセスしてデータ
を読み出してそのデータを前記シミュレーション実行手
段に戻り値として返す外部関数を処理する外部関数処理
手段とを具備したことを特徴とするシミュレーション装
置。1. A simulation device for simulating a behavior of a system on a time axis, executes a simulation of a model described in a constraint-type programming language, calls an external function during execution of the simulation, and executes a simulation from the external function. Simulation execution means for changing the operation of the simulation in accordance with the returned value returned, and in response to a call from the simulation execution means,
External function processing means for processing an external function which accesses the external resource, reads out data, and returns the data as a return value to the simulation executing means, while ensuring temporal consistency between the simulation executing means and the external resource A simulation device comprising:
ーション実行手段が前記外部関数を呼び出す周期と実質
的に等しい時間で当該外部関数を処理することを特徴と
する請求項1記載のシミュレーション装置。2. The simulation apparatus according to claim 1, wherein the external function processing means processes the external function at a time substantially equal to a cycle at which the simulation execution means calls the external function.
ーション実行手段からの呼び出しの種類に応じて、前記
外部関数を処理する時間を変えることを特徴とする請求
項1記載のシミュレーション装置。3. The simulation apparatus according to claim 1, wherein the external function processing unit changes a time for processing the external function according to a type of a call from the simulation execution unit.
にアクセスする際にデータの書き込み及びデータの読み
出しを要求することを特徴とする請求項1記載のシミュ
レーション装置。4. The simulation apparatus according to claim 1, wherein the external function processing means requests data writing and data reading when accessing the external resource.
のであることを特徴とする請求項1記載のシミュレーシ
ョン装置。5. The simulation apparatus according to claim 1, wherein the external function is described in C language.
C言語(Hybrid Concurrent Constraint Programming La
nguage)であることを特徴とする請求項1記載のシミュ
レーション装置。6. The restricted programming language is HC
C (Hybrid Concurrent Constraint Programming La)
2. The simulation apparatus according to claim 1, wherein the simulation apparatus is an nguage).
トするシミュレーション方法において、 制約型プログラミング言語で記述されたモデルのシミュ
レーションの実行中に外部関数を呼び出し、 前記外部関数により、前記モデルのシミュレーションと
外部資源との時間的な整合性をとりつつ、当該外部資源
にアクセスしてデータを読み出してそのデータを前記モ
デルのシミュレーションに反映させることを特徴とする
シミュレーション方法。7. A simulation method for simulating a behavior of a system on a time axis, wherein an external function is called during execution of a simulation of a model described in a constrained programming language, and the simulation of the model is performed by the external function. A simulation method comprising accessing the external resource, reading data, and reflecting the data in a simulation of the model while maintaining temporal consistency with the external resource.
ションを行うためのコンピュータプログラムを記録し
た、コンピュータにより読み取り可能な記録媒体におい
て、前記コンピュータプログラムは、 制約型プログラミング言語で記述されたモデルのシミュ
レーションの実行中に外部関数を呼び出し、 前記外部関数により、前記モデルのシミュレーションと
外部資源との時間的な整合性をとりつつ、当該外部資源
にアクセスしてデータを読み出してそのデータを前記モ
デルのシミュレーションに反映させる手順とを実行する
ことを特徴とする記録媒体。8. A computer-readable recording medium on which a computer program for simulating a behavior of a system on a time axis is recorded, wherein the computer program executes simulation of a model described in a constraint-type programming language. During execution, an external function is called, and the external function accesses the external resource and reads data while maintaining temporal consistency between the simulation of the model and the external resource. A recording medium for executing a procedure for reflecting the information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000333917A JP2002140652A (en) | 2000-10-31 | 2000-10-31 | Method and device for simulation and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000333917A JP2002140652A (en) | 2000-10-31 | 2000-10-31 | Method and device for simulation and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002140652A true JP2002140652A (en) | 2002-05-17 |
Family
ID=18809921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000333917A Pending JP2002140652A (en) | 2000-10-31 | 2000-10-31 | Method and device for simulation and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002140652A (en) |
-
2000
- 2000-10-31 JP JP2000333917A patent/JP2002140652A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4014080B2 (en) | Digital circuit design apparatus and design method, program, and storage medium | |
CN106484394B (en) | A kind of fast software development system with double engines | |
JP2002073719A (en) | Generating method for circuit operation model description and logical design verifying device | |
WO1990011569A1 (en) | Computer-aided engineering | |
WO2016189689A1 (en) | Program generation device, program generation method, and program generation program | |
US20040078180A1 (en) | Method for automatically decomposing dynamic system models into submodels | |
JPH09259153A (en) | Device and method for generating batch execution control program | |
JPH10187789A (en) | Device and method for hardware/software collaborative simulation, and machine-readable recording medium where hardware/software collaboration program is recorded | |
US6263303B1 (en) | Simulator architecture | |
JP2007310449A (en) | Model generation program and model generation method for software/hardware cooperation design | |
CN111176926A (en) | IP (Internet protocol) core simulation system and simulation method based on double-port SRAM (static random Access memory) | |
CN113289342B (en) | Action data processing method and device, storage medium and electronic equipment | |
JP2002140652A (en) | Method and device for simulation and recording medium | |
Gajski et al. | The specc methodology | |
JP6859878B2 (en) | Simulation programs, methods, and equipment | |
US7512732B1 (en) | Method of protocol conversion between synchronous protocols that are suitable for synthesis | |
CN117251118B (en) | Virtual NVMe simulation and integration supporting method and system | |
JP2007018313A (en) | Circuit design program, circuit design device and circuit design method | |
JPH11282693A (en) | Mcu simulation device, its simulation method and computer redable recording medium recording simulation program | |
JP2000057188A (en) | Hardware and software cooperative evaluating device | |
CN112685049B (en) | JAVA byte code compiling method | |
JPH11282514A (en) | Mask information generating device and computer readable storage medium recording mask information generation program | |
KR20230048666A (en) | Workload pipeline specification method for machine learning model development and cloud applying the same | |
Thomas | A model for process representation and synthesis | |
JP3318254B2 (en) | How to decrypt files |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070821 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071022 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071113 |