JPWO2008126196A1 - シミュレーション制御プログラム、記録媒体、シミュレーション装置およびシミュレーション制御方法 - Google Patents

シミュレーション制御プログラム、記録媒体、シミュレーション装置およびシミュレーション制御方法 Download PDF

Info

Publication number
JPWO2008126196A1
JPWO2008126196A1 JP2009508747A JP2009508747A JPWO2008126196A1 JP WO2008126196 A1 JPWO2008126196 A1 JP WO2008126196A1 JP 2009508747 A JP2009508747 A JP 2009508747A JP 2009508747 A JP2009508747 A JP 2009508747A JP WO2008126196 A1 JPWO2008126196 A1 JP WO2008126196A1
Authority
JP
Japan
Prior art keywords
simulation
result
executed
procedure
simulations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009508747A
Other languages
English (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2008126196A1 publication Critical patent/JPWO2008126196A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Abstract

シミュレーション装置(10)は、タイムステップ間隔がそれぞれ異なる複数のシミュレーションを並行して実行する。具体的には、シミュレーション装置(10)は、ユーザによって入力されたタイムステップの異なる複数の実行オブジェクトに基づいて、それぞれのシミュレーション結果を計算する。そして、シミュレーション装置(10)は、実行された複数のシミュレーション結果を共有テーブル(15a)に格納し、可視化装置(20)に出力する。具体的には、シミュレーション装置(10)は、実行されたシミュレーションデータよりも精度が高いシミュレーションデータが共有テーブル(15a)内にあるか判定し、実行されたシミュレーションデータの方が高精度な場合には、共有テーブル(15a)にシミュレーションデータを書き込んで可視化装置(20)に出力する。

Description

この発明は、タイムステップ間隔でシミュレーションを実行し、ステップ毎に実行されるデータを出力するシミュレーション制御プログラム、記録媒体、シミュレーション装置およびシミュレーション制御方法に関する。
従来より、災害や防災に関するシミュレーション方法として、所定のタイムステップ間隔でシミュレーションを行い、ステップ毎に出力されるデータをリアルタイムで表示する方法が用いられている。例えば、10秒後の状況をシミュレーションする場合に、タイムステップ間隔を0.01秒とすると1000ステップのシミュレーションが行われる。このとき、各タイムステップごとにシミュレーション結果のデータを出力するとともに、前のタイムステップのシミュレーション結果を基に新たにシミュレーションが行われる。また、各タイムステップ毎にシミュレーションにかかる処理時間は、タイムステップ間隔によらず同じである。
したがって、タイムステップ間隔を小さい値に設定すると高精度なシミュレーション結果が得られるが、計算ステップ数が増大するため処理時間が増大してしまう。逆にタイムステップ間隔を大きい値に設定すると、高速なシミュレーションが可能となり、速報性を上げることができるが、精度が低いシミュレーション結果しか得られない。
なお、シミュレーション結果の精度と処理時間が相反するシミュレーション技術に関して、精度を上げつつ処理時間を短くする工夫が提案されている。例えば、低精度のシミュレーションモデルと高精度のシミュレーションモデルを用意しておき、シミュレーションを行う領域を空間的に区分して、領域ごとに必要な精度でシミュレーションを行う手法が提案されている(特許文献1)。また、災害や防災に関するシミュレーション方法として、災害に関する一次情報を基に低精度のシミュレーションを行い、その結果を基に領域を選択し、災害に関する二次情報を基に高精度のシミュレーションを行う手法が提案されている(特許文献2)。
特開2002−259888号公報 特開平11−143350号公報
しかしながら、上記先行技術文献に挙げた手法は、所定のタイムステップ間隔でシミュレーションを行う手法ではなく、また、単に低精度で一次シミュレーション結果を行い、その結果を基に領域等を限定して高精度の二次シミュレーションを行うことが提案されているにすぎない。したがって、従来技術では、所定のタイムステップ間隔でシミュレーションを実行し、ステップ毎に実行されるデータを出力するシミュレーション方法に関して、精度の向上と速報性の向上を両立させるのに適した方法は提案されていなかった。
そこで、この発明は、所定のタイムステップ間隔でシミュレーションを実行し、ステップ毎に実行されるデータを出力するシミュレーション方法に関して、高精度と速報性の向上を両立させるのに適したシミュレーションを行うことを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、所定のタイムステップ間隔でシミュレーションを実行し、ステップ毎に実行されるシミュレーションの結果を出力する方法をコンピュータに実行させるシミュレーション制御プログラムであって、前記タイムステップ間隔がそれぞれ異なる複数のシミュレーションを並行して実行するシミュレーション実行手順と、前記シミュレーション実行手順によって実行された前記複数のシミュレーションの結果を出力する結果出力手順と、をコンピュータに実行させることを特徴とする。
また、本発明は、前記出力手順は、シミュレーション実行手順によって実行された前記複数のシミュレーションの結果を共有の出力部に出力することを特徴とする。
また、本発明は、前記出力手順は、シミュレーション実行手順によって実行された前記シミュレーションの結果よりも精度の高い他のシミュレーション結果がある場合には、当該他のシミュレーションの結果に更新して出力することを特徴とする。
また、本発明は、所定の条件に応じて、前記各シミュレーションに前記プロセッサを割当てる割当手順をさらに備え、前記シミュレーション実行手順は、前記割当手順によって割当てられたプロセッサを用いて、それぞれのシミュレーションを並行して実行することを特徴とする。
また、本発明は、前記実行手順によってシミュレーションの実行が終了した場合には、当該終了したシミュレーションに割り当てられていたプロセッサを他のシミュレーションに割り当てる再割当手順をさらに備え、前記シミュレーション実行手順は、前記再割当手順によって割当てられたプロセッサを用いて、前記他のシミュレーションを実行することを特徴とする。
また、本発明は、前記実行手順によって実行された前記複数のシミュレーションの結果をリンク構造を有する所定の格納部に格納する格納手順をさらに備えることを特徴とする。
また、本発明は、所定のタイムステップ間隔でシミュレーションを実行し、ステップ毎に実行されるシミュレーションの結果を出力するシミュレーション制御プログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記タイムステップ間隔がそれぞれ異なる複数のシミュレーションを並行して実行するシミュレーション実行手順と、前記シミュレーション実行手順によって実行された前記複数のシミュレーションの結果を出力する結果出力手順と、を実行させるためのシミュレーション制御プログラムを記録したことを特徴とする。
また、本発明は、所定のタイムステップ間隔でシミュレーションを実行し、ステップ毎に実行されるシミュレーションの結果を出力するシミュレーション装置であって、前記タイムステップ間隔がそれぞれ異なる複数のシミュレーションを並行して実行するシミュレーション実行手段と、前記シミュレーション実行手段によって実行された前記複数のシミュレーションの結果を出力する結果出力手段と、を備えることを特徴とする。
また、本発明は、所定のタイムステップ間隔でシミュレーションを実行し、ステップ毎に実行されるシミュレーションの結果を出力するシミュレーション方法であって、前記タイムステップ間隔がそれぞれ異なる複数のシミュレーションを並行して実行するシミュレーション実行工程と、前記シミュレーション実行工程によって実行された前記複数のシミュレーションの結果を出力する結果出力工程と、を含んだことを特徴とする。
本発明によれば、タイムステップ間隔がそれぞれ異なる複数のシミュレーションを並行して実行し、実行された複数のシミュレーションの結果を出力するので、タイムステップ間隔を大きいシミュレーション結果が早期に得るとともに、順次精度のよいシミュレーション結果も得られる結果、高精度かつ高速なシミュレーションを行うことが可能である。
また、本発明によれば、実行された前記複数のシミュレーションの結果を共有の出力部に出力するので、出力部を一つに集約してシミュレーション数分のディスクや可視化装置を必要としない結果、資源を節約することが可能である。
また、本発明によれば、実行されたシミュレーションの結果よりも精度の高い他のシミュレーション結果がある場合には、他のシミュレーションの結果に更新して出力するので、精度の異なる多数の結果を精度の高い結果に順次更新する結果、最も精度の高いものにアップデートしてユーザに知らせることが可能である。
また、本発明によれば、所定の条件に応じて、各シミュレーションにプロセッサを割当て、割当てられたプロセッサを用いて、それぞれのシミュレーションを並行して実行するので、例えば、速度優先のパラメータの場合には、タイムステップ間隔の大きいシミュレーション(高速)にプロセッサを多く割り当て、タイムステップ間隔の小さいシミュレーション(低速)にプロセッサを少なく割り当てる。また、精度優先のパラメータの場合には、タイムステップ間隔の小さいシミュレーション(高精度)にプロセッサを多く割り当て、タイムステップ間隔の大きいシミュレーション(低精度)にプロセッサを少なく割り当てる結果、ユーザの要求に応じて、各シミュレーションに使用するプロセッサ数を自動で決定することが可能である。
また、本発明によれば、シミュレーションの実行が終了した場合には、終了したシミュレーションに割り当てられていたプロセッサを他のシミュレーションに割り当て、割当てられたプロセッサを用いて、他のシミュレーションを実行するので、早期に終了してしまったシミュレーションを実行していたプロセッサを遊休させないで、他のシミュレーションに再び割り当てる、プロセッサの再活用を行うことが可能である。
また、本発明によれば、実行された前記複数のシミュレーションの結果をリンク構造を有する所定の格納部に格納するので、例えば、混在したデータをシミュレーションの経過時間にソートした構造を持つ1つのデータに集約する結果、ユーザがデータのトップから参照すれば時系列のシミュレーション結果を参照することが可能である。
図1は、実施例1に係るシミュレーション装置の概要および特徴を説明するための図である。 図2は、実施例1に係るシミュレーション装置の構成を示すブロック図である。 図3は、実行オブジェクトについて説明するための図である。 図4は、共有テーブルについて説明するための図である。 図5は、プロセッサを再度割り当てる処理を説明するための図である。 図6は、共有テーブル構築部による共有テーブルの修正、更新を説明する図である。 図7は、共有テーブル構築部による共有テーブルの修正、更新を説明する図である。 図8は、共有テーブルを構築する処理を説明するための図である。 図9は、実施例1に係るシミュレーション装置の処理動作を示すフローチャートである。 図10は、シミュレーション制御プログラムを実行するコンピュータを示す図である。
符号の説明
10 シミュレーション装置
11 入力部
12 出力部
13 計算装置制御I/F
14 制御部
14a シミュレーション起動部
14b プロセッサ選択部
14c シミュレーション経過受信部
14d プロセッサ再配置部
14e 共有テーブル構築部
15 記憶部
15a 共有テーブル
16a〜16c 計算部
20 可視化装置
以下に添付図面を参照して、この発明に係るシミュレーション装置の実施例を詳細に説明する。
以下の実施例では、実施例1に係るシミュレーション装置の概要および特徴、シミュレーション装置の構成および処理の流れを順に説明し、最後に実施例1による効果を説明する。
[実施例1に係るシミュレーション装置の概要および特徴]
まず最初に、図1を用いて、実施例1に係るシミュレーション装置の概要および特徴を説明する。図1は、実施例1に係るシミュレーション装置の概要および特徴を説明するための図である。
実施例1のシミュレーション装置10では、所定のタイムステップ間隔でシミュレーションを行い、ステップ毎に出力されるデータを出力することを概要とする。そして、高精度かつ高速なシミュレーションを行う点に主たる特徴がある。
この主たる特徴について具体的に説明すると、実施例1に係るシミュレーション装置10は、図1に示すように、複数のシミュレーション結果を格納する共有テーブル15aを備える。
このような構成のもと、シミュレーション装置10は、タイムステップ間隔がそれぞれ異なる複数のシミュレーションを並行して実行する。具体的には、シミュレーション装置10は、ユーザによって入力されたタイムステップの異なる複数の実行オブジェクトに基づいて、それぞれのシミュレーション結果を計算する。図1の例を用いて説明すると、シミュレーション装置10は、タイムステップ間隔「Δt=0.01」で計算されるシミュレーション(つまり、低速かつ高精度)と、タイムステップ間隔「Δt=0.1」で計算されるシミュレーション(つまり、高速かつ低精度)とを並行して実行する。なお、タイムステップ間隔の単位は「時間」を単位とするものであれば任意であるが、本実施例の説明では便宜上「秒」を単位として表している。したがって「Δt=0.01」はタイムステップ間隔0.01秒を表す。
そして、シミュレーション装置10は、実行された複数のシミュレーション結果を共有テーブル15aに格納し、可視化装置20に出力する。具体的には、シミュレーション装置10は、実行されたシミュレーションデータよりも精度が高いシミュレーションデータが共有テーブル15a内にあるか判定し、実行されたシミュレーションデータの方が高精度な場合には、共有テーブル15aにシミュレーションデータを書き込んで可視化装置20に出力する。
つまり、シミュレーション装置10は、タイムステップ間隔の大きいシミュレーション結果を早期に可視化装置20出力して、災害等に即座に対策を講じることが可能なようにし、その後、順次精度のよいシミュレーション結果に更新する。
このように、シミュレーション装置10は、タイムステップ間隔が大きいシミュレーション結果を早期に得るとともに、順次精度のよいシミュレーション結果も得られる結果、上記した主たる特徴のごとく、高精度かつ高速なシミュレーションを行うことが可能である。
[シミュレーション装置の構成]
次に、図2〜図6を用いて、図1に示したシミュレーション装置10の構成を説明する。図2は、実施例1に係るシミュレーション装置の構成を示すブロック図であり、図3は、実行オブジェクトについて説明するための図であり、図4は、共有テーブルについて説明するための図であり、図5は、プロセッサを再度割り当てる処理を説明するための図であり、図6および図7は、共有テーブル構築部による共有テーブルの修正、更新を説明する図であり、図8は、共有テーブルを構築する処理を説明するための図である。
図2に示すように、このシミュレーション装置10は、入力部11、出力部12、計算装置制御I/F13、制御部14、記憶部15および複数の計算部16a〜16cを備え、出力部12を介して可視化装置20と接続される。以下にこれらの各部の処理を説明する。なお、複数の計算部16a〜16cは、シミュレーション装置10とは別装置である計算装置であってもよい。
入力部11は、各実行オブジェクトに対して異なるタイムステップ間隔の指示、各実行オブジェクトで使用するプロセッサ数の指示、「速度優先」または「精度優先」の指示、シミュレーション開始指示などが入力されるものであり、入力装置としてキーボードやマウス、マイクなどが接続される構成となっている。
例えば、入力部11は、図3の例では、各実行オブジェクトに対して異なるタイムステップ間隔Δtとして「Δt=0.001」、「Δt=0.005」、・・・「Δt=0.1」を入力する。なお、タイムステップ間隔、プロセッサ数等のパラメータの指示は、予め所定のパラメータ値を記憶しているパラメータテーブルを用意しておき(図2では不図示)、通常のGUI(Graphical User Interface)を用いてモニタ上で選択する形で指定する等の方法を用いることができる。
出力部12は、共有テーブルに格納された可視化データを可視化装置20に出力するものである。可視化装置20は、モニタ(若しくはディスプレイ、タッチパネル)やスピーカを備えて構成される。可視化装置20は出力部12から出力されたシミュレーション結果の数値等の可視化データをモニタ等に表示するだけでなく、出力された可視化データを基に利用者が理解しやすいようにグラフ化、画像化(出力値による色の変更、形の変更等)する機能等を持つことができる。
計算装置制御I/F13は、複数の計算部16a〜16cとの間でやり取りする各種情報に関する通信を制御する。具体的には、計算装置制御I/F13は、プロセッサによって実現される各計算部16a〜16c(以下で、プロセッサという場合あり)にシミュレートする実行オブジェクトを送信し、また、各計算部16a〜16cからシミュレーションの結果を受信する。
計算部16a〜16cは、プロセッサにより実現されるものであって、それぞれに実行オブジェクトが生成され、タイムステップ間隔がそれぞれ異なる複数のシミュレーションを並行して実行する。具体的には、計算部16a〜計算部16cは、後述するシミュレーション起動部14aから起動指示を受信して起動し、プロセッサ選択部14bによって異なるタイムステップ間隔のシミュレーションがそれぞれ割り当てられた後、シミュレーションを実行する。
そして、計算部16a〜16cは、各タイムステップごとのシミュレーション結果をシミュレーション経過受信部14cに送信する。なお、各計算部のプロセッサ数は一つとは限らず、複数のプロセッサで同じタイムステップ間隔のシミュレーションを行うことができ、先に述べたように入力部11への指示に基づき各実行オブジェクトごとのプロセッサ数を決めることができる。
記憶部15は、制御部14による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、共有テーブル15aを備える。この共有テーブル15aは、リンク構造を有し、実行された複数のシミュレーションの結果を格納する。
具体的には、共有テーブル15aは、図4に示すように、実行されたシミュレーションの結果に係る実行オブジェクトを一意に特定する「実行ID」と、シミュレーションの対象となった時間を示す「経過時間」と、可視化装置20に出力されるシミュレーションの結果を示す「可視化データ」とを対応付け、経過時間の順番に基づくリンク構造で記憶する(図4ではポインタ等は省略している)。
「経過時間」とはタイムステップ間隔Δtとシミュレーションの終了したタイムステップまでのタイムステップ数を掛け合わせたものであり、「可視化データ」として出力されたデータがどの時点のシミュレーション結果に対するものであるかを示すものである。タイムステップ間隔の違いにより、「経過時間」の値に違いが生じる場合があるので、すでに共有テーブル15aに格納された可視化データの「経過時間」の間のデータが「可視化データ」として送られてくることがある。このため、「経過時間」の順番に基づくリンク構造として、新たな「可視化データ」を挿入しやすくしている。
「可視化データ」はシミュレーションモデルや内容によって異なる。図4の例では、空間を座標(0,0,0)から(n,n,n)の三次元のグリッドにわけ、各グリッド単位でシミュレーションを行った結果を示しており、データとしては圧力、温度、及び湿度の値を示しているが、これに限られるものではない。座標として経度、緯度及び高度を用いたり、データとして震度、マグニチュード、波の高さ等シミュレーションモデル、内容によってさまざまなものがある。
また、共有テーブル15aは、シミュレーション最中に常に更新されており、可視化装置と接続することにより、ユーザはリアルタイムで共有テーブル上の最新の情報を得ることができる。また、全ての実行オブジェクトのシミュレーションが終了する前であれば、ユーザは共有テーブルにアクセスすることによって指定した実行IDのみのデータ(特定のタイムステップ間隔のデータ)を採取することが可能である。精度の高い実行オブジェクトで、最終結果を出力するのに数日を要するような大規模なシミュレーションを行う場合に、より精度の低い任意のデータを選択して最終結果や途中結果を確認することができる。
制御部14は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、シミュレーション起動部14a、プロセッサ選択部14b、シミュレーション経過受信部14c、プロセッサ再配置部14dおよび共有テーブル構築部14eを備える。
シミュレーション起動部14aは、シミュレーションの実行を各計算部16a〜16cに命令する。具体的には、シミュレーション起動部14aは、入力部11よりシミュレーション開始指示を受け付けると、各計算部16a〜16cに起動するように指示し、入力部11によって入力されたタイムステップ間隔の指示、各タイムステップ間隔の実行オブジェクトで使用するプロセッサ数の指示、「速度優先」または「精度優先」の指示をプロセッサ選択部14bに通知する。
プロセッサ選択部14bは、所定の条件に応じて、各タイムステップ間隔のシミュレーションを行う計算部16a〜16cに、それぞれ用いるプロセッサを割当てる。具体的には、プロセッサ選択部14bは、シミュレーション起動部14aから受け付けた各タイムステップ間隔の実行オブジェクトで使用するプロセッサ数の指示や「速度優先」または「精度優先」の指示に応じて、プロセッサを割り当てる。
具体的な例を挙げて説明すると、ユーザが各タイムステップ間隔のシミュレーションを行う計算部で用いるプロセッサ数を指定している場合には、それに従ってプロセッサ選択部14bはプロセッサを割り振る。「速度優先」を指示するパラメータを受け取った場合、プロセッサ選択部14bは、タイムステップ間隔の大きいシミュレーション(高速)を行う計算部にプロセッサを多く割り当て、タイムステップ間隔の小さいシミュレーション(低速)を行う計算部にプロセッサを少なく割り当てる。
「精度優先」を指示するパラメータを受け取った場合、プロセッサ選択部14bは、タイムステップ間隔の小さいシミュレーション(高精度)を行う計算部にプロセッサを多く割り当て、タイムステップ間隔の大きいシミュレーション(低精度)を行う計算部にプロセッサを少なく割り当てる。ユーザがパラメータを指定していない場合は、プロセッサ選択部は全てのプロセッサを各計算部に均等に割り振る。
シミュレーション経過受信部14cは、複数の計算部16a〜16cからシミュレーションの結果を受信する。具体的には、シミュレーション経過受信部14cは、各タイムステップ間隔毎に各計算部16a〜16cから非同期にシミュレーションの結果を受信し、後述する共有テーブル構築部14eに通知する。また、シミュレーション経過受信部14cは、各計算部のシミュレーションの実行が終了するか否かを判定し、シミュレーションの実行が終了した場合には、各シミュレーションごとに、その旨をプロセッサ再配置部14dに通知する。
プロセッサ再配置部14dは、あるタイムステップ間隔のシミュレーションの実行が終了した場合には、その終了したシミュレーションを行う計算部に割り当てられていたプロセッサを他のシミュレーションを行う計算部に割り当てる。具体的には、プロセッサ再配置部14dは、シミュレーション経過受信部14cからシミュレーションの実行が終了する旨を終了フラグにより受け付けると、その終了したシミュレーションを行う計算部に割り当てられていたプロセッサを他のシミュレーションを行う計算部に割り当てる(図5参照)。
例えば、プロセッサ再配置部14dは、プロセッサの計算部への割り振りを、実行IDを用いて判断してもよい。つまり、実行IDの値が小さいものを高精度のシミュレーション(タイムステップ間隔が小さい)の実行オブジェクトと設定しておけば、終了した実行IDの値よりも小さい実行IDの値をもつ実行オブジェクトを実行する計算部のシミュレーションはまだシミュレーションを終了していないと考えられる。
プロセッサ再配置部14dは、シミュレーションが終了した計算部に対応する実行IDの値よりも小さい実行IDに対応する計算部に、シミュレーションが終了して使用しなくなったプロセッサを割り振ることができる。なお、実行IDの順番の付け方は任意であり、逆に実行IDの値が大きいものを高精度のシミュレーションの実行オブジェクトとなるように設定しても構わない。
共有テーブル構築部14eは、各計算部16a〜16cによって実行された複数のシミュレーションの結果をリンク構造を有する共有記憶部15aに格納する。具体的には、共有テーブル構築部14eは、プロセッサ再配置部14dからシミュレーションの結果を受信すると、共有テーブル15aに受信したシミュレーション結果の経過時間と一致するシミュレーションの結果があるか否かを判定する。
その結果、共有テーブル構築部14eは、受信したシミュレーション結果の経過時間と一致するシミュレーションの結果がない場合には、共有テーブル15aに、その実行IDと経過時間と可視化データを追加する。ここで、テーブル内のデータは経過時間の順番にソートして格納するため、データはテーブルの末尾に追加するのではなく、テーブルの中からデータを挿入する箇所を経過時間をもとに検索しリンク構造を新たに生成する(図6参照)。
また、共有テーブル構築部14eは、受信したシミュレーション結果の経過時間と一致するシミュレーションの結果がある場合には、その経過時間が一致したシミュレーション結果よりも受信したシミュレーション結果の精度が高いか否かを判定する。
その結果、共有テーブル構築部14eは、経過時間が一致したシミュレーション結果よりも受信したシミュレーション結果の精度が高い場合には、同じ経過時間に実行ID、経過時間、可視化データと共にシミュレーション結果を上書きする(図7参照)。
また、共有テーブル構築部14eは、経過時間が一致したシミュレーション結果よりも受信したシミュレーション結果の精度が高くない場合には、何もせずに処理を終了する。つまり、共有テーブル構築部14eは、より精度の高いシミュレーション結果を共有テーブル15aに残すようにする。なお、本実施例では共有テーブル15aとしてリンク構造を用いているが、これはデータの挿入をやりやすくするために行っているだけであり、通常のリレーショナルデータベース構造で、経過時間順にソートする等の他の方法を使っても構わない。
ここで、図8を用いて、共有テーブル15aを構築する処理を説明すると、ユーザの指定したタイムステップ間隔(Δt)によりシミュレーションを行う複数の実行オブジェクトが、各計算部に生成されてシミュレーションを行い、その結果を、シミュレーションの経過時間ごとにソートした構造で共有テーブル15aに集約し、ユーザは共有テーブル15aの可視化データを順に参照することで時系列のシミュレーション結果を可視化装置20から参照することができる。
[シミュレーション装置による処理]
次に、図9を用いて、実施例1に係るシミュレーション装置10による処理を説明する。図9は、実施例1に係るシミュレーション装置10の処理動作を示すフローチャートである。
同図に示すように、シミュレーション装置10のシミュレーション起動部14aは、入力部11を介してシミュレーション開始指示を受け付けると(ステップS101肯定)、各計算部16a〜16cに起動するように指示し(ステップS102)、入力部11によって入力されたタイムステップ間隔の指示、タイムステップ間隔に対応する各実行オブジェクトで使用するプロセッサ数の指示、「速度優先」または「精度優先」の指示等をプロセッサ選択部14bに通知する。
そして、プロセッサ選択部14bは、シミュレーション起動部14aから受け付けた各実行オブジェクトで使用するプロセッサ数の指示や「速度優先」または「精度優先」の指示に応じて、タイムステップ間隔の異なるシミュレーションを行う計算部16a〜16cとそこで使用されるプロセッサを割り当てる(ステップS103)。続いて、計算部16a〜16cはシミュレーションを実行する(ステップS104)。
そして、シミュレーション経過受信部14cは、タイムステップ毎に各計算部16a〜16cから非同期にシミュレーションの結果を受信し(ステップS105)、共有テーブル構築部14eに通知する。また、シミュレーション経過受信部14cは、シミュレーション終了時にシミュレーション結果のかわりに送られてくる終了フラグを基に、シミュレーションの実行が終了するか否かを判定し(ステップS106)、シミュレーションの実行が終了する場合には(ステップS106肯定)、その旨をプロセッサ再配置部14dに通知する。
そして、プロセッサ再配置部14dは、シミュレーション経過受信部14cからシミュレーションの実行が終了する旨を受け付けると、その終了したシミュレーションに割り当てられていたプロセッサを他のシミュレーションに割り当て(ステップS107)、引き続きシミュレーションが行われる。一方、シミュレーションの実行が終了しない場合には(ステップS106否定)、そのままステップS108に進む。
テーブル構築部14eは、シミュレーション結果受信部14cからシミュレーションの結果を受信すると、共有テーブル15aに受信したシミュレーション結果の経過時間と一致するシミュレーションの結果があるか否かを判定する(ステップS108)。
その結果、共有テーブル構築部14eは、受信したシミュレーション結果の経過時間と一致するシミュレーションの結果がない場合には(ステップS108否定)、経過時間順となるように、共有テーブル15aに受信したシミュレーション結果を挿入する(ステップS109)。また、共有テーブル構築部14eは、受信したシミュレーション結果の経過時間と一致するシミュレーションの結果がある場合には(ステップS108肯定)、その経過時間が一致したシミュレーション結果よりも受信したシミュレーション結果の精度が高いか否かを実行IDを用いて判定する(ステップS110)。
その結果、共有テーブル構築部14eは、経過時間が一致したシミュレーション結果よりも受信したシミュレーション結果の精度が高い場合には(ステップS110肯定)、共有テーブル15aの経過時間の位置に受信したシミュレーション結果を上書きする(ステップS111)。また、共有テーブル構築部14eは、経過時間が一致したシミュレーション結果よりも受信したシミュレーション結果の精度が高くない場合には(ステップS110否定)、何もせずに処理を終了する。
[実施例1の効果]
上述してきたように、シミュレーション装置10は、タイムステップ間隔がそれぞれ異なる複数のシミュレーションを並行して実行し、実行された複数のシミュレーションの結果を出力するので、タイムステップ間隔を大きいシミュレーション結果が早期に得られるとともに、順次精度のよいシミュレーション結果も得られる結果、高精度かつ高速なシミュレーションを行うことが可能である。
また、実施例1によれば、実行された複数のシミュレーションの結果を共有の出力部に出力するので、出力部を一つに集約してシミュレーション数分のディスクや可視化装置を必要としない結果、資源を節約することが可能である。
また、実施例1によれば、実行されたシミュレーションの結果よりも精度の高い他のシミュレーション結果がある場合には、他のシミュレーションの結果に更新して出力するので、精度の異なる多数の結果を精度の高い結果に順次更新する結果、最も精度の高いものにアップデートしてユーザに知らせることが可能である。
また、実施例1によれば、所定の条件に応じて、各シミュレーションにプロセッサを割当て、割当てられたプロセッサを用いて、それぞれのシミュレーションを並行して実行するので、例えば、速度優先のパラメータの場合には、タイムステップ間隔の大きいシミュレーション(高速)にプロセッサを多く割り当て、タイムステップ間隔の小さいシミュレーション(低速)にプロセッサを少なく割り当てる。また、精度優先のパラメータの場合には、タイムステップ間隔の小さいシミュレーション(高精度)にプロセッサを多く割り当て、タイムステップ間隔の大きいシミュレーション(低精度)にプロセッサを少なく割り当てる結果、ユーザの要求に応じて、各シミュレーションに使用するプロセッサ数を自動で決定することが可能である。
また、実施例1によれば、シミュレーションの実行が終了した場合には、終了したシミュレーションに割り当てられていたプロセッサを他のシミュレーションに割り当て、割当てられたプロセッサを用いて、他のシミュレーションを実行するので、早期に終了してしまったシミュレーションを実行していたプロセッサを遊休させないで、他のシミュレーションに再び割り当てる、プロセッサの再活用を行うことが可能である。
また、実施例1によれば、実行された前記複数のシミュレーションの結果をリンク構造を有する共有テーブル15aに格納するので、例えば、混在したデータをシミュレーションの経過時間にソートした構造を持つ1つのデータに集約する結果、ユーザがデータのトップから参照すれば時系列のシミュレーション結果を参照することが可能である。
なお、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。以下にそれらの異なる形態について説明する。
(1)システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、シミュレーション起動部14aとプロセッサ選択部14bとを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
(2)プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図10を用いて、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図10は、シミュレーション制御プログラムを実行するコンピュータを示す図である。
同図に示すように、シミュレーション装置としてのコンピュータ600は、HDD610、RAM620、ROM630、CPU640、入力部650、出力部660および計算装置制御I/F670をバス680で接続して構成される。
そして、ROM630には、上記の実施例と同様の機能を発揮するシミュレーション装置、つまり、図10に示すように、シミュレーション起動プログラム631、プロセッサ選択プログラム632、シミュレーション経過受信プログラム633、プロセッサ再配置プログラム634および共有テーブル構築プログラム635が予め記憶されている。なお、プログラム631〜635については、図2に示したシミュレーション装置の各構成要素と同様、適宜統合または分散してもよい。
そして、CPU640が、これらのプログラム631〜635をROM630から読み出して実行することで、図10に示すように、各プログラム631〜635は、シミュレーション起動プロセス641、プロセッサ選択プロセス642、シミュレーション経過受信プロセス643、プロセッサ再配置プロセス644および共有テーブル構築プロセス645として機能するようになる。各プロセス641〜645は、図2に示したシミュレーション起動部14a、プロセッサ選択部14b、シミュレーション経過受信部14c、プロセッサ再配置部14dおよび共有テーブル構築部14eにそれぞれ対応する。
また、HDD610には、図10に示すように、共有テーブル611が設けられる。なお、共有テーブル611は、図2に示した共有テーブル15aに対応する。そして、CPU640は、共有テーブル611に対してデータを登録するとともに、共有テーブル611から共有データ621を読み出してRAM620に格納し、RAM620に格納された共有データ621に基づいてシミュレーションを実行する処理を行う。
以上のように、本発明に係るシミュレーション制御プログラム、記録媒体、シミュレーション装置およびシミュレーション制御方法は、タイムステップ間隔でシミュレーションを実行し、ステップ毎に実行されるシミュレーションの結果を出力することに有用であり、特に、高精度かつ高速なシミュレーションを行う場合に適する。

Claims (9)

  1. 所定のタイムステップ間隔でシミュレーションを実行し、ステップ毎に実行されるシミュレーションの結果を出力する方法をコンピュータに実行させるシミュレーション制御プログラムであって、
    前記タイムステップ間隔がそれぞれ異なる複数のシミュレーションを並行して実行するシミュレーション実行手順と、
    前記シミュレーション実行手順によって実行された前記複数のシミュレーションの結果を出力する結果出力手順と、
    をコンピュータに実行させることを特徴とするシミュレーション制御プログラム。
  2. 前記出力手順は、シミュレーション実行手順によって実行された前記複数のシミュレーションの結果を共有の出力部に出力することを特徴とする請求項1に記載のシミュレーション制御プログラム。
  3. 前記出力手順は、シミュレーション実行手順によって実行された前記シミュレーションの結果よりも精度の高い他のシミュレーション結果がある場合には、当該他のシミュレーションの結果に更新して出力することを特徴とする請求項1に記載のシミュレーション制御プログラム。
  4. 所定の条件に応じて、前記各シミュレーションに前記プロセッサを割当てる割当手順をさらに備え、
    前記シミュレーション実行手順は、前記割当手順によって割当てられたプロセッサを用いて、それぞれのシミュレーションを並行して実行することを特徴とする請求項1に記載のシミュレーション制御プログラム。
  5. 前記実行手順によってシミュレーションの実行が終了した場合には、当該終了したシミュレーションに割り当てられていたプロセッサを他のシミュレーションに割り当てる再割当手順をさらに備え、
    前記シミュレーション実行手順は、前記再割当手順によって割当てられたプロセッサを用いて、前記他のシミュレーションを実行することを特徴とする請求項1に記載のシミュレーション制御プログラム。
  6. 前記実行手順によって実行された前記複数のシミュレーションの結果をリンク構造を有する所定の格納部に格納する格納手順をさらに備えることを特徴とする請求項1に記載のシミュレーション制御プログラム。
  7. 所定のタイムステップ間隔でシミュレーションを実行し、ステップ毎に実行されるシミュレーションの結果を出力するシミュレーション制御プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    前記タイムステップ間隔がそれぞれ異なる複数のシミュレーションを並行して実行するシミュレーション実行手順と、
    前記シミュレーション実行手順によって実行された前記複数のシミュレーションの結果を出力する結果出力手順と、
    を実行させるためのシミュレーション制御プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
  8. 所定のタイムステップ間隔でシミュレーションを実行し、ステップ毎に実行されるシミュレーションの結果を出力するシミュレーション装置であって、
    前記タイムステップ間隔がそれぞれ異なる複数のシミュレーションを並行して実行するシミュレーション実行手段と、
    前記シミュレーション実行手段によって実行された前記複数のシミュレーションの結果を出力する結果出力手段と、
    を備えることを特徴とするシミュレーション装置。
  9. 所定のタイムステップ間隔でシミュレーションを実行し、ステップ毎に実行されるシミュレーションの結果を出力するシミュレーション制御方法であって、
    前記タイムステップ間隔がそれぞれ異なる複数のシミュレーションを並行して実行するシミュレーション実行工程と、
    前記シミュレーション実行工程によって実行された前記複数のシミュレーションの結果を出力する結果出力工程と、
    を含んだことを特徴とするシミュレーション制御方法。
JP2009508747A 2007-03-19 2007-03-19 シミュレーション制御プログラム、記録媒体、シミュレーション装置およびシミュレーション制御方法 Pending JPWO2008126196A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/055553 WO2008126196A1 (ja) 2007-03-19 2007-03-19 シミュレーション制御プログラム、記録媒体、シミュレーション装置およびシミュレーション制御方法

Publications (1)

Publication Number Publication Date
JPWO2008126196A1 true JPWO2008126196A1 (ja) 2010-07-22

Family

ID=39863380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009508747A Pending JPWO2008126196A1 (ja) 2007-03-19 2007-03-19 シミュレーション制御プログラム、記録媒体、シミュレーション装置およびシミュレーション制御方法

Country Status (4)

Country Link
US (1) US20090319240A1 (ja)
EP (1) EP2128778A4 (ja)
JP (1) JPWO2008126196A1 (ja)
WO (1) WO2008126196A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2120143B1 (de) * 2008-05-13 2011-08-31 dspace digital signal processing and control engineering GmbH Verfahren zur Ausführung von Tasks zur Berechnung eines zu simulierenden Signals in Echtzeit
ATE518171T1 (de) * 2008-05-29 2011-08-15 Dspace Gmbh Verfahren und simulator zur echtzeitberechnung der zustandsgrössen eines prozessmodells
US8694299B2 (en) * 2010-05-07 2014-04-08 Exxonmobil Upstream Research Company Artifact reduction in iterative inversion of geophysical data
US10275593B2 (en) * 2013-04-01 2019-04-30 Uniquesoft, Llc Secure computing device using different central processing resources
US10896116B1 (en) * 2018-10-19 2021-01-19 Waymo Llc Detecting performance regressions in software for controlling autonomous vehicles
CN115392063B (zh) * 2022-10-31 2023-01-31 西安羚控电子科技有限公司 一种多速率仿真方法及系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1991017507A1 (en) * 1990-05-07 1991-11-14 Mitsubishi Denki Kabushiki Kaisha Parallel data processing system
JPH0528394A (ja) * 1991-07-19 1993-02-05 Hitachi Ltd 交通流シミユレータ
JPH0749844A (ja) * 1993-06-04 1995-02-21 Hitachi Ltd 異バージョンプログラムの多重実行方法および計算機システム
JPH0977394A (ja) * 1995-07-07 1997-03-25 Hitachi Ltd エレベータの運行制御装置
JPH0981618A (ja) * 1995-09-14 1997-03-28 Toshiba Corp 半導体素子形状シミュレーション装置及びその方法
JPH11330449A (ja) * 1998-05-20 1999-11-30 Toshiba Corp 半導体装置の製造方法、シミュレーション装置、シミュレーション方法、シミュレーションプログラムを記録した記録媒体、及びシミュレーション用データを記録した記録媒体
JP2000035902A (ja) * 1998-07-17 2000-02-02 Nec Corp シミュレーション実行装置およびシミュレーションの実行方法
JP2000259605A (ja) * 1999-03-05 2000-09-22 Mitsubishi Electric Corp シミュレーション装置
JP2002259888A (ja) * 2000-12-25 2002-09-13 Toshiba Corp シミュレーション制御プログラム、方法及び装置
JP2006172317A (ja) * 2004-12-17 2006-06-29 Canon Inc 情報処理装置、情報処理方法
JP2006330893A (ja) * 2005-05-24 2006-12-07 Fuji Xerox Co Ltd 粒子挙動解析装置及び粒子挙動解析方法、並びにコンピュータ・プログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0435215A1 (en) * 1989-12-25 1991-07-03 Mazda Motor Corporation Method of simulating a sequential control program
US5375074A (en) * 1990-01-23 1994-12-20 At&T Corp. Unboundedly parallel simulations
JP2548880B2 (ja) * 1992-04-23 1996-10-30 インターナショナル・ビジネス・マシーンズ・コーポレイション 空間分割型確率シミュレーション・システムおよび物質エネルギー・システムをシミュレートする方法
EP0632375B1 (en) * 1993-06-04 1999-02-03 Hitachi, Ltd. Multiple-execution method of multiple-version programs and computer system therefor
US5384720A (en) * 1993-06-10 1995-01-24 Hitachi Micro Systems Inc. Logic circuit simulator and logic simulation method having reduced number of simulation events
US5553004A (en) * 1993-11-12 1996-09-03 The Board Of Trustees Of The Leland Stanford Jr. University Constrained langevin dynamics method for simulating molecular conformations
US5848402A (en) * 1994-07-07 1998-12-08 Ai Ware, Inc. Universal system for artificial intelligence based learning, categorization, and optimization
US5826065A (en) * 1997-01-13 1998-10-20 International Business Machines Corporation Software architecture for stochastic simulation of non-homogeneous systems
JPH11143350A (ja) 1997-11-14 1999-05-28 Matsushita Joho System Kk 防災シミュレーション装置、防災シミュレーション方法及びその方法を記録した記録媒体
US6321181B1 (en) * 1998-08-24 2001-11-20 Agere Systems Guardian Corp. Device and method for parallel simulation
US6941249B1 (en) * 1999-12-20 2005-09-06 Ford Global Technologies, Llc System and method of virtual flowbench simulation
JP4240519B2 (ja) * 1999-12-28 2009-03-18 株式会社日立製作所 入力パラメータ設定支援方法
US7124071B2 (en) * 2002-04-18 2006-10-17 International Business Machines Corporation Partitioning a model into a plurality of independent partitions to be processed within a distributed environment
JP4205525B2 (ja) * 2003-08-08 2009-01-07 パナソニック株式会社 並列シミュレーション装置および並列シミュレーション方法
JP4122434B2 (ja) * 2003-08-20 2008-07-23 独立行政法人産業技術総合研究所 仮想ユーザを用いた操作性評価処理システム
EP1661164A4 (en) * 2003-08-26 2007-10-31 Nusym Technologies Inc METHOD AND SYSTEMS FOR IMPROVED FUNCTION SIMULATION OF INTEGRATED CIRCUITS
US7630875B2 (en) * 2005-06-23 2009-12-08 Cpu Technology, Inc. Automatic time warp for electronic system simulation

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1991017507A1 (en) * 1990-05-07 1991-11-14 Mitsubishi Denki Kabushiki Kaisha Parallel data processing system
JPH0528394A (ja) * 1991-07-19 1993-02-05 Hitachi Ltd 交通流シミユレータ
JPH0749844A (ja) * 1993-06-04 1995-02-21 Hitachi Ltd 異バージョンプログラムの多重実行方法および計算機システム
JPH0977394A (ja) * 1995-07-07 1997-03-25 Hitachi Ltd エレベータの運行制御装置
JPH0981618A (ja) * 1995-09-14 1997-03-28 Toshiba Corp 半導体素子形状シミュレーション装置及びその方法
JPH11330449A (ja) * 1998-05-20 1999-11-30 Toshiba Corp 半導体装置の製造方法、シミュレーション装置、シミュレーション方法、シミュレーションプログラムを記録した記録媒体、及びシミュレーション用データを記録した記録媒体
JP2000035902A (ja) * 1998-07-17 2000-02-02 Nec Corp シミュレーション実行装置およびシミュレーションの実行方法
JP2000259605A (ja) * 1999-03-05 2000-09-22 Mitsubishi Electric Corp シミュレーション装置
JP2002259888A (ja) * 2000-12-25 2002-09-13 Toshiba Corp シミュレーション制御プログラム、方法及び装置
JP2006172317A (ja) * 2004-12-17 2006-06-29 Canon Inc 情報処理装置、情報処理方法
JP2006330893A (ja) * 2005-05-24 2006-12-07 Fuji Xerox Co Ltd 粒子挙動解析装置及び粒子挙動解析方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
WO2008126196A1 (ja) 2008-10-23
US20090319240A1 (en) 2009-12-24
EP2128778A1 (en) 2009-12-02
EP2128778A4 (en) 2011-07-06

Similar Documents

Publication Publication Date Title
JPWO2008126196A1 (ja) シミュレーション制御プログラム、記録媒体、シミュレーション装置およびシミュレーション制御方法
JP2008084121A (ja) シミュレーションシステム及びシミュレーション方法
US10161315B2 (en) Equipment maintenance component replacement prioritization planning system and method
JPWO2014045454A1 (ja) 設計支援システム及びその処理方法、プログラム
US20080004855A1 (en) Design support apparatus, design support method, and design support program
JP5993273B2 (ja) 意思決定支援システム及び方法
US10885684B2 (en) Estimation results display system, estimation results display method, and estimation results display program
JP7246636B2 (ja) 情報処理装置、粒子シミュレータシステム、及び粒子シミュレータ方法
KR20150128711A (ko) 컴퓨터 시스템 활동의 트레이스 타임라인을 분석하기 위한 방법 및 시스템
JP6867817B2 (ja) 音響設計方法及びプログラム
JP2020107133A (ja) テスト環境決定装置及びテスト環境決定方法
JP2016224778A (ja) 情報生成システム、装置、方法、及びプログラム
JP2019192065A (ja) 介護介入効果検証装置、介護介入効果検証方法、及び、プログラム
WO2017050007A1 (zh) 一种测试方法及装置
JP2008524669A (ja) Kストア(KStore)データ構造に適したマルチストリームリアルタイムデータシミュレーション
JP2000330970A (ja) シミュレーション装置及びシミュレーション方法
RU146672U1 (ru) Устройство выбора предпочтительного варианта построения элемента комплекса средств автоматизации командного пункта части противовоздушной обороны
US9147015B2 (en) Computer-implemented method for creating a model of a technical system
CN109324802B (zh) 用于配置服务器的方法和装置
JP2012181674A (ja) プログラム作成支援装置、プログラム作成支援方法およびコンピュータプログラム
JP6827814B2 (ja) シミュレーション装置及びプログラム
WO2019103773A1 (en) Automatically identifying alternative functional capabilities of designed artifacts
JP6251994B2 (ja) テスト結果表示装置、およびテスト結果表示プログラム
US11816611B2 (en) Work support apparatus and work support method
JP7477793B2 (ja) 処理装置、処理方法および処理プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130212