IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特表2024-506956物理モデル生成装置、制御方法、及びプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-15
(54)【発明の名称】物理モデル生成装置、制御方法、及びプログラム
(51)【国際特許分類】
   G05B 13/04 20060101AFI20240207BHJP
   G05B 23/02 20060101ALI20240207BHJP
【FI】
G05B13/04
G05B23/02 G
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023549928
(86)(22)【出願日】2021-03-23
(85)【翻訳文提出日】2023-08-17
(86)【国際出願番号】 JP2021011935
(87)【国際公開番号】W WO2022201294
(87)【国際公開日】2022-09-29
(81)【指定国・地域】
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成30年度 国立研究開発法人新エネルギー・産業技術総合開発機構「戦略的イノベーション創造プログラム(SIP)第2期/IoT社会に対応したサイバー・フィジカル・セキュリティ/(C2)信頼チェーンの維持技術の研究開発事業」に関する研究開発、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】シン タニヤ
(72)【発明者】
【氏名】渡部 正文
【テーマコード(参考)】
3C223
5H004
【Fターム(参考)】
3C223AA01
3C223AA11
3C223BA01
3C223CC01
3C223DD01
3C223FF22
3C223FF23
3C223GG01
5H004GA30
5H004GB01
5H004GB15
5H004KC28
5H004KC35
(57)【要約】
物理モデル生成装置(2000)は、構造情報(10)、状態情報(20)、及びテンプレート情報(30)を取得する。構造情報(10)は、対象制御システム(50)に含まれる物理コンポーネント(52)と、各物理コンポーネント(52)についてのコネクション(54)を表す。状態情報(20)は、物理コンポーネントの状態と、対応する状態において信号が通る1つ以上の動作コネクションとの対応を表す。テンプレート情報(30)は、挙動テンプレートとコネクション条件との対応を表す。挙動テンプレートは、対応するコネクション条件が満たされる動作コネクションを持つ、物理コンポーネント(52)に共通する挙動を表す。物理モデル生成装置(2000)は、各物理コンポーネント(52)について、とりうる各状態における物理コンポーネント(52)の挙動を表す挙動情報(42)が含まれる、物理モデル(40)を生成する。
【選択図】図1
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサと、
命令を格納するメモリと、を有し、
前記少なくとも1つのプロセッサは、前記命令を実行することにより、
対象制御システムに含まれる複数の物理コンポーネントと、前記複数の前記物理コンポーネントそれぞれについて、他の物理コンポーネントに対する1つ以上のコネクションと、が表される構造情報を取得し、
前記構造情報に表される前記複数の前記物理コンポーネントそれぞれについて、前記物理コンポーネントの状態と、対応する前記状態において信号が通る前記コネクションである1つ以上の動作コネクションと、の対応関係を1つ以上表す状態情報を取得し、
挙動テンプレートとコネクション条件との対応関係を複数表すテンプレート情報を取得し、前記挙動テンプレートは、対応する前記コネクション条件が満たされる動作コネクションを持つ前記物理コンポーネントに共通する1つ以上の挙動を表し、
前記構造情報、前記状態情報、及び前記テンプレート情報に基づいて、前記構造情報で表される前記複数の前記物理コンポーネントのそれぞれについて、前記物理コンポーネントの各前記状態における前記物理コンポーネントの1つ以上の挙動を表す挙動情報を生成することで、前記対象制御システムに含まれる前記複数の前記物理コンポーネントそれぞれについての挙動情報が含まれる、前記対象制御システムの物理モデルを生成する、ように構成される物理モデル生成装置。
【請求項2】
前記挙動情報の前記表記は、前記物理コンポーネントの識別子で置換されるべき第1キーワード、前記物理コンポーネントの前記状態の識別子で置換されるべき第2キーワード、又は前記物理コンポーネントから出力される1つ以上の値によって置換されるべき第3キーワードを含み、
或る状態における或る物理コンポーネントについて、前記挙動情報の前記生成は、その物理コンポーネントの識別子で前記挙動テンプレートに表されている前記第1キーワードを置換すること、その状態の識別子で前記挙動テンプレートに表されている前記第2キーワードを置換すること、又は、その状態にあるその物理コンポーネントによって出力される1つ以上の値で前記挙動テンプレートに表されている前記第3キーワードを置換することを含む、請求項1に記載の物理モデル生成装置。
【請求項3】
前記コネクション条件は、コントローラに接続されている入力ポートが動作しているか否か、コントローラ以外の前記物理コンポーネントに接続されている入力ポートが動作しているか否か、及び、コントローラに接続されている出力ポートが動作しているか否かの組み合わせで定義される、請求項1又は2に記載の物理モデル生成装置。
【請求項4】
前記状態情報は、前記物理コンポーネントの各種別について定義され、
前記状態情報の前記取得は、前記構造情報で表される前記複数の前記物理コンポーネントそれぞれについて、その物理コンポーネントの前記種別に対応する前記状態情報を取得することを含む、請求項1から3いずれか一項に記載の物理モデル生成装置。
【請求項5】
前記挙動テンプレートは、コンプロマイズされた前記物理コンポーネントの1つ以上の挙動と、コンプロマイズされていない前記物理コンポーネントの1つ以上の挙動と、を含む請求項1から4いずれか一項に記載の物理モデル生成装置。
【請求項6】
対象制御システムに含まれる複数の物理コンポーネントと、前記複数の前記物理コンポーネントそれぞれについて、他の物理コンポーネントに対する1つ以上のコネクションと、が表される構造情報を取得することと、
前記構造情報に表される前記複数の前記物理コンポーネントそれぞれについて、前記物理コンポーネントの状態と、対応する前記状態において信号が通る前記コネクションである1つ以上の動作コネクションと、の対応関係を1つ以上表す状態情報を取得することと、
挙動テンプレートとコネクション条件との対応関係を複数表すテンプレート情報を取得することとを含み、前記挙動テンプレートは、対応する前記コネクション条件が満たされる動作コネクションを持つ前記物理コンポーネントに共通する1つ以上の挙動を表し、
前記構造情報、前記状態情報、及び前記テンプレート情報に基づいて、前記構造情報で表される前記複数の前記物理コンポーネントのそれぞれについて、前記物理コンポーネントの各前記状態における前記物理コンポーネントの1つ以上の挙動を表す挙動情報を生成することで、前記対象制御システムに含まれる前記複数の前記物理コンポーネントそれぞれについての挙動情報が含まれる、前記対象制御システムの物理モデルを生成することを含む、コンピュータによって実行される制御方法。
【請求項7】
前記挙動情報の前記表記は、前記物理コンポーネントの識別子で置換されるべき第1キーワード、前記物理コンポーネントの前記状態の識別子で置換されるべき第2キーワード、又は前記物理コンポーネントから出力される1つ以上の値によって置換されるべき第3キーワードを含み、
或る状態における或る物理コンポーネントについて、前記挙動情報の前記生成は、その物理コンポーネントの識別子で前記挙動テンプレートに表されている前記第1キーワードを置換すること、その状態の識別子で前記挙動テンプレートに表されている前記第2キーワードを置換すること、又は、その状態にあるその物理コンポーネントによって出力される1つ以上の値で前記挙動テンプレートに表されている前記第3キーワードを置換することを含む、請求項6に記載の制御方法。
【請求項8】
前記コネクション条件は、コントローラに接続されている入力ポートが動作しているか否か、コントローラ以外の前記物理コンポーネントに接続されている入力ポートが動作しているか否か、及び、コントローラに接続されている出力ポートが動作しているか否かの組み合わせで定義される、請求項6又は7に記載の制御方法。
【請求項9】
前記状態情報は、前記物理コンポーネントの各種別について定義され、
前記状態情報の前記取得は、前記構造情報で表される前記複数の前記物理コンポーネントそれぞれについて、その物理コンポーネントの前記種別に対応する前記状態情報を取得することを含む、請求項6から8いずれか一項に記載の制御方法。
【請求項10】
前記挙動テンプレートは、コンプロマイズされた前記物理コンポーネントの1つ以上の挙動と、コンプロマイズされていない前記物理コンポーネントの1つ以上の挙動と、を含む請求項6から9いずれか一項に記載の制御方法。
【請求項11】
対象制御システムに含まれる複数の物理コンポーネントと、前記複数の前記物理コンポーネントそれぞれについて、他の物理コンポーネントに対する1つ以上のコネクションと、が表される構造情報を取得することと、
前記構造情報に表される前記複数の前記物理コンポーネントそれぞれについて、前記物理コンポーネントの状態と、対応する前記状態において信号が通る前記コネクションである1つ以上の動作コネクションと、の対応関係を1つ以上表す状態情報を取得することと、
挙動テンプレートとコネクション条件との対応関係を複数表すテンプレート情報を取得することとをコンピュータに実行させ、前記挙動テンプレートは、対応する前記コネクション条件が満たされる動作コネクションを持つ前記物理コンポーネントに共通する1つ以上の挙動を表し、
前記構造情報、前記状態情報、及び前記テンプレート情報に基づいて、前記構造情報で表される前記複数の前記物理コンポーネントのそれぞれについて、前記物理コンポーネントの各前記状態における前記物理コンポーネントの1つ以上の挙動を表す挙動情報を生成することで、前記対象制御システムに含まれる前記複数の前記物理コンポーネントそれぞれについての挙動情報が含まれる、前記対象制御システムの物理モデルを生成することをコンピュータに実行させるプログラムが格納されているコンピュータ可読記憶媒体。
【請求項12】
前記挙動情報の前記表記は、前記物理コンポーネントの識別子で置換されるべき第1キーワード、前記物理コンポーネントの前記状態の識別子で置換されるべき第2キーワード、又は前記物理コンポーネントから出力される1つ以上の値によって置換されるべき第3キーワードを含み、
或る状態における或る物理コンポーネントについて、前記挙動情報の前記生成は、その物理コンポーネントの識別子で前記挙動テンプレートに表されている前記第1キーワードを置換すること、その状態の識別子で前記挙動テンプレートに表されている前記第2キーワードを置換すること、又は、その状態にあるその物理コンポーネントによって出力される1つ以上の値で前記挙動テンプレートに表されている前記第3キーワードを置換することを含む、請求項11に記載の記憶媒体。
【請求項13】
前記コネクション条件は、コントローラに接続されている入力ポートが動作しているか否か、コントローラ以外の前記物理コンポーネントに接続されている入力ポートが動作しているか否か、及び、コントローラに接続されている出力ポートが動作しているか否かの組み合わせで定義される、請求項11又は12に記載の記憶媒体。
【請求項14】
前記状態情報は、前記物理コンポーネントの各種別について定義され、
前記状態情報の前記取得は、前記構造情報で表される前記複数の前記物理コンポーネントそれぞれについて、その物理コンポーネントの前記種別に対応する前記状態情報を取得することを含む、請求項11から13いずれか一項に記載の記憶媒体。
【請求項15】
前記挙動テンプレートは、コンプロマイズされた前記物理コンポーネントの1つ以上の挙動と、コンプロマイズされていない前記物理コンポーネントの1つ以上の挙動と、を含む請求項11から14いずれか一項に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は全体として、制御システムの物理モデルに関する。
【背景技術】
【0002】
制御システムの物理モデルが様々な利用で用いられている。制御システムは、センサ、アクチュエータ、コントローラなどといった物理コンポーネントを含む。例えば、制御システムのセキュリティリスクアセスメントを実施するために、物理モデル上で様々なシミュレーションが行われる。
【0003】
特許文献1は、物理モデルの自動生成に関する技術を開示する。具体的には、特許文献1は、システムの通常動作モードを記述する入力モデルを取得し、システムの通常ではない動作モードを表す拡張モデルを生成する技術を開示する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】欧州特許出願公開第2838016号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1によって開示されている技術は、入力モデルが事前に用意されていることを前提としている。そのため、システムの通常動作モードを表すモデルを、技術者が手動で作成しなければならないと考えられる。本開示の目的は、制御システムの物理モデルの生成を容易にする技術を開示することである。
【課題を解決するための手段】
【0006】
本開示の物理モデル生成装置は、少なくとも1つのプロセッサと、命令を格納するメモリと、を有する。前記少なくとも1つのプロセッサは、前記命令を実行することにより、対象制御システムに含まれる複数の物理コンポーネントと、前記複数の前記物理コンポーネントそれぞれについて、他の物理コンポーネントに対する1つ以上のコネクションと、が表される構造情報を取得し、前記構造情報に表される前記複数の前記物理コンポーネントそれぞれについて、前記物理コンポーネントの状態と、対応する前記状態において信号が通る前記コネクションである1つ以上の動作コネクションと、の対応関係を1つ以上表す状態情報を取得し、挙動テンプレートとコネクション条件との対応関係を複数表すテンプレート情報を取得し、前記挙動テンプレートは、対応する前記コネクション条件が満たされる動作コネクションを持つ前記物理コンポーネントに共通する1つ以上の挙動を表し、前記構造情報、前記状態情報、及び前記テンプレート情報に基づいて、前記構造情報で表される前記複数の前記物理コンポーネントのそれぞれについて、前記物理コンポーネントの各前記状態における前記物理コンポーネントの1つ以上の挙動を表す挙動情報を生成することで、前記対象制御システムに含まれる前記複数の前記物理コンポーネントそれぞれについての挙動情報が含まれる、前記対象制御システムの物理モデルを生成する、ように構成される。
【0007】
本開示の制御方法は、コンピュータによって実行される。当該制御方法は、対象制御システムに含まれる複数の物理コンポーネントと、前記複数の前記物理コンポーネントそれぞれについて、他の物理コンポーネントに対する1つ以上のコネクションと、が表される構造情報を取得することと、前記構造情報に表される前記複数の前記物理コンポーネントそれぞれについて、前記物理コンポーネントの状態と、対応する前記状態において信号が通る前記コネクションである1つ以上の動作コネクションと、の対応関係を1つ以上表す状態情報を取得することと、挙動テンプレートとコネクション条件との対応関係を複数表すテンプレート情報を取得することとを含み、前記挙動テンプレートは、対応する前記コネクション条件が満たされる動作コネクションを持つ前記物理コンポーネントに共通する1つ以上の挙動を表し、前記構造情報、前記状態情報、及び前記テンプレート情報に基づいて、前記構造情報で表される前記複数の前記物理コンポーネントのそれぞれについて、前記物理コンポーネントの各前記状態における前記物理コンポーネントの1つ以上の挙動を表す挙動情報を生成することで、前記対象制御システムに含まれる前記複数の前記物理コンポーネントそれぞれについての挙動情報が含まれる、前記対象制御システムの物理モデルを生成することを含む。
【0008】
本開示のコンピュータ可読記憶媒体は、前述した制御方法の各ステップをコンピュータに実行させるプログラムを格納する。
【発明の効果】
【0009】
本開示によれば、制御システムの物理モデルの生成を容易にする技術を提供することができる。
【図面の簡単な説明】
【0010】
図1図1は、実施形態1の物理モデル生成装置の機能構成の例を表すブロック図である。
図2図2は、物理モデル生成装置を実現するコンピュータのハードウエア構成の例を示すブロック図である。
図3図3は、実施形態1の物理モデル生成装置によって実行される処理の流れを表すフロー図である。
図4図4は、対象制御システムの構造の例を表す。
図5図5は、構造情報の例をテーブル形式で表す。
図6図6は、状態情報の例をテーブル形式で表す。
図7図7は、コネクション条件の例を表す。
図8図8は、テンプレート情報の例をテーブル形式で表す。
図9図9は、物理モデルの例をテーブル形式で示す。
図10図10は、物理モデルを生成する具体的な処理の流れの例を表すフロー図である。
図11図11は、第2例の対象制御システムの構造を表す。
図12A図12Aは、第2例の対象制御システムの構造情報を表す。
図12B図12Bは、第2例の対象制御システムの構造情報を表す。
図13図13は、第2例の対象制御システムに含まれるプッシュボタンがとりうる状態が表されている、状態情報を表す。
図14図14は、第2例の対象制御システムに含まれるオペレータがとりうる状態が表されている、状態情報を表す。
図15A図15Aは、第2例の対象制御システムについて生成される物理モデルを表す。
図15B図15Bは、第2例の対象制御システムについて生成される物理モデルを表す。
【発明を実施するための形態】
【0011】
以下、本開示に係る実施形態について、図面を参照しながら説明する。複数の図を通して同じ要素には同じ符号が付され、冗長な説明は必要に応じて省略される。さらに、所定の情報(例えば、所定の値や所定の閾値)は、特に断らない限り、その情報を利用するコンピュータからアクセス可能な記憶装置に予め格納されている。
【0012】
実施形態1
図1は、実施形態1の物理モデル生成装置2000の機能構成の例を表すブロック図である。物理モデル生成装置2000は、モデル化すべき制御システム(以下、対象制御システム50)の物理モデル40を生成する。対象制御システム50は、複数の物理コンポーネント52を含む。物理コンポーネント52は、センサ、インジケータ、アクチュエータ、コントローラ、及び他の機器を含みうる。例えば、コンベヤベルトシステムは、プッシュボタン、インジケータ、コントローラ、及びコンベヤベルトを含みうる。コントローラは、プログラマブルロジックコントローラ(PLC: Programmable Logic Controller)と、他の物理コンポーネント52の監視及び制御を行う分散制御システム(DCS: Distributed Control System)とを含みうる。
【0013】
物理モデル40は、対象制御システム50の各物理コンポーネント52の挙動を表す必要がある。しかしながら、各物理コンポーネント52の挙動を手動で定義することは、長い時間を要する。特に、物理コンポーネント52は、動作中や異常などといった複数の状態をとりうり、それらの挙動はそれらの状態に依存しうる。この事実は、手動による物理コンポーネント52の挙動の定義を、より時間がかかるものにする。
【0014】
そこで、物理モデル生成装置2000は、各物理コンポーネント52がとりうる状態と、挙動のテンプレート情報とに基づいて、各物理コンポーネント52の挙動を表す物理モデル40を自動的に生成する。そのために、物理モデル生成装置2000は、取得部2020及び生成部2040を有し、これらの構成部は以下のように動作しうる。
【0015】
取得部2020は、対象制御システム50の構造を表す構造情報10を取得する。具体的には、構造情報10は、対象制御システム50に含まれる各物理コンポーネント52を表す。さらに、構造情報10は、各物理コンポーネント52について、その物理コンポーネント52と他の物理コンポーネント52との間のコネクションが表されている1つ以上のコネクション54を表す。
【0016】
取得部2020は、各物理コンポーネント52について、状態情報20を取得する。状態情報20は、1つ以上の物理コンポーネントのとりうる状態を表す。ここで、物理コンポーネントがとりうる状態は、その種別(「コントローラ」や「コンベヤベルト」など)に依存しうる。そのため、状態情報20は、物理コンポーネントの各種別について定義されうる。各物理コンポーネント52の種別は、構造情報10に示されうる。物理モデル生成装置2000は、物理コンポーネント52の各種別について、状態情報20を取得する。
【0017】
状態情報20はさらに、物理コンポーネントの各状態について、その状態において信号が尊信されうる、物理コンポーネントの1つ以上のコネクションを示す。以下、特定の状態において信号が送信される、物理コンポーネントのコネクションは、その状態に対応する「動作コネクション」と表される。そのため例えば、状態情報20は、物理コンポーネントの各種別について、物理コンポーネントの状態と、対応する状態における物理コンポーネントの1つ以上の動作コネクションとの対応付けを示す。
【0018】
構造情報10及び状態情報20に基づいて、物理モデル生成装置2000は、対象制御システム50内の各物理コンポーネント52がとりうる状態を把握できる。さらに、物理モデル生成装置2000は、各物理コンポーネント52のどのコネクション54が、各状態において送信又は受信に利用されるのかを把握できる。
【0019】
取得部2020は、物理コンポーネントの挙動のテンプレートを表すテンプレート情報30をさらに取得する。具体的には、テンプレート情報30は、コネクション条件ごとに挙動テンプレートを含む。言い換えれば、挙動テンプレートとコネクション条件との対応付けがテンプレート情報30に含まれる。
【0020】
コネクション条件は、1つ以上の動作コネクションに関する1つ以上の条件を示す。挙動テンプレートは、その挙動テンプレートに対応するコネクション条件が満たされる動作コネクションを持つ物理コンポーネントに共通する、1つ以上の挙動を表す。これは、物理コンポーネント52の動作コネクションに関する条件の各集合について、テンプレート情報30が物理コンポーネント52の1つ以上の挙動を示すことを意味する。
【0021】
構造情報10、状態情報20、及びテンプレート情報30を利用することにより、生成部2040は、対象制御システム50の各物理コンポーネント52についての挙動情報42を含む物理モデル40を生成する。物理コンポーネント52の挙動情報42は、状態情報20に示されているその物理コンポーネント52の各状態について、その物理コンポーネント52の挙動を表す。その状態における物理コンポーネント52の挙動は、その状態におけるその物理コンポーネント52の動作コネクションによって満たされる、コネクション条件に対応する挙動テンプレートに基づいて定まる。
【0022】
<作用効果の例>
物理モデル生成装置2000は、各物理コンポーネント52の挙動を表す、ガーゲット制御システム50の物理モデル40を生成する。物理モデル40は、構造情報10、状態情報20、及びテンプレート情報30を用いて生成される。物理モデル生成装置2000は、対象制御システム50について通常モードの動作を表す物理モデルを用意することをユーザに要求しない。そのため、ユーザにとって、対象制御システム50の物理モデルの生成が容易である。
【0023】
さらに、構造情報10、状態情報20、及びテンプレート情報30を利用することにより、物理コンポーネント52とその状態との各組み合わせについて、挙動のテンプレートを得ることができる。そのため、物理モデル生成装置2000は、物理コンポーネント52の複数の状態それぞれについて挙動を特定することができ、それにより、物理コンポーネント52の複数の状態それぞれについての挙動を示す物理モデル40を生成する。
【0024】
以下、実施形態1の物理モデル生成装置2000の詳細について記述される。
【0025】
<ハードウエア構成の例>
物理モデル生成装置2000は、1つ以上のコンピュータで実現されうる。それら1つ以上のコンピュータのそれぞれは、物理モデル生成装置2を実現するために作成された専用のコンピュータであってもよいし、パーソナルコンピュータ(PC: Personal Computer)、サーバマシン又はモバイルデバイスなどの汎用のコンピュータであってもよい。
【0026】
物理モデル生成装置2000は、コンピュータにアプリケーションをインストールすることで実現されうる。そのアプリケーションは、コンピュータを物理モデル生成装置2000として機能させるプログラムで実現される。言い換えれば、そのプログラムは、物理モデル生成装置2000の機能構成部を実装したものである。
【0027】
図2は、物理モデル生成装置2000を実現するコンピュータ1000のハードウエア構成の例を示すブロック図である。図2において、コンピュータ1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。
【0028】
バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が相互にデータの送信及び受信をするためのデータ通信路である。プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などといったプロセッサである。メモリ1060は、RAM(Random Access Memory)又は ROM(Read Only Memory)などの主記憶要素である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、又はメモリカードなどの補助記憶要素である。入出力インタフェース1100は、コンピュータ1000と周辺デバイス(キーボード、マウス、又はディスプレイデバイスなど)との間のインタフェースである。ネットワークインタフェース1120は、コンピュータ1000とネットワークとの間のインタフェースである。ネットワークは、LAN(Local Area Network)でもよいし、WAN(Wide Area Network)でもよい。ストレージデバイス1080は、前述したプログラムを格納しうる。CPU1040は、そのプログラムを実行することで、物理モデル生成装置2000の各機能構成部を実現する。
【0029】
コンピュータ1000のハードウエア構成は、図2に示される構成に限定されない。例えば、前述したように、物理モデル生成装置2000は複数のコンピュータで実現されうる。この場合、それらのコンピュータは、ネットワークを介して互いに接続されうる。
【0030】
<処理の流れ>
図3は、実施形態1の物理モデル生成装置2000によって実行される処理の流れを表すフロー図である。取得部2020は構造情報10を取得する(S102)。取得部2020は、さらに、各物理コンポーネント52について状態情報20を取得する(S104)次に、取得部2020はテンプレート情報30を取得する(S106)。生成部2040は、対象制御システム50の各物理コンポーネント52について挙動情報42が含まれる、物理モデル40を生成する。
【0031】
ここで、物理モデル生成装置2000によって実行される処理の流れは、図3に示されているものに限定されない。例えば各情報は、それが利用される前に取得される限りにおいて、任意のタイミングで取得されうる。例えばテンプレート情報30は、状態情報20が取得されるよりも前に取得されてもよい。
【0032】
<構造情報の取得:S102>
取得部2020は構造情報10を取得する(S102)。構造情報10は、対象制御システム50の構造を表す。具体的には、対象制御システム50を構成する物理コンポーネント52と、物理コンポーネント52を他の物理コンポーネント52と接続するコネクション54とを表す。
【0033】
図4は、対象制御システム50の構造の例を表す。この対象制御システム50は、7つの物理コンポーネント(3つのプッシュボタン「B101」、「B102」、及び「SW102」と、2つのインジケータ「FI101」及び「CR101」と、コンベヤベルト「CB1」と、コントローラ「PLC1」)を含む。図4において、各楕円は、それを通じて物理コンポーネント52が他の物理コンポーネント52と接続されるポートを表す。さらに、矢印は信号の流れを表す。例えば、プッシュボタン B101 は出力ポート「STATE」を有する。この出力ポートは、コントローラ PLC1 の「I01」という入力ポートを通じて、プッシュボタン B101 をコントローラ PLC1 へ繋いでいる。
【0034】
図5は、構造情報10の例をテーブル形式で表す。図5のテーブル100は構造情報10の例であり、図4に表されている対象制御システム50の構造を示す。テーブル100は、「識別子102」、「種別104」、及び「コネクション106」という列を有する。物理コンポーネント52の特徴が、テーブル100の1つ以上の行によって示されている。
【0035】
識別子102の値は、対応する物理コンポーネント52の識別子を示す。種別104の値は、物理コンポーネント52の種別を示す。例えば、図5のテーブル100の1行目は、対象制御システム50が、その識別子が「B101」であってなおかつその種別が「PUSH BUTTON」である物理コンポーネント52を含むことを示す。コネクション106の値は、物理コンポーネント52を他の物理コンポーネント52へ接続するコネクション54の1つを示す。
【0036】
コネクション106は、さらに、「ポート108」、「方向110」、及び「コンポーネント112」という列に分けられる。ポート108の値は、物理コンポーネント52のポートの識別子を示す。例えば、図5のテーブル100の1行目は、物理コンポーネント B101 が、ポート「STATE」を持つコネクション54を有することを示す。
【0037】
方向110の値は、コネクション54の方向を示す。具体的には、方向110の値「SIGNAL-OUT」は、ポート108が出力ポートであり、かつ、そのポートを通じて物理コンポーネント52から信号が出力されることを示す。一方、方向110の値「SIGNAL-IN」は、ポート108が入力ポートであり、かつ、そのポートを通じて物理コンポーネント52へ信号が入力されることを示す。例えば、図5のテーブル100の1行目は、プッシュボタン B101 のポート STATE が出力ポートであることを示す。
【0038】
コンポーネント112の値は、コネクション54の他の一端を示す。例えば、図5のテーブル100の1行目は、コネクション54がプッシュボタン B101 をコントローラ PLC1 へ接続していることを示す。
【0039】
構造情報10を取得する方法は様々でありうる。例えば、取得部2020によって取得されるべき構造情報10は、プラントモデル生成装置2000からアクセス可能な記憶装置に予め格納されている。この場合、取得部2020は、その記憶装置から構造情報10を読み出す。その他にも例えば、取得部2020は、他の装置から送信される構造情報10を受信しうる。その他にも例えば、ユーザによって構造情報10が物理モデル生成装置2000へ手動で入力され、ユーザによって入力された構造情報10を取得部2020が取得する。
【0040】
<状態情報20の取得:S104>
取得部2020は、各物理コンポーネント52について状態情報20を取得する(S104)。状態情報20は、各物理コンポーネント52がとりうる状態を表す。前述したように、物理コンポーネント52がとりうる状態は、その種別に依存しうる。例えば、図5に示される構造を持つ対象制御システム50は3つのプッシュボタンを持ち、それらがとりうる状態は互いに同じである。そのため、状態情報20は、物理コンポーネントの種別ごとに作られうる。
【0041】
図6は、状態情報20の例をテーブル形式で表す。図6に示されるテーブル200は、CONVEYOR BELT という種別の物理コンポーネント52がとりうる状態を表す、構造情報10の例である。
【0042】
テーブル200は、「識別子202」、「入力ポート204」、「出力ポート206」、「値208」、及び「初期値210」という列を有する。テーブル200の各行は、そのテーブル100に対応する種別に属する物理コンポーネント52がとりうる状態の1つに関する情報を示す。
【0043】
識別子202の値は、対応する状態の識別子を示す。入力ポート204の値は、その状態で動作している物理コンポーネント52の入力ポートの識別子を示す。なお、ここでの「動作している」という用語は、ポートが通信に利用されていることを意味する。例えば、図6のテーブル200の1行目は、種別 CONVEYOR BELT の物理コンポーネント52の状態が WORKING である場合、その物理コンポーネント52の入力ポート CMD が動作する(言い換えれば、他の物理コンポーネント52から送信される信号の受信に利用される)ことを示す。
【0044】
同様に、出力ポート206の値は、その状態で動作している物理コンポーネント52の出力ポートの識別子を示す。例えば、図6のテーブル200の1行目は、種別 CONVEYOR BELT の物理コンポーネント52の状態が WORKING である場合、その物理コンポーネント52の出力ポート STATE が動作する(言い換えれば、他の物理コンポーネント52から送信される信号の受信に利用される)ことを示す。
【0045】
値208は、物理コンポーネント52から出力される信号が表しうる値を示す。例えば、図6のテーブル200の1行目は、種別 CONVEYOR BELT の物理コンポーネント52の状態が WORKING である場合、その出力信号が「OFF」又は「ON」を表しうることを示す。ここで、テーブル200に示されている [0: OFF, 1: ON] という表記は、値 OFF と ON がそれぞれ0番目の値と1番目の値として扱われることを示す。
【0046】
初期値210の値は、物理コンポーネント52から出力される信号によって示される初期値を示す。例えば、図6のテーブル200の1行目は、図6のテーブル200の1行目は、種別 CONVEYOR BELT の物理コンポーネント52の状態が WORKING である場合、出力信号によって示される初期値が OFF であることを示す。
【0047】
状態情報20を取得する方法には様々なものがありうる。例えば。取得部2020によって取得されるべき状態情報20は、プラントモデル生成装置2000からアクセス可能な記憶装置に予め格納されている。この場合、取得部2020は、その記憶装置から状態情報20を読み出す。その他にも例えば、取得部2020は、他の装置から送信される状態情報20を受信しうる。その他にも例えば、ユーザによって状態情報20が物理モデル生成装置2000へ手動で入力され、ユーザによって入力された状態情報20を取得部2020が取得する。
【0048】
ここで、状態情報20が物理コンポーネントの種別ごとに用意される場合、取得部2020は、互いに同一の種別に分類される複数の物理コンポーネント52について、1つの状態情報20を取得すれば十分である。例えば、図5のテーブル100によって対象制御システム50の構造が示される場合、対象制御システム50の中には3つのプッシュブタンがあるものの、取得部2020は、種別 PUSH BUTTON について状態情報20を一回取得する。
【0049】
<テンプレート情報30の取得:S106>
取得部2020はテンプレート情報30を取得する(S106)テンプレート情報30は、各所定のコネクション条件について、物理コンポーネント52の挙動を表す。コネクション条件は、動作中のコネクション54に関する条件又は条件の集合によって定義される。ここで、テンプレート情報30について詳細に記載する前に、コネクション条件についてさらに詳細な説明を記載する。
【0050】
図7は、コネクション条件の例を表す。図7のテーブル300は、所定のコネクション条件の集合の例である。テーブル300は、「識別子302」、「条件C1」、「条件C2」、及び「条件C3」という列を有する。条件C1は、「動作コネクションが入力ポートを有し、かつ、動作コネクションの他の一端がコントローラではない」という条件を示す。条件C2は、「動作コネクションが入力ポートを有し、かつ、動作コネクションの他の一端がコントローラである」という条件を示す。条件C3は、「動作コネクションが出力ポートを有し、かつ、動作コネクションの他の一端がコントローラである」という条件を示す。ここで、コネクション条件の定義に利用される条件の集合は、前述した条件C1からC3に限定されない。
【0051】
各コネクション条件は、テーブル300の1つの行で表される。識別子302の値は、コネクション条件の識別子を示す。コネクション条件は、条件C1からC3の充足又は非充足の集合で表される。例えば、コネクション条件「S」は、「条件C1とC2を充足する一方で、条件C3は充足しない」という条件を表す。
【0052】
テンプレート情報30は、各コネクション条件(例えば、図7に示されているコネクション条件S、S2、A、及びAS)について、物理コンポーネントの挙動を表す。図8は、テンプレート情報30の例をテーブル形式で表す。図8のテーブル400は、コネクション条件と、対応するコネクション条件が満たされる動作コネクションを持つ物理コンポーネントに共通する挙動との対応を示す。
【0053】
テーブル400は、「コネクション条件402」及び「挙動テンプレート404」という列を有する。コネクション条件402の値は、所定のコネクション条件の1つを示す。挙動テンプレート404の値は、コネクション条件が満たされる動作コネクションを持つ物理コンポーネントの挙動を示す。例えば、テーブル400の1行目は、コネクション条件Sが満される(すなわち、条件C1とC3が満たされる一方で条件C2が満たされない)動作コネクションを持つ物理コンポーネント52に共通する挙動を示す。
【0054】
挙動テンプレート404によって表される挙動は、テーブル400を用いて挙動情報40を生成する際に置換されるべきキーワードを含む。そうすることで、複数のケースに共通する挙動テンプレート404を、1つのケースに特有の記述に変換することができる。
【0055】
例えばテーブル400は、「$CN$」、「$SN$」、「$SV{i}$"」、及び「$INPUT-CN$」というキーワードを含む。キーワード「$CN$」は、任意の物理コンポーネントを表すために利用され、具体的な物理コンポーネントの識別子で置換される。キーワード「$SN$」は、物理コンポーネントの任意の状態を表すために利用され、物理コンポーネントの具体的な状態の識別子で置換される。
【0056】
物理コンポーネント52の識別子が CB1 であり、物理コンポーネント52の状態が WORKING であるとする。この場合、「$CN$.send_$SN$[t]」というフレーズは「CB1.send_WORKING[t]」に置換される。ここで、CB1.send_WORKING[t] は、状態が WORKING である物理コンポーネント CB1 によって時点tに送信される値を示す。
【0057】
キーワード「$SV{i}$」は、ある状態の物理コンポーネントについて、出力又は入力される1つ以上の値を表すために利用される。その状態にある物理コンポーネント52の状態情報20が、その状態の物理コンポーネント52から出力される1つ以上の値を示す場合、キーワード「$SV{i}$」はそれらの値で置換される。一方、その状態にある物理コンポーネント52の状態情報20が、その状態の物理コンポーネント52から出力される値を1つも示さない場合、キーワード「$SV{i}$」は、その物理コンポーネント52へ入力される1つ以上の値(すなわち、コネクション54の他の一端から出力される値)で置換される。
【0058】
ここで、状態情報20がその状態の物理コンポーネントから出力される複数の値を示す場合、複数の式が生成され、「or」を用いてそれらが互いに連結される。
【0059】
例えば、物理コンポーネント52の識別子が CB1 であり、物理コンポーネント52の状態が WORKING であるとする。さらに、物理コンポーネント CB1 に対応する状態情報20が、状態 WORKING について、「0:OFF, 1:ON」という値を示すとする。この場合、「$CN$.send_$SN$[t]=$SV{i}」というフレーズは、「CB1.send_WORKING[t]=OFF or CB1.send_WORKING[t]=ON」に変換される。
【0060】
キーワード「$INPUT-CN$」は、挙動情報40が生成される物理コンポーネント52について、そのコネクションの他の一端にある物理コンポーネントを表すために利用される。
【0061】
図7の挙動テンプレート404は、コンプロマイズされていないケースだけでなく、コンプロマイズされているケースについても、物理コンポーネントの挙動を示す。例えば、テーブル400の1行目において、挙動テンプレート404の1行目の記述は、「not in compromised」というフレーズを含むため、コンプロマイズされていない物理コンポーネントの挙動を示す。一方、テーブル400の1行目において、挙動テンプレート404の2行目の記述は、「in compromised」というフレーズを含むため、コンプロマイズされている物理コンポーネントの挙動を示す。挙動テンプレート404が、コンプロマイズされている物理コンポーネントの挙動も含むため、テンプレート情報30を利用して生成された挙動情報40を用いて、コンプロマイズされた状態にある対象制御システム50の動作をシミュレートすることができる。しかしながら、挙動テンプレート404は、コンプロマイズされた物理コンポーネントの挙動を含まなくてもよい。
【0062】
テンプレート情報30を取得する方法は様々でありうる。例えば。取得部2020によって取得されるべきテンプレート情報30は、プラントモデル生成装置2000からアクセス可能な記憶装置に予め格納されている。この場合、取得部2020は、その記憶装置からテンプレート情報30を読み出す。その他にも例えば、取得部2020は、他の装置から送信されるテンプレート情報30を受信しうる。その他にも例えば、ユーザによってテンプレート情報30が物理モデル生成装置2000へ手動で入力され、ユーザによって入力されたテンプレート情報30を取得部2020が取得する。
【0063】
<物理モデル40の生成:S108>
生成部2040は、構造情報10、状態情報20、及びテンプレート情報30に基づいて、対象制御システム50の各物理コンポーネント52についての挙動情報42を含む物理モデル40を生成する(S108)。物理コンポーネント52の挙動情報42は、その物理コンポーネント52の状態と、対応する状態における物理コンポーネント52の挙動との対応付けを表す。
【0064】
図9は、物理モデル60の例をテーブル形式で示す。図9のテーブル500は、図5に示される構造情報10と、図6に示される状態情報20と、図7に示されるテンプレート情報30とを用いて生成される物理モデル60の例である。
【0065】
テーブル500は、「コンポーネント識別子502」、「種別識別子504」、及び「挙動情報504」という列を有する。コンポーネント識別子502の値は、物理コンポーネント52の識別子を示す。種別識別子504の値は、物理コンポーネント52の種別の識別子を示す。挙動情報504の値は、物理コンポーネント52について生成される挙動情報40を示す。
【0066】
挙動情報506は、「状態識別子508」、「マッチする条件510」、及び「挙動512」という3つの列にさらに分かれる。状態識別子508の値は、物理コンポーネント52がとりうる状態の1つを示す。マッチする条件510の値は、その状態の物理コンポーネント52の動作コネクションによって満たされる条件を示す。挙動512の値は、マッチする条件510に示されるコネクション条件に対応する挙動テンプレート404に基づいて定まる、その状態にある物理コンポーネント52の挙動を示す。
【0067】
物理モデル40を生成するために、生成部2040は、構造情報10、状態情報20、及びテンプレート情報30を参照する。図10を参照しながら、物理モデル40の具体的な生成方法について説明する。図10は、物理モデル40を生成する具体的な処理の流れの例を表すフロー図である。
【0068】
生成部2040は、テーブル500を空の状態に初期化する(S202)。ステップS204からS220はループ処理L1を構成する。ループ処理L1は、構造情報10に示される各物理コンポーネント52について実行されるべき処理の集合である。ステップS204において、生成部2040は、ループ処理L1が全ての物理コンポーネント52について実行されたか否かを判定する。ループ処理L1が全ての物理コンポーネント52について実行されたと判定された場合、図10の処理は終了する。これは、物理モデル40の生成が完了したことを意味する。一方、ループ処理L1が全ての物理コンポーネント52については実行されていないと判定された場合、生成部2040は、まだループ処理L1が実行されていない物理コンポーネント52のうちの1つを選択する。なお、ここで選択される物理コンポーネント52は、「被選択コンポーネント」と呼ばれる。
【0069】
ステップS206からS218はループ処理L2を構成する。ループ処理L2は、被選択コンポーネントに対応する種別の状態情報20によって表される、被選択コンポーネントの各状態について実行されるステップS206において、生成部2040は、被選択コンポーネントがとりうる全ての状態についてループ処理L2が実行されたか否かを判定する。被選択コンポーネントがとりうる全ての状態についてループ処理L2が実行されたと判定された場合、ループ処理L2は終了する。一方、被選択コンポーネントがとりうる全ての状態についてはループ処理L2が実行されていないと判定された場合、生成部2040は、被選択コンポーネントがとりうる状態のうち、まだループ処理L2が実行されていないもののうちの1つを選択する。なお、ここで選択される、被選択コンポーネントの状態は、「被選択状態」と呼ばれる。
【0070】
ステップS208において、生成部2040は、どのコネクション条件が、被選択状態にある被選択コンポーネントの動作コネクションによって満たされるかを判定する。さらに、生成部2040は、被選択状態にある被選択コンポーネントの動作コネクションによって満たされると判定されたコネクション条件402に対応する挙動テンプレート404を取得する(S210)。生成部2040は、取得した挙動テンプレート404のキーワードを置換することで、被選択状態の被選択コンポーネントについての挙動512を生成する(S212)。なお、挙動テンプレート404のキーワードを置換する方法については、前述されている。生成部2040は、ステップS212で生成された挙動512を用いて、被選択状態の被選択コンポーネントについて、テーブル500の行を生成する(S214)。生成部2040は、その行をテーブル500に加える(S216)。ステップS218は、ループ処理L2の終端である。そのため、ステップS206が次に実行される。
【0071】
例えば、被選択コンポーネントが、図5に示されるテーブル100に定義されている CB1 であり、被選択状態が WORKING であるとする。状態 WORKING について、テーブル200は、CMD と STATE をそれぞれ、入力ポートと出力ポートとして示す。そのため、状態 WORKING の物理コンポーネント CB1 の動作コネクションは、入力ポート CMD を持つコネクション54と、出力ポート STATE を持つコネクション54である。
【0072】
生成部2040は、どのコネクション条件が前述した動作コネクションによって満たされるのかを判定する。このケースでは、動作コネクションが入力ポート CMD を含み、この入力ポートがコントローラ PLC1 に接続されている。そのため、条件C1は満たされている一方で、条件C2が満たされていない。さらに、動作コネクションは出力ポート STATE を含み、この出力ポートがコントローラ PLC1 に接続されている。そのため、条件C3は満たされる。図7のテーブル300は、コネクション条件ASとして、条件C1とC3が満たされかつ条件C2が満たされないというコネクション条件を示す。
【0073】
コネクション条件Asが満たされているため、生成部2040は、テーブル400においてコネクション条件ASに対応づけられている挙動テンプレート404を取得する。そして、生成部2040は、取得した挙動テンプレート404のキーワードの置換を行う。
【0074】
このケースにおいて、キーワード「$CN$」と「SN$」はそれぞれ、「CB1」及び「WORKING」に置換される。キーワード「SV{i}」については、状態 WORKING の物理コンポーネント CB1 から出力されうる2つの値「OFF」と「ON」がある。そのため、キーワード「SV{i}」を持つ1つの式が、2つの式に変換される。第1の式では SV{i} が OFF に置換され、第2の式では SV{i} が ON に置換される。そして、これら2の式が「or」で連結される。
【0075】
<プラントモデル40の出力>
生成部2040は、種々の態様でプラントモデル40を出力する。例えば生成部2040は、記憶装置にプラントモデル40を格納しうる。その他にも例えば、生成部2040は、ディスプレイ装置にプラントモデル40が表示されるように、ディスプレイ装置に対してプラントモデル40を出力しうる。その他にも例えば、生成部2040は、プラントモデル40を任意の装置へ送信しうる。
【0076】
プラントモデル40には様々な活用がありうる。物理モデル40の可能な活用の一つは、対象制御システム50のシミュレーションである。プラントモデル40を用いてシミュレーションは、例えば、実行されるべき対象制御システム50のセキュリティリスクアセスメントを可能にする。
【0077】
<対象制御システムとプラントモデルの他の例>
ここで、対象制御システム50と、生成されるプラントモデル40の他の例ついて記載する。第1例の対象制御システム50は、その構造が図4で示されており、図8に示されるコネクション条件Sが満たされる動作コネクションを持つ物理コンポーネント52を1つも含まない。そのため、図9に示される第1例のプラントモデル40については、コネクション条件Sに対応する挙動テンプレートが利用される。一方で、以下で記述される第2例の対象制御システム50は、図8に示されるコネクション条件Sが満たされる動作コネクションを持つ物理コンポーネント52を含む。そのため、第2例のプラントモデル40は、コネクション条件Sに対応する挙動テンプレートから生成される挙動を含む。
【0078】
図11は、第2例の対象制御システム50の構造を表す。第2例の対象制御システム50は、3つのオペレータ「OP101」、「OP102」、及び「OP103」を含むという点で、第1例の対象制御システム50とは異なる。「オペレータ」という種別の物理コンポーネントは、ボタンなどの他の物理コンポーネントを操作する人である。オペレータの挙動をシミュレートするために、この例ではオペレータが物理コンポーネントとして扱われている。
【0079】
図12A図12Bは、第2例の対象制御システム50の構造情報10を表す。図12のテーブル600は、オペレータ OP101,102,103 を定義する追加の行を有するという点で、図5のテーブル100と異なる。さらに、この例において、プッシュボタンは、それに接続されているオペレータから出力される信号を受信することに応じて、動作する。そのため、各プッシュボタンは、それに接続されているオペレータからの信号を受信するための入力ポートを有する。
【0080】
図13は、第2例の対象制御システム50に含まれるプッシュボタンがとりうる状態が表されている、状態情報20を表す。図14は、第2例の対象制御システム50に含まれるオペレータがとりうる状態が表されている、状態情報20を表す。図15A及び15Bは、第2例の対象制御システム50について生成される物理モデル60を表す。
【0081】
この例において、状態 WORKING のプッシュボタンは、(コントローラではなく)オペレータに接続されている入力ポートと、コントローラに接続されている出力ポートを有する。そのため、状態 WORKING のプッシュボタンの動作コネクションは、コネクション条件 S を満たす。その結果、プッシュボタン B101、B102、及び SW101 の挙動は、図8に示されるコネクション条件Sに対応する挙動テンプレートに基づいて生成される。
【0082】
図8のテーブル400は、コネクション条件Sに対応する挙動テンプレート404がキーワード「$INPUT-CN$」を含む、ということを示す。前述した通り、このキーワードは、挙動情報40の生成対象である物理コンポーネント52のコネクションの他端にある、物理コンポーネントを表すために利用される。例えば、図12Aのテーブル600の5行目に示されているように、状態 WORKING のプッシュボタン B101 の入力ポートに接続されているのは、オペレータ OP101 である。そのため、図15Aのテーブル900の4行目に示されるように、状態 WORKING のプッシュボタン B101 について、挙動テンプレートのキーワード $INPUT-CN$ は、識別子 OP101 と置換される。
【0083】
実施形態を参照して本開示について説明されているが、本開示は上述した実施形態に限定されない。発明の範囲内で、当業者が理解できる種々の変形を本開示の構成や詳細に対して行うことができる。
【0084】
上述の実施形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに提供することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM、CD-R、CD-R/W、半導体メモリ(例えば、マスク ROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0085】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
<付記>
(付記1)
少なくとも1つのプロセッサと、
命令を格納するメモリと、を有し、
前記少なくとも1つのプロセッサは、前記命令を実行することにより、
対象制御システムに含まれる複数の物理コンポーネントと、前記複数の前記物理コンポーネントそれぞれについて、他の物理コンポーネントに対する1つ以上のコネクションと、が表される構造情報を取得し、
前記構造情報に表される前記複数の前記物理コンポーネントそれぞれについて、前記物理コンポーネントの状態と、対応する前記状態において信号が通る前記コネクションである1つ以上の動作コネクションと、の対応関係を1つ以上表す状態情報を取得し、
挙動テンプレートとコネクション条件との対応関係を複数表すテンプレート情報を取得し、前記挙動テンプレートは、対応する前記コネクション条件が満たされる動作コネクションを持つ前記物理コンポーネントに共通する1つ以上の挙動を表し、
前記構造情報、前記状態情報、及び前記テンプレート情報に基づいて、前記構造情報で表される前記複数の前記物理コンポーネントのそれぞれについて、前記物理コンポーネントの各前記状態における前記物理コンポーネントの1つ以上の挙動を表す挙動情報を生成することで、前記対象制御システムに含まれる前記複数の前記物理コンポーネントそれぞれについての挙動情報が含まれる、前記対象制御システムの物理モデルを生成する、ように構成される物理モデル生成装置。
(付記2)
前記挙動情報の前記表記は、前記物理コンポーネントの識別子で置換されるべき第1キーワード、前記物理コンポーネントの前記状態の識別子で置換されるべき第2キーワード、又は前記物理コンポーネントから出力される1つ以上の値によって置換されるべき第3キーワードを含み、
或る状態における或る物理コンポーネントについて、前記挙動情報の前記生成は、その物理コンポーネントの識別子で前記挙動テンプレートに表されている前記第1キーワードを置換すること、その状態の識別子で前記挙動テンプレートに表されている前記第2キーワードを置換すること、又は、その状態にあるその物理コンポーネントによって出力される1つ以上の値で前記挙動テンプレートに表されている前記第3キーワードを置換することを含む、付記1に記載の物理モデル生成装置。
(付記3)
前記コネクション条件は、コントローラに接続されている入力ポートが動作しているか否か、コントローラ以外の前記物理コンポーネントに接続されている入力ポートが動作しているか否か、及び、コントローラに接続されている出力ポートが動作しているか否かの組み合わせで定義される、付記1又は2に記載の物理モデル生成装置。
(付記4)
前記状態情報は、前記物理コンポーネントの各種別について定義され、
前記状態情報の前記取得は、前記構造情報で表される前記複数の前記物理コンポーネントそれぞれについて、その物理コンポーネントの前記種別に対応する前記状態情報を取得することを含む、付記1から3いずれか一項に記載の物理モデル生成装置。
(付記5)
前記挙動テンプレートは、コンプロマイズされた前記物理コンポーネントの1つ以上の挙動と、コンプロマイズされていない前記物理コンポーネントの1つ以上の挙動と、を含む付記1から4いずれか一項に記載の物理モデル生成装置。
(付記6)
対象制御システムに含まれる複数の物理コンポーネントと、前記複数の前記物理コンポーネントそれぞれについて、他の物理コンポーネントに対する1つ以上のコネクションと、が表される構造情報を取得することと、
前記構造情報に表される前記複数の前記物理コンポーネントそれぞれについて、前記物理コンポーネントの状態と、対応する前記状態において信号が通る前記コネクションである1つ以上の動作コネクションと、の対応関係を1つ以上表す状態情報を取得することと、
挙動テンプレートとコネクション条件との対応関係を複数表すテンプレート情報を取得することとを含み、前記挙動テンプレートは、対応する前記コネクション条件が満たされる動作コネクションを持つ前記物理コンポーネントに共通する1つ以上の挙動を表し、
前記構造情報、前記状態情報、及び前記テンプレート情報に基づいて、前記構造情報で表される前記複数の前記物理コンポーネントのそれぞれについて、前記物理コンポーネントの各前記状態における前記物理コンポーネントの1つ以上の挙動を表す挙動情報を生成することで、前記対象制御システムに含まれる前記複数の前記物理コンポーネントそれぞれについての挙動情報が含まれる、前記対象制御システムの物理モデルを生成することを含む、コンピュータによって実行される制御方法。
(付記7)
前記挙動情報の前記表記は、前記物理コンポーネントの識別子で置換されるべき第1キーワード、前記物理コンポーネントの前記状態の識別子で置換されるべき第2キーワード、又は前記物理コンポーネントから出力される1つ以上の値によって置換されるべき第3キーワードを含み、
或る状態における或る物理コンポーネントについて、前記挙動情報の前記生成は、その物理コンポーネントの識別子で前記挙動テンプレートに表されている前記第1キーワードを置換すること、その状態の識別子で前記挙動テンプレートに表されている前記第2キーワードを置換すること、又は、その状態にあるその物理コンポーネントによって出力される1つ以上の値で前記挙動テンプレートに表されている前記第3キーワードを置換することを含む、付記6に記載の制御方法。
(付記8)
前記コネクション条件は、コントローラに接続されている入力ポートが動作しているか否か、コントローラ以外の前記物理コンポーネントに接続されている入力ポートが動作しているか否か、及び、コントローラに接続されている出力ポートが動作しているか否かの組み合わせで定義される、付記6又は7に記載の制御方法。
(付記9)
前記状態情報は、前記物理コンポーネントの各種別について定義され、
前記状態情報の前記取得は、前記構造情報で表される前記複数の前記物理コンポーネントそれぞれについて、その物理コンポーネントの前記種別に対応する前記状態情報を取得することを含む、付記6から8いずれか一項に記載の制御方法。
(付記10)
前記挙動テンプレートは、コンプロマイズされた前記物理コンポーネントの1つ以上の挙動と、コンプロマイズされていない前記物理コンポーネントの1つ以上の挙動と、を含む付記6から9いずれか一項に記載の制御方法。
(付記11)
対象制御システムに含まれる複数の物理コンポーネントと、前記複数の前記物理コンポーネントそれぞれについて、他の物理コンポーネントに対する1つ以上のコネクションと、が表される構造情報を取得することと、
前記構造情報に表される前記複数の前記物理コンポーネントそれぞれについて、前記物理コンポーネントの状態と、対応する前記状態において信号が通る前記コネクションである1つ以上の動作コネクションと、の対応関係を1つ以上表す状態情報を取得することと、
挙動テンプレートとコネクション条件との対応関係を複数表すテンプレート情報を取得することとをコンピュータに実行させ、前記挙動テンプレートは、対応する前記コネクション条件が満たされる動作コネクションを持つ前記物理コンポーネントに共通する1つ以上の挙動を表し、
前記構造情報、前記状態情報、及び前記テンプレート情報に基づいて、前記構造情報で表される前記複数の前記物理コンポーネントのそれぞれについて、前記物理コンポーネントの各前記状態における前記物理コンポーネントの1つ以上の挙動を表す挙動情報を生成することで、前記対象制御システムに含まれる前記複数の前記物理コンポーネントそれぞれについての挙動情報が含まれる、前記対象制御システムの物理モデルを生成することをコンピュータに実行させるプログラムが格納されているコンピュータ可読記憶媒体。
(付記12)
前記挙動情報の前記表記は、前記物理コンポーネントの識別子で置換されるべき第1キーワード、前記物理コンポーネントの前記状態の識別子で置換されるべき第2キーワード、又は前記物理コンポーネントから出力される1つ以上の値によって置換されるべき第3キーワードを含み、
或る状態における或る物理コンポーネントについて、前記挙動情報の前記生成は、その物理コンポーネントの識別子で前記挙動テンプレートに表されている前記第1キーワードを置換すること、その状態の識別子で前記挙動テンプレートに表されている前記第2キーワードを置換すること、又は、その状態にあるその物理コンポーネントによって出力される1つ以上の値で前記挙動テンプレートに表されている前記第3キーワードを置換することを含む、付記11に記載の記憶媒体。
(付記13)
前記コネクション条件は、コントローラに接続されている入力ポートが動作しているか否か、コントローラ以外の前記物理コンポーネントに接続されている入力ポートが動作しているか否か、及び、コントローラに接続されている出力ポートが動作しているか否かの組み合わせで定義される、付記11又は12に記載の記憶媒体。
(付記14)
前記状態情報は、前記物理コンポーネントの各種別について定義され、
前記状態情報の前記取得は、前記構造情報で表される前記複数の前記物理コンポーネントそれぞれについて、その物理コンポーネントの前記種別に対応する前記状態情報を取得することを含む、付記11から13いずれか一項に記載の記憶媒体。
(付記15)
前記挙動テンプレートは、コンプロマイズされた前記物理コンポーネントの1つ以上の挙動と、コンプロマイズされていない前記物理コンポーネントの1つ以上の挙動と、を含む付記11から14いずれか一項に記載の記憶媒体。
【符号の説明】
【0086】
10 構造情報
20 状態情報
30 テンプレート情報
40 物理モデル
42 挙動情報
50 対象制御システム
52 物理コンポーネント
54 コネクション
100 テーブル100
102 識別子
104 種別
106 コネクション
108 ポート
110 方向
112 コンポーネント
200 テーブル
202 識別子
204 入力ポート
206 出力ポート
208 値
210 初期値
300 テーブル
302 識別子
304 条件C1
306 条件C2
308 条件C3
400 テーブル
402 コネクション条件
404 挙動テンプレート
500 テーブル
502 コンポーネント識別子
504 種別識別子
506 挙動情報
508 状態識別子
510 マッチする条件
512 挙動
600 テーブル
602 識別子
604 種別
606 コネクション
608 ポート
610 方向
612 コンポーネント
700 第2識別モデル
702 識別子
704 入力ポート
706 出力ポート
708 値
710 初期値
800 テーブル
802 識別子
804 入力ポート
806 出力ポート
808 値
810 初期値
900 テーブル
902 コンポーネント識別子
904 種別識別子
906 挙動情報
908 状態識別子
910 マッチする条件
912 挙動
1000 コンピュータ
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージデバイス
1100 入出力インタフェース
1120 ネットワークインタフェース
2000 物理モデル生成装置
2020 取得部
2040 生成部
2040 生成部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12A
図12B
図13
図14
図15A
図15B
【手続補正書】
【提出日】2023-08-17
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
象制御システムに含まれる複数の物理コンポーネントと、前記複数の前記物理コンポーネントそれぞれについて、他の前記物理コンポーネントに対する1つ以上のコネクションと、が表される構造情報を取得し、
前記構造情報に表される前記複数の前記物理コンポーネントそれぞれについて、前記物理コンポーネントの状態と、その状態において信号が通る前記コネクションである1つ以上の動作コネクションと、の対応関係を1つ以上表す状態情報を取得し、
挙動テンプレートとコネクション条件との対応関係を複数表すテンプレート情報を取得し、
前記挙動テンプレートは、対応する前記コネクション条件が満たされる動作コネクションを持つ前記物理コンポーネントに共通する1つ以上の挙動を表し、
前記構造情報、前記状態情報、及び前記テンプレート情報に基づいて、前記構造情報で表される前記複数の前記物理コンポーネントのそれぞれについて、その物理コンポーネントの各前記状態におけるその物理コンポーネントの1つ以上の挙動を表す挙動情報を生成することで、前記対象制御システムに含まれる前記複数の前記物理コンポーネントそれぞれについての挙動情報が含まれる、前記対象制御システムの物理モデルを生成する、物理モデル生成装置。
【請求項2】
前記挙動情報は、前記物理コンポーネントの識別子で置換されるべき第1キーワード、前記物理コンポーネントの前記状態の識別子で置換されるべき第2キーワード、又は前記物理コンポーネントから出力される1つ以上の値によって置換されるべき第3キーワードを含み、
或る状態における或る物理コンポーネントについて、前記挙動情報の前記生成は、その物理コンポーネントの識別子で前記挙動テンプレートに表されている前記第1キーワードを置換すること、その状態の識別子で前記挙動テンプレートに表されている前記第2キーワードを置換すること、又は、その状態にあるその物理コンポーネントによって出力される1つ以上の値で前記挙動テンプレートに表されている前記第3キーワードを置換することを含む、請求項1に記載の物理モデル生成装置。
【請求項3】
前記コネクション条件は、コントローラに接続されている入力ポートが動作しているか否か、コントローラ以外の前記物理コンポーネントに接続されている入力ポートが動作しているか否か、及び、コントローラに接続されている出力ポートが動作しているか否かの組み合わせで定義される、請求項1又は2に記載の物理モデル生成装置。
【請求項4】
前記状態情報は、前記物理コンポーネントの各種別について定義され、
前記状態情報の前記取得は、前記構造情報で表される前記複数の前記物理コンポーネントそれぞれについて、その物理コンポーネントの前記種別に対応する前記状態情報を取得することを含む、請求項1から3いずれか一項に記載の物理モデル生成装置。
【請求項5】
前記挙動テンプレートは、コンプロマイズされた前記物理コンポーネントの1つ以上の挙動と、コンプロマイズされていない前記物理コンポーネントの1つ以上の挙動と、を含む請求項1から4いずれか一項に記載の物理モデル生成装置。
【請求項6】
対象制御システムに含まれる複数の物理コンポーネントと、前記複数の前記物理コンポーネントそれぞれについて、他の前記物理コンポーネントに対する1つ以上のコネクションと、が表される構造情報を取得することと、
前記構造情報に表される前記複数の前記物理コンポーネントそれぞれについて、前記物理コンポーネントの状態と、その状態において信号が通る前記コネクションである1つ以上の動作コネクションと、の対応関係を1つ以上表す状態情報を取得することと、
挙動テンプレートとコネクション条件との対応関係を複数表すテンプレート情報を取得することとを含み、
前記挙動テンプレートは、対応する前記コネクション条件が満たされる動作コネクションを持つ前記物理コンポーネントに共通する1つ以上の挙動を表し、
前記構造情報、前記状態情報、及び前記テンプレート情報に基づいて、前記構造情報で表される前記複数の前記物理コンポーネントのそれぞれについて、その物理コンポーネントの各前記状態におけるその物理コンポーネントの1つ以上の挙動を表す挙動情報を生成することで、前記対象制御システムに含まれる前記複数の前記物理コンポーネントそれぞれについての挙動情報が含まれる、前記対象制御システムの物理モデルを生成することを含む、コンピュータによって実行される制御方法。
【請求項7】
前記挙動情報は、前記物理コンポーネントの識別子で置換されるべき第1キーワード、前記物理コンポーネントの前記状態の識別子で置換されるべき第2キーワード、又は前記物理コンポーネントから出力される1つ以上の値によって置換されるべき第3キーワードを含み、
或る状態における或る物理コンポーネントについて、前記挙動情報の前記生成は、その物理コンポーネントの識別子で前記挙動テンプレートに表されている前記第1キーワードを置換すること、その状態の識別子で前記挙動テンプレートに表されている前記第2キーワードを置換すること、又は、その状態にあるその物理コンポーネントによって出力される1つ以上の値で前記挙動テンプレートに表されている前記第3キーワードを置換することを含む、請求項6に記載の制御方法。
【請求項8】
前記コネクション条件は、コントローラに接続されている入力ポートが動作しているか否か、コントローラ以外の前記物理コンポーネントに接続されている入力ポートが動作しているか否か、及び、コントローラに接続されている出力ポートが動作しているか否かの組み合わせで定義される、請求項6又は7に記載の制御方法。
【請求項9】
前記状態情報は、前記物理コンポーネントの各種別について定義され、
前記状態情報の前記取得は、前記構造情報で表される前記複数の前記物理コンポーネントそれぞれについて、その物理コンポーネントの前記種別に対応する前記状態情報を取得することを含む、請求項6から8いずれか一項に記載の制御方法。
【請求項10】
前記挙動テンプレートは、コンプロマイズされた前記物理コンポーネントの1つ以上の挙動と、コンプロマイズされていない前記物理コンポーネントの1つ以上の挙動と、を含む請求項6から9いずれか一項に記載の制御方法。
【請求項11】
対象制御システムに含まれる複数の物理コンポーネントと、前記複数の前記物理コンポーネントそれぞれについて、他の前記物理コンポーネントに対する1つ以上のコネクションと、が表される構造情報を取得することと、
前記構造情報に表される前記複数の前記物理コンポーネントそれぞれについて、前記物理コンポーネントの状態と、その状態において信号が通る前記コネクションである1つ以上の動作コネクションと、の対応関係を1つ以上表す状態情報を取得することと、
挙動テンプレートとコネクション条件との対応関係を複数表すテンプレート情報を取得することとをコンピュータに実行させ、
前記挙動テンプレートは、対応する前記コネクション条件が満たされる動作コネクションを持つ前記物理コンポーネントに共通する1つ以上の挙動を表し、
前記構造情報、前記状態情報、及び前記テンプレート情報に基づいて、前記構造情報で表される前記複数の前記物理コンポーネントのそれぞれについて、その物理コンポーネントの各前記状態におけるその物理コンポーネントの1つ以上の挙動を表す挙動情報を生成することで、前記対象制御システムに含まれる前記複数の前記物理コンポーネントそれぞれについての挙動情報が含まれる、前記対象制御システムの物理モデルを生成することをコンピュータに実行させるプログラム。
【請求項12】
前記挙動情報は、前記物理コンポーネントの識別子で置換されるべき第1キーワード、前記物理コンポーネントの前記状態の識別子で置換されるべき第2キーワード、又は前記物理コンポーネントから出力される1つ以上の値によって置換されるべき第3キーワードを含み、
或る状態における或る物理コンポーネントについて、前記挙動情報の前記生成は、その物理コンポーネントの識別子で前記挙動テンプレートに表されている前記第1キーワードを置換すること、その状態の識別子で前記挙動テンプレートに表されている前記第2キーワードを置換すること、又は、その状態にあるその物理コンポーネントによって出力される1つ以上の値で前記挙動テンプレートに表されている前記第3キーワードを置換することを含む、請求項11に記載のプログラム
【請求項13】
前記コネクション条件は、コントローラに接続されている入力ポートが動作しているか否か、コントローラ以外の前記物理コンポーネントに接続されている入力ポートが動作しているか否か、及び、コントローラに接続されている出力ポートが動作しているか否かの組み合わせで定義される、請求項11又は12に記載のプログラム
【請求項14】
前記状態情報は、前記物理コンポーネントの各種別について定義され、
前記状態情報の前記取得は、前記構造情報で表される前記複数の前記物理コンポーネントそれぞれについて、その物理コンポーネントの前記種別に対応する前記状態情報を取得することを含む、請求項11から13いずれか一項に記載のプログラム
【請求項15】
前記挙動テンプレートは、コンプロマイズされた前記物理コンポーネントの1つ以上の挙動と、コンプロマイズされていない前記物理コンポーネントの1つ以上の挙動と、を含む請求項11から14いずれか一項に記載のプログラム
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0022
【補正方法】変更
【補正の内容】
【0022】
<作用効果の例>
物理モデル生成装置2000は、各物理コンポーネント52の挙動を表す、対象制御システム50の物理モデル40を生成する。物理モデル40は、構造情報10、状態情報20、及びテンプレート情報30を用いて生成される。物理モデル生成装置2000は、対象制御システム50について通常モードの動作を表す物理モデルを用意することをユーザに要求しない。そのため、ユーザにとって、対象制御システム50の物理モデルの生成が容易である。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0025
【補正方法】変更
【補正の内容】
【0025】
<ハードウエア構成の例>
物理モデル生成装置2000は、1つ以上のコンピュータで実現されうる。それら1つ以上のコンピュータのそれぞれは、物理モデル生成装置2000を実現するために作成された専用のコンピュータであってもよいし、パーソナルコンピュータ(PC: Personal Computer)、サーバマシン又はモバイルデバイスなどの汎用のコンピュータであってもよい。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0028
【補正方法】変更
【補正の内容】
【0028】
バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が相互にデータの送信及び受信をするためのデータ通信路である。プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などといったプロセッサである。メモリ1060は、RAM(Random Access Memory)又は ROM(Read Only Memory)などの主記憶要素である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、又はメモリカードなどの補助記憶要素である。入出力インタフェース1100は、コンピュータ1000と周辺デバイス(キーボード、マウス、又はディスプレイデバイスなど)との間のインタフェースである。ネットワークインタフェース1120は、コンピュータ1000とネットワークとの間のインタフェースである。ネットワークは、LAN(Local Area Network)でもよいし、WAN(Wide Area Network)でもよい。ストレージデバイス1080は、前述したプログラムを格納しうる。プロセッサ1040は、そのプログラムを実行することで、物理モデル生成装置2000の各機能構成部を実現する。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0030
【補正方法】変更
【補正の内容】
【0030】
<処理の流れ>
図3は、実施形態1の物理モデル生成装置2000によって実行される処理の流れを表すフロー図である。取得部2020は構造情報10を取得する(S102)。取得部2020は、さらに、各物理コンポーネント52について状態情報20を取得する(S104)次に、取得部2020はテンプレート情報30を取得する(S106)。生成部2040は、対象制御システム50の各物理コンポーネント52について挙動情報42が含まれる、物理モデル40を生成する。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0039
【補正方法】変更
【補正の内容】
【0039】
構造情報10を取得する方法は様々でありうる。例えば、取得部2020によって取得されるべき構造情報10は、物理モデル生成装置2000からアクセス可能な記憶装置に予め格納されている。この場合、取得部2020は、その記憶装置から構造情報10を読み出す。その他にも例えば、取得部2020は、他の装置から送信される構造情報10を受信しうる。その他にも例えば、ユーザによって構造情報10が物理モデル生成装置2000へ手動で入力され、ユーザによって入力された構造情報10を取得部2020が取得する。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0042
【補正方法】変更
【補正の内容】
【0042】
テーブル200は、「識別子202」、「入力ポート204」、「出力ポート206」、「値208」、及び「初期値210」という列を有する。テーブル200の各行は、そのテーブル00に対応する種別に属する物理コンポーネント52がとりうる状態の1つに関する情報を示す。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0047
【補正方法】変更
【補正の内容】
【0047】
状態情報20を取得する方法には様々なものがありうる。例えば。取得部2020によって取得されるべき状態情報20は、物理モデル生成装置2000からアクセス可能な記憶装置に予め格納されている。この場合、取得部2020は、その記憶装置から状態情報20を読み出す。その他にも例えば、取得部2020は、他の装置から送信される状態情報20を受信しうる。その他にも例えば、ユーザによって状態情報20が物理モデル生成装置2000へ手動で入力され、ユーザによって入力された状態情報20を取得部2020が取得する。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】0054
【補正方法】変更
【補正の内容】
【0054】
挙動テンプレート404によって表される挙動は、テーブル400を用いて挙動情報4を生成する際に置換されるべきキーワードを含む。そうすることで、複数のケースに共通する挙動テンプレート404を、1つのケースに特有の記述に変換することができる。
【手続補正11】
【補正対象書類名】明細書
【補正対象項目名】0060
【補正方法】変更
【補正の内容】
【0060】
キーワード「$INPUT-CN$」は、挙動情報4が生成される物理コンポーネント52について、そのコネクションの他の一端にある物理コンポーネントを表すために利用される。
【手続補正12】
【補正対象書類名】明細書
【補正対象項目名】0061
【補正方法】変更
【補正の内容】
【0061】
の挙動テンプレート404は、コンプロマイズされていないケースだけでなく、コンプロマイズされているケースについても、物理コンポーネントの挙動を示す。例えば、テーブル400の1行目において、挙動テンプレート404の1行目の記述は、「not in compromised」というフレーズを含むため、コンプロマイズされていない物理コンポーネントの挙動を示す。一方、テーブル400の1行目において、挙動テンプレート404の2行目の記述は、「in compromised」というフレーズを含むため、コンプロマイズされている物理コンポーネントの挙動を示す。挙動テンプレート404が、コンプロマイズされている物理コンポーネントの挙動も含むため、テンプレート情報30を利用して生成された挙動情報40を用いて、コンプロマイズされた状態にある対象制御システム50の動作をシミュレートすることができる。しかしながら、挙動テンプレート404は、コンプロマイズされた物理コンポーネントの挙動を含まなくてもよい。
【手続補正13】
【補正対象書類名】明細書
【補正対象項目名】0062
【補正方法】変更
【補正の内容】
【0062】
テンプレート情報30を取得する方法は様々でありうる。例えば。取得部2020によって取得されるべきテンプレート情報30は、物理モデル生成装置2000からアクセス可能な記憶装置に予め格納されている。この場合、取得部2020は、その記憶装置からテンプレート情報30を読み出す。その他にも例えば、取得部2020は、他の装置から送信されるテンプレート情報30を受信しうる。その他にも例えば、ユーザによってテンプレート情報30が物理モデル生成装置2000へ手動で入力され、ユーザによって入力されたテンプレート情報30を取得部2020が取得する。
【手続補正14】
【補正対象書類名】明細書
【補正対象項目名】0064
【補正方法】変更
【補正の内容】
【0064】
図9は、物理モデル0の例をテーブル形式で示す。図9のテーブル500は、図5に示される構造情報10と、図6に示される状態情報20と、図7に示されるテンプレート情報30とを用いて生成される物理モデル0の例である。
【手続補正15】
【補正対象書類名】明細書
【補正対象項目名】0065
【補正方法】変更
【補正の内容】
【0065】
テーブル500は、「コンポーネント識別子502」、「種別識別子504」、及び「挙動情報50」という列を有する。コンポーネント識別子502の値は、物理コンポーネント52の識別子を示す。種別識別子504の値は、物理コンポーネント52の種別の識別子を示す。挙動情報50の値は、物理コンポーネント52について生成される挙動情報4を示す。
【手続補正16】
【補正対象書類名】明細書
【補正対象項目名】0074
【補正方法】変更
【補正の内容】
【0074】
このケースにおいて、キーワード「$CN$」と「$SN$」はそれぞれ、「CB1」及び「WORKING」に置換される。キーワード「SV{i}」については、状態 WORKING の物理コンポーネント CB1 から出力されうる2つの値「OFF」と「ON」がある。そのため、キーワード「SV{i}」を持つ1つの式が、2つの式に変換される。第1の式では SV{i} が OFF に置換され、第2の式では SV{i} が ON に置換される。そして、これら2の式が「or」で連結される。
【手続補正17】
【補正対象書類名】明細書
【補正対象項目名】0075
【補正方法】変更
【補正の内容】
【0075】
物理モデル40の出力>
生成部2040は、種々の態様で物理モデル40を出力する。例えば生成部2040は、記憶装置に物理モデル40を格納しうる。その他にも例えば、生成部2040は、ディスプレイ装置に物理モデル40が表示されるように、ディスプレイ装置に対して物理モデル40を出力しうる。その他にも例えば、生成部2040は、物理モデル40を任意の装置へ送信しうる。
【手続補正18】
【補正対象書類名】明細書
【補正対象項目名】0076
【補正方法】変更
【補正の内容】
【0076】
物理モデル40には様々な活用がありうる。物理モデル40の可能な活用の一つは、対象制御システム50のシミュレーションである。物理モデル40を用いてシミュレーションは、例えば、実行されるべき対象制御システム50のセキュリティリスクアセスメントを可能にする。
【手続補正19】
【補正対象書類名】明細書
【補正対象項目名】0077
【補正方法】変更
【補正の内容】
【0077】
<対象制御システムと物理モデルの他の例>
ここで、対象制御システム50と、生成される物理モデル40の他の例ついて記載する。第1例の対象制御システム50は、その構造が図4で示されており、図8に示されるコネクション条件Sが満たされる動作コネクションを持つ物理コンポーネント52を1つも含まない。そのため、図9に示される第1例の物理モデル40については、コネクション条件Sに対応する挙動テンプレートが利用される。一方で、以下で記述される第2例の対象制御システム50は、図8に示されるコネクション条件Sが満たされる動作コネクションを持つ物理コンポーネント52を含む。そのため、第2例の物理モデル40は、コネクション条件Sに対応する挙動テンプレートから生成される挙動を含む。
【手続補正20】
【補正対象書類名】明細書
【補正対象項目名】0082
【補正方法】変更
【補正の内容】
【0082】
図8のテーブル400は、コネクション条件Sに対応する挙動テンプレート404がキーワード「$INPUT-CN$」を含む、ということを示す。前述した通り、このキーワードは、挙動情報4の生成対象である物理コンポーネント52のコネクションの他端にある、物理コンポーネントを表すために利用される。例えば、図12Aのテーブル600の5行目に示されているように、状態 WORKING のプッシュボタン B101 の入力ポートに接続されているのは、オペレータ OP101 である。そのため、図15Aのテーブル900の4行目に示されるように、状態 WORKING のプッシュボタン B101 について、挙動テンプレートのキーワード $INPUT-CN$ は、識別子 OP101 と置換される。
【手続補正21】
【補正対象書類名】明細書
【補正対象項目名】0086
【補正方法】変更
【補正の内容】
【0086】
10 構造情報
20 状態情報
30 テンプレート情報
40 物理モデル
42 挙動情報
50 対象制御システム
52 物理コンポーネント
54 コネクション
100 テーブル100
102 識別子
104 種別
106 コネクション
108 ポート
110 方向
112 コンポーネント
200 テーブル
202 識別子
204 入力ポート
206 出力ポート
208 値
210 初期値
300 テーブル
302 識別子
304 条件C1
306 条件C2
308 条件C3
400 テーブル
402 コネクション条件
404 挙動テンプレート
500 テーブル
502 コンポーネント識別子
504 種別識別子
506 挙動情報
508 状態識別子
510 マッチする条件
512 挙動
600 テーブル
602 識別子
604 種別
606 コネクション
608 ポート
610 方向
612 コンポーネント
700 第2識別モデル
702 識別子
704 入力ポート
706 出力ポート
708 値
710 初期値
800 テーブル
802 識別子
804 入力ポート
806 出力ポート
808 値
810 初期値
900 テーブル
902 コンポーネント識別子
904 種別識別子
906 挙動情報
908 状態識別子
910 マッチする条件
912 挙動
1000 コンピュータ
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージデバイス
1100 入出力インタフェース
1120 ネットワークインタフェース
2000 物理モデル生成装置
2020 取得部
2040 生成
【国際調査報告】