(57)【要約】      （修正有）【課題】既存のソフトウェアの機能を柔軟に変更できる保護制御装置のソフトウェア変更装置、変更プログラム及び保護制御装置を提供する。【解決手段】保護制御装置１の既存ソフトウェア２ａと既存識別情報２ｂをデータベース部９に記憶する。既存ソフトウェア２ａに対する変更情報を変更情報記憶部１０に記憶する。外部からの既存識別情報２ｂとデータベース部９に記憶された既存識別情報２ｂとを照合し、既存識別情報２ｂが一致すると判定された既存ソフトウェア２ａをデータベース部９から抽出する。抽出された既存ソフトウェア２ａと変更情報とに基づいて、新規ソフトウェア１４ａ及び新規識別情報１４ｂを生成する。新規ソフトウェア１４ａ及び新規識別情報１４ｂを一時的に記憶し、インタフェース部８に保護制御装置１へ出力させるとともに、データベース部９に記憶させる。【選択図】図１
2016218664.tif 000002
【特許請求の範囲】
【請求項１】
外部との間で情報を入出力するインタフェース部と、
保護制御装置に実装されている既存ソフトウェアを、当該既存ソフトウェアに固有の既存識別情報と関連付けて記憶するデータベース部と、
前記既存ソフトウェアに対する変更情報を記憶する変更情報記憶部と、
前記インタフェース部を介して入力された既存識別情報と前記データベース部に記憶された既存識別情報とを照合して一致不一致を判定する識別情報照合部と、
前記識別情報照合部によって既存識別情報が一致すると判定された既存ソフトウェアを、前記データベース部から抽出する抽出部と、
前記抽出部により抽出された既存ソフトウェアと、前記変更情報記憶部に記憶された変更情報とに基づいて、新規ソフトウェア及び新規識別情報を生成する新規ソフトウェア生成部と、
前記新規ソフトウェア生成部が生成した新規ソフトウェア及び新規識別情報を一時的に記憶し、新規ソフトウェア及び新規識別情報を前記インタフェース部に出力させるとともに、前記データベース部に記憶させる新規情報処理部と、
を有することを特徴とする保護制御装置のソフトウェア変更装置。
【請求項２】
前記データベース部には、前記既存ソフトウェアのハッシュ値が、既存ハッシュ値として記憶され、
前記インタフェース部を介して入力された保護制御装置の既存ソフトウェアの既存ハッシュ値と、前記抽出部が抽出した既存ハッシュ値とを照合して、一致不一致を判定するハッシュ値照合部を有し、
前記新規ソフトウェア生成部は、前記ハッシュ値照合部により既存ハッシュ値が一致すると判定された既存ソフトウェアについて、前記新規ソフトウェア生成部が新規ソフトウェアを生成することを特徴とする請求項１記載の保護制御装置のソフトウェア変更装置。
【請求項３】
前記インタフェース部を介して入力された保護制御装置の既存ソフトウェアと、前記抽出部が抽出した既存ソフトウェアとを照合して、一致不一致を判定するソフトウェア照合部を有し、
前記新規ソフトウェア生成部は、前記ソフトウェア照合部により一致すると判定された既存ソフトウェアについて、新規ソフトウェアを生成することを特徴とする請求項１記載の保護制御装置のソフトウェア変更装置。
【請求項４】
前記新規ソフトウェアの演算時間が、所定のしきい値以下か否かを判定する演算時間判定部を有し、
前記新規情報処理部は、前記演算時間判定部により所定のしきい値以下と判定された新規ソフトウェアを、前記インタフェース部に出力させ、前記データベース部に記憶させることを特徴とする請求項１〜３のいずれか１項に記載の保護制御装置のソフトウェア変更装置。
【請求項５】
請求項１〜３のいずれか１項に記載の保護制御装置のソフトウェア変更装置との間で、情報の入出力を行うインタフェース部と、
保護制御を実行しているソフトウェアである既存ソフトウェアを記憶する保護制御記憶部と、
前記インタフェース部が受信した新規ソフトウェアの演算時間を算出する演算時間算出部と、
前記演算時間算出部により演算された演算時間が、所定のしきい値以下か否かを判定する演算時間判定部と、
前記演算時間判定部により所定のしきい値以下と判定された新規ソフトウェアを、前記記憶部に書き込む書込部と、
を有することを特徴とする保護制御装置。
【請求項６】
コンピュータに、
保護制御装置に実装されている既存ソフトウェアを、当該既存ソフトウェアに固有の既存識別情報と関連付けてデータベース部に記憶させる処理と、
前記既存ソフトウェアに対する変更情報を記憶させる処理と、
外部から入力された既存識別情報と記憶された既存識別情報とを照合して一致不一致を判定させる処理と、
既存識別情報が一致すると判定された既存ソフトウェアを抽出させる処理と、
抽出された既存ソフトウェアと、前記変更情報とに基づいて、新規ソフトウェア及び新規識別情報を生成する処理と、
生成された新規ソフトウェア及び新規識別情報を、外部へ出力させるとともに、前記データベース部に記憶させる処理と、
を実行させることを特徴とする保護制御装置のソフトウェア変更プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、保護制御装置に実装されたソフトウェアを変更するための保護制御装置のソフトウェア変更装置、変更プログラム及び保護制御装置に関する。
【背景技術】
【０００２】
電力系統の保護制御システムにおいては、従来は、保護制御装置に設定されたソフトウェアは、保護制御装置と一対一の関係で固定されており、バグや故障に対する保守は行われていたが、新たな機能の追加や削除等の変更については想定されていなかった。保護制御は、電力系統を常時監視する必要があるため、ソフトウェアの変更よりも、継続して安定的に動作させることを優先させていた。
【０００３】
しかし、近年では、電力系統の安定的な運用のみならず、一定領域内での効率的な運用を実現するために、インターネット及びクラウド等を活用して、複数の保護制御装置を監視・制御するスマート化が進められている。これに対応して、保護制御装置においても、保守のみならず、新たな機能の追加や削除を行うことが望まれている。このような場合のソフトウェアの変更方法として、保護制御装置に固有の機種ＩＤと装置ＩＤを活用して、ソフトウェアの書き込み作業を実行する保護制御装置が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０-２６２４３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、状況に応じて柔軟に機能の追加や削除を行うことを想定した場合、新たに機能を追加したソフトウェアは、想定されるすべての機種ＩＤや装置ＩＤを有していなければならない。そのため、当該機種ＩＤや装置ＩＤを有していない保護制御装置は、新たな機能を追加することができない。
【０００６】
さらに、上記の従来技術では、当該システムに新たに機能を追加する場合、機種ＩＤや装置ＩＤでは、現行の保護制御装置のソフトウェアに、どのような機能が組み込まれているかを管理することができない。
【０００７】
本発明は、上記のような従来技術の問題を解決するために提案されたものであり、その目的は、既存のソフトウェアの機能を柔軟に変更できる保護制御装置のソフトウェア変更装置、変更プログラム及び保護制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記の目的を達成するため、実施形態のソフトウェア変更装置は、外部との間で情報を入出力するインタフェース部と、保護制御装置に実装されている既存ソフトウェアを、当該既存ソフトウェアに固有の既存識別情報と関連付けて記憶するデータベース部と、前記既存ソフトウェアに対する変更情報を記憶する変更情報記憶部と、前記インタフェース部を介して入力された既存識別情報と前記データベース部に記憶された既存識別情報とを照合して一致不一致を判定する識別情報照合部と、前記識別情報照合部によって既存識別情報が一致すると判定された既存ソフトウェアを、前記データベース部から抽出する抽出部と、前記抽出部により抽出された既存ソフトウェアと、前記変更情報記憶部に記憶された変更情報とに基づいて、新規ソフトウェア及び新規識別情報を生成する新規ソフトウェア生成部と、前記新規ソフトウェア生成部が生成した新規ソフトウェア及び新規識別情報を一時的に記憶し、新規ソフトウェア及び新規識別情報を前記インタフェース部に出力させるとともに、前記データベース部に記憶させる新規情報処理部と、を有する。
【０００９】
また、実施形態の保護制御装置は、前記ソフトウェア変更装置との間で情報の入出力を行うインタフェース部と、保護制御を実行しているソフトウェアである既存ソフトウェアを記憶する記憶部と、前記通信部が受信した新規ソフトウェアの演算時間を算出する演算時間算出部と、前記演算時間算出部により演算された演算時間が、所定のしきい値以下か否かを判定する演算時間判定部と、前記演算時間判定部により所定のしきい値以下と判定された新規ソフトウェアを、前記記憶部に書き込む書込部と、を有する。
【００１０】
なお、他の態様として、上記の各部の機能をコンピュータに実行させるプログラムとして捉えることもできる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態の保護制御装置及びソフトウェア変更装置を示すブロック図
【図２】第１の実施形態のソフトウェア変更処理の手順を示すフローチャート
【図３】第２の実施形態の保護制御装置及びソフトウェア変更装置を示すブロック図
【図４】第２の実施形態のソフトウェア変更処理の手順を示すフローチャート
【図５】第３の実施形態の保護制御装置及びソフトウェア変更装置を示すブロック図
【図６】第３の実施形態のソフトウェア変更処置の手順を示すフローチャート
【図７】第４の実施形態の保護制御装置及びソフトウェア変更装置を示すブロック図
【図８】第４の実施形態のソフトウェア変更処理の手順を示すフローチャート
【発明を実施するための形態】
【００１２】
以下、実施形態の保護制御装置のソフトウェア変更装置について、図面を参照して説明する。以下の図１、図３、図５、図６は、保護制御装置１とソフトウェア変更装置７がネットワークＮを介して接続されることにより構成された保護制御システムである。
【００１３】
［第１の実施形態］
［構成］
第１の実施形態の構成を、図１のブロック図を参照して説明する。
【００１４】
（保護制御装置）
保護制御装置１は、電力系統の異常を検出して電路の開閉を行うことにより、電力系統を保護する保護制御を行う装置である。なお、以下の説明では、通常の保護制御のための処理部は説明を省略し、ソフトウェアの変更に関する処理部について説明する。
【００１５】
保護制御装置１は、保護制御記憶部２、読出部３、インタフェース部４、書込部５を有する。保護制御記憶部２は、既存ソフトウェア２ａと、既存識別情報２ｂを記憶する処理部である。既存ソフトウェア２ａは、保護制御装置１に実装され、保護制御を実行しているソフトウェアである。既存識別情報２ｂは、既存ソフトウェア２ａに固有の識別情報である。例えば、各ソフトウェアに一意に割り当てられた管理番号を識別情報とする。
【００１６】
読出部３は、既存ソフトウェア２ａと既存識別情報２ｂを読み出して出力する処理部である。インタフェース部４は、外部との間での情報の入出力を制御する処理部である。このインタフェース部４は、例えば、ソフトウェア変更装置７との間でネットワークＮを介して情報を送受信する通信部である。
【００１７】
インタフェース部４は、読出部３が読み出した既存ソフトウェア２ａ及び既存識別情報２ｂを、保護制御装置１に送信する。また、インタフェース部４は、ソフトウェア変更装置７から送信された新規ソフトウェア１４ａと新規識別情報１４ｂを受信する。
【００１８】
新規ソフトウェア１４ａは、ソフトウェア変更装置７によって、既存ソフトウェア２ａを変更した新しいソフトウェアである。新規識別情報１４ｂは、ソフトウェア変更装置７によって、新規ソフトウェア１４ａに付与された新しい識別情報である。
【００１９】
書込部５は、インタフェース部４から入力された新規ソフトウェア１４ａ及び新規識別情報１４ｂを、保護制御記憶部２に書き込む処理部である。この書き込まれた新規ソフトウェア１４ａは、既存ソフトウェア２ａに替わって保護制御装置１に実装され、既存ソフトウェア２ａとなる。
【００２０】
（ソフトウェア変更装置）
一方、ソフトウェア変更装置７は、保護制御装置１に実装された既存ソフトウェア２ａを、新規ソフトウェア１４ａに変更する装置である。このソフトウェア変更装置７は、コンピュータによるサーバ装置として構成される。ソフトウェアの変更は、新たな機能の追加、既存の機能の削除、既存の機能の変更を含む。
【００２１】
ソフトウェア変更装置７は、インタフェース部８、データベース部９、変更情報記憶部１０、識別情報照合部１１、抽出部１２、新規ソフトウェア生成部１３、新規情報処理部１４を有する。
【００２２】
インタフェース部８は、外部との間で情報を入出力する処理部である。このインタフェース部８は、例えば、保護制御装置１との間で、ネットワークＮを介して情報を送受信する通信部である。
【００２３】
データベース部９は、保護制御装置１に実装されている既存ソフトウェア２ａを、当該既存ソフトウェア２ａに固有の既存識別情報２ｂと関連付けて記憶する処理部である。既存ソフトウェア２ａの記憶は、既存ソフトウェア２ａを構成する情報が記憶されている場合を含む。例えば、対象となる既存ソフトウェア２ａの完成されたソースコードが記憶されている場合も、既存ソフトウェア２ａを構成するためのソースコード部品が記憶されている場合も含む。
【００２４】
変更情報記憶部１０は、既存ソフトウェア２ａに対する変更情報を記憶する処理部である。変更情報は、新たな機能である追加ソフトウェアの情報も、削除すべき機能の情報も、変更すべき機能の情報も含む。
【００２５】
識別情報照合部１１は、インタフェース部８を介して入力された識別情報２ｂとデータベース部９に記憶された識別情報２ｂとを照合して、一致不一致を判定する処理部である。つまり、識別情報照合部１１は、データベース部９にアクセスを行って、既存識別情報２ｂが一致するソフトウェア２ａを検索する。
【００２６】
抽出部１２は、識別情報照合部１１によって識別情報が一致すると判定された既存ソフトウェア２ａを、データベース部９から抽出する処理部である。ソフトウェアの抽出は、単にソフトウェアを読み出す場合も、データベース部９に記憶されたソフトウェアを構成する情報から、既存ソフトウェア２ａを復元する場合を含む。例えば、対象となる既存ソフトウェア２ａの完成されたソースコードを読み出す場合も、ソースコード部品を再構成して既存ソフトウェア２ａを復元する場合もソフトウェアの抽出である。
【００２７】
新規ソフトウェア生成部１３は、抽出部１２により抽出された既存ソフトウェア２ａと、変更情報記憶部１０に記憶された変更情報とに基づいて、新規ソフトウェア１４ａ及び新規識別情報１４ｂを生成する処理部である。新規ソフトウェア１４ａの生成は、既存ソフトウェア２ａと追加ソフトウェアとを合わせる場合、既存ソフトウェア２ａから機能を削除する場合、既存ソフトウェア２ａの機能を変更する場合を含む。
【００２８】
例えば、既存ソフトウェア２ａのソースコードと追加ソフトウェアのソースコードを合わせてコンパイルし、又は既存ソフトウェア２ａのソースコードの一部を削除してコンパイルし、オブジェクトコードを生成する場合も、ソフトウェアの生成である。
【００２９】
新規情報処理部１４は、新規ソフトウェア生成部１３が生成した新規ソフトウェア１４ａと新規識別情報１４ｂを、インタフェース部８に保護制御装置１へ出力させるとともに、データベース部９に記憶させる処理部である。
【００３０】
なお、図示はしないが、保護制御装置１、ソフトウェア変更装置７は、入力部、出力部を有する。入力部は、保護制御装置１、ソフトウェア変更装置７に必要な情報の入力、処理の選択や指示を入力する構成部である。この入力部としては、たとえば、キーボード、マウス、タッチパネル（表示装置に構成されたものを含む）、スイッチ等が考えられる。但し、現在又は将来において利用可能なあらゆる入力装置を含む。記憶領域に記憶される情報を、入力部から入力することもできる。
【００３１】
出力部は、保護制御装置１、ソフトウェア変更装置７の処理の過程若しくは処理結果を、操作者が認識可能となるように出力する構成部である。この出力部としては、たとえば、表示装置、プリンタ等が考えられる。但し、現在又は将来において利用可能なあらゆる出力装置を含む。操作者は、出力部に、データベース９の既存ソフトウェア２ａ、変更情報記憶部１０の追加ソフトウェア、新たに生成された新規ソフトウェア１４ａ等を表示させることにより、それぞれの内容を把握できる。
【００３２】
さらに、保護制御装置１及びソフトウェア変更装置７における各種の情報を記憶する構成部は、典型的には、内蔵された若しくは外部接続された各種メモリ、ハードディスク等により構成できるが、現在又は将来において利用可能なあらゆる記憶媒体を利用可能である。記憶する構成部の記憶の態様も、長時間記憶が保持される態様のみならず、処理のために一時的に記憶され、短時間で消去若しくは更新される態様も含まれる。演算に用いるレジスタ等も、記憶する構成部として捉えることができる。すでに情報が記憶された記憶媒体を、読み取り装置に装着することにより、記憶内容を各種の処理に利用可能となる態様でもよい。
【００３３】
ネットワークＮは、情報の送受信が可能な伝送路を広く含む。伝送路としては、有線若しくは無線のあらゆる伝送媒体を適用可能であり、どのようなＬＡＮやＷＡＮを経由するか若しくは経由しないかは問わない。通信プロトコルについても、現在又は将来において利用可能なあらゆるものを適用可能である。なお、インタフェース部４、８は、保護制御装置１、ソフトウェア変更装置７の間で情報の授受ができればよい。このため、インタフェース部４、８を、リムーバブルな記憶媒体の書き込み、読み出しを行う装置として、記録媒体を介して、情報を授受できるようにしてもよい。
【００３４】
（作用）
以上のような本実施形態のソフトウェアの変更処理の手順を、図２のフローチャートを参照して説明する。以下の例は、保護制御記憶部２に既存ソフトウェア２ａと固有の既存識別情報２ｂが保存されている保護制御装置１において、新たな機能である追加ソフトウェアを追加する又は既存の機能を削除する場合について説明する。
【００３５】
まず、任意の方法で、既存ソフトウェア２ａに追加又は削除する機能と、対象となる保護制御装置１を指定する（ステップ０１）。これは、例えば、ソフトウェア変更装置７又は保護制御装置１の入力部を用いて、操作者が行うことができる。
【００３６】
次に、ソフトウェア変更装置７は、読出部３、インタフェース部４、インタフェース部８を介して、既存識別情報２ｂを取得する（ステップＳ０２）。つまり、保護制御装置１の読出部３は、既存識別情報２ｂを読み出して、インタフェース部４へ受け渡す。インタフェース部４は、ソフトウェア変更装置７のインタフェース部８と、任意の方式で通信を行い、既存識別情報２ｂをソフトウェア変更装置７へアップロードする。
【００３７】
ソフトウェア変更装置７のインタフェース部８は、受信した既存識別情報２ｂを識別情報照合部１１に出力する。なお、既存識別情報２ｂを取得するためのトリガとなる要求は、保護制御装置１とソフトウェア変更装置７のどちらから行ってもよい。
【００３８】
識別情報照合部１１は、データベース部９から既存識別情報２ｂを検索し、インタフェース部８から取得した既存識別情報２ｂと一致するか否かを判定する（ステップＳ０３）。つまり、既存識別情報２ｂによって、保護制御装置１に組み込まれている既存ソフトウェア２ａを特定する。一致する場合は（ステップＳ０３のＹＥＳ）、抽出部１２が、既存識別情報２ｂに対応する既存ソフトウェア２ａを、データベース部９から抽出する（ステップＳ０４）。既存識別情報２ｂが一致しない場合は（ステップＳ０３のＮＯ）、機能の追加、削除作業を終了する。
【００３９】
新規ソフトウェア生成部１３は、変更情報記憶部１０に記憶された追加ソフトウェア又は削除情報と、抽出部１２が抽出した既存ソフトウェア２ａに基いて、新規ソフトウェア１４ａと新規識別情報１４ｂを生成する（ステップＳ０５）。例えば、機能を追加する場合は、新規ソフトウェア生成部１３は、既存ソフトウェア２ａと追加ソフトウェアを合わせてコンパイルを行い、新規ソフトウェア１４ａ及び新規識別情報１４ｂを生成する。一方、機能を削除する場合は、入力部からの入力等、任意の方法で指定され、変更情報記憶部１０に設定された機能を、既存ソフトウェア２ａから削除してコンパイルすることで、新規ソフトウェア１４ａと新規識別情報１４ｂを生成する。新規識別情報１４ｂは、既存識別情報２ｂとの重複がない情報とする。
【００４０】
最後に、新規ソフトウェア１４ａと新規識別情報１４ｂは、データベース部９に記憶されるとともに、インタフェース部８、インタフェース部４、書込部５を通じて保護制御記憶部２に記憶され、保護制御装置１に組み込まれる（ステップＳ０６）。つまり、新規情報処理部１４は、新規ソフトウェア生成部１３にて生成した新規ソフトウェア１４ａと新規識別情報１４ｂを一時的に保存し、データベース部９を更新すると共に、インタフェース部８へ受け渡す。
【００４１】
インタフェース部８は、インタフェース部４と通信を行って、新規ソフトウェア１４ａと新規識別情報１４ｂを保護制御装置１へダウンロードする。書込部５は、ダウンロードされた新規ソフトウェア１４ａと新規識別情報１４ｂを、新たな既存ソフトウェア２ａと既存識別情報２ｂとして、保護制御記憶部２へ書き込みを行う。これにより、一連の機能追加、削除の作業が終了する。
【００４２】
（効果）
本実施形態のソフトウェア変更装置７は、外部との間で情報を入出力するインタフェース部８と、保護制御装置１に実装されている既存ソフトウェア２ａを、当該既存ソフトウェア２ａに固有の既存識別情報２ｂと関連付けて記憶するデータベース部９と、既存ソフトウェア２ａに対する変更情報を記憶する変更情報記憶部１０と、インタフェース部８を介して入力された既存識別情報２ｂとデータベース部９に記憶された既存識別情報２ｂとを照合して一致不一致を判定する識別情報照合部１１を有する。
【００４３】
さらに、本実施形態は、識別情報照合部１１によって既存識別情報が一致すると判定された既存ソフトウェア２ａを、データベース部９から抽出する抽出部１２と、抽出部１２により抽出された既存ソフトウェア２ａと、変更情報記憶部１０に記憶された変更情報とに基づいて、新規ソフトウェア１４ａ及び新規識別情報１４ｂを生成する新規ソフトウェア生成部１３と、新規ソフトウェア生成部１３が生成した新規ソフトウェア１４ａ及び新規識別情報１４ｂを一時的に記憶し、新規ソフトウェア１４ａ及び新規識別情報１４ｂをインタフェース部８に出力させるとともに、データベース部９に記憶させる新規情報処理部１４とを有する。
【００４４】
このため、保護制御装置１がどのような機種ＩＤや装置ＩＤを有しているか又は有していないかにかかわらず、実装されるソフトウェア毎の固有の識別情報で管理をしながら、機能の追加、削除等の変更を正確且つ容易に行うことができる。このため、インターネットやクラウド等を介して、ソフトウェアの変更を柔軟に行うことができる。また、ソフトウェア変更装置７側において、既存ソフトウェア２ａを既存識別情報２ｂとともに管理するため、既存ソフトウェア２ａにどのような機能が組み込まれているかを把握でき、機能の追加、削除等の判断を正確に且つ適切に行うことができる。特に、保護制御装置１は、常時監視の必要があるが、保護制御装置１とは別の装置において、変更や確認作業を済ませてから、保護制御装置１側に実装することができるので、変更のための停止時間を極力短くすることができる。
【００４５】
［第２の実施形態］
（構成）
本実施形態は、基本的には、上記の第１の実施形態と同様の構成である。このため、同一の構成については同一の符号を付し、説明を省略する。本実施形態においては、図３に示すように、保護制御記憶部２に、既存ソフトウェア２ａから求めた既存ハッシュ値２ｃが記憶されている。ハッシュ値は、例えば、ＳＵＭ値やＣＲＣ値等、ソフトウェアを元に作成される所定長のデータである。
【００４６】
ソフトウェア変更装置７のデータベース部９には、既存ソフトウェア２ａとともに、既存識別情報２ｂ及び既存ハッシュ値２ｃも記憶されている。抽出部１２は、既存ソフトウェア２ａとともに、既存ハッシュ値２ｃも抽出する。ここで、ハッシュ値の抽出は、既存ソフトウェア２ａから演算して、既存ハッシュ値２ｃを復元する処理も含む。
【００４７】
そして、ソフトウェア変更装置７は、ハッシュ値照合部１５を有する。ハッシュ値照合部１５は、インタフェース部８を介して入力された保護制御装置１の既存ハッシュ値２ｂと、抽出部１２が抽出した既存ハッシュ値とを照合して、一致不一致を判定する処理部である。
【００４８】
新規ソフトウェア生成部１３は、ハッシュ値照合部１５により一致すると判定された新規ソフトウェア１４ａとともに、その新規ハッシュ値１４ｃを生成する。さらに、新規情報処理部１４は、新規ソフトウェア１４ａ、新規識別情報１４ｂとともに、新規ハッシュ値１４ｃについても、データベース部９への記憶、インタフェース部８への出力の対象とする。
【００４９】
（作用）
以上のような本実施形態のソフトウェアの変更処理の手順を、図４のフローチャートを参照して説明する。なお、上記の実施形態と同様の手順については、説明を一部省略する。まず、ステップＳ１１〜Ｓ１４までの処理は、基本的には、ステップＳ０１〜Ｓ０４と同様である。
【００５０】
但し、保護制御装置１の読出部３は、既存識別情報２ｂだけでなく、既存ハッシュ値２ｃも読み出し、インタフェース部４がソフトウェア変更装置７に送信する。ソフトウェア変更装置７のインタフェース部８は、既存識別情報２ｂ及び既存ハッシュ値２ｃを受信する（ステップＳ１２）。また、抽出部１２は、既存識別情報２ｂを元に、既存ソフトウェア２ａとともに既存ハッシュ値２ｃを抽出する。
【００５１】
そして、ハッシュ値照合部１５は、受信した既存ハッシュ値２ｃと、抽出したハッシュ値２ｃが一致するか否かを判定する（ステップＳ１５）。一致しない場合には（ステップＳ１５のＮＯ）、機能の追加・削除作業を終了する。
【００５２】
一致する場合には、新規ソフトウェア生成部１３が、新規ソフトウェア１４ａと新規識別情報１４ｂを生成するとともに、新規ハッシュ値１４ｃも生成する（ステップＳ１６）。最後に、新規情報処理部１４が、新規ソフトウェア１４ａ、新規識別情報１４ｂ及び新規ハッシュ値１４ｃを、データベース部９に記憶させるとともに、インタフェース部８、インタフェース部４、書込部５を通じて保護制御記憶部２に記憶され、保護制御装置１に組み込まれる（ステップＳ１７）。
【００５３】
（効果）
以上のような本実施形態は、データベース部９に、既存ソフトウェア２ａの既存ハッシュ値２ｃが記憶され、抽出部１２は既存ハッシュ値２ｃを抽出する。そして、インタフェース部８を介して入力された保護制御装置１の既存ソフトウェア２ａの既存ハッシュ値２ｃと、抽出部１２が抽出した既存ハッシュ値２ｃとを照合して、一致不一致を判定するハッシュ値照合部１５と、ハッシュ値照合部１５により既存ハッシュ値２ｃが一致すると判定された既存ソフトウェア２ａについて、新規ソフトウェア生成部１３が新規ソフトウェア１４ａを生成するとともに、新規ソフトウェア１４ａの新規ハッシュ値１４ｃを生成する。
【００５４】
さらに、新規情報処理部１４は、新規ソフトウェア１４ａ、新規識別情報１４ｂ及び新規ハッシュ値１４ｃを、インタフェース部８に出力させるとともに、データベース部９に記憶させる。
【００５５】
これによって、復元された既存ソフトウェア２ａと当該保護制御装置１に組み込まれている既存ソフトウェア２ａが一致していることを、既存ハッシュ値２ｃを用いて確認することができる。このため、仮に、データベース部９のデータに誤りがあった場合に、誤った新規ソフトウェア１４ａを生成することがなくなり、信頼性が向上する。
【００５６】
［第３の実施形態］
（構成）
本実施形態は、基本的には、上記の第１の実施形態と同様の構成であるため、同一の構成については同一の符号を付し、説明を省略する。本実施形態においては、図５に示すように、ソフトウェア変更装置７が、ソフトウェア照合部１６を有する。ソフトウェア照合部１６は、インタフェース部８を介して入力された保護制御装置１の既存ソフトウェア２ａと、抽出部１２が抽出した既存ソフトウェア２ａとを照合して、一致不一致を判定する処理部である。新規ソフトウェア生成部１３は、ソフトウェア照合部１６により一致すると判定された既存ソフトウェア２ａについて、新規ソフトウェア１４ａを生成する。
【００５７】
（作用）
以上のような本実施形態のソフトウェアの変更処理の手順を、図６のフローチャートを参照して説明する。なお、上記の実施形態と同様の手順については、説明を一部省略する。まず、ステップＳ２１〜Ｓ２４までの処理は、基本的には、ステップＳ０１〜Ｓ０４と同様である。
【００５８】
但し、保護制御装置１の読出部３は、既存識別情報２ｂだけでなく、既存ソフトウェア２ａも読み出し、インタフェース部４がソフトウェア変更装置７に送信する。ソフトウェア変更装置７のインタフェース部８は、既存識別情報２ｂ及び既存ソフトウェア２ａを受信する（ステップＳ２２）。また、抽出部１２は、既存識別情報２ｂを元に、既存ソフトウェア２ａを抽出する（ステップＳ２４）。
【００５９】
そして、ソフトウェア照合部１６は、受信した既存ソフトウェア２ａと、抽出した既存ソフトウェア２ａが一致するか否かを判定する（ステップＳ２５）。一致しない場合には（ステップＳ２５のＮＯ）、機能の追加・削除作業を終了する。以降の処理は、上記の第１の実施形態と同様である（ステップＳ２６〜Ｓ２７）。
【００６０】
なお、本実施形態では、受信した既存ソフトウェア２ａを、識別情報照合部１１、データベース部９、ソフトウェア抽出部１２、ソフトウェア照合部１６を経由せずに、新規ソフトウェア生成部１３で読み込んでもよい。
【００６１】
（効果）
以上のような本実施形態は、インタフェース部８を介して入力された保護制御装置１の既存ソフトウェア２ａと、抽出部１２が抽出した既存ソフトウェア２ａとを照合して、一致不一致を判定するソフトウェア照合部１６を有する。新規ソフトウェア生成部１３は、ソフトウェア照合部１６により一致すると判定された既存ソフトウェア２ａについて、新規ソフトウェア１４ａを生成する。これによって、既存ソフトウェア２ａ同士を照合するので、抽出された既存ソフトウェア２ａと保護制御装置１に組み込まれている既存ソフトウェア２ａとが、一致しているか否かを正確に確認することができ、信頼性が向上する。
【００６２】
［第４の実施形態］
本実施形態は、基本的には、上記の第１の実施形態と同様の構成であるため、同一の構成については同一の符号を付し、説明を省略する。本実施形態は、図７に示すように、新規ソフトウェア生成部１３が生成した新規ソフトウェア１４ａについて、演算時間を判定する演算時間判定部１７を有する。保護制御装置１は、事故検出後、ミリ秒程度の素早い遮断動作を行う必要があるために、演算を非常に短時間に行わなければならない。つまり、要求される所定の時間内に動作する必要がある。そこで、演算時間判定部１７は、新規ソフトウェア１４ａに模擬的なパラメータを代入する等により、演算時間を測定し、あらかじめメモリ等に設定されたしきい値以下か否かを判定する。インタフェース部８は、演算時間がしきい値以下の場合に、新規ソフトウェア１４ａを保護制御装置１に送信する。
【００６３】
（作用）
以上のような本実施形態のソフトウェアの変更処理の手順を、図８のフローチャートを参照して説明する。なお、上記の実施形態と同様の手順については、説明を一部省略する。まず、ステップＳ３１〜Ｓ３５までの処理は、基本的には、ステップＳ０１〜Ｓ０５と同様である。
【００６４】
そして、演算時間判定部１７は、新規ソフトウェア１４ａの演算時間が、所定のしきい値以下か否かを判定する（ステップＳ３６）。所定の値以下でない場合には（ステップＳ３６のＮＯ）、機能の追加・削除作業を終了する。所定の値以下の場合には（ステップＳ３６のＹＥＳ）、上記の第１の実施形態と同様に新規ソフトウェアの組み込みを行う（ステップＳ３７）。
【００６５】
（効果）
以上のような本実施形態は、新規ソフトウェア１４ａの演算時間が、所定のしきい値以下か否かを判定する演算時間判定部１７を有し、新規情報処理部１４は、演算時間判定部１７により所定のしきい値以下と判定された新規ソフトウェア１４ａを、インタフェース部８に出力させ、データベース部９に記憶させる。
【００６６】
このため、保護制御装置１に対する要求を満たすソフトウェアの変更のみ行うことができ、信頼性が向上する。
【００６７】
［他の実施形態］
（１）上記の演算時間判定部１７は、保護制御装置１が具備していてもよい。この場合、新規ソフトウェア１４ａの演算時間が、所定のしきい値以下で動作する場合にのみ、書込部５が新規ソフトウェア１４ａ、新規識別情報１４ｂを保護制御記憶部２へ書き込む。
【００６８】
（２）保護制御装置１及びソフトウェア変更装置７は、プロセッサ、メモリ等を含むコンピュータを所定のプログラムで制御することによって実現できる。この場合のプログラムは、コンピュータのハードウェアを物理的に活用することで、上記のような各部の処理を実現するものである。
【００６９】
なお、上記の各部の処理を実行する方法、プログラム及びプログラムを記録した記録媒体も、実施形態の一態様である。また、ハードウェアで処理する範囲、プログラムを含むソフトウェアで処理する範囲をどのように設定するかは、特定の態様には限定されない。たとえば、上記の各部のいずれかを、それぞれの処理を実現する回路として構成することも可能である。
【００７０】
（３）上記の各処理部は、共通のコンピュータにおいて実現してもよいし、ネットワークで接続された複数のコンピュータによって実現してもよい。
【００７１】
（４）実施形態に用いられる情報の具体的な内容、値は自由であり、特定の内容、数値には限定されない。実施形態において、しきい値に対する大小判断、一致不一致の判断等において、以上、以下、達する、満たす、充足する、として値を含めるように判断するか、超える、より大きい、未満、より小さいとして値を含めないように判断するかも自由である。したがって、たとえば、値の設定によっては、「以上」を「より大きい」、「超える」、「以下」を「より小さい」、「未満」と読み替えても、実質的には同じである。
【００７２】
（５）本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００７３】
１  保護制御装置
２  保護制御記憶部
２ａ  既存ソフトウェア
２ｂ  既存識別情報
２ｃ  既存ハッシュ値
３  読出部
４  インタフェース部
５  書込部
７  ソフトウェア変更装置
８  インタフェース部
９  データベース部
１０  変更情報記憶部
１１  識別情報照合部
１２  抽出部
１３  新規ソフトウェア生成部
１４  新規情報処理部
１４ａ  新規ソフトウェア
１４ｂ  新規識別情報
１４ｃ  新規ハッシュ値
１５  ハッシュ値照合部
１６  ソフトウェア照合部
１７  演算時間判定部
Ｎ  ネットワーク
【図１】
2016218664.tif 000003
【図２】
2016218664.tif 000004
【図３】
2016218664.tif 000005
【図４】
2016218664.tif 000006
【図５】
2016218664.tif 000007
【図６】
2016218664.tif 000008
【図７】
2016218664.tif 000009
【図８】
2016218664.tif 000010