JP3955129B2 - Interface structure and simulation apparatus for simulation - Google Patents

Interface structure and simulation apparatus for simulation Download PDF

Info

Publication number
JP3955129B2
JP3955129B2 JP15804497A JP15804497A JP3955129B2 JP 3955129 B2 JP3955129 B2 JP 3955129B2 JP 15804497 A JP15804497 A JP 15804497A JP 15804497 A JP15804497 A JP 15804497A JP 3955129 B2 JP3955129 B2 JP 3955129B2
Authority
JP
Japan
Prior art keywords
simulation
event
class
phase
time
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
Application number
JP15804497A
Other languages
Japanese (ja)
Other versions
JPH10333733A (en
Inventor
健二 高岡
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.)
NS Solutions Corp
Original Assignee
NS Solutions Corp
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 NS Solutions Corp filed Critical NS Solutions Corp
Priority to JP15804497A priority Critical patent/JP3955129B2/en
Publication of JPH10333733A publication Critical patent/JPH10333733A/en
Application granted granted Critical
Publication of JP3955129B2 publication Critical patent/JP3955129B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Feedback Control In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、シミュレーションのためのインタフェース構造およびシミュレーション装置に関するものである。
【0002】
【従来の技術】
工場やプラントなどの挙動を模擬するためにシミュレーションが行われることがある。シミュレーションを行うことにより、例えば工場等の稼動効率を予測して、その結果を工程等に反映することで効率の向上を図ることができる。従来、このようなシミュレーションの手法として様々な手法が提案されている。これを大きく分けると、時間的に連続的な挙動を模擬する連続系モデルと、時間的に離散的な挙動を模擬する離散系モデルとがある。連続系モデルは、一定の時間間隔で系の時刻を進めるモデルで系の振舞いをとらえようとするものである。
【0003】
これに対して離散系モデルは、非定期的に発生する事象を中心に見ることによって系の振舞いをとらえようとするものである。この離散系モデルには、例えば、スリーフェーズアプローチ、イベントアプローチ、アクティビティアプローチなど様々なシミュレーション手法が存在し、それらの手法に応じて、上記事象はアクティビティ或いはイベントと呼ばれる。
【0004】
上記スリーフェーズアプローチは、時刻の変化によって起こる時間依存のアクティビティ(Boundary Activity )を実施するフェーズ(以下、Bフェーズと呼ぶ)と、系の状況変化によって起こる系依存のアクティビティ(Conditional Activity)を実施するフェーズ(以下、Cフェーズと呼ぶ)と、系の時刻を進めるフェーズ(以下、Aフェーズと呼ぶ)とを有し、B→C→Aの順に各フェーズを繰り返し実施することにより、離散事象のシミュレーションを実行する。
【0005】
例えば、洗車場で車を洗うという作業を考えた場合、洗車が10分で終わるとすると、「洗車を開始してから10分経ったときに洗車場から車を出す」という事象は系の時刻変化に応じて行うことであるので、Boundary Activity (Bフェーズ)と考えることができる。通常、Bフェーズは、事象リストに対する事象の登録と抽出(実行)とによって行われる。
【0006】
Bフェーズを実行すると、それによって系の状況に変化が生じることがあるので、次にCフェーズを実行する。例えば、「洗車場が空いていれば車を入れる」という事象は系の状況に応じて行うことであるので、Conditional Activity(Cフェーズ)と考えることができる。次に、Aフェーズでは、事象リストに登録されている全事象の中で現時点から一番早く起こる事象まで時刻を進める処理を行う。
【0007】
また、上記イベントアプローチは、時間依存のイベントが多く含まれた系のシミュレーションに有効な手法である。例えば、電車の発着時刻問題を考える場合は、各駅間における電車の走行時間はあらかじめ分かっており、その走行時間のみをトリガーとして系全ての状態が決まるので、イベントアプローチを用いたシミュレーションを行うことが可能である。また、上記アクティビティアプローチは、系の状況に依存したアクティビティを考慮したシミュレーションの手法である。
【0008】
その他、離散系モデルには、プロセスアプローチなどのシミュレーション手法も存在する。
このように、離散系モデルによるシミュレーションの手法として様々な手法が存在するが、これらの手法は、どういう系を扱うかによって最適なものが選択される。例えば、電車の発着時刻のシミュレーションのように状況依存のイベントが少ない系にはイベントアプローチ、状況依存のイベントが多い系にはスリーフェーズアプローチといった具合である。
【0009】
【発明が解決しようとする課題】
しかしながら、従来の離散系モデルのシミュレーション装置は、種々ある手法の中の1つにのみ特化して作られていた。そのため、その特化された手法に詳しい者だけがシミュレーションをする系のモデルの作成あるいは変更等をすることが可能であり、他の手法に詳しくても、シミュレーション装置に特化された手法に詳しくなければシミュレーションを実施することは困難であった。このように、従来のシミュレーション装置は、汎用性に欠けているという問題があった。
【0010】
本発明は、このような問題を解決するために成されたものであり、スリーフェーズアプローチ、イベントアプローチ、アクティビティアプローチ、プロセスアプローチなどの様々な手法でシミュレーションが可能なマルチアプローチ対応のシミュレーション装置およびそのためのインタフェース構造を提供することを目的とする。
【0011】
【課題を解決するための手段】
本発明によるシミュレーションのためのインタフェース構造は、離散事象によるシミュレーションを行うためのインタフェース構造であって、上記離散事象によるシミュレーションを行う際に必要なフェーズのうち、時刻を進めるためのフェーズと、時間依存の事象及び/又は系依存の事象を実行するためのフェーズとの2つのフェーズに抽象化したクラスを有し、該クラスが、離散系モデルの具体的なシミュレーション手法に対応した子クラスとの間で、離散系モデルにおいて必要とされる該クラスの機能及び性質を継承させる機構を持つようにしたことを特徴とする。
【0012】
本発明の他の特徴とするところは、上記2つのフェーズに抽象化したクラスのうち、上記事象を実行するためのフェーズは、オブジェクト指向プログラミングの多相性を用いて実現されることを特徴とする。
【0013】
本発明のシミュレーション装置は、離散事象によるシミュレーションを行うためのシミュレーション装置であって、上記離散事象によるシミュレーションを行う実行部が、時刻を進めるためのフェーズと、時間依存の事象及び/又は系依存の事象を実行するためのフェーズとの2つのフェーズに抽象化したクラスを有し、該クラスが、離散系モデルの具体的なシミュレーション手法に対応した子クラスとの間で、離散系モデルにおいて必要とされる該クラスの機能及び性質を継承させる機構を持つようにしたインタフェース構造を備え、上記実行部において事象を実行し、系の時刻を進める要求を行うことを特徴とする。
【0014】
本発明の他の特徴とするところは、上記2つのフェーズに抽象化したクラスのうち、上記事象を実行するためのフェーズは、オブジェクト指向プログラミングの多相性を用いて実現されることを特徴とする。
【0015】
本発明のその他の特徴とするところは、上記抽象化したクラスとは別に、オブジェクトのロードやセーブ行うクラスを有することを特徴とする。
【0016】
上記のように構成した本発明によれば、今どの事象を実行するかという部分と時刻を進める部分との2つのフェーズに抽象化された抽象クラスの下の階層に属する子クラスにおいて、上記抽象クラスのインタフェースを継承することによってシミュレーションが実施されることとなるが、離散系モデルの多くの手法で上記抽象化された2つのフェーズに当てはまるので、上記抽象クラスのインタフェースの継承によって様々なシミュレーション手法に対応するような構造ができるようになる。
【0017】
【発明の実施の形態】
以下、本発明の一実施形態を図面に基づいて説明する。
図1は本発明の一実施形態であるシミュレーション装置の主要な機能構成を示すブロック図であり、図2はこのシミュレーション装置に用いられるインタフェース構造を示すオブジェクト図である。
【0018】
図1において、1は事象リストであり、シミュレーションを行う際に実施する時間依存の離散事象(アクティビティあるいはイベント)をリストとして登録しておくものである。リスト上における事象の並べられ方は、事象を起こすタイミングの早い順である。なお、以下では、事象の例としてアクティビティを用いて説明する。
【0019】
図1に示すように、本実施形態では、この事象リスト1に登録されるBoundary Activity を、イニシャルアクティビティリスト1aとアクティビティリスト1bとに分けて別々に管理している。これは、例えばある物を幾つかの工程で処理して出力するという系のシミュレーションを考える場合に、系にまだ入っていないものと入っているものとを分けて整理するためである。
【0020】
すなわち、イニシャルアクティビティリスト1aは、シミュレーションをする系の外部から与えられる物に関するアクティビティ(例えば、鉄鋼会社の製鉄所における製鉄処理の場合、スラブを加熱処理して移動テーブルなどで圧延機に運ぶという系に対してスラブが外部から与えられる時間に関するアクティビティ)を登録するものである。また、アクティビティリスト1bは、系で処理される物のあらかじめ予定されている処理時間に関するアクティビティ(例えば上述の例では、ある時刻に加熱処理が終了するというアクティビティ)を登録するものである。
【0021】
このように本実施形態では、時間依存のBoundary Activity を2つのリストに分けて管理することにより、例えば所定時間内にある量だけ処理したいという要求の下にシミュレーションを行った結果、どれくらいの物が未処理で残ってしまったかを知るためには、イニシャルアクティビティリスト1aの内容だけを見れば良く、認識が容易になるという利点を有する。
【0022】
2はベーススケジューラであり、事象管理部2aおよび時刻管理部2bを備え、上記事象リスト1に対するアクティビティの登録と抽出とによってBoundary Activity を実行するとともに、Conditional Activityや系の時刻を進める処理を実行することによって、シミュレーションを実施する。
【0023】
すなわち、上記事象管理部2aは、時間依存のアクティビティ(Boundary Activity )と系依存のアクティビティ(Conditional Activity)との両方を実施する。また、時刻管理部2bは、上記事象リスト1に登録されている全アクティビティの中で一番早く起こるアクティビティまで系の時刻を進める要求を行う。3はシミュレーションにおける時刻を表現するためのクロック部であり、時刻管理部2bからの要求に応じて時刻を進める。なお、本実施形態ではクロック部3はベーススケジューラ2の外部に備えているが、時刻管理部2bと共にベーススケジューラ2の内部に設けることも可能である。
【0024】
4はファイル管理部であり、一連のシミュレーションで使用する複数のオブジェクト(オブジェクト指向プログラミングにおける、自分自身の内部状態を表す1組のデータとそれらを処理する固有のメソッド群とから成るモジュールを言う)のロード、セーブなどを行う。また、シミュレーションのための条件データや、シミュレーションの途中経過で生成される中間データあるいは最終的な処理結果データなどのロード、セーブも行う。
【0025】
図2は、上記のような本実施形態によるシミュレーション装置に用いられるインタフェース構造を示すオブジェクト図であり、オブジェクト指向プログラミングにおけるクラスの階層構造を示している。なお、図2において、図1に示したブロックと同じ機能ブロックには同一の符号を付している。
【0026】
図2に示すように、ベーススケジューラ2を親クラス(クラスは、オブジェクト指向プログラミングにおける同一の機能や性質を持つオブジェクトの型を言う)とし、スリーフェーズスケジューラ21、イベントスケジューラ22、アクティビティスケジューラ23などの様々な手法に対応したスケジューラをその子クラスとして、階層構造が構築されている。
【0027】
そして、本実施形態では、親クラスであるベーススケジューラ2と子クラスである各手法に対応したスケジューラ21〜23との間に継承関係を持たせ、各スケジューラ21〜23は、ベーススケジューラ2が持つ機能や性質を受け継ぐようにしている。また、本実施形態では、ベーススケジューラ2が備える事象管理部2aを仮想関数を用いて構成している。仮想関数は、あるクラスで定義した機能をその子クラスで再定義して、異なる機能に置き換えてしまうための特別な性質を持った関数であり、これはオブジェクト指向プログラミングの多相性を利用したものである。
【0028】
つまり本実施形態では、ベーススケジューラ2で定義した機能をその子クラスであるスケジューラ21〜23で再定義して、スケジューラ21〜23に応じた機能に置き換えるようにしているものである。本実施形態の場合、上記ベーススケジューラ2で定義した機能とは、“時刻を進めるための機能”と、“事象を実行する機能”である。
【0029】
すなわち、“時刻を進めるための機能”は、複数ある事象のうち、最も早く実行すべき事象を選択し、その事象を実行する時刻へ系の時刻を進めるものであり、その事象を実行するのが“事象を実行する機能”である。つまり、従来例で述べた離散系モデルのどのシミュレーション手法も、今どの事象を実行するかという部分と、時刻を進める部分との2つのフェーズに分けることができる。
【0030】
そこで、本実施形態ではこの点に着目し、この2つのフェーズの関数を持つ抽象化したクラスを作り、シミュレーションを行う際に必要な要素のうち、時刻を進める部分を時刻管理部2bにやらせ、その外の事象を実行するための部分を全て事象管理部2aにやらせるようにしている。
【0031】
このとき、ベーススケジューラ2は、仮想関数にて構成したことにより、スケジューラ21〜23に実装されたシミュレーション手法に従った挙動をする。ベーススケジューラ2は、Boundary Activity およびConditional Activityの両方を実施する機能を有しているので、ベーススケジューラ2の機能を継承するスケジューラを離散系モデルの多くのシミュレーション手法に基づいて実装しても、適切にシミュレーションを行うことができる。
【0032】
つまり、本実施形態のシミュレーション装置は上記のようなインタフェース構造を持つことにより、スリーフェーズスケジューラ21として実装したときは、事象管理部2aは、Boundary Activity およびConditional Activityの両方を実施するように機能する。また、イベントスケジューラ22として実装したときは、Boundary Activity のみを実施するように機能し、アクティビティスケジューラ23として実装したときは、Conditional Activityのみを実施するように機能する。
【0033】
このように、本実施形態のシミュレーション装置によれば、仮想関数であるベーススケジューラ2において今どの事象を実行するかという部分と時刻を制御する部分との2つのフェーズに抽象化した抽象クラスのインタフェースを各スケジューラが継承することによって、様々なアプローチに対応するような構造ができる。すなわち、スリーフェーズアプローチ、イベントアプローチ、アクティビティアプローチ、プロセスアプローチなどの何れの離散事象シミュレーション手法にも対応することができる。
【0034】
さらに、今後今までにない全く新しい離散事象シミュレーションの手法が考えだされた場合にも、その手法が上述のように抽象化されたクラスの枠組みに入るものであれば、その手法にも対応することができる。このように、本実施形態のシミュレーション装置は、将来的に案出される新しい手法にも対応することができるという柔軟性を持つメリットがある。
【0035】
なお、図2から明らかなように、本実施形態では、ファイルアクセスをするクラスを1つにまとめてファイル管理部4で管理しており、ベーススケジューラ2のクラスではファイルアクセスを行わないようにしている。このようにすることにより、ファイルアクセスの手法によってベーススケジューラ2の構造が変わってしまうことを防いでいる。また、ファイル管理部4は一般的なデータベースでも同様に用いることができる。
【0036】
ファイルアクセスによってベーススケジューラ2の構造が変わらないので、その子クラスであるスケジューラ21〜23では、ベーススケジューラ2の同じ機能や性質を継承することができる。よって、ファイルアクセスの如何によらず、上記のようにベーススケジューラ2で抽象化した2つのフェーズを有するどんなシミュレーション手法もスケジューラ21〜23で実装することが可能となる。
【0037】
【発明の効果】
本発明は上述したように、離散系モデルの多くのシミュレーション手法が備えている、時刻を進めるためのフェーズと事象を実行するためのフェーズとの2つのフェーズに抽象化したクラスを作り、その抽象クラスがその子クラスとの間で継承機構を持つように構成したので、上記抽象クラスのインタフェースをその子クラスが継承することによって様々な手法に対応したシミュレーションを行うことができる。これにより、様々な手法でシミュレーションが可能なマルチアプローチ対応のシミュレーション装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態であるシミュレーション装置の主要な機能構成を示すブロック図である。
【図2】本実施形態によるシミュレーション装置に用いられるインタフェース構造を示すオブジェクト図である。
【符号の説明】
1 事象リスト
1a イニシャルアクティビティリスト
1b アクティビティリスト
2 ベーススケジューラ
2a 事象管理部
2b 時刻管理部
3 クロック部
4 ファイル管理部
21 スリーフェーズスケジューラ
22 イベントスケジューラ
23 アクティビティスケジューラ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an interface structure for simulation and a simulation apparatus.
[0002]
[Prior art]
A simulation may be performed to simulate the behavior of a factory or plant. By performing the simulation, for example, the operational efficiency of a factory or the like can be predicted, and the result can be reflected in the process or the like to improve the efficiency. Conventionally, various methods have been proposed as such a simulation method. This can be broadly divided into a continuous system model that simulates temporally continuous behavior and a discrete system model that simulates temporally discrete behavior. The continuous system model is a model that advances the time of a system at a constant time interval and tries to capture the behavior of the system.
[0003]
On the other hand, the discrete system model tries to capture the behavior of the system by looking mainly at events that occur irregularly. In this discrete system model, there are various simulation methods such as a three-phase approach, an event approach, and an activity approach, and the above phenomenon is called an activity or an event depending on these methods.
[0004]
In the above three-phase approach, a phase (hereinafter referred to as the B phase) for performing a time-dependent activity (Boundary Activity) that occurs due to a change in time and a system-dependent activity (Conditional Activity) that occurs due to a change in system status are performed. It has a phase (hereinafter referred to as C phase) and a phase for advancing the system time (hereinafter referred to as A phase). By repeating each phase in the order of B → C → A, a discrete event simulation is performed. Execute.
[0005]
For example, when considering the task of washing a car at the car wash, if the car wash ends in 10 minutes, the event “take out the car from the car wash after 10 minutes from the start of car wash” Since it is performed according to a change, it can be considered as Boundary Activity (B phase). Normally, the B phase is performed by registering and extracting (executing) events from the event list.
[0006]
When the B phase is executed, the system status may change accordingly, so the C phase is executed next. For example, since the event of “entering a car if the car washes are free” is performed according to the situation of the system, it can be considered as Conditional Activity (C phase). Next, in the A phase, processing for advancing the time to the event that occurs earliest from the present time among all the events registered in the event list is performed.
[0007]
The event approach is an effective technique for simulating a system including many time-dependent events. For example, when considering the train arrival / departure time problem, the train travel time between stations is known in advance, and the state of the entire system is determined using only the travel time as a trigger. Is possible. The activity approach is a simulation method that takes into account activities depending on the system status.
[0008]
In addition, there are simulation methods such as a process approach in the discrete system model.
As described above, there are various methods as a simulation method based on the discrete system model, and an optimum one is selected depending on what kind of system is handled. For example, an event approach is used for a system with few situation-dependent events, such as a simulation of train arrival and departure times, and a three-phase approach is used for a system with many situation-dependent events.
[0009]
[Problems to be solved by the invention]
However, a conventional discrete system model simulation apparatus has been made exclusively for one of various methods. Therefore, only those who are familiar with the specialized method can create or change the model of the system to be simulated. Even if it is familiar with other methods, it is familiar with the method specialized for the simulation device. Without it, it was difficult to carry out the simulation. Thus, the conventional simulation apparatus has a problem that it lacks versatility.
[0010]
The present invention has been made to solve such problems, and a multi-appropriate simulation apparatus capable of performing simulations by various methods such as a three-phase approach, an event approach, an activity approach, and a process approach, and therefore The purpose is to provide an interface structure.
[0011]
[Means for Solving the Problems]
The interface structure for simulation according to the present invention is an interface structure for performing simulation by discrete events, and among phases necessary for performing simulation by discrete events, a phase for advancing time, and time dependence Class and / or a phase for executing a system-dependent event, and a class abstracted in two phases, and the class is between a child class corresponding to a specific simulation method of a discrete system model Thus, a mechanism for inheriting the functions and properties of the class required in the discrete system model is provided.
[0012]
Another feature of the present invention is that, among the classes abstracted into the two phases, the phase for executing the event is realized by using polymorphism of object-oriented programming. .
[0013]
A simulation apparatus according to the present invention is a simulation apparatus for performing a simulation by a discrete event, and an execution unit for performing the simulation by a discrete event has a phase for advancing time, a time-dependent event and / or a system-dependent There is a class abstracted in two phases, a phase for executing an event, and this class is necessary in the discrete system model with a child class corresponding to a specific simulation method of the discrete system model. An interface structure having a mechanism for inheriting the functions and properties of the class, and executing the event in the execution unit to make a request to advance the time of the system .
[0014]
Another feature of the present invention is that, among the classes abstracted into the two phases, the phase for executing the event is realized by using polymorphism of object-oriented programming. .
[0015]
Another feature of the present invention is that it has a class for loading and saving objects separately from the abstract class.
[0016]
According to the present invention configured as described above, in the child class that belongs to the hierarchy below the abstract class that is abstracted into two phases of the part that determines which event is to be executed and the part that advances the time, the abstract The simulation is performed by inheriting the interface of the class, but since it applies to the two phases abstracted by many methods of the discrete system model, various simulation methods can be performed by inheriting the interface of the abstract class. A structure corresponding to can be made.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a main functional configuration of a simulation apparatus according to an embodiment of the present invention, and FIG. 2 is an object diagram showing an interface structure used in the simulation apparatus.
[0018]
In FIG. 1, reference numeral 1 denotes an event list, in which time-dependent discrete events (activities or events) to be performed when a simulation is performed are registered as a list. The way events are arranged on the list is in the order of the timing at which the events occur. In the following description, an activity is used as an example of an event.
[0019]
As shown in FIG. 1, in this embodiment, the Boundary Activity registered in the event list 1 is managed separately by dividing it into an initial activity list 1a and an activity list 1b. This is because, for example, when considering a simulation of a system in which a certain object is processed and output in several steps, the one that has not yet entered the system is separated from the one that has entered the system.
[0020]
That is, the initial activity list 1a is an activity related to an object given from the outside of the system to be simulated (for example, in the case of iron making processing at a steel company of a steel company, the slab is heated and transferred to a rolling mill by a moving table or the like. Activity related to the time when the slab is given from the outside). The activity list 1b is for registering an activity related to a scheduled processing time of an object to be processed in the system (for example, in the above-described example, an activity in which the heating process ends at a certain time).
[0021]
As described above, in this embodiment, the time-dependent boundary activity is divided into two lists and managed, for example, as a result of performing a simulation under a request to process a certain amount within a predetermined time, how many items are present. In order to know whether it has been left unprocessed, it is only necessary to look at the contents of the initial activity list 1a, which has the advantage of facilitating recognition.
[0022]
Reference numeral 2 denotes a base scheduler, which includes an event management unit 2a and a time management unit 2b, and executes a Boundary Activity by registering and extracting an activity with respect to the event list 1, and executes a process for advancing Conditional Activity and system time. The simulation is carried out.
[0023]
That is, the event management unit 2a performs both a time-dependent activity (Boundary Activity) and a system-dependent activity (Conditional Activity). Further, the time management unit 2b makes a request to advance the system time to the activity that occurs earliest among all the activities registered in the event list 1. Reference numeral 3 denotes a clock unit for expressing the time in the simulation, and advances the time in response to a request from the time management unit 2b. In the present embodiment, the clock unit 3 is provided outside the base scheduler 2, but can be provided inside the base scheduler 2 together with the time management unit 2b.
[0024]
Reference numeral 4 denotes a file management unit, which is a plurality of objects used in a series of simulations (refers to a module consisting of a set of data representing its own internal state and a unique method group for processing them in object-oriented programming). Load, save, etc. Also, loading and saving of condition data for simulation, intermediate data generated in the middle of the simulation, or final processing result data is performed.
[0025]
FIG. 2 is an object diagram showing an interface structure used in the simulation apparatus according to the present embodiment as described above, and shows a hierarchical structure of classes in object-oriented programming. In FIG. 2, the same functional blocks as those shown in FIG.
[0026]
As shown in FIG. 2, the base scheduler 2 is a parent class (a class refers to an object type having the same functions and properties in object-oriented programming), and a three-phase scheduler 21, an event scheduler 22, an activity scheduler 23, etc. A hierarchical structure is constructed with a scheduler corresponding to various methods as its child class.
[0027]
In this embodiment, the base scheduler 2 that is the parent class and the schedulers 21 to 23 corresponding to the respective methods that are the child classes have an inheritance relationship, and each of the schedulers 21 to 23 has the base scheduler 2. It inherits its functions and properties. Moreover, in this embodiment, the event management part 2a with which the base scheduler 2 is provided is comprised using the virtual function. A virtual function is a function that has the special property of redefining a function defined in a class with its child class and replacing it with a different function. This function uses the polymorphism of object-oriented programming. is there.
[0028]
That is, in this embodiment, the function defined by the base scheduler 2 is redefined by the schedulers 21 to 23 that are its child classes and replaced with functions corresponding to the schedulers 21 to 23. In the present embodiment, the functions defined by the base scheduler 2 are “a function for advancing time” and “a function for executing an event”.
[0029]
In other words, the “function for advancing time” selects an event to be executed earliest from a plurality of events, advances the time of the system to the time to execute the event, and executes that event. Is the “function to execute events”. In other words, any of the simulation methods of the discrete system model described in the conventional example can be divided into two phases: a part of which event is executed now and a part of advancing time.
[0030]
Therefore, in this embodiment, paying attention to this point, an abstract class having functions of these two phases is created, and among the elements necessary for the simulation, the time management unit 2b is made to advance the time part, All the parts for executing other events are made to be performed by the event management unit 2a.
[0031]
At this time, the base scheduler 2 behaves according to the simulation method implemented in the schedulers 21 to 23 by being configured with virtual functions. Since the base scheduler 2 has a function to execute both the Boundary Activity and the Conditional Activity, even if the scheduler that inherits the function of the base scheduler 2 is implemented based on many simulation methods of the discrete system model, it is appropriate. A simulation can be performed.
[0032]
That is, the simulation apparatus of the present embodiment has the interface structure as described above, so that when implemented as the three-phase scheduler 21, the event management unit 2a functions to execute both the Boundary Activity and Conditional Activity. . Further, when implemented as the event scheduler 22, it functions to perform only the Boundary Activity, and when implemented as the activity scheduler 23, it functions to perform only the Conditional Activity.
[0033]
As described above, according to the simulation apparatus of the present embodiment, the abstract class interface abstracted into two phases, that is, the part of which event is currently executed in the base scheduler 2 which is a virtual function and the part of controlling the time. As each scheduler inherits, a structure corresponding to various approaches can be made. That is, any discrete event simulation method such as a three-phase approach, an event approach, an activity approach, or a process approach can be supported.
[0034]
Furthermore, even if a completely new method for discrete event simulation is devised in the future, if the method falls within the framework of the abstracted class as described above, that method is also supported. be able to. As described above, the simulation apparatus according to the present embodiment has an advantage that it can cope with a new method devised in the future.
[0035]
As is clear from FIG. 2, in this embodiment, the file access unit 4 manages the classes to be accessed as a single file, and the base scheduler 2 class does not perform file access. Yes. By doing so, the structure of the base scheduler 2 is prevented from being changed by the file access method. The file management unit 4 can also be used in a general database.
[0036]
Since the structure of the base scheduler 2 is not changed by file access, the schedulers 21 to 23 which are child classes thereof can inherit the same functions and properties of the base scheduler 2. Therefore, any simulation method having two phases abstracted by the base scheduler 2 as described above can be implemented by the schedulers 21 to 23 regardless of file access.
[0037]
【The invention's effect】
As described above, the present invention creates a class abstracted into two phases, a phase for advancing time and a phase for executing an event, which are included in many simulation methods of discrete system models, and the abstraction thereof. Since the class is configured to have an inheritance mechanism with its child class, simulation corresponding to various methods can be performed by the child class inheriting the interface of the abstract class. Accordingly, it is possible to provide a multi-approach-compatible simulation apparatus that can perform simulations by various methods.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a main functional configuration of a simulation apparatus according to an embodiment of the present invention.
FIG. 2 is an object diagram showing an interface structure used in the simulation apparatus according to the present embodiment.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 Event list 1a Initial activity list 1b Activity list 2 Base scheduler 2a Event management part 2b Time management part 3 Clock part 4 File management part 21 Three phase scheduler 22 Event scheduler 23 Activity scheduler

Claims (5)

離散事象によるシミュレーションを行うためのインタフェース構造であって、
上記離散事象によるシミュレーションを行う際に必要なフェーズのうち、時刻を進めるためのフェーズと、時間依存の事象及び/又は系依存の事象を実行するためのフェーズとの2つのフェーズに抽象化したクラスを有し、該クラスが、離散系モデルの具体的なシミュレーション手法に対応した子クラスとの間で、離散系モデルにおいて必要とされる該クラスの機能及び性質を継承させる機構を持つようにしたことを特徴とするシミュレーションのためのインタフェース構造。
An interface structure for performing simulation by discrete events,
Of the phases necessary for the simulation by the discrete event, the class is abstracted into two phases: a phase for advancing time and a phase for executing a time-dependent event and / or a system-dependent event The class has a mechanism for inheriting the functions and properties of the class required in the discrete system model with a child class corresponding to a specific simulation method of the discrete system model . An interface structure for simulation characterized by this.
上記2つのフェーズに抽象化したクラスのうち、上記事象を実行するためのフェーズは、オブジェクト指向プログラミングの多相性を用いて実現されることを特徴とする請求項1に記載のシミュレーションのためのインタフェース構造。  The interface for simulation according to claim 1, wherein, among the classes abstracted into the two phases, the phase for executing the event is realized by using polymorphism of object-oriented programming. Construction. 離散事象によるシミュレーションを行うためのシミュレーション装置であって、
上記離散事象によるシミュレーションを行う実行部が、時刻を進めるためのフェーズと、時間依存の事象及び/又は系依存の事象を実行するためのフェーズとの2つのフェーズに抽象化したクラスを有し、該クラスが、離散系モデルの具体的なシミュレーション手法に対応した子クラスとの間で、離散系モデルにおいて必要とされる該クラスの機能及び性質を継承させる機構を持つようにしたインタフェース構造を備え
上記実行部において事象を実行し、系の時刻を進める要求を行うことを特徴とするシミュレーション装置。
A simulation device for performing simulation by discrete events,
The execution unit that performs the simulation by the discrete event has a class abstracted into two phases, a phase for advancing time and a phase for executing a time-dependent event and / or a system-dependent event, Provided with an interface structure in which the class has a mechanism for inheriting functions and properties of the class required in the discrete system model with a child class corresponding to a specific simulation method of the discrete system model ,
A simulation apparatus characterized in that an event is executed in the execution unit and a request is made to advance the system time .
上記2つのフェーズに抽象化したクラスのうち、上記事象を実行するためのフェーズは、オブジェクト指向プログラミングの多相性を用いて実現されることを特徴とする請求項3に記載のシミュレーション装置。  4. The simulation apparatus according to claim 3, wherein, among the classes abstracted into the two phases, the phase for executing the event is realized by using polymorphism of object-oriented programming. 上記抽象化したクラスとは別に、オブジェクトのロードやセーブ行うクラスを有することを特徴とする請求項4に記載のシミュレーション装置。  5. The simulation apparatus according to claim 4, further comprising a class for loading and saving an object separately from the abstracted class.
JP15804497A 1997-05-30 1997-05-30 Interface structure and simulation apparatus for simulation Expired - Fee Related JP3955129B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15804497A JP3955129B2 (en) 1997-05-30 1997-05-30 Interface structure and simulation apparatus for simulation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15804497A JP3955129B2 (en) 1997-05-30 1997-05-30 Interface structure and simulation apparatus for simulation

Publications (2)

Publication Number Publication Date
JPH10333733A JPH10333733A (en) 1998-12-18
JP3955129B2 true JP3955129B2 (en) 2007-08-08

Family

ID=15663072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15804497A Expired - Fee Related JP3955129B2 (en) 1997-05-30 1997-05-30 Interface structure and simulation apparatus for simulation

Country Status (1)

Country Link
JP (1) JP3955129B2 (en)

Also Published As

Publication number Publication date
JPH10333733A (en) 1998-12-18

Similar Documents

Publication Publication Date Title
CN112433819A (en) Heterogeneous cluster scheduling simulation method and device, computer equipment and storage medium
Baldassari et al. PROTOB: An object oriented methodology for developing discrete event dynamic systems
Zimmermann et al. Modelling and evaluation of manufacturing systems using dedicated Petri nets
CN108320104B (en) Method for realizing protection fixed value on-line verification function obtaining model based on RelayCAC relay protection setting software
Sanden An entity-life modeling approach to the design of concurrent software
Jeong Conceptual frame for development of optimized simulation-based scheduling systems
KR101295673B1 (en) Method and data processing system for simulating an embedded system
Khlifi et al. GR-TNCES: New extensions of R-TNCES for modelling and verification of flexible systems under energy and memory constraints
CN113656888A (en) Automatic modeling method, device and equipment for opening and closing piece and storage medium
Yalcin et al. An object-oriented simulation framework for real-time control of automated flexible manufacturing systems
JP3955129B2 (en) Interface structure and simulation apparatus for simulation
CN204904584U (en) Cross walk traffic light control system based on PLC
Yim et al. A Petri net-based simulation tool for the design and analysis of flexible manufacturing systems
JP3916727B2 (en) Simulation apparatus and method, computer-readable recording medium
CN105227648A (en) A kind of subway comprehensive monitoring system time sequence triggering method based on time bucket
Gonzalez et al. A simulation-based controller for distributed discrete-event systems with application to flexible manufacturing
Gomaa Software design methods for the design of large-scale real-time systems
JP5229223B2 (en) Workflow definition change program and workflow definition change method
Lee et al. A modular Petri Net based architecture to model manufacturing systems exhibiting resource and timing uncertainties
Azzopardi et al. Petri nets and mot for modelling and analysis of deds
Parkhomenko Complex requirements analysis for the high-level design of Embedded Systems
Babic Digital twins in smart manufacturing
Igawa et al. A design support method for automation system configuration using model-based simulation
Lee et al. Performance evaluation of concurrent system using formal model: Simulation speedup
JPH07296067A (en) Physical distribution predicting method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070501

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees