(57)【要約】  鉄道セーフティクリティカルアプリケーションシステムは、鉄道分野の独自の製品コンポーネントの代わりに、商用のオフザシェルフ（ＣＯＴＳ）のハードウェア及び／又はソフトウェアを使用し、それでもなお、鉄道セーフティクリティカルシステムの無故障標準に適合すると検証される。セーフティクリティカルシステムは、非対称通信能力を備えるＣＯＴＳパーソナルコンピュータのコントローラ上で又は仮想環境内で実行される一対のタスクを使用する。これら２つのタスクは、セーフティクリティカルシステム入力メッセージのデータ及びセキュリティコードを受信して、それらの完全性を検証し、この入力メッセージに応答して出力データを別個に生成する。第１タスクは、完全なセーフティクリティカルシステム出力メッセージを送信する能力のみを有し、一方で、第２タスクだけが、出力セキュリティコードを生成する能力を有する。如何なるシステムのハードウェア、ソフトウェア、又は処理能力に故障が発生しても、その結果として、セーフティクリティカルシステム出力メッセージ、又は、他のセーフティクリティカルシステムによって検証できない出力メッセージは送信されない。
2017513756.tif 000002
【特許請求の範囲】
【請求項１】
鉄道セーフティクリティカルアプリケーションシステムのためのコントロールシステムにおいて、
前記コントロールシステムは、第１タスク及び第２タスクを実行する少なくとも１つのコントローラを有し、
前記第１タスクは、鉄道セーフティクリティカルアプリケーションシステム内におけるセーフティクリティカルシステムメッセージを送受信可能な外部の双方向通信インターフェースを有し、前記メッセージは、セキュリティコードと、セーフティクリティカルデータとを含み、
前記第２タスクは、セーフティクリティカルシステムメッセージを受信することは可能であるが、当該第２タスク内で生成されたセーフティクリティカルシステムメッセージを送信することは不可能である外部の通信インターフェースと、セキュリティコード生成器とを有し、
前記コントロールシステムはさらに、前記第１タスクと前記第２タスクとを接続するタスク間通信経路を有し、
前記第１タスク及び前記第２タスクは、それぞれ、入力セーフティクリティカルシステムデータと入力セキュリティコードとを含む入力セーフティクリティカルシステムメッセージを受信し、前記入力メッセージの完全性を検証し、出力セーフティクリティカルシステムデータを生成し、
前記第２タスクは、出力セキュリティコードを生成して、これを前記第１タスクに送信し、
前記第１タスクは、前記鉄道セーフティクリティカルアプリケーションシステム内で使用するために、前記出力セーフティクリティカルシステムデータと前記第２タスクの前記出力セキュリティコードとを含む出力セーフティクリティカルシステムメッセージを送信する、
ことを特徴とするシステム。
【請求項２】
前記第１タスク及び前記第２タスクは、それぞれの出力セーフティクリティカルシステムデータを生成する前に、各自の入力メッセージの完全性の検証結果を比較する、
請求項１記載のシステム。
【請求項３】
前記第１タスク及び前記第２タスクは、各自の出力セーフティクリティカルシステムデータを比較する、
請求項２記載のシステム。
【請求項４】
前記第１タスク及び前記第２タスクは、前記出力セキュリティコードを生成する前に、各自の出力セーフティクリティカルシステムデータを比較する、
請求項３記載のシステム。
【請求項５】
前記第１タスクは、前記出力セーフティクリティカルシステムメッセージを送信する前に、出力セーフティクリティカルシステムデータの完全性を検証する、
請求項１記載のシステム。
【請求項６】
前記第１タスク及び前記第２タスクは、少なくとも１つのパーソナルコンピュータ上で実行され、
前記第１タスク及び前記第２タスクはさらに、それぞれ異なるオペレーションシステム又はそれぞれ異なるソフトウェア命令セットの少なくとも一方によって実行される、
請求項１記載のシステム。
【請求項７】
前記第１タスク及び前記第２タスクの少なくとも一方のタスクの機能は、仮想的に実行される、
請求項１記載のシステム。
【請求項８】
請求項１記載のコントロールシステムを含む、鉄道セーフティクリティカルアプリケーションシステム。
【請求項９】
請求項６記載のコントロールシステムを含む、鉄道セーフティクリティカルアプリケーションシステム。
【請求項１０】
鉄道セーフティクリティカルシステムを制御するための複数のコントロールシステムを含む鉄道システムにおいて、
前記複数のコントロールシステムは、それぞれセーフティクリティカルデータとセキュリティコードとを有するセーフティクリティカルシステムメッセージを送受信するために通信可能に相互接続されており、
それぞれの前記コントロールシステムは、第１タスク及び第２タスクを実行する少なくとも１つのコントローラを有し、
前記第１タスクは、前記鉄道システム内で生成されたセーフティクリティカルシステムメッセージを送受信可能な外部の双方向通信インターフェースを有し、
前記第２タスクは、セーフティクリティカルシステムメッセージを受信可能であるが、当該第２タスク内で生成されたセーフティクリティカルシステムメッセージの送信は不可能である外部の通信インターフェースと、セキュリティコード生成器とを有し、
前記コントロールシステムはさらに、前記第１タスクと前記第２タスクとを接続するタスク間通信経路を有し、
前記第１タスク及び前記第２タスクは、それぞれ、入力セーフティクリティカルシステムデータと入力セキュリティコードとを含む入力セーフティクリティカルシステムメッセージを受信し、前記入力メッセージの完全性を検証し、出力セーフティクリティカルシステムデータを生成し、
前記第２タスクは、出力セキュリティコードを生成して、これを前記第１タスクに送信し、
前記第１タスクは、前記鉄道システム内で使用するために、前記出力セーフティクリティカルシステムデータと前記第２タスクの前記出力セキュリティコードとを含む出力セーフティクリティカルシステムメッセージを送信する、
ことを特徴とする鉄道システム。
【請求項１１】
前記第１タスク及び前記第２タスクは、それぞれの出力セーフティクリティカルシステムデータを生成する前に、各自の入力メッセージの完全性の検証結果を比較する、
請求項１０記載の鉄道システム。
【請求項１２】
前記第１タスク及び前記第２タスクは、各自の出力セーフティクリティカルシステムデータを比較する、
請求項１１記載の鉄道システム。
【請求項１３】
前記第１タスク及び前記第２タスクは、前記出力セキュリティコードを生成する前に、各自の出力セーフティクリティカルシステムデータを比較する、
請求項１２記載の鉄道システム。
【請求項１４】
前記第１タスクは、前記出力セーフティクリティカルシステムメッセージを送信する前に、前記セーフティクリティカルシステムデータの完全性を検証する、
請求項１０記載の鉄道システム。
【請求項１５】
それぞれの前記コントロールシステム内にて、前記第１タスク及び前記第２タスクは、少なくとも１つのパーソナルコンピュータ上で実行され、
前記第１タスク及び前記第２タスクはさらに、それぞれ異なるオペレーションシステム又はそれぞれ異なるソフトウェア命令セットの少なくとも一方によって実行される、
請求項１０記載の鉄道システム。
【請求項１６】
それぞれの前記コントロールシステムの前記第１タスク及び前記第２タスクは、それぞれ異なるハードウェア構成及びそれぞれ異なるオペレーティングシステムを有する各コンピュータ上で実行される、
請求項１５記載の鉄道システム。
【請求項１７】
鉄道セーフティクリティカルアプリケーションコントロールシステムを制御するための方法において、
少なくとも１つのコントローラ上で実行されるそれぞれの第１タスク及び第２タスクによって、鉄道セーフティクリティカルアプリケーションシステム内で生成された、セキュリティコードとセーフティクリティカルデータとを含むセーフティクリティカルシステム入力メッセージを受信し、前記入力メッセージの完全性を独立して検証し、
前記第１タスク及び前記第２タスクがそれぞれ独立して、前記入力メッセージに応答して、出力セーフティクリティカルシステムデータを生成し、
前記第２タスクのみによって、出力セキュリティコードを生成し、生成された前記出力セキュリティコードを前記第１タスクに送信し、
前記第１タスクによって、前記出力セーフティクリティカルシステムデータと前記第２タスクの前記出力セキュリティコードとを含む出力セーフティクリティカルシステムメッセージをアセンブルして送信する、
ことを特徴とする方法。
【請求項１８】
それぞれの出力セーフティクリティカルシステムデータを生成する前に、前記第１タスク及び前記第２タスクのそれぞれの入力メッセージの完全性の検証結果を比較する、
請求項１７記載の方法。
【請求項１９】
前記第１タスク及び前記第２タスクのそれぞれの出力セーフティクリティカルシステムデータを比較する、
請求項１８記載の方法。
【請求項２０】
前記出力セキュリティコードを生成する前に、前記第１タスク及び前記第２タスクのそれぞれの出力セーフティクリティカルシステムデータを比較する、
請求項１９記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の背景
１．本発明の分野
本発明は、鉄道制御用セーフティクリティカルシステムに関する。より具体的には、本発明は、鉄道業界で必要とされるような低危険率の鉄道セーフティクリティカルアプリケーションシステムにおけるコントロールシステムに関する。鉄道セーフティクリティカルアプリケーションシステム（「セーフティクリティカルシステム」）には、非限定的な例として、列車管理システム、バックオフィスサーバ、列車が安全な速度制限を超えた場合における自動介入のための車載ユニット、運転情報を記録するデータレコーダ、列車速度及び位置決定デバイス、ブレーキ及びスロットルコントロール、サブシステムの状態及び診断、軌道側／地面側と列車側との間で（例えば無線通信を介して）交換される無線データ通信、及び、列車乗務員用通信が含まれる。本明細書で使用される「列車」という用語は、機関車のみ、又は、客車を備える機関車、又は、統合された機関車／客車車両（例えばライトレール又は地下鉄）である。
【０００２】
２．従来技術の説明
鉄道の列車には、高可用性と低危険率とが要求されるセーフティクリティカルシステムが装備されている（「危険」とは、一般的に「人身事故及び／又は環境損傷の可能性のある物理的状況」（ＩＥＣ６２２７８）と理解される）。「鉄道事業者及び政府規制当局は、運用安全性に対する高い要求を満たす非常に低い危険率を要求することが多い」。セーフティクリティカルシステムは典型的に、電子的なコントロールシステムを用いて作動される。時間の経過と共に、これらのシステムは、１つ又は複数の通信データバスを介して相互に通信する、プロセッサ又はコントローラによって作動されるデジタルの電子的なシステムに引き寄せられつつある。
【０００３】
鉄道の安全性目標を達成するために、コントロールシステムのハードウェアは、フォーマットされたテスト及び検証を備えたプロプライエタリな専用設計を有していることが多い。デジタルの電子的なコントローラのオペレーティングシステム及びアプリケーションソフトウェアも検証されている。電子的なデータ通信は、システム間の伝送時におけるデータの完全性を確保するために、ハッシュコード又は暗号化アタッチメントのような、データの完全性のチェックのための有効なセキュリティコードを使用する。検証プロセスには、時間と費用が必要となる。一般的な商用及び民生用のエレクトロニクス（パーソナルコンピュータハードウェア、ソフトウェア、オペレーティングシステムなど）の需要に比べて、鉄道セーフティクリティカルシステムの需要及び販売台数は比較的限定的であるということを考慮すると、鉄道セーフティクリティカルシステムのコントローラ及び関連機器は製造コストが高く、一般的なエレクトロニクスアプリケーション分野で販売されているものより長い製品寿命を有する。
【０００４】
しかしながら、民生用及び商用のパーソナルコンピュータ（ＰＣ）を、既存の鉄道セーフティクリティカルシステムのコントロールシステムの代わりとして直接的に使用することはできない。ＰＣは、多くの場合、鉄道システムに要求される危険率を満たすには不十分な、運転時間当たり１０−４以下のデータ故障率しか有していない。さらには、ＰＣの商用のオペレーティングシステムソフトウェアは、鉄道セーフティクリティカルシステムでの使用が検証されていない。
【０００５】
鉄道業界では、鉄道分野の独自のプロプライエタリな設計のセーフティクリティカルシステムのコントロールシステムのハードウェア及びオペレーティングシステムソフトウェアを、実行可能な場合にはより簡単に入手可能な一般的な商用オフザシェルフ（“ＣＯＴＳ”）に置き換えることが必要である。鉄道分野の独自のプロプライエタリな設計のサブシステムの代わりにＣＯＴＳサブシステムを使用することにより、全体的なシステム設計を簡単化することができ、また、システム設計のサイクルを短縮することができ、さらには、鉄道セーフティクリティカルシステムのプライムサプライヤは、一般消費者又はＣＯＴＳエレクトロニクスのサブベンダよりも高度な専門知識を有しているシステムアプリケーション全体及び統合問題に対する取り組みに注力することができるようになるという可能性がある。
【０００６】
鉄道業界では、代替品を検証することが費用対効果に優れている場合には、鉄道分野の独自の製品の代わりにＣＯＴＳ製品を使用することによって、セーフティクリティカルシステムのコントロールシステムの調達コストを削減すること、及び、適格なサブベンダの数を増やすことも必要である。鉄道顧客及びセーフティクリティカルシステムのプライムサプライヤも、サブシステムコンポーネントの設計及び製造を、各自の商用コンポーネントに関して幅広い設計知識を有しうるサブベンダにアウトソーシングすることによって利益を得ることができる。
【０００７】
鉄道業界ではさらに、検証手続きを簡単化及び集約することによって、セーフティクリティカルシステムの調達スケジュールを合理化することも必要である。例えば、商用オフザシェルフ（ＣＯＴＳ）のコントロールシステムのハードウェア及びソフトウェアコンポーネントが、認定済み及びフォーマット済みの信頼性検証基準を既に満たしている場合には、鉄道クリティカルシステムアプリケーションに対してこれらの該当製品を再検証する必要性をなくすことができる。むしろ、セーフティクリティカルシステムの検証は、既に検証済みの商用オフザシェルフ製品の寄与を含む一般的なシステム検証プロセスによって強化及び簡素化することができ、これによって調達スケジュール及びプロセスを合理化することができる。
【０００８】
本発明の概要
従って、本発明の課題は、プロプライエタリな設計のセーフティクリティカルシステムのコントロールシステムのハードウェア及びオペレーティングシステムソフトウェアを、より簡単に入手可能な非プロプライエタリな商用製品に置き換えることにより、鉄道セーフティクリティカルシステム全体の設計を簡単化することである。
【０００９】
セーフティクリティカルシステムのコントロールシステムの調達コストを削減すること、及び、代替品を検証することが費用対効果に優れている場合には、プロプライエタリな製品の代わりに非プロプライエタリな製品を使用することにより、各自の商用製品ラインに関してより幅広い設計知識を有する適格なサブベンダの数を増やすことも、本発明の課題である。
【００１０】
本発明のさらなる課題は、セーフティクリティカルシステムのコントロールシステムの調達コスト及び検証スケジュールを合理化すること、及び、検証手順を簡単化及び集約することによって適格なベンダの数を増やすことである。
【００１１】
本発明によれば、上記の課題及び他の課題は、鉄道分野の独自のプロプライエタリな製品コンポーネントの代わりに、商用オフザシェルフのハードウェア及びオペレーティングシステムソフトウェアを使用し、それでもなお、鉄道のセーフティクリティカルシステムの標準に適合すると検証されうる、鉄道セーフティクリティカルアプリケーションシステム（「セーフティクリティカルシステム」）のためのコントロールシステムと、当該コントロールシステムを動作させるための方法とによって解決される。例えば、２つの独立的なタスク、スレッド、又はノードを有する鉄道分野の独自のプロプライエタリな鉄道環境の代わりに、他のセーフティクリティカルシステムとの非対称通信のために構成された、１つ又は複数のパーソナルコンピュータ及びオペレーティングシステムを有する商用のパーソナルコンピュータ又は仮想的なコンピュータ環境を使用することができる。これら２つのタスクは、セーフティクリティカルシステム入力メッセージのデータ及びセキュリティコードを受信して、それらの完全性を検証し、この入力メッセージに応答して出力データを別個に生成する。非対称通信アーキテクチャを用いた場合には、第１タスクは、出力データを含んでいるが出力セキュリティコードは含まない、セーフティクリティカルシステム・出力メッセージを送信する能力のみを有し、第２タスクだけが、必要とされる出力セキュリティコードを生成する能力を有する。冗長性及び非対称通信アーキテクチャのおかげで、２つのタスクの一方又は双方、若しくはソフトウェア、若しくは処理能力に故障が発生すると、その結果として、セーフティクリティカルシステム出力メッセージが送信されないか、又は、出力メッセージは送信されるが、この出力メッセージは、当該未検証のメッセージを受信した他のセーフティクリティカルシステムによって検証できない（従って使用できない又は信頼できない）ようになっている。
【００１２】
本発明は、鉄道セーフティクリティカルアプリケーションシステム（「セーフティクリティカルシステム」）のためのコントロールシステムを特徴とする。コントロールシステムは、第１タスク及び第２タスクを実行する少なくとも１つのコントローラを有する。前記第１タスクは、鉄道セーフティクリティカルアプリケーションシステム内で生成されたセーフティクリティカルシステムメッセージを送受信可能な外部の双方向通信インターフェースを有する。前記メッセージは、セキュリティコードと、セーフティクリティカルデータとを含む。前記第２タスクは、セーフティクリティカルシステムメッセージを受信することは可能であるが、当該第２タスク内で生成されたセーフティクリティカルシステムメッセージを送信することは不可能である外部の通信インターフェースを有する。前記第２タスクは、セキュリティコード生成器を有する。前記コントロールシステムは、前記第１タスクと前記第２タスクとを接続するタスク間通信経路を有する。本発明のコントロールシステムの動作時には、前記第１タスク及び前記第２タスクは、それぞれ、入力セーフティクリティカルシステムデータと入力セキュリティコードとを含む入力セーフティクリティカルシステムメッセージを受信する。前記第１タスク及び前記第２タスクは、前記入力メッセージの完全性を検証し、出力セーフティクリティカルシステムデータを生成する。前記第２タスクは、出力セキュリティコードを生成して、これを前記第１タスクに送信する。それから、前記第１タスクは、前記セーフティクリティカルアプリケーションシステム内で使用するために、前記出力セーフティクリティカルシステムデータと前記第２タスクの前記出力セキュリティコードとを含む出力セーフティクリティカルシステムメッセージを送信する。
【００１３】
本発明はまた、鉄道セーフティクリティカルシステムを制御するための複数のコントロールシステムを含む鉄道システムを特徴とする。前記複数のコントロールシステムは、それぞれ、セーフティクリティカルデータとセキュリティコードとを有するセーフティクリティカルシステムメッセージを送受信するために通信可能に相互接続されている。それぞれの前記コントロールシステムの少なくともいくつかは、前記第１タスク及び前記第２タスクを実行する少なくとも１つのコントローラを有する。前記第１タスクは、接続された他のシステム内で生成されたセーフティクリティカルシステムメッセージを送受信可能な外部の双方向通信インターフェースを有する。前記第２タスクは、セーフティクリティカルシステムメッセージを受信することが可能であるが、当該第２タスク内で生成されたセーフティクリティカルシステムメッセージを送信することは不可能である外部の通信インターフェースを有する。前記第２タスクは、セキュリティコード生成器を有する。タスク間通信経路が、前記第１タスクと前記第２タスクとを接続する。それぞれの前記コントロールシステムの動作時には、前記第１タスク及び前記第２タスクは、それぞれ、入力セーフティクリティカルシステムデータと入力セキュリティコードとを含む入力セーフティクリティカルシステムメッセージを受信し、前記第１タスク及び前記第２タスクは、前記入力メッセージの完全性を検証し、出力セーフティクリティカルシステムデータを生成する。前記第２タスクは、出力セキュリティコードを生成して、これを前記第１タスクに送信し、前記第１タスクは、前記接続された他のシステム内で使用するために、前記出力セーフティクリティカルシステムデータと前記第２タスクの前記出力セキュリティコードとを含む出力セーフティクリティカルシステムメッセージを送信する。
【００１４】
本発明はさらに、鉄道セーフティクリティカルコントロールシステム（連動システム又は列車コントロールシステムなど）を制御するための方法を特徴とする。本方法は、少なくとも１つのコントローラ上で実行されるそれぞれの第１タスク及び第２タスクによって、セキュリティコードとセーフティクリティカルデータとを含む、鉄道列車内で生成されたセーフティクリティカルシステム入力メッセージを受信することと、前記入力メッセージの完全性を独立して検証することとを含む。次に、前記第１タスク及び前記第２タスクがそれぞれ独立して、前記入力メッセージに応答して、出力セーフティクリティカルシステムデータを生成する。前記第２タスクは、前記第１タスクに送信される出力セキュリティコードを生成し、前記第１タスクは、前記出力セーフティクリティカルシステムデータと前記第２タスクの前記出力セキュリティコードとを含む出力セーフティクリティカルシステムメッセージのアセンブリング、検証、及び、送信を担当する。
【００１５】
本発明の課題及び特徴は、当業者によって任意の組み合わせで又は任意のサブコンビネーションで、共同でも又は個別でも適用することができる。
【００１６】
図面の簡単な説明
本発明の教示は、添付図面と併せて、以下の詳細な説明を考慮することによって容易に理解することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の列車セーフティクリティカルシステムのインタラクションを示す、車載列車コントロールシステムの一般的な概略図である。
【図２】本発明の列車セーフティクリティカルシステムのコントロールシステムにおいて使用される形式のコンピュータ又はコントローラの概略図である。
【図３】本発明のセーフティクリティカルシステムのコントロールシステムにおいて使用される、例示的なセーフティクリティカルシステムメッセージのフォーマットを示した図である。
【図４】本発明のセーフティクリティカルシステムのコントロールシステム間における通信インタラクションを示すブロック図である。
【図５】本発明のセーフティクリティカルシステムのコントロールシステムの例示的な実施形態によって実行される処理ステップを示したタイミング図である。
【図６】本発明のセーフティクリティカルシステムのコントロールシステムの別の例示的な実施形態によって実行される処理ステップを示したタイミング図である。
【００１８】
理解を容易にする目的で、複数の図面で共通している同一の要素を指示するために可能な場合には同一の参照番号を使用している。
【００１９】
詳細な説明
当業者は、以下の説明を考慮すると、プロプライエタリな製品コンポーネントの代わりに商用のハードウェア及び／又はオペレーティングシステムソフトウェアを使用していても、それでもなお、鉄道セーフティクリティカルシステムの標準に適合すると検証される、鉄道セーフティクリティカルシステムにおいて、本発明の教示が容易に利用されうることをはっきりと理解するだろう。本発明のいくつかの実施形態では、セーフティクリティカルシステムは、１つ又は複数のパーソナルコンピュータと、２つの独立的なタスクと、オペレーティングシステムとを備える仮想的なコンピュータ環境を利用するか、若しくは、他の市販のコントローラ及びオペレーティングシステムを利用する。それぞれのコンピュータ、オペレーティングシステム、ソフトウェア言語、及び、コンパイラは、他の多様性に応じて異なる場合がある。２つのタスクは双方とも、セーフティクリティカルシステム入力メッセージのデータ及びセキュリティコードを受信して、それらの完全性を検証し、この入力メッセージに応答して出力データを別個に生成する。これらの別個のタスク対は、非対称に通信する。第１タスクだけが、出力データと出力セキュリティコードとを含むセーフティクリティカルシステム出力メッセージを送信する能力を有しており、これに対して第２タスクだけが、出力セキュリティコードを生成する能力を有する。コンピュータのハードウェア、ソフトウェア、又は処理能力に故障が発生すると、その結果として、セーフティクリティカルシステム出力メッセージが送信されないか、又は、出力メッセージは送信されるが、この出力メッセージは、当該未検証のメッセージを受信した他のセーフティクリティカルシステムによって検証できない（従って使用できない又は信頼できない）ようになっている。
【００２０】
列車のセーフティクリティカルシステムの一般的な説明
図１は、固定の軌道１０と、１つ又は複数の列車４０とを有する鉄道システムを概略的に示す。列車通信、すなわちセーフティクリティカルシステム等を含む列車システムのインタラクションに関する本明細書の一般的な説明は、本発明が鉄道列車において如何にして利用されうるのかを理解する手助けとなる一般的な性質を有する。個々の列車ネットワーク及び列車システムは、本明細書に記載された一般的且つ例示的な説明とは異なる場合がある。列車４０は、無線データを送受信可能な無線データ／通信システム４２を含む。無線データ／通信システム４２は、通信システムの無線の軌道・列車コントロールステーションネットワーク（図示せず）と通信する。
【００２１】
列車の送受信機の通信用のセーフティクリティカルシステム４２は、車載列車管理システム（ＴＭＳ）５０と、列車運転者がローカルの軌道速度命令及び停止命令に従わない場合に列車速度の制御及び制動に介入する車載ユニット（ＯＢＵ）５１とを含む他のセーフティクリティカルシステムに、直接的又は間接的に通信可能に接続されている。典型的には、列車４０は、とりわけインシデントデータの取得、処理、整理、フォーマット、及び記録のための、レコーダ６２と、１つ又は複数の関連するメモリ記憶デバイス６４とを備えた公知の設計の車載データ記録システム（ＤＲＳ）６０も有する。他のあらゆるセーフティクリティカルシステムと同様に、ＤＲＳ６０の機能は、別個のスタンドアローン型のデバイスとしてではなく、列車管理システム（ＴＭＳ）５０のような別の重要な車載システムの内部にあるサブシステムとして組み込まれていてもよい。
【００２２】
図１に示すように、列車４０は一般的に、１つ又は複数のホイールキャリッジに駆動力を供給する駆動システム７２と、列車速度を変更するためのブレーキシステム７４とを含む、他の複数のセーフティクリティカル・サブシステムを有する。車載列車管理システム（ＴＭＳ）５０は、列車の位置情報及び速度情報を供給するための関連する列車位置検出システム８２Ｂを備えたナビゲーション位置システム（ＮＰＳ）８２Ａを含む、列車の他の被制御サブシステムのための主となる電子的なコントロールデバイスである。他のサブシステムにはスロットルコントロールが含まれ、このスロットルコントロールは、駆動システム７２に働きかけ（例えば減速の増減）、且つ、ＴＭＳ５０から命令を受信する。ブレーキシステム７４によってブレーキが列車４０を制動する。ブレーキシステム７４はまた、ＴＭＳ５０から命令を受信する。任意選択的に、列車の他の客車及び／又は連結された機関車４０’と、ＴＭＳ５０とを通信させてもよく、若しくは、列車４０内のブレーキ及びスロットルコントロールの調整用等のような他のサブシステムと通信させてもよい。列車４０は、列車乗務員用のヒューマンマシンインターフェース（ＨＭＩ）９０も有しており、このヒューマンマシンインターフェース（ＨＭＩ）９０は、電子的なディスプレイスクリーン９１と、運転者によって作動されるブレーキＢ及びスロットルＴのコントロール（運転者は列車の運転状況に応じてこれらのうちいずれか一方又は双方を使用する）とを有しており、これによって列車運転者は、列車を運転することが可能となっている。ＨＭＩ９０は、通信データバス９２を介してＴＭＳ５０と通信するが、他の公知のコントロールシステムアーキテクチャを実装している場合には、このデータバスの代わりに他の公知の通信経路を使用することが可能である。ＨＭＩ９０は、列車運転者のそれぞれのスロットルＴ及びブレーキＢの制御命令を、該当するエンジンコントロール７２及びブレーキシステム７４に送信する。
【００２３】
図１のこの例示的な実施形態では、ＴＭＳ列車コントロールシステム５０、ＯＢＵ５１、データ記録システム（ＤＲＳ）６０、及び、ＨＭＩ９０のいずれも、データバス９２を介して相互に通信する公知の設計の内部のコンピュータ／コントローラプラットフォーム１００を有している。しかしながらコンピュータ／コントローラの個数、その位置、及び、それらの分散機能は、選択的な設計事項として変更してもよい。この例示的な実施形態では、列車４０のサブシステムの一般的な制御は、ＴＭＳ５０とコントローラプラットフォーム１００とによって実行され、介入機能は、ＯＢＵ５１とコントローラプラットフォーム１００とによって実行され、データ記録機能は、データ記録システム６０とコントローラプラットフォーム１００とによって実行され、ＨＭＩ機能は、ＨＭＩ９０とコントローラプラットフォーム１００とによって実行され、但し、いずれのシステム５０，５１，６０，９０も、部分的又は全体的に組み合わせることができる。
【００２４】
鉄道セーフティクリティカルシステムのタスクと、タスクの通信とに関する一般的な説明
図２に示すように、物理的又は仮想的なコントローラプラットフォーム１００は、プロセッサ１１０と、該プロセッサ１１０と通信するコントローラバス１２０とを含む。プロセッサ１１０は、１つ又は複数の内部又は外部のメモリデバイス１３０に接続されている。メモリデバイス１３０は、オペレーティングシステム１４０及びアプリケーションプログラム１５０のソフトウェアモジュール命令セットを含み、これらの命令セットは、プロセッサによってアクセス及び実行され、且つ、それぞれのコントロールデバイス（例えばＴＭＳ５０，ＯＢＵ５１，ＤＲＳ６０，又はＨＭＩ９０等）に、各自の関連するセーフティクリティカル・サブシステムでの制御動作を実行させる。
【００２５】
例示的なコントローラプラットフォーム１００のアーキテクチャと、プロセッサ１１０によって実行されるソフトウェアモジュールによる実装とを参照しているが、その一方で本発明を、ハードウェア、ソフトウェア、ファームウェア、専用プロセッサ、又はそれらの組み合わせの種々の形態で実装することができることも理解すべきである。本発明の態様は、好ましくはプログラム記憶デバイス上に有形に具現化されたプログラムとしてソフトウェアによって実装される。このプログラムを任意の適切なアーキテクチャを含むマシンにアップロードして、このマシンによって実行することができる。好ましくはこのマシンは、１つ又は複数の中央処理装置（ＣＰＵ）、ランダムアクセスメモリ（ＲＡＭ）、及び、入出力（Ｉ／Ｏ）インターフェースのようなハードウェアを有するコンピュータプラットフォーム上に実装される。コンピュータプラットフォーム１００は、オペレーティングシステムと、マイクロ命令コードも含む。本明細書で説明する種々のプロセス及び機能は、オペレーティングシステムを介して実行されるマイクロ命令コードの一部又はプログラムの一部（又はそれらの組み合わせ）とすることができる。さらには、種々異なる他の周辺デバイスをコンピュータ／コントローラプラットフォーム１００に接続してもよい。
【００２６】
添付の図面に示されたシステム構成コンポーネント及び方法ステップの中には、ソフトウェアでの実装が好ましいものもあるため、システムコンポーネント（又は処理ステップ）間における実際の接続は、本発明がプログラミングされている方法に応じて異なる場合があることを理解すべきである。具体的には、いずれのコンピュータプラットフォーム又はデバイスも、既存の又は後から発見される任意のネットワーク技術を使用して相互接続することができ、またさらには、いずれのコンピュータプラットフォーム又はデバイスも、企業ネットワーク、又はメトロポリタンネットワーク、又はインターネット等のグローバルネットワークのような、比較的大規模のネットワークシステムを介して接続することもできる。
【００２７】
コンピュータ／コントローラプラットフォーム１００は、１つ又は複数の入力デバイスＩからそれぞれの通信経路Ｉ’を経由して入力インターフェース１６０を介して入力通信を受信し、今度はこの入力情報を、コントローラバス１２０を介して配布することができる。出力インターフェース１８０は、関連する通信経路Ｏ’を介した１つ又は複数の出力デバイスＯとの通信を容易にする。コントローラプラットフォーム１００はまた、上述したデータバス９２のような外部の共有データバス上で他のコントローラと通信するための通信インターフェース１７０も有する。
【００２８】
図２〜４を参照すると、各コンピュータ／コントローラプラットフォーム１００の間、及び、各自のセーフティクリティカルシステム（ＳＣＳ１〜ＳＣＳｎ）の間における通信は、データバス９２上で伝送されるセーフティクリティカルシステムメッセージ（ＳＣＳＭ）２００を介して実現される。各ＳＣＳＭ２００は、鉄道クリティカルシステムでのセーフティクリティカルデータの完全性に関して承認された公知のプロトコルに従ってフォーマット及び送信される。この公知のプロトコルには、公知のチェックサムやハッシュ等のプロトコルによって生成される公知のセキュリティコードが含まれる。図３に示された例示的なＳＣＳＭ２００は、タイムスタンプ２１０と、必要に応じてシーケンス番号と、ソース及び宛先の識別子（図示せず）と、セーフティクリティカルシステムデータ（ＳＣＳデータ）２２０と、セキュリティコード（ＳＣ）２３０とを含む。本明細書における説明を容易にするために、着信又は入力セーフティクリティカルシステムメッセージ（ＳＣＳＭＩ）は、セーフティクリティカル入力データ（ＤＩ）と、入力セキュリティコード（ＳＣＩ）とを含む。同様にして、発信又は出力セーフティクリティカルシステムメッセージ（ＳＣＳＭＯ）は、セーフティクリティカル出力データ（ＤＯ）と、出力セキュリティコード（ＳＣＯ）とを含む。セーフティクリティカルシステムＳＣＳ１〜ＳＣＳｎがＳＣＳＭＩを受信すると、このＳＣＳＭＩのデータの完全性が、ハードウェア、ファームウェア、ソフトウェア、又はそれらの任意の組み合わせによって実装されるタスク（Ｔ１，Ｔ２）内において、公知のＳＣＩ２４０分析モジュールを用いて検証される。ＳＣＳＭＩのデータの完全性が検証された場合には、各タスクによってＤＩが利用され、出力データＤＯと、ＳＣＯ２５０生成モジュールで生成された出力セキュリティコードとを含む応答出力メッセージＳＣＳＭＯが用意される。ＳＣＩ２４０モジュールと同様に、ＳＣＯ２５０モジュールの生成機能は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの任意の組み合わせによって実装される。その後に生成されるＳＣＳＭＯは、１つ又は複数の指定された受信者のＳＣＳコントローラプラットフォームに送信され、今度はこのＳＣＳコントローラプラットフォームが、このメッセージをＳＣＳＭＩとして処理する。
【００２９】
冗長的なコントロールシステム及び運用
図４では、セーフティクリティカルシステムＳＣＳ１及びＳＣＳ２は、コントローラ間データインターフェース３３０を介して相互に双方向通信する一対のタスクＴ１ ３００及びＴ２ ３２０をそれぞれ含む。タスク３００，３２０は、例えば産業用プログラマブルロジックコントローラ、若しくは、個別の又はユニット化されたコンピュータ／コントローラマザーボード、若しくは、商用オフザシェルフのパーソナルコンピュータ／マザーボードのような、市販の産業用又は商用又は民生用のデバイスにおいて動作している。さらなる別の例として、タスク３００，３２０が事実上又は仮想的にパーソナルコンピュータにおいて実行される場合には、これらのタスク３００，３２０は、共通の１つのデバイス筐体内で組み合わせられた別個のデバイスや、サーバラックの別個の基盤等の中に収容された、１つ又は複数のコンピュータ内の、同一又は別個のコントローラ１００上で実行することができる。１つ又は複数のコンピュータのそれぞれは、各自の専用のセーフティクリティカルシステム機能を実行するために、別個の又は共通のコントローラプラットフォーム１００を含むそれぞれ異なるハードウェア、及び／又はそれぞれ異なるプロセッサ１１０、及び／又はそれぞれ異なるオペレーティングシステム１４０、及び／又はこれらに記憶され、プロセッサによって実行されるそれぞれ異なるアプリケーションプログラム１５０、を含むことができる。各タスク３００，３２０において使用されるコンポーネント及びソフトウェアは、それぞれ異なるベンダから供給されていてもよい。例えば、各タスク３００，３２０は、一般化された全ベンダに共通の（vendor-wide）コンポーネント又はソフトウェアにおける故障の可能性を低減するために、それぞれ異なるベンダモデルの、すなわちそれぞれ異なるバージョン又はタイプのプロセッサ１１０、オペレーティングシステム１４０、及びアプリケーションソフトウェア１５０を利用してもよい。別の例示的な実施形態又は構成では、別個のタスクＴ１及びＴ２の実装は双方とも、それぞれのＳＣＩ２４０サブタスク及びＳＣＯ２５０サブタスクも仮想的に実装された状態で、共通の１つのコンピュータプロセッサ１００において同時にほぼリアルタイムで実行される。
【００３０】
Ｔ１タスク３００は、通信経路３４０を介してクリティカルシステムデータバス９２との双方向通信が可能である。この通信経路３４０は、タスクプラットフォーム１００の通信インターフェース１７０内で有効化された通信ポートを含むことができる。タスク３００は、ＳＣＳＭＩのデータの完全性の検証を可能にする着信セキュリティコード検証モジュール２４０を有するが、発信ＳＣＳＭＯセキュリティコードＳＣＯを生成する能力は有さない。
【００３１】
Ｔ２タスク３２０は、有効化された発信セキュリティコードＳＣＯ生成器２５０を有するが、ＳＣＯとクリティカル出力データとを、クリティカルシステムデータインターフェース９２に直接的に送信することはできない。タスク３２０は、内部のデータインターフェース３３０を介してＳＣＯをタスク３００に送信することだけが可能である。すなわち、タスク３２０は、一方向の着信用通信経路３５０を介してＳＣＳＭＩを受信して、ＳＣＩ検証モジュール２４０を用いてデータの完全性を検証することだけが可能である。換言すると、Ｔ２タスク３２０は、ＳＣＳＭＯをデータバス９２に直接的に送信することはできない。
【００３２】
図５及び６を参照して理解できるように、ＳＣＳ１内のそれぞれのＴ１タスク３００とＴ２タスク３２０とは、非対称通信として実装された相互依存的な対関係にある。第１Ｔ１タスク３００は、ＳＣＳＭＩを受信して、応答ＳＣＳＭＯを送信することはできるが、第２Ｔ２タスク３２０からＳＣＯを受信するまで応答メッセージを作成することはできない。Ｔ２タスクは、クリティカルシステムデータバス９２への外部通信はできないので、如何なるメッセージでも、送信するためにはＴ１タスクに依存しなければならない。
【００３３】
図５を参照すると、ステップ４００では、時点ｔ１において、セーフティクリティカルシステムＳＣＳ２〜ＳＣＳｎの１つが、ＤＩ及びＳＣＩを含むＳＣＳＭＩをＳＣＳ１に送信し、これと同じ時点ｔ１に、Ｔ１及びＴ２の双方がこのＳＣＳＭＩを受信する。ステップ４１０では、ｔ２において、Ｔ１及びＴ２の双方がＳＣＳＭＩのデータの完全性を検証し、ステップ４２０において、Ｔ１及びＴ２の双方が入力データＤＩに応答してＤＯデータを生成する（ｔ３）。ステップ４３０では、時点ｔ４において、Ｔ２が出力セキュリティコードＳＣＯを生成し、これをステップ４４０においてＴ１に送信する。ステップ４５０（ｔ５）では、Ｔ１が（前のステップでＴ２によって供給された）ＤＯを、自身が生成したＤＯと一緒にアセンブルして任意選択的に検証し、その後、ステップ４６０（ｔ６）において、クリティカルシステムデータバス９２を介してＳＣＳＭＯを他のセーフティクリティカルシステムに送信する。ステップ４５０の間にこれらのＤＯが相互に確証されない場合（すなわち出力データが疑わしい場合）には、Ｔ１はＳＣＳＭＯを送信しない。これに代えて、Ｔ１がＤＯを検証するために有効化されていない場合、若しくは、Ｔ１及び／又はＴ２が誤動作している場合には、Ｔ１が破損したＳＣＳＭＯを送信するおそれがあるが、このメッセージが他のセーフティクリティカルシステムによって受信されると、この破損が識別されることとなる。
【００３４】
図６の実施形態は、図５の実施形態の全てのステップ及びプロセスを有するが、ＳＣＳＭＩ検証結果を比較するステップ４１５が追加されており、このステップ４１５では、Ｔ１とＴ２とが互いの検証結果をチェックし合う。比較結果が同じでない場合には、ＳＣＳ１は、故障のフラグを立てる。この実施形態にはさらに、ステップ４３０においてＴ２が出力セキュリティコードＳＣＯを生成する前に、出力データＤＯを比較するステップ４２５も追加されている。ここでも比較結果が同じでない場合には、ＳＣＳ１は、故障のフラグを立てる。
【００３５】
セーフティクリティカルシステムのための本発明に係る鉄道コントロールシステムの、ソフトウェア冗長性という特徴、及び、相互依存性の非対称通信での出力セキュリティコードの生成／送信という特徴によって、個別的に又は独立的に並列処理する一対の商用オフザシェルフのコントローラ又はパーソナルコンピュータよりも高い安全性レベルが保証される。単一のコンピュータの場合には、複合的な形式の故障による影響を受けやすく、これらは故障が発生したコンピュータからＳＣＳＭＯを受信した他のセーフティクリティカルシステムによって必ずしも検出されるわけではない。同一のＳＣＳＭＯを他のセーフティクリティカルシステムに供給しているか、又は、送信する前に出力メッセージ同士の確証を行っている、２つの独立的な並列タスク実行Ｔ１及びＴ２の場合には、１つのコンピュータプラットフォーム上に実装されているか又は複数のコンピュータプラットフォーム上に実装されているかに拘わらず、双方が同一の誤った出力メッセージを生成するおそれがある。このような故障モードの伝送エラーは、本発明のコントロールシステムでは起こりえない。
【００３６】
本発明のセーフティクリティカルシステムＳＣＳ１のコントロールシステムの場合に起こりうる故障モードを分析すると、Ｔ１が誤ったＤＯを算出し、Ｔ２が正しいＤＯ及びＳＣＯを算出した場合には、検証ステップ４５０においてＴ１が、このＤＯと自身のＤＯとが不一致であるというフラグを立て、エラーのフラグを立てることとなる。ステップ４５０でＴ１がＳＣＳＭＯを検証しなかった場合には、このメッセージを受信した他のセーフティクリティカルシステムが、この受信したメッセージを検証する際に、エラーのフラグを立てることとなる。これとは逆に、Ｔ１のＤＯは正しいが、Ｔ２のＤＯ又はＳＣＯが誤っている場合には、Ｔ２か、又はＳＣＳＭＯを受信した他のＳＣＳかが、エラーを識別することとなる。Ｔ１及びＴ２が双方とも誤動作していて、双方とも誤ったＤＯ及び／又はＳＣＯを生成している場合には、その後にこの破損したメッセージを受信した他のクリティカルシステムによって、ＤＯ及びＳＣＯの不一致が識別されることとなる。
【００３７】
本明細書において、本発明の教示が組み込まれた様々な実施形態を詳細に示し、説明してきたが、当業者は、これらの教示が依然として組み込まれた多数の他の様々な実施形態を容易に考案することが可能である。
【図１】
2017513756.tif 000003
【図２】
2017513756.tif 000004
【図３】
2017513756.tif 000005
【図４】
2017513756.tif 000006
【図５】
2017513756.tif 000007
【図６】
2017513756.tif 000008
【国際調査報告】
2017513756.tif 000009
2017513756.tif 000010