(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023041987
(43)【公開日】2023-03-27
(54)【発明の名称】シミュレーションシステム、シミュレーション装置、シミュレーション方法及びコンピュータプログラム
(51)【国際特許分類】
G06Q 50/18 20120101AFI20230317BHJP
G16Z 99/00 20190101ALN20230317BHJP
【FI】
G06Q50/18 310
G16Z99/00
【審査請求】有
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2021141328
(22)【出願日】2021-08-31
(11)【特許番号】
(45)【特許公報発行日】2023-03-16
(71)【出願人】
【識別番号】517146655
【氏名又は名称】株式会社ネクスティエレクトロニクス
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100147991
【弁理士】
【氏名又は名称】鳥居 健一
(74)【代理人】
【識別番号】100201743
【弁理士】
【氏名又は名称】井上 和真
(72)【発明者】
【氏名】王 彦
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC16
5L049DD02
(57)【要約】
【課題】シミュレーションモデルを適切に保護しつつ簡便に再利用させることを可能とするシミュレーション装置を提供する。
【解決手段】
シミュレーション装置は、シミュレータと、ライセンス管理サーバと接続された通信部と、ライセンスインタフェースとを備える。シミュレータは、システムモデルがインタフェースモデルを含むときにインタフェースモデルで指定される暗号化モデルファイルをデータストレージから取得し、その暗号化モデルファイルを使用するライセンスがライセンス管理サーバに登録されているときにのみ、暗号化モデルファイルを復号して非暗号化モデルファイルを構成する。シミュレータは、当該非暗号化モデルファイルを用いて計算機シミュレーションを実行する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
データストレージから、シミュレーションモデルを定義する情報を含む暗号化モデルファイルを呼び出すためのパラメータを有する少なくとも1つのインタフェースモデルを含むシステムモデルに基づく計算機シミュレーションを実行するように構成されたシミュレータと、
ライセンス管理サーバと通信ネットワークを介して接続された通信部と、
前記暗号化モデルファイルを使用するためのライセンスが前記ライセンス管理サーバに登録されているか否かを確認するように構成されたライセンスインタフェースと
を備え、
前記シミュレータは、前記パラメータで指定された暗号化モデルファイルを前記データストレージから取得し、当該暗号化モデルファイルを使用するためのライセンスが前記ライセンス管理サーバに登録されているときにのみ、当該暗号化モデルファイルを復号して非暗号化モデルファイルを構成し、当該非暗号化モデルファイルで定義されているシミュレーションモデルに基づく計算機シミュレーションを実行するように構成されている、
ことを特徴とするシミュレーション装置。
【請求項2】
請求項1に記載のシミュレーション装置であって、
前記暗号化モデルファイルには、復号プログラムが付加されており、
前記シミュレータは、前記復号プログラムをプロセッサに実行させることにより前記暗号化モデルファイルを復号する、シミュレーション装置。
【請求項3】
請求項1に記載のシミュレーション装置であって、前記ライセンスインタフェースは、前記暗号化モデルファイルを復号するように構成されている、シミュレーション装置。
【請求項4】
請求項1から3のうちのいずれか1項に記載のシミュレーション装置であって、前記データストレージをさらに備えるシミュレーション装置。
【請求項5】
請求項1から3のうちのいずれか1項に記載のシミュレーション装置であって、前記データストレージは、前記通信ネットワークを介して前記通信部と接続されている、シミュレーション装置。
【請求項6】
請求項1から5のうちのいずれか1項に記載のシミュレーション装置であって、
前記ライセンスインタフェースは、当該非暗号化モデルファイルの利用状況を示すログ情報を前記通信部から送信するように構成されており、
前記通信部は、当該通信部から受信されたログ情報に基づいてライセンスごとの課金処理を行うように構成された課金管理部と前記通信ネットワークを介して接続されている、シミュレーション装置。
【請求項7】
請求項1から5のうちのいずれか1項に記載のシミュレーション装置と、前記ライセンス管理サーバとを備えたことを特徴とするシミュレーションシステム。
【請求項8】
請求項6に記載のシミュレーション装置と、前記ライセンス管理サーバと、前記課金管理部とを備えたことを特徴とするシミュレーションシステム。
【請求項9】
データストレージから、シミュレーションモデルを定義する情報を含む暗号化モデルファイルを呼び出すためのパラメータを有する少なくとも1つのインタフェースモデルを含むシステムモデルに基づく計算機シミュレーションを実行するように構成されたシミュレータと、ライセンス管理サーバと通信ネットワークを介して接続された通信部とを備えたシミュレーション装置において実施されるシミュレーション方法であって、
前記パラメータで指定された暗号化モデルファイルを前記データストレージから取得するステップと、
前記暗号化モデルファイルを使用するためのライセンスが前記ライセンス管理サーバに登録されているか否かを確認するステップと、
前記ライセンスが前記ライセンス管理サーバに登録されているときにのみ、当該暗号化モデルファイルを復号して非暗号化モデルファイルを構成するステップと
を備え、
前記シミュレータが、当該非暗号化モデルファイルで定義されているシミュレーションモデルに基づく計算機シミュレーションを実行する、
ことを特徴とするシミュレーション方法。
【請求項10】
請求項9に記載のシミュレーション方法であって、
前記暗号化モデルファイルには、復号プログラムが付加されており、
前記暗号化モデルファイルは、前記復号プログラムをプロセッサに実行させることにより復号される、シミュレーション方法。
【請求項11】
請求項9または10に記載のシミュレーション方法であって、前記シミュレーション装置は前記データストレージをさらに備える、シミュレーション方法。
【請求項12】
請求項9から11のうちのいずれか1項に記載のシミュレーション方法であって、前記データストレージは、前記通信ネットワークを介して前記通信部と接続されている、シミュレーション方法。
【請求項13】
請求項9から12のうちのいずれか1項に記載のシミュレーション方法であって、
当該非暗号化モデルファイルの利用状況を示すログ情報を前記通信部から送信するステップをさらに備え、
前記通信部は、当該通信部から受信されたログ情報に基づいてライセンスごとの課金処理を行うように構成された課金管理部と前記通信ネットワークを介して接続されている、シミュレーション方法。
【請求項14】
不揮発性メモリから読み出されて単数または複数のプロセッサにより実行されるコンピュータプログラムであって、請求項9から13のうちのいずれか1項に記載のシミュレーション方法を前記単数または複数のプロセッサに実施させるように構成されたことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モデルベース開発(MBD:Model Based Development)などのモデリング手法により作成されたシミュレーションモデルを用いて計算機シミュレーションを行うための技術に関する。
【背景技術】
【0002】
近年、車両制御システムなどの組込みシステムの設計開発の効率向上と開発期間の短縮化とを図るために、モデルベース開発(MBD)と呼ばれるモデリング手法が採用されている。このようなモデリング手法に基づく設計開発では、MATLAB(登録商標)/Simulink(登録商標)などのモデリングツールを用いて、所定の要求仕様を満たすように制御モデルやプラントモデルなどのシミュレーションモデルが作成される。次いでシミュレーションモデルに基づく計算機シミュレーションが実行される。そして、当該計算機シミュレーションの結果に基づいてシミュレーションモデルの検証が行われる。このようなモデリング手法に基づく計算機シミュレーション技術は、たとえば、特許文献1(国際公開第2019/021898号)に開示されている。
【0003】
近年、組み込みシステムの大規模化に伴い、MBDに基づく設計開発の効率向上のために、同一企業内の部署間や企業間でシミュレーションモデルを流通させてその再利用を図りたいという要望が強くなってきた。現在、そのような要望に応えるための標準インタフェース仕様の1つとして、FMI(Functional Mock-up Interface)が普及している。FMIは、特定のツールに依存せずに異なるツール間でシミュレーションモデルを交換及び接続するために策定された標準インタフェース仕様である(たとえば、下記の非特許文献1)。FMIによれば、FMU(Functional Mock-up Unit)と呼ばれるシミュレーションモデルを異なるツール間で交換したり接続したりすることができる。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【非特許文献1】"Functional Mock-up Interface for Model Exchange and Co-Simulation",Document version: 2.0.2,[令和3年8月2日検索],インターネット<URL:https://fmi-standard.org/>
【発明の概要】
【発明が解決しようとする課題】
【0006】
シミュレーションモデルは、人的資源及び費用を投下して作成された知的財産であるので、シミュレーションモデルを不正使用や不正な流通から保護したいという要望がある。その保護が不十分であると、シミュレーションモデルの適正な流通及び再利用が阻害されるという課題がある。
【0007】
上記に鑑みて本開示の目的は、シミュレーションモデルを適切に保護しつつ簡便に再利用させることを可能とするシミュレーション装置、シミュレーションシステム、シミュレーション方法及びコンピュータプログラムを提供することである。
【課題を解決するための手段】
【0008】
本開示の第1の態様によるシミュレーション装置は、データストレージから、シミュレーションモデルを定義する情報を含む暗号化モデルファイルを呼び出すためのパラメータを有する少なくとも1つのインタフェースモデルを含むシステムモデルに基づく計算機シミュレーションを実行するように構成されたシミュレータと、ライセンス管理サーバと通信ネットワークを介して接続された通信部と、前記暗号化モデルファイルを使用するためのライセンスが前記ライセンス管理サーバに登録されているか否かを確認するように構成されたライセンスインタフェースとを備え、前記シミュレータは、前記パラメータで指定された暗号化モデルファイルを前記データストレージから取得し、当該暗号化モデルファイルを使用するためのライセンスが前記ライセンス管理サーバに登録されているときにのみ、当該暗号化モデルファイルを復号して非暗号化モデルファイルを構成し、当該非暗号化モデルファイルで定義されているシミュレーションモデルに基づく計算機シミュレーションを実行するように構成されていることを特徴とする。
【0009】
本開示の第2の態様によるシミュレーションシステムは、第1の態様によるシミュレーション装置と、前記ライセンス管理サーバとを備えたことを特徴とする。
【0010】
本開示の第3の態様によるシミュレーション方法は、データストレージから、シミュレーションモデルを定義する情報を含む暗号化モデルファイルを呼び出すためのパラメータを有する少なくとも1つのインタフェースモデルを含むシステムモデルに基づく計算機シミュレーションを実行するように構成されたシミュレータと、ライセンス管理サーバと通信ネットワークを介して接続された通信部とを備えたシミュレーション装置において実施されるシミュレーション方法であって、前記パラメータで指定された暗号化モデルファイルを前記データストレージから取得するステップと、前記暗号化モデルファイルを使用するためのライセンスが前記ライセンス管理サーバに登録されているか否かを確認するステップと、前記ライセンスが前記ライセンス管理サーバに登録されているときにのみ、当該暗号化モデルファイルを復号して非暗号化モデルファイルを構成するステップとを備え、前記シミュレータが、当該非暗号化モデルファイルで定義されているシミュレーションモデルに基づく計算機シミュレーションを実行するという方法である。
【0011】
本開示の第4の態様によるコンピュータプログラムは、不揮発性メモリから読み出されて単数または複数のプロセッサにより実行されるコンピュータプログラムであって、前記第3の態様によるシミュレーション方法を前記単数または複数のプロセッサに実施させるように構成されたことを特徴とするものである。
【発明の効果】
【0012】
本開示の第1~第4の態様によれば、インタフェースモデルのパラメータで指定された暗号化モデルファイルがデータストレージから取得され、その暗号化モデルファイルを使用するためのライセンスがライセンス管理サーバに登録されているときにのみ、暗号化モデルファイルを復号することにより非暗号化モデルファイルが構成される。シミュレータは、当該非暗号化モデルファイルで定義されているシミュレーションモデルに基づいて計算機シミュレーションを実行することができる。したがって、シミュレーションモデルを適切に保護しつつ簡便に再利用させることができる。
【図面の簡単な説明】
【0013】
【
図1】第1実施形態のシミュレーションシステムの概略構成を示す図である。
【
図2】FMUファイル(「XXX.fmu」)の内部構造を示す図である。
【
図3】シミュレーションツールの一例を示す概念図である。
【
図4】第1実施形態のシミュレーションシステムの構成を概念的に示す図である。
【
図5】インタフェースモデルを含まない従来のシステムモデルを示す概念図である。
【
図6】第1実施形態に係るシミュレーション方法の処理手順の一例を概略的に示すフローチャートである。
【
図7】第1実施形態の変形例のシミュレーションシステムの構成を概略的に示す図である。
【
図8】第2実施形態のシミュレーションシステムの概略構成を示す図である。
【
図9】第2実施形態のシミュレーションシステムの構成を概念的に示す図である。
【
図10】第2実施形態に係るシミュレーション方法の処理手順の一例を概略的に示すフローチャートである。
【
図11】第2実施形態の変形例のシミュレーションシステムの構成を概略的に示す図である。
【
図12】第3実施形態のシミュレーションシステムの構成を概念的に示す図である。
【
図13】第3実施形態に係るシミュレーション方法の処理手順の一例を概略的に示すフローチャートである。
【
図14】情報処理装置(コンピュータ)の構成を概略的に示すブロック図である。
【発明を実施するための形態】
【0014】
次に、図面を参照しつつ、本開示に係る種々の実施形態及びその変形例について詳細に説明する。なお、図面全体において同一符号が付された構成要素は、同一構成及び同一機能を有するものとする。
【0015】
図1は、本開示の第1実施形態のシミュレーションシステム1の構成を概略的に示す図である。
図1に示されるシミュレーションシステム1は、シミュレーション装置10と、このシミュレーション装置10と通信ネットワークNWを介して接続されているライセンス管理サーバ30と、このライセンス管理サーバ30と連携してライセンスごとの課金処理を行う課金管理部31とを備えて構成されている。通信ネットワークNWとしては、たとえば、有線LAN(Local Area Network)もしくは無線LANなどの構内通信網、拠点間を結ぶ専用通信網、または、インターネットなどの広域通信網が挙げられるが、これらに限定されるものではない。
【0016】
シミュレーション装置10は、シミュレーションツール23及びライセンスインタフェース(ライセンスI/F)24を含むシミュレータ21と、非暗号化モデルファイルMF1~MFN(Nは2以上の正整数)及び暗号化モデルファイルEF1~EFM(Mは2以上の正整数)を格納してこれら非暗号化モデルファイルMF1~MFN及び暗号化モデルファイルEF1~EFMを供給できるように構成されたデータストレージ26と、通信部29とを備えている。通信部29は、通信ネットワークNWの通信プロトコルに従ってライセンス管理サーバ30との間でデータ通信を行う機能を有する。暗号化モデルファイルEF1~EFMには、それぞれ、当該暗号化モデルファイルEF1~EFMを復号する際に使用される復号プログラムP1~PMが付加されている。復号プログラムP1~PMだけでは、暗号化モデルファイルEF1~EFMを復号することはできない。暗号化モデルファイルEF1~EFMを復号するには、復号プログラムP1~PMと復号鍵とが必要である。
【0017】
データストレージ26は、たとえば、ハードディスクドライブ(HDD)もしくはソリッドステートドライブ(SSD)などの内蔵型メモリ、または、光ディスクもしくは可搬型フラッシュメモリなどの可搬型メモリであればよい。
【0018】
シミュレーションツール23は、MBD(Model Based Development)などのモデリング手法に基づくシミュレーションモデルの作成及び分析を行う機能を有する。またシミュレーションツール23は、シミュレーションモデルに基づく計算機シミュレーションを行う機能を有していてもよい。シミュレーションツール23を含むシミュレータ21の機能は、ソフトウェアプログラムを単数または複数のプロセッサ(図示せず)に実行させることにより実現され得る。各プロセッサは、単数または複数のプロセッサコアを有するCPU(Central Processing Unit)やGPU(Graphics Processing Unit)などの演算装置を備えていればよい。たとえば、シミュレーションツール23は、MATLAB(登録商標)/Simulink(登録商標),OpenModelica,DymolaまたはSimulationXといった公知のモデリングツールと同様の機能をもつツールであればよい。
【0019】
ユーザは、シミュレーションツール23を用いてシミュレーションモデルの作成及び分析を行うことができる。ユーザは、部品としてのシミュレーションモデル(以下「サブシステムモデル」ともいう。)を複数組み合わせることで連成シミュレーションモデル(以下「システムモデル」ともいう。)を作成することが可能である。
【0020】
シミュレーションツール23は、作成されたシミュレーションモデルを所定フォーマットのモデルファイルに変換してそのモデルファイルを出力するエクスポート機能と、外部のモデルファイルからシミュレーションモデルを読み込むインポート機能とを有する。モデルファイルは、シミュレーションモデルを定義する情報(たとえば、バイナリデータ、または、ハードウェア記述言語もしくはオブジェクト指向言語で記述された情報)を含むものである。モデルファイルには、積分などの数値演算に使用されるソルバ(Solver)を内蔵するタイプと、ソルバを内蔵しないタイプとが知られている。モデルファイルの例としては、FMUファイル(拡張子:.fmu)、Simulinkファイル(拡張子:.mdl;.slx)、及び、S-Functionバイナリファイル(拡張子:.mexw32;.mexw64)が挙げられるが、これらに限定されるものではない。
【0021】
図2は、FMI(Functional Mock-up Interface)に規定されるFMUファイル(「XXX.fmu」)の内部構造を示す図である。
図2に示されるようにFMUファイルの内部構造は、「modelDescription.xml」及び「model.png」という名称の2つのファイルと、「documentation」,「source」,「binaries」及び「resources」という名称の4つのフォルダとを含む。「modelDescription.xml」は、モデルの概要及び各種変数の定義などの情報が記述されたファイルであり、「model.png」は、画像ファイルである。「documentation」フォルダは、FMUファイルを説明するためのファイル群を保存するフォルダである。「source」フォルダは、シミュレーションモデルのソースコードを格納するフォルダであり、「binaries」フォルダは、シミュレーションモデルの計算に使用される実行形式のプログラムライブラリ(DLLファイルまたはSOファイル)を格納するフォルダである。「resources」フォルダは、シミュレーションモデルの計算に使用されるデータを入れるためのフォルダである。モデル交換(Model Exchange)用のFMUファイルには、数値演算に使用されるソルバが内蔵されておらず、連成シミュレーション(Co-Simulation)用のFMUファイルにはソルバが内蔵されている。
【0022】
シミュレーションツール23は、単一のモデリングツールとして構成されてもよいし、あるいは、互いに連携する複数のモデリングツールで構成されてもよい。
図3は、複数のモデリングツールで構成されているシミュレーションツール23の一例を示す概念図である。
図3に示されるシミュレーションツール23は、1つのマスタツールと複数のスレーブツールとからなる連成シミュレーションツールである。
図3の例では、各スレーブツールは、マスタツールによる制御下で、サブシステムモデルに基づく計算機シミュレーションを実行する機能を提供することができる。マスタツールは、サブシステムモデルの読み込み、スレーブツール間で演算値を交換する機能、及び、連成シミュレーションを制御する機能を提供する。
【0023】
次に、
図1を参照すると、データストレージ26には、上記FMUファイルなどの非暗号化モデルファイルMF
1~MF
Nが格納されている。シミュレータ21は、データストレージ26から非暗号化モデルファイルMF
1~MF
Nのうちのいずれかのモデルファイルを読み出し、そのモデルファイルを用いた新たなシステムモデルの作成、あるいは、そのモデルファイルに基づく計算機シミュレーションを行うことができる。
【0024】
データストレージ26には、非暗号化モデルファイルMF1~MFNの他に、暗号化モデルファイルEF1~EFMが格納されている。ユーザは、市場に流通している暗号化モデルファイルEF1~EFMを入手して、データストレージ26にあらかじめ格納しておくことができる。シミュレータ21が暗号化モデルファイルEF1~EFMを使用するためにはライセンスが必要である。
【0025】
ユーザは、シミュレーションツール23を用いて、外部のモデルファイルを呼び出す(コールする)ためのパラメータを有する「インタフェースモデル」と呼ばれるサブシステムモデルを含むシステムモデルを作成することができる。インタフェースモデルは、シミュレーションモデルを具体的に定義する情報を含まないので、インタフェースモデル内の情報だけに基づいた計算機シミュレーションは実行不能である。
【0026】
インタフェースモデルを含むシステムモデルに基づく計算機シミュレーションを実行するために、シミュレータ21は、当該インタフェースモデルのパラメータで指定された非暗号化モデルファイルMFn(nは1~Nの範囲内の整数)または暗号化モデルファイルEFm(mは1~Mの範囲内の整数)をデータストレージ26から取得する。非暗号化モデルファイルMFnをデータストレージ26から取得したとき、シミュレータ21は、非暗号化モデルファイルMFnに定義されているシミュレーションモデルに基づく計算機シミュレーションを実行することができる。より具体的には、シミュレータ21は、データストレージ26から取得された非暗号化モデルファイルMFnを一時記憶メモリ(図示せず)に展開する。非暗号化モデルファイルMFnには、実行形式ファイル(たとえばバイナリファイル)が含まれているので、シミュレータ21は、プロセッサにその実行形式ファイルを実行させることで、非暗号化モデルファイルMFnに定義されているシミュレーションモデルに基づく計算機シミュレーションを行うことができる。
【0027】
一方、暗号化モデルファイルEFmをデータストレージ26から取得したとき、シミュレータ21は、暗号化モデルファイルEFmを使用するためのライセンスがライセンス管理サーバ30に登録されているときにのみ、暗号化モデルファイルEFmに付加されている復号プログラムPmと、ライセンスインタフェース24から与えられた復号鍵kmとを用いて暗号化モデルファイルEFmを復号(非暗号化)して非暗号化モデルファイルDFmを構成することができる。ライセンスインタフェース24は、暗号化モデルファイルEFmを使用するためのライセンスの存在が確認された場合にのみ、ライセンス管理サーバ30から取得された復号鍵kmを供給する。これにより、復号鍵kmを用いた暗号化モデルファイルEFmの復号が可能となる。シミュレータ21は、非暗号化モデルファイルDFmに定義されているシミュレーションモデルに基づく計算機シミュレーションを実行することができる。より具体的には、シミュレータ21は、プロセッサに復号プログラムPmを実行させることで、ライセンスインタフェース24から与えられた復号鍵kmを用いて暗号化モデルファイルEFmを復号して非暗号化モデルファイルDFmを構成し、この非暗号化モデルファイルDFmを一時記憶メモリに展開することができる。非暗号化モデルファイルDFmには、実行形式ファイル(たとえばバイナリファイル)が含まれているので、シミュレータ21は、プロセッサ(図示せず)にその実行形式ファイルを実行させることで、非暗号化モデルファイルDFmに定義されているシミュレーションモデルに基づく計算機シミュレーションを実行することができる。
【0028】
ライセンスインタフェース24は、ライセンス管理サーバ30と通信を行うことにより、データストレージ26内の暗号化モデルファイルEF1~EFMを使用するためのライセンスがライセンス管理サーバ30に登録されているか否かを確認することができる。ライセンス管理サーバ30は、ライセンスインタフェース24から受信されたライセンス識別情報からライセンスの有効性を認証したときに、ライセンスが登録されている旨をライセンスインタフェース24に通知すればよい。ライセンスがライセンス管理サーバ30に登録されているか否かの確認は、周期的に(たとえば、数十秒に1回の周期、または数時間に1回の周期で)行われてもよいし、あるいは、シミュレーションツール23からの要求が生ずる度に行われてもよい。
【0029】
図4は、第1実施形態のシミュレーションシステム1の構成を概念的に示す図である。
図4に示されるようにシミュレータ21内のシミュレーションツール23は、ユーザにより作成されたシステムモデルSMiを有している。このシステムモデルSMiは一例であり、これに限定されるものではない。
図4のシステムモデルSMiは、5つのサブシステムモデルM0,IM1,IM2,IM3,M4で構成されている。ここで、サブシステムモデルM0,M4がシミュレーションモデルであり、サブシステムモデルIM1,IM2,IM3が、それぞれ外部のモデルファイルを呼び出すためのパラメータを有するインタフェースモデルである。
図4の例では、サブシステムモデルM0,IM1,IM2,IM3,M4が直列に接続されており、サブシステムモデルM4の出力がサブシステムモデルM0の入力端にフィードバックしている。
【0030】
図4の例では、シミュレーションツール23は、インタフェースモデルIM1,IM2,IM3のそれぞれのパラメータで指定されたモデルファイルを要求する。データストレージ26は、シミュレーションツール23からの要求に応じて、インタフェースモデルIM1で指定された非暗号化モデルファイルMF
1と、インタフェースモデルIM2,IM3でそれぞれ指定された暗号化モデルファイルEF
2,EF
3とをシミュレータ21に供給する。シミュレータ21は、データストレージ26から取得された非暗号化モデルファイルMF
1を一時記憶メモリに展開する。またシミュレータ21は、暗号化モデルファイルEF
2,EF
3にそれぞれ付加されている復号プログラムP
2,P
3をプロセッサに実行させることで、暗号化モデルファイルEF
2,EF
3の復号に必要な復号鍵k
2,k
3をライセンスインタフェース24に要求する。ライセンスインタフェース24は、当該ライセンスが存在する(有効である)ときは復号鍵k
2,k
3を供給するので、プロセッサは、復号鍵k
2,k
3を用いて暗号化モデルファイルEF
2,EF
3を復号して非暗号化モデルファイルDF
2,DF
3を構成し、これら非暗号化モデルファイルDF
2,DF
3を一時記憶メモリに展開することができる。その後、シミュレータ21は、サブシステムモデルM0,M4と、非暗号化モデルファイルMF
1,DF
2,DF
3でそれぞれ定義されたサブシステムモデルとに基づいて計算機シミュレーションを実行することができる。
図5は、インタフェースモデルを含まない従来のシステムモデルSMを示す概念図である。非暗号化モデルファイルMF
1,DF
2,DF
3と
図4に示したシステムモデルSMiとの組合せは、従来のシステムモデルSMと実質的に同じシミュレーション結果を与えるものである。
【0031】
図4に示されるライセンスインタフェース24は、非暗号化モデルファイルDF
2,DF
3の利用状況を示すログ情報を通信部29から課金管理部31へ送信する機能を有している。たとえば、ログ情報は、ユーザID,利用時間及び利用場所を含む情報であればよい。課金管理部31は、通信部29から受信されたログ情報に基づいてライセンスごとの課金処理を行うことができる。
【0032】
次に、
図6を参照しつつ、本実施形態のシミュレーション方法の処理手順について説明する。
図6は、シミュレーション装置10によるシミュレーション方法の処理手順の一例を概略的に示すフローチャートである。
【0033】
図6を参照すると、先ず、シミュレーションツール23は、システムモデル(たとえば、
図4のシステムモデルSMi)がインタフェースモデルを含むか否かを確認する(ステップS10)。システムモデルがインタフェースモデルを含まないときは(ステップS11のNO)、ステップS20に手順が移行して、シミュレータ21は、システムモデルに基づく計算機シミュレーションを実行する。
【0034】
一方、システムモデルが少なくとも1つのインタフェースモデル(たとえば、
図4のインタフェースモデルIM1~IM3)を含むときは(ステップS11のYES)、シミュレーションツール23は、各インタフェースモデルのパラメータで指定されたモデルファイルを要求する(ステップS12)。シミュレータ21は、要求されたモデルファイル(たとえば、
図4の非暗号化モデルファイルEF
1,暗号化モデルファイルEF
2または暗号化モデルファイルEF
3)をデータストレージ26から取得して一時記憶メモリに記憶させる(ステップS13)。
【0035】
次に、取得されたモデルファイルが非暗号化モデルファイルであるときは(ステップS14のNO)、ステップS19に処理が移行する。一方、取得されたモデルファイルが暗号化モデルファイルであるときは(ステップS14のYES)、シミュレータ21は、当該暗号化モデルファイルに付加されている復号プログラムをプロセッサに実行させることで、当該暗号化モデルファイルの復号に必要な復号鍵をライセンスインタフェース24に要求する(ステップS15)。ライセンスインタフェース24は、その要求に応じて、暗号化モデルファイルを使用するためのライセンスがライセンス管理サーバ30に登録されているか否かを判定する(ステップS16)。当該ライセンスがライセンス管理サーバ30に登録されていないときは(ステップS16のNO)、以上で処理は終了する。
【0036】
一方、当該ライセンスが登録されているときは(ステップS16のYES)、ライセンスインタフェース24は、当該暗号化モデルファイルに割り当てられた復号鍵を供給する(ステップS17)。シミュレータ21は、復号プログラムと当該復号鍵とを用いて暗号化モデルファイルを復号して非暗号化モデルファイルを構成し、その非暗号化モデルファイルを一時記憶メモリに記憶させる(ステップS18)。
【0037】
次に、要求されたすべてのモデルファイルがデータストレージ26から取得されていないとき(ステップS19のNO)、ステップS13に処理が戻る。一方、要求されたすべてのモデルファイルがデータストレージ26から取得されたときは(ステップS19のYES)、シミュレータ21は、一時記憶メモリに記憶されている非暗号化モデルファイルで定義されているシミュレーションモデルを含むシステムモデルに基づいて計算機シミュレーションを実行する(ステップS20)。以上で処理は終了する。
【0038】
なお、
図6のフローチャートは、暗号化モデルファイルを使用するためのライセンスがライセンス管理サーバ30に登録されているか否かの確認が周期的に行われることを前提としたものである。シミュレーションツール23からの要求が生ずる度にライセンスインタフェース24がその確認を行う形態では、ステップS14からステップS18の間に、暗号化モデルファイルを使用するためのライセンスがライセンス管理サーバ30に登録されているか否かの確認を行うステップを設定すればよい。
【0039】
以上に説明したように本実施形態のシミュレーションシステム1では、システムモデルがインタフェースモデルを含むとき、シミュレータ21は、当該インタフェースモデルのパラメータで指定された暗号化モデルファイルをデータストレージ26から取得する。シミュレータ21は、当該暗号化ファイルを使用するためのライセンスがライセンス管理サーバ30に登録されているときにのみ、復号鍵を用いて暗号化ファイルを復号して非暗号化モデルファイルを構成する。シミュレータ21は、当該非暗号化モデルファイルで定義されているシミュレーションモデル(サブシステムモデル)を含むシステムモデルに基づいて計算機シミュレーションを実行することができる。これにより、シミュレーションモデルを適切に保護しつつシミュレータ21に簡便に再利用させることができる。ライセンスなしに、暗号化モデルファイルに含まれるシミュレーションモデルを利用することは困難である。したがって、シミュレーションモデル単位でライセンスを管理することができる。
【0040】
またライセンスインタフェース24は、暗号化モデルファイルから構成された非暗号化モデルファイルの利用状況を示すログ情報を通信部29から課金管理部31に向けて送信する。課金管理部31は、通信部29から受信されたログ情報に基づいてライセンスごとの課金処理を適切に行うことができる。したがって、シミュレーションモデル単位で使用状況を管理することができる。
【0041】
上記シミュレーションシステム1では、シミュレータ21は、インタフェースモデルのパラメータで指定されるモデルファイルを、シミュレーション装置10に備わるデータストレージ26から取得していた。さらに、シミュレータ21は、通信ネットワークNWを介して通信部29と接続された外部のデータストレージサーバから、インタフェースモデルのパラメータで指定されるモデルファイルを取得することもできる。
図7は、第1実施形態の変形例のシミュレーションシステム2の構成を概略的に示す図である。
図7に示されるシミュレーションシステム2は、上記シミュレーション装置10と、このシミュレーション装置10と通信ネットワークNWを介して接続されているライセンス管理サーバ30と、このライセンス管理サーバ30と連携してライセンスごとの課金処理を行う課金管理部31と、モデル管理サーバ40とを備えて構成されている。
【0042】
モデル管理サーバ40は、データストレージ41及び通信部42を備えたデータストレージサーバである。データストレージ41は、暗号化モデルファイルREF1~REFK(Kは2以上の正整数)を格納してこれら暗号化モデルファイルREF1~REFKを供給できるように構成されている。暗号化モデルファイルREF1~REFKには、それぞれ、当該暗号化モデルファイルREF1~REFMを復号する際に使用される復号プログラムQ1~QPKが付加されている。暗号化モデルファイルREF1~REFMを復号するには、復号プログラムQ1~QMと復号鍵とが必要である。通信部42は、通信ネットワークNWの通信プロトコルに従ってシミュレーション装置10との間でデータ通信を行う機能を有する。
【0043】
上記のとおり、シミュレータ21は、インタフェースモデルのパラメータで指定されたモデルファイルがシミュレーション装置10内のデータストレージ26に存在するときは、データストレージ26から当該暗号化モデルファイルを取得することができる。
【0044】
一方、インタフェースモデルで指定されたモデルファイル(非暗号モデルファイルまたは暗号化モデルファイル)がモデル管理サーバ40のデータストレージ41に存在するときは、シミュレータ21は、データストレージ41から通信ネットワークNWを介して当該モデルファイルを取得することができる。すなわち、シミュレータ21は、ファイル送信要求を通信部29を介してモデル管理サーバ40に送信する。モデル管理サーバ40の通信部42が当該ファイル送信要求を受信すると、データストレージ41は、非暗号化モデルファイル(図示せず)及び暗号化モデルファイルREF1~REFKの中から、当該ファイル送信要求で指定されたモデルファイルを選択し、そのモデルファイルを通信部42を介して送信する。シミュレータ21は、そのモデルファイルを通信部29を介して受信することができる。
【0045】
シミュレータ21は、データストレージ41から取得された暗号化モデルファイルREFk(kは1~Kの範囲内の整数)を使用するライセンスがライセンス管理サーバ30に登録されているときにのみ、暗号化モデルファイルREFkに付加されている復号プログラムQkと、ライセンスインタフェース24から与えられた復号鍵kkとを用いて暗号化モデルファイルREFkを復号(非暗号化)して非暗号化モデルファイルRDFkを構成することができる。より具体的には、シミュレータ21は、プロセッサに復号プログラムQkを実行させることで、ライセンスインタフェース24から与えられた復号鍵kkを用いて暗号化モデルファイルREFkを復号して非暗号化モデルファイルRDFkを構成し、この非暗号化モデルファイルRDFkを一時記憶メモリに展開することができる。非暗号化モデルファイルRDFkには、実行形式ファイル(たとえばバイナリファイル)が含まれているので、シミュレータ21は、プロセッサにその実行形式ファイルを実行させることで、非暗号化モデルファイルRDFkに定義されているシミュレーションモデルに基づく計算機シミュレーションを実行することができる。
【0046】
次に、第2実施形態のシミュレーションシステムについて説明する。
【0047】
図8は、第2実施形態のシミュレーションシステム1Aの概略構成を示す図である。
図8に示されるように、シミュレーションシステム1Aは、シミュレーション装置10Aと、このシミュレーション装置10Aと通信ネットワークNWを介して接続されているライセンス管理サーバ30と、このライセンス管理サーバ30と連携してライセンスごとの課金処理を行う課金管理部31とを備えて構成されている。シミュレータ21Aは、シミュレーションツール23A及びライセンスインタフェース24を有する。
【0048】
シミュレーション装置10Aの構成は、
図1のシミュレータ21に代えてシミュレータ21Aを有する点、及び、データストレージ26に格納された暗号化モデルファイルEF
1~EF
Mに復号プログラムが付加されていない点を除いて、
図1のシミュレーション装置10の構成と同じである。また本実施形態のシミュレータ21Aの構成は、
図1のシミュシミュレーションツール23に代えてシミュレーションツール23Aを有する点を除いて、
図1のシミュレーションツール23の構成と同じである。本実施形態のシミュレーションツール23Aは、上記シミュレーションツール23の機能に加えて、ライセンスインタフェース24から与えられた復号鍵を用いて暗号化モデルファイルEF
1~EF
Mを復号する復号機能を有する。
【0049】
ユーザは、シミュレーションツール23Aを用いて、インタフェースモデルを含むシステムモデルを作成することができる。本実施形態では、インタフェースモデルを含むシステムモデルに基づく計算機シミュレーションを実行するために、シミュレータ21Aは、当該インタフェースモデルのパラメータで指定された非暗号化モデルファイルMFn(nは1~Nの範囲内の整数)または暗号化モデルファイルEFm(mは1~Mの範囲内の整数)をデータストレージ26から取得する。非暗号化モデルファイルMFnをデータストレージ26から取得したときは、シミュレータ21Aは、上記シミュレータ21と同様に、非暗号化モデルファイルMFnに定義されているシミュレーションモデルに基づく計算機シミュレーションを実行することができる。
【0050】
一方、暗号化モデルファイルEFmをデータストレージ26から取得したとき、シミュレータ21Aは、暗号化モデルファイルEFmを使用するためのライセンスがライセンス管理サーバ30に登録されているときにのみ、シミュレーションツール23Aの復号機能と、ライセンスインタフェース24から与えられた復号鍵kmとを用いて暗号化モデルファイルEFmを復号(非暗号化)して非暗号化モデルファイルDFmを構成することができる。ライセンスインタフェース24は、暗号化モデルファイルEFmを使用するためのライセンスの存在が確認された場合にのみ、ライセンス管理サーバ30から取得された復号鍵kmをシミュレーションツール23Aに供給する。これにより、復号鍵kmを用いた暗号化モデルファイルEFmの復号が可能となる。シミュレータ21Aは、非暗号化モデルファイルDFmに定義されているシミュレーションモデルに基づく計算機シミュレーションを実行することができる。より具体的には、シミュレーションツール23Aは、ライセンスインタフェース24から与えられた復号鍵kmを用いて暗号化モデルファイルEFmを復号して非暗号化モデルファイルDFmを構成し、この非暗号化モデルファイルDFmを一時記憶メモリに展開することができる。非暗号化モデルファイルDFmには、実行形式ファイル(たとえばバイナリファイル)が含まれているので、シミュレータ21Aは、プロセッサ(図示せず)にその実行形式ファイルを実行させることで、非暗号化モデルファイルDFmに定義されているシミュレーションモデルに基づく計算機シミュレーションを実行することができる。
【0051】
図9は、第2実施形態のシミュレーションシステム1Aの構成を概念的に示す図である。
図9に示されるようにシミュレータ21A内のシミュレーションツール23Aは、ユーザにより作成されたシステムモデルSMiを有している。このシステムモデルSMiは一例であり、これに限定されるものではない。
【0052】
データストレージ26は、シミュレーションツール23Aからの要求に応じて、インタフェースモデルIM1で指定された非暗号化モデルファイルMF
1と、インタフェースモデルIM2,IM3でそれぞれ指定された暗号化モデルファイルEF
2,EF
3とをシミュレータ21Aに供給する。シミュレータ21Aは、データストレージ26から取得された非暗号化モデルファイルMF
1を一時記憶メモリに展開する。またシミュレーションツール23Aは、暗号化モデルファイルEF
2,EF
3の復号に必要な復号鍵k
2,k
3をライセンスインタフェース24に要求する。ライセンスインタフェース24は、当該ライセンスが存在する(有効である)ときは復号鍵k
2,k
3を供給するので、シミュレーションツール23Aは、復号鍵k
2,k
3を用いて暗号化モデルファイルEF
2,EF
3を復号して非暗号化モデルファイルDF
2,DF
3を構成し、これら非暗号化モデルファイルDF
2,DF
3を一時記憶メモリに展開することができる。その後、シミュレータ21Aは、サブシステムモデルM0,M4と、非暗号化モデルファイルMF
1,DF
2,DF
3でそれぞれ定義されたサブシステムモデルとに基づいて計算機シミュレーションを実行することができる。
図9に示されるライセンスインタフェース24は、第1実施形態の場合と同様に、非暗号化モデルファイルDF
2,DF
3の利用状況を示すログ情報を通信部29から課金管理部31へ送信する機能を有している。課金管理部31は、通信部29から受信されたログ情報に基づいてライセンスごとの課金処理を行うことができる。
【0053】
次に、
図10を参照しつつ、本実施形態のシミュレーション方法の処理手順について説明する。
図10は、シミュレーション装置10Aによるシミュレーション方法の処理手順の一例を概略的に示すフローチャートである。
【0054】
図10を参照すると、シミュレーションツール23Aは、シミュレーションツール23と同様に、ステップS10,S11,S12を実行する。シミュレータ21Aは、ステップS12で要求されたモデルファイル(たとえば、
図9の非暗号化モデルファイルEF
1,暗号化モデルファイルEF
2または暗号化モデルファイルEF
3)をデータストレージ26から取得して一時記憶メモリに記憶させる(ステップS13)。取得されたモデルファイルが非暗号化モデルファイルであるときは(ステップS14のNO)、ステップS19に処理が移行する。一方、取得されたモデルファイルが暗号化モデルファイルであるときは(ステップS14のYES)、シミュレーションツール23Aの復号機能が起動して、当該暗号化モデルファイルの復号に必要な復号鍵をライセンスインタフェース24に要求する(ステップS15A)。当該ライセンスがライセンス管理サーバ30に登録されていないときは(ステップS16のNO)、以上で処理は終了する。
【0055】
一方、当該ライセンスが登録されているときは(ステップS16のYES)、ライセンスインタフェース24は、当該暗号化モデルファイルに割り当てられた復号鍵を供給するので(ステップS17)、シミュレーションツール23Aは、当該復号鍵を用いて暗号化モデルファイルを復号して非暗号化モデルファイルを構成し、その非暗号化モデルファイルを一時記憶メモリに記憶させる(ステップS18)。次に、要求されたすべてのモデルファイルがデータストレージ26から取得されていないとき(ステップS19のNO)、ステップS13に処理が戻る。一方、要求されたすべてのモデルファイルがデータストレージ26から取得されたとき(ステップS19のYES)、シミュレータ21Aは、上記シミュレータ21と同様に、一時記憶メモリに記憶されている非暗号化モデルファイルで定義されているシミュレーションモデルを含むシステムモデルに基づいて計算機シミュレーションを実行する(ステップS20)。以上で処理は終了する。
【0056】
なお、
図10のフローチャートは、暗号化モデルファイルを使用するためのライセンスがライセンス管理サーバ30に登録されているか否かの確認が周期的に行われることを前提としたものである。シミュレーションツール23Aからの要求が生ずる度にライセンスインタフェース24がその確認を行う形態では、ステップS14からステップS18Aの間に、暗号化モデルファイルを使用するためのライセンスがライセンス管理サーバ30に登録されているか否かの確認を行うステップを設定すればよい。
【0057】
以上に説明したように本実施形態のシミュレーションシステム1Aでは、システムモデルがインタフェースモデルを含むとき、シミュレータ21Aは、当該インタフェースモデルのパラメータで指定された暗号化モデルファイルをデータストレージ26から取得する。シミュレータ21Aのシミュレーションツール23Aは、当該暗号化ファイルを使用するためのライセンスがライセンス管理サーバ30に登録されているときにのみ、復号鍵を用いて暗号化ファイルを復号して非暗号化モデルファイルを構成する。シミュレータ21Aは、当該非暗号化モデルファイルで定義されているシミュレーションモデル(サブシステムモデル)を含むシステムモデルに基づいて計算機シミュレーションを実行することができる。これにより、シミュレーションモデルを適切に保護しつつシミュレータ21Aに簡便に再利用させることができる。ライセンスなしに、暗号化モデルファイルに含まれるシミュレーションモデルを利用することは困難である。したがって、シミュレーションモデル単位でライセンスを管理することができる。また第1実施形態と同様に、シミュレーションモデル単位で暗号化モデルファイルの使用状況を管理することができる。
【0058】
上記シミュレーションシステム1Aでは、シミュレータ21Aは、インタフェースモデルのパラメータで指定されるモデルファイルを、シミュレーション装置10に備わるデータストレージ26から取得していた。さらに、シミュレータ21Aは、通信ネットワークNWを介して通信部29と接続された外部のデータストレージサーバから、インタフェースモデルのパラメータで指定されるモデルファイルを取得することもできる。
図11は、第2実施形態の変形例のシミュレーションシステム2Aの構成を概略的に示す図である。
図11に示されるシミュレーションシステム2Aは、上記シミュレーション装置10Aと、このシミュレーション装置10Aと通信ネットワークNWを介して接続されているライセンス管理サーバ30と、このライセンス管理サーバ30と連携してライセンスごとの課金処理を行う課金管理部31と、モデル管理サーバ40とを備えて構成されている。
図11のモデル管理サーバ40の構成は、データストレージ41に格納された暗号化モデルファイルEF
1~EF
Mに復号プログラムが付加されていない点を除いて、
図7のモデル管理サーバ40の構成と同じである。
【0059】
上記のとおり、シミュレータ21Aは、インタフェースモデルのパラメータで指定されたモデルファイルがシミュレーション装置10A内のデータストレージ26に存在するときは、データストレージ26から当該暗号化モデルファイルを取得することができる。一方、インタフェースモデルで指定されたモデルファイル(非暗号モデルファイルまたは暗号化モデルファイル)がモデル管理サーバ40のデータストレージ41に存在するとき、シミュレータ21Aは、上記シミュレータ21と同様に、データストレージ41から通信ネットワークNWを介して当該モデルファイルを取得することができる。シミュレーションツール23Aは、データストレージ41から取得された暗号化モデルファイルREFk(kは1~Kの範囲内の整数)を使用するライセンスがライセンス管理サーバ30に登録されているときにのみ、ライセンスインタフェース24から与えられた復号鍵kkを用いて暗号化モデルファイルREFkを復号(非暗号化)して非暗号化モデルファイルRDFkを構成することができる。より具体的には、シミュレータ21Aは、ライセンスインタフェース24から与えられた復号鍵kkを用いて暗号化モデルファイルREFkを復号して非暗号化モデルファイルRDFkを構成し、この非暗号化モデルファイルRDFkを一時記憶メモリに展開することができる。非暗号化モデルファイルRDFkには、実行形式ファイル(たとえばバイナリファイル)が含まれているので、シミュレータ21Aは、プロセッサにその実行形式ファイルを実行させることで、非暗号化モデルファイルRDFkに定義されているシミュレーションモデルに基づく計算機シミュレーションを実行することができる。
【0060】
次に、第3実施形態のシミュレーションシステムについて説明する。
【0061】
図12は、第3実施形態のシミュレーションシステム1Bの構成を概念的に示す図である。
図12に示されるように、シミュレーションシステム1Bは、シミュレーション装置10Bと、このシミュレーション装置10Bと通信ネットワークNWを介して接続されているライセンス管理サーバ30と、このライセンス管理サーバ30と連携してライセンスごとの課金処理を行う課金管理部31とを備えて構成されている。シミュレータ21Bは、シミュレーションツール23及びライセンスインタフェース24Bを有する。
【0062】
シミュレーション装置10Bの構成は、
図1のシミュレータ21に代えてシミュレータ21Bを有する点、及び、データストレージ26に格納された暗号化モデルファイルEF
1~EF
Mに復号プログラムが付加されていない点を除いて、
図1のシミュレーション装置10の構成と同じである。また本実施形態のシミュレータ21Bの構成は、
図1のライセンスインタフェース24に代えてライセンスインタフェース24Bを有する点を除いて、
図1のシミュレーションツール23の構成と同じである。本実施形態のライセンスインタフェース24Bは、上記ライセンスインタフェース24の機能に加えて、復号鍵を用いて暗号化モデルファイルEF
1~EF
Mを復号する復号機能を有する。
【0063】
ユーザは、シミュレーションツール23を用いて、インタフェースモデルを含むシステムモデルを作成することができる。
図12に示されるシミュレーションツール23は、ユーザにより作成されたシステムモデルSMiを有しているが、このシステムモデルSMiは一例であり、これに限定されるものではない。本実施形態では、インタフェースモデルを含むシステムモデルに基づく計算機シミュレーションを実行するために、シミュレータ21Bは、当該インタフェースモデルのパラメータで指定された非暗号化モデルファイルMF
n(nは1~Nの範囲内の整数)または暗号化モデルファイルEF
m(mは1~Mの範囲内の整数)をデータストレージ26から取得する。非暗号化モデルファイルMF
nをデータストレージ26から取得したときは、シミュレータ21Bは、上記シミュレータ21と同様に、非暗号化モデルファイルMF
nに定義されているシミュレーションモデルに基づく計算機シミュレーションを実行することができる。
【0064】
一方、暗号化モデルファイルEFmをデータストレージ26から取得したとき、シミュレータ21Bは、暗号化モデルファイルEFmを使用するためのライセンスがライセンス管理サーバ30に登録されているときにのみ、ライセンスインタフェース24Bの復号機能と復号鍵kmとを用いて暗号化モデルファイルEFmを復号(非暗号化)して非暗号化モデルファイルDFmを構成することができる。ライセンスインタフェース24Bは、暗号化モデルファイルEFmを使用するためのライセンスの存在が確認された場合にのみ、ライセンス管理サーバ30から取得された復号鍵kmを用いて暗号化モデルファイルEFmを復号して非暗号化モデルファイルDFmを構成することが可能である。シミュレータ21Bは、非暗号化モデルファイルDFmに定義されているシミュレーションモデルに基づく計算機シミュレーションを実行することができる。より具体的には、ライセンスインタフェース24Bは、復号鍵kmを用いて暗号化モデルファイルEFmを復号して非暗号化モデルファイルDFmを構成し、この非暗号化モデルファイルDFmを一時記憶メモリに展開することができる。非暗号化モデルファイルDFmには、実行形式ファイル(たとえばバイナリファイル)が含まれているので、シミュレータ21Bは、プロセッサ(図示せず)にその実行形式ファイルを実行させることで、非暗号化モデルファイルDFmに定義されているシミュレーションモデルに基づく計算機シミュレーションを実行することができる。
【0065】
データストレージ26は、シミュレーションツール23からの要求に応じて、インタフェースモデルIM1で指定された非暗号化モデルファイルMF
1と、インタフェースモデルIM2,IM3でそれぞれ指定された暗号化モデルファイルEF
2,EF
3とをシミュレータ21Bに供給する。シミュレータ21Bは、データストレージ26から取得された非暗号化モデルファイルMF
1を一時記憶メモリに展開する。ライセンスインタフェース24Bは、暗号化モデルファイルEF
2,EF
3を検知すると、復号鍵k
2,k
3を用いて暗号化モデルファイルEF
2,EF
3を復号して非暗号化モデルファイルDF
2,DF
3を構成し、これら非暗号化モデルファイルDF
2,DF
3を一時記憶メモリに展開することができる。その後、シミュレータ21Bは、サブシステムモデルM0,M4と、非暗号化モデルファイルMF
1,DF
2,DF
3でそれぞれ定義されたサブシステムモデルとに基づいて計算機シミュレーションを実行することができる。
図12に示されるライセンスインタフェース24Bは、第1実施形態の場合と同様に、非暗号化モデルファイルDF
2,DF
3の利用状況を示すログ情報を通信部29から課金管理部31へ送信する機能を有している。課金管理部31は、通信部29から受信されたログ情報に基づいてライセンスごとの課金処理を行うことができる。
【0066】
次に、
図13を参照しつつ、本実施形態のシミュレーション方法の処理手順について説明する。
図13は、シミュレーション装置10Bによるシミュレーション方法の処理手順の一例を概略的に示すフローチャートである。
【0067】
図13を参照すると、
図6と同様に、ステップS10,S11,S12,S13が実行される。ステップS13の後、取得されたモデルファイルが非暗号化モデルファイルであるときは(ステップS14のNO)、ステップS19に処理が移行する。一方、取得されたモデルファイルが暗号化モデルファイルであるときは(ステップS14のYES)、ライセンスインタフェース24Bの復号機能が起動する(ステップS15B)。当該ライセンスがライセンス管理サーバ30に登録されていないときは(ステップS16のNO)、以上で処理は終了する。
【0068】
一方、当該ライセンスが登録されているときは(ステップS16のYES)、ライセンスインタフェース24Bは、復号鍵を用いて暗号化モデルファイルを復号して非暗号化モデルファイルを構成し、その非暗号化モデルファイルを一時記憶メモリに記憶させる(ステップS18B)。次に、要求されたすべてのモデルファイルがデータストレージ26から取得されていないとき(ステップS19のNO)、ステップS13に処理が戻る。一方、要求されたすべてのモデルファイルがデータストレージ26から取得されたとき(ステップS19のYES)、シミュレータ21Bは、上記シミュレータ21と同様に、一時記憶メモリに記憶されている非暗号化モデルファイルで定義されているシミュレーションモデルを含むシステムモデルに基づいて計算機シミュレーションを実行する(ステップS20)。以上で処理は終了する。
【0069】
なお、
図13のフローチャートは、暗号化モデルファイルを使用するためのライセンスがライセンス管理サーバ30に登録されているか否かの確認が周期的に行われることを前提としたものである。シミュレーションツール23からの要求が生ずる度にライセンスインタフェース24Bがその確認を行う形態では、ステップS14からステップS18Bの間に、暗号化モデルファイルを使用するためのライセンスがライセンス管理サーバ30に登録されているか否かの確認を行うステップを設定すればよい。
【0070】
以上に説明したように本実施形態のシミュレーションシステム1Bでは、システムモデルがインタフェースモデルを含むとき、シミュレータ21Bは、当該インタフェースモデルのパラメータで指定された暗号化モデルファイルをデータストレージ26から取得する。シミュレータ21Bのライセンスインタフェース24Bは、当該暗号化ファイルを使用するためのライセンスがライセンス管理サーバ30に登録されているときにのみ、復号鍵を用いて暗号化ファイルを復号して非暗号化モデルファイルを構成する。シミュレータ21Bは、当該非暗号化モデルファイルで定義されているシミュレーションモデル(サブシステムモデル)を含むシステムモデルに基づいて計算機シミュレーションを実行することができる。これにより、シミュレーションモデルを適切に保護しつつシミュレータ21Bに簡便に再利用させることができる。ライセンスなしに、暗号化モデルファイルに含まれるシミュレーションモデルを利用することは困難である。したがって、シミュレーションモデル単位でライセンスを管理することができる。また第1実施形態と同様に、シミュレーションモデル単位で暗号化モデルファイルの使用状況を管理することができる。
【0071】
上記シミュレーションシステム1Bでは、シミュレータ21Bは、インタフェースモデルのパラメータで指定されるモデルファイルを、シミュレーション装置10に備わるデータストレージ26から取得していた。さらに、シミュレータ21Bは、上記第2実施形態のシミュレータ21Aと同様に、通信ネットワークNWを介して通信部29と接続された外部のデータストレージサーバから、インタフェースモデルのパラメータで指定されるモデルファイルを取得し利用することができる。
【0072】
上記シミュレーション装置10,10A,10Bの機能は、単数または複数のプロセッサを含む1台のコンピュータで実現されてもよいし、あるいは、通信経路を介して相互に接続された複数台のコンピュータに分散される形態で実現されてもよい。シミュレータ21,21A,21Bの機能は、不揮発性メモリ(コンピュータ読み取り可能な記録媒体)から読み出されたソフトウェアのコードを実行する、CPUやGPUなどの演算装置を含む単数または複数のプロセッサで実現されればよい。
【0073】
図9は、シミュレーション装置10,10A,10Bの機能を実現するハードウェア構成例である情報処理装置(コンピュータ)90の構成を概略的に示すブロック図である。情報処理装置90は、プロセッサ91,ランダムアクセスメモリ(RAM:Random Access Memory)92,不揮発性メモリ93,大容量メモリ94,通信回路95及び信号路96を含んで構成されている。信号路96は、プロセッサ91,RAM92,不揮発性メモリ93,大容量メモリ94及び通信回路95を相互に接続するためのバスである。RAM92は、プロセッサ91がディジタル信号処理を実行する際に一時的に使用されるデータ記憶領域である。プロセッサ91がCPUやGPUなどの演算装置を内蔵する場合には、不揮発性メモリ93は、プロセッサ91により実行されるソフトウェアのコードが記録されているデータ記録領域を有する。上記通信部29は、通信回路95で実現することができ、データストレージ26は、大容量メモリ94で実現することができる。
【0074】
以上、本開示に係る種々の実施形態及びその変形例について説明したが、上記の実施形態及びその変形例は例示に過ぎず、本発明の範囲を限定するものではない。たとえば、上記シミュレーションモデルとして、機械学習により得られた人工知能(Artificial Intelligence,AI)モデルが使用されてもよい。この場合のモデルファイルは、学習済みのニューラルネットワーク(Neural Network,NN)モデルの構造を定める各種パラメータ群(たとえば、活性化関数のパラメータ、層数及び重み係数)を有していればよい。
【0075】
本発明の趣旨及び範囲から逸脱することなく、上記実施形態の変更、追加及び改良を適宜行うことができることが理解されるべきである。本発明の範囲は、特許請求の範囲の記載に基づいて解釈されるべきであり、さらにその均等物を含むものと理解されるべきである。
【産業上の利用可能性】
【0076】
本開示に係るシミュレーション装置、シミュレーションシステム、シミュレーション方法及びコンピュータプログラムは、MBDなどのモデリング手法に基づく設計開発、及び、モデルベースシステムズエンジニアリング(MBSE:Model-Based Systems Engineering)に利用可能である。組込みシステムの設計開発の領域に限らず、その他様々な領域にも、本開示に係るシミュレーション装置、シミュレーションシステム、シミュレーション方法及びコンピュータプログラムは適用可能である。たとえば、スマートシティ(Smart City)用の3D都市モデルや制御モデルに基づくサービスの設計及び検証、スマート工場などの生産設備の制御モデルやプラントモデルの設計及び検証、並びに、現実世界の状態(たとえば、遠隔地にある発電所の状態やエンジンの状態)をセンサを用いてデジタル空間上に再現するデジタルツイン(Digital Twin)技術といった領域への適用も可能である。
【符号の説明】
【0077】
1,1A,2,2A:シミュレーションシステム、10,10A,10B:シミュレーション装置、21,21A,21B:シミュレータ、23,23A:シミュレーションツール、24,24B:ライセンスインタフェース(ライセンスI/F)、26:データストレージ、29:通信部、30:ライセンス管理サーバ、31:課金管理部、40:モデル管理サーバ、41:データストレージ、42:通信部、90:情報処理装置、91:プロセッサ、92:ランダムアクセスメモリ(RAM)、93:不揮発性メモリ、94:大容量メモリ、95:通信回路、96:信号路。
【手続補正書】
【提出日】2022-12-05
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
シミュレーションモデルを具体的に定義する情報を含まず、データストレージから外部のモデルファイルを呼び出すためのパラメータを含むサブシステムモデルとして作成されたインタフェースモデルを含むシステムモデルに基づく計算機シミュレーションを実行するように構成されたシミュレータと、
ライセンス管理サーバと通信ネットワークを介して接続された通信部と、
前記暗号化モデルファイルを使用するためのライセンスが前記ライセンス管理サーバに登録されているか否かを確認するように構成されたライセンスインタフェースと
を備え、
前記シミュレータは、前記インタフェースモデルの当該パラメータで指定された暗号化モデルファイルを前記データストレージから取得し、当該暗号化モデルファイルを使用するためのライセンスが前記ライセンス管理サーバに登録されているときにのみ、当該暗号化モデルファイルを復号して非暗号化モデルファイルを構成し、当該非暗号化モデルファイルで定義されているシミュレーションモデルに基づく計算機シミュレーションを実行するように構成されている、
ことを特徴とするシミュレーション装置。
【請求項2】
請求項1に記載のシミュレーション装置であって、
前記暗号化モデルファイルには、復号プログラムが付加されており、
前記シミュレータは、前記復号プログラムをプロセッサに実行させることにより前記暗号化モデルファイルを復号する、シミュレーション装置。
【請求項3】
請求項1に記載のシミュレーション装置であって、前記ライセンスインタフェースは、前記暗号化モデルファイルを復号するように構成されている、シミュレーション装置。
【請求項4】
請求項1から3のうちのいずれか1項に記載のシミュレーション装置であって、前記データストレージをさらに備えるシミュレーション装置。
【請求項5】
請求項1から3のうちのいずれか1項に記載のシミュレーション装置であって、前記データストレージは、前記通信ネットワークを介して前記通信部と接続されている、シミュレーション装置。
【請求項6】
請求項1から5のうちのいずれか1項に記載のシミュレーション装置であって、
前記ライセンスインタフェースは、当該非暗号化モデルファイルの利用状況を示すログ情報を前記通信部から送信するように構成されており、
前記通信部は、当該通信部から受信されたログ情報に基づいてライセンスごとの課金処理を行うように構成された課金管理部と前記通信ネットワークを介して接続されている、シミュレーション装置。
【請求項7】
請求項1から5のうちのいずれか1項に記載のシミュレーション装置と、前記ライセンス管理サーバとを備えたことを特徴とするシミュレーションシステム。
【請求項8】
請求項6に記載のシミュレーション装置と、前記ライセンス管理サーバと、前記課金管理部とを備えたことを特徴とするシミュレーションシステム。
【請求項9】
シミュレーションモデルを具体的に定義する情報を含まず、データストレージから外部のモデルファイルを呼び出すためのパラメータを含むサブシステムモデルとして作成されたインタフェースモデルを含むシステムモデルに基づく計算機シミュレーションを実行するように構成されたシミュレータと、ライセンス管理サーバと通信ネットワークを介して接続された通信部とを備えたシミュレーション装置において実施されるシミュレーション方法であって、
前記インタフェースモデルの当該パラメータで指定された暗号化モデルファイルを前記データストレージから取得するステップと、
前記暗号化モデルファイルを使用するためのライセンスが前記ライセンス管理サーバに登録されているか否かを確認するステップと、
前記ライセンスが前記ライセンス管理サーバに登録されているときにのみ、当該暗号化モデルファイルを復号して非暗号化モデルファイルを構成するステップと
を備え、
前記シミュレータが、当該非暗号化モデルファイルで定義されているシミュレーションモデルに基づく計算機シミュレーションを実行する、
ことを特徴とするシミュレーション方法。
【請求項10】
請求項9に記載のシミュレーション方法であって、
前記暗号化モデルファイルには、復号プログラムが付加されており、
前記暗号化モデルファイルは、前記復号プログラムをプロセッサに実行させることにより復号される、シミュレーション方法。
【請求項11】
請求項9または10に記載のシミュレーション方法であって、前記シミュレーション装置は前記データストレージをさらに備える、シミュレーション方法。
【請求項12】
請求項9から11のうちのいずれか1項に記載のシミュレーション方法であって、前記データストレージは、前記通信ネットワークを介して前記通信部と接続されている、シミュレーション方法。
【請求項13】
請求項9から12のうちのいずれか1項に記載のシミュレーション方法であって、
当該非暗号化モデルファイルの利用状況を示すログ情報を前記通信部から送信するステップをさらに備え、
前記通信部は、当該通信部から受信されたログ情報に基づいてライセンスごとの課金処理を行うように構成された課金管理部と前記通信ネットワークを介して接続されている、シミュレーション方法。
【請求項14】
不揮発性メモリから読み出されて単数または複数のプロセッサにより実行されるコンピュータプログラムであって、請求項9から13のうちのいずれか1項に記載のシミュレーション方法を前記単数または複数のプロセッサに実施させるように構成されたことを特徴とするコンピュータプログラム。
【手続補正書】
【提出日】2023-01-31
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
シミュレーションモデルを具体的に定義する情報を含まず、データストレージから外部のモデルファイルを呼び出すためのパラメータを含むサブシステムモデルとして作成されたインタフェースモデルを含むシステムモデルに基づく計算機シミュレーションを実行するように構成されたシミュレータと、
ライセンス管理サーバと通信ネットワークを介して接続された通信部と、
暗号化モデルファイルを使用するためのライセンスが前記ライセンス管理サーバに登録されているか否かを確認するように構成されたライセンスインタフェースと
を備え、
前記シミュレータは、前記インタフェースモデルの当該パラメータで指定された暗号化モデルファイルを前記データストレージから取得し、当該暗号化モデルファイルを使用するためのライセンスが前記ライセンス管理サーバに登録されているときにのみ、当該暗号化モデルファイルを復号して非暗号化モデルファイルを構成し、当該非暗号化モデルファイルで定義されているシミュレーションモデルに基づく計算機シミュレーションを実行するように構成されている、
ことを特徴とするシミュレーション装置。
【請求項2】
請求項1に記載のシミュレーション装置であって、
前記暗号化モデルファイルには、復号プログラムが付加されており、
前記シミュレータは、前記復号プログラムをプロセッサに実行させることにより前記暗号化モデルファイルを復号する、シミュレーション装置。
【請求項3】
請求項1に記載のシミュレーション装置であって、前記ライセンスインタフェースは、前記暗号化モデルファイルを復号するように構成されている、シミュレーション装置。
【請求項4】
請求項1から3のうちのいずれか1項に記載のシミュレーション装置であって、前記データストレージをさらに備えるシミュレーション装置。
【請求項5】
請求項1から3のうちのいずれか1項に記載のシミュレーション装置であって、前記データストレージは、前記通信ネットワークを介して前記通信部と接続されている、シミュレーション装置。
【請求項6】
請求項1から5のうちのいずれか1項に記載のシミュレーション装置であって、
前記ライセンスインタフェースは、当該非暗号化モデルファイルの利用状況を示すログ情報を前記通信部から送信するように構成されており、
前記通信部は、当該通信部から受信されたログ情報に基づいてライセンスごとの課金処理を行うように構成された課金管理部と前記通信ネットワークを介して接続されている、シミュレーション装置。
【請求項7】
請求項1から5のうちのいずれか1項に記載のシミュレーション装置と、前記ライセンス管理サーバとを備えたことを特徴とするシミュレーションシステム。
【請求項8】
請求項6に記載のシミュレーション装置と、前記ライセンス管理サーバと、前記課金管理部とを備えたことを特徴とするシミュレーションシステム。
【請求項9】
シミュレーションモデルを具体的に定義する情報を含まず、データストレージから外部のモデルファイルを呼び出すためのパラメータを含むサブシステムモデルとして作成されたインタフェースモデルを含むシステムモデルに基づく計算機シミュレーションを実行するように構成されたシミュレータと、ライセンス管理サーバと通信ネットワークを介して接続された通信部とを備えたシミュレーション装置において実施されるシミュレーション方法であって、
前記インタフェースモデルの当該パラメータで指定された暗号化モデルファイルを前記データストレージから取得するステップと、
前記暗号化モデルファイルを使用するためのライセンスが前記ライセンス管理サーバに登録されているか否かを確認するステップと、
前記ライセンスが前記ライセンス管理サーバに登録されているときにのみ、当該暗号化モデルファイルを復号して非暗号化モデルファイルを構成するステップと
を備え、
前記シミュレータが、当該非暗号化モデルファイルで定義されているシミュレーションモデルに基づく計算機シミュレーションを実行する、
ことを特徴とするシミュレーション方法。
【請求項10】
請求項9に記載のシミュレーション方法であって、
前記暗号化モデルファイルには、復号プログラムが付加されており、
前記暗号化モデルファイルは、前記復号プログラムをプロセッサに実行させることにより復号される、シミュレーション方法。
【請求項11】
請求項9または10に記載のシミュレーション方法であって、前記シミュレーション装置は前記データストレージをさらに備える、シミュレーション方法。
【請求項12】
請求項9から11のうちのいずれか1項に記載のシミュレーション方法であって、前記データストレージは、前記通信ネットワークを介して前記通信部と接続されている、シミュレーション方法。
【請求項13】
請求項9から12のうちのいずれか1項に記載のシミュレーション方法であって、
当該非暗号化モデルファイルの利用状況を示すログ情報を前記通信部から送信するステップをさらに備え、
前記通信部は、当該通信部から受信されたログ情報に基づいてライセンスごとの課金処理を行うように構成された課金管理部と前記通信ネットワークを介して接続されている、シミュレーション方法。
【請求項14】
不揮発性メモリから読み出されて単数または複数のプロセッサにより実行されるコンピュータプログラムであって、請求項9から13のうちのいずれか1項に記載のシミュレーション方法を前記単数または複数のプロセッサに実施させるように構成されたことを特徴とするコンピュータプログラム。