(57)【要約】【課題】ソフトウェアの開発工数を削減できる、システムの安全性を確保する分散制御システムを提供する。【手段】鉄道網向けコマンドを処理するため、並列に配置され対応入力に同一の入力データを受信する複数個のプロセッサのセットと、各プロセッサは複数の異なる命令セットを受取り、その命令セットの実行を通じて同一の入力データに対し同一の出力データを計算して各出力に伝達し、各プロセッサの出力データから所定の基準に基づいて選んだコマンド信号を伝達するコマンド出力を備えたコマンド選択コンポーネントとを含み、さらに、各プロセッサに関連した命令セットは、全ての命令セットに対して同一の複数の自動システムを、各プロセッサに特有の関連する周期的シーケンスにおいて活性化するシーケンサに従って走らせ、各シーケンサの発生する周期的シーケンスは互いに異なる、ことを特徴とする。【選択図】図２
2007249976.tif 000002
【特許請求の範囲】
【請求項１】
システムの安全性を確保する分散制御システム（２）であって、
（ｉ）  鉄道網システム向けに意図されたコマンドを処理するために、対応する入力（１０、１２、１４）において同一の入力データＥを受信するように並列に配置された、少なくとも２つのプロセッサ（４、６、８）からなるセットと、
（ｉｉ）  その際、プロセッサ（４、６、８）の各々は、少なくとも２つの異なる命令セットを受け取り、その命令セットの実行を通じて、同一の入力データＥに対して同一の出力データＳ（Ｐ１）、Ｓ（Ｐ２）、Ｓ（Ｐ３）を計算し、異なる出力（２８、３０、３２）に伝達することができ、
（ｉｉｉ）  各々、プロセッサ（４、６、８）の出力（２８、３０、３２）に接続されている少なくとも２つの入力（３６、３８、４０）、及びプロセッサ（４、６、８）からの出力データから前もって定義した基準に基づいて選ばれたコマンド信号を伝達することができるコマンド出力（４２）を備えたコマンド選択コンポーネント（３４）と、
を含み、さらに、
（ｉｖ）  プロセッサ（４、６、８）の各々に関連した命令セットは、少なくとも２つのモジュラ・アプリケーション自動システム（以下、単に「自動システム」という。  ４６、４８、５０、５２）を走らせることが可能で、自動システム（４６、４８、５０、５２）は、すべての命令セットに対して同一であり、
（ｖ）  プロセッサ（４、６、８）の各々に関連した各命令セット（１６、１８、２０）は、自動システム（４６、４８、５０、５２）を、各プロセッサに特有の関連する周期的シーケンス（６０、７０、７８）において活性化するシーケンサ（５４、５６、５８）を作成し、そして、
（ｖｉ）  各シーケンサ（５４、５６、５８）は、その特定の関連する周期的シーケンス（６０、７０、７８）に関して、他のシーケンサ（各々、５６と５８、５４と５８、５４と５６）と異なる、
ことを特徴とするシステムの安全性を確保する分散制御システム。
【請求項２】
各シーケンサ（５４、５６、５８）は、自動システム（４６、４８、５０、５２）を走らせる互いに異なる周期的シーケンス（６０、７０、７８）に基き、自動システム（４６、４８、５０、５２）を活性化し順序付けし、その際、周期的シーケンス（６０、７０、７８）は、同一のサイクル（６２）を有し、さらに異なるシーケンス・スタート（６４、７２）及び異なるパス方向（６６、８２）の一方又は両方のいずれかを有する、
ことを特徴とする請求項１に記載のシステムの安全性を確保する分散制御システム。
【請求項３】
各シーケンサ（５４、５６）は、自動システム（４６、４８、５０、５２）を走らせる異なる特定の周期的シーケンス（６０、７０）に基き、自動システム（４６、４８、５０、５２）を活性化し順序付けし、その際、周期的シーケンス（６０、７０）は、同一パス方向（６６、７４）の同一のサイクル（６２）を有する、
ことを特徴とする請求項２に記載のシステムの安全性を確保する分散制御システム。
【請求項４】
各シーケンサは、一連の部分的シーケンス（２３４、２４４、２５４）から形成された、互いに異なる周期的シーケンス（２２４）に基き、自動システムを順序付けし、その際、各部分的シーケンス（２３４、２４４、２５４）は、制御システム（２）における自動システムのセット（１９８、２００、２０２、２０４、２０６、２０８、２１０、２１２、２１４、２１６）を細分するサブグループ（２１８、２２０、２２２）の各々に属する自動システムから構成される、
ことを特徴とする請求項１に記載のシステムの安全性を確保する分散制御システム。
【請求項５】
自動システムのサブグループ（２１８、２２０、２２２）は、すべてのプロセッサ（４、６、８）に対して同一である、
ことを特徴とする請求項４に記載のシステムの安全性を確保する分散制御システム。
【請求項６】
システムの安全性を確保する分散制御システムであって、
（ｉ）  各自動システム（４６、４８、５０、５２）は、自動システム入力（８６、８８、９２、９４、１００、１０２、１０６、１０８）、及び自動システム出力（９０、９６、９８、１０４、１１０）を有し、
（ｉｉ）  前記自動システム入力は、それが制御システム（２）への入力データ（Ｅ１、Ｅ２）の変数アイテムを受信することができる場合、外部入力であり、
（ｉｉｉ）  前記自動システム出力は、それが制御システム（２）からの出力データ（Ｓ１、Ｓ２、Ｓ３）の変数アイテムを伝達することができる場合、外部出力であり、
（ｉｖ）  前記自動システム入力及び自動システム出力は、同一の自動システム又は２つの異なる自動システムに対して相互に連結することができ、データ（Ｉ１、Ｉ２）の変数アイテムを交換することができる場合、内部入出力であり、
（ｖ）  自動システム入力（８６、８８、９２、９４、１００、１０２、１０６、１０８）、及び自動システム出力（９０、９６、９８、１０４、１１０）の変数のセットは、重複を省いた場合、制御システム（２）の状態ベクトル（Ｅ１、Ｅ２、Ｉｌ、Ｉ２、Ｓ１、Ｓ２、Ｓ３）を形成し、
さらに、
（ｖｉ）  制御システム（２）は、各プロセッサ（４、６、８）に対応する一時記憶（２２、２４、２６）を有し、前記一時記憶（２２、２４、２６）は、自動システムのシーケンスが実行される場合の、スタート状態レジスタレジスタ（１１２）とエンド状態レジスタ（１１３）を備え、
（ａ）  前記スタート状態レジスタレジスタ（１１２）は、自動システムのシーケンスが実行される直前の状態変数のセット（Ｅ１、Ｅ２、Ｉｌ、Ｉ２、Ｓ１、Ｓ２、Ｓ３）に対する値を含み、
（ｂ）  前記エンド状態レジスタ（１１３）は、自動システムのシーケンスが実行された直後の状態変数のセット（Ｅ１、Ｅ２、Ｉｌ、Ｉ２、Ｓ１、Ｓ２、Ｓ３）に対する値を含む、
ことを特徴とする請求項１ないし５のいずれかに記載のシステムの安全性を確保する分散制御システム。
【請求項７】
各プロセッサ（４、６、８）は、シーケンス（６０、７０、７８）が実行されている期間において、スタート状態レジスタレジスタ（１１２）に対しては単に読み出すことができるだけであり、エンド状態レジスタ（１１３）に対しては単に書き込むことができるだけである、
ことを特徴とする請求項６に記載のシステムの安全性を確保する分散制御システム。
【請求項８】
（ｉ）  各プロセッサ（４、６、８）については、一旦シーケンスが実行され始めると、シーケンス用のスタート状態レジスタ（１１２）は単に書き込まれることができ、エンド状態レジスタ（１１３）に存在する状態変数の値によってリフレッシュすることができ、
さらに、
（ｉｉ）  少なくとも２つの関連する状態レジスタ（１１２、１１３）の状態変数の値が同一になるまで、各プロセッサ（４、６、８）は、自動システムのシーケンスを繰り返し実行することができる、
ことを特徴とする請求項７に記載のシステムの安全性を確保する分散制御システム。
【請求項９】
各プロセッサ（４、６、８）は、そのプロセッサにロードすることができる１セットのプロセッサ命令を含むプログラム・データベース（１６、１８、２０）を備え、そのプロセッサに関連するシーケンサ（５４、５６、５８）によって命じられたシーケンスに従い、自動システム（４６、４８、５０、５２）のシーケンスを実行することができる、
ことを特徴とする請求項１ないし８のいずれかに記載のシステムの安全性を確保する分散制御システム。
【請求項１０】
各プログラム・データベース（１６、１８、２０）は、同一のコンパイラを使用して得られた１セットの命令から成る。
ことを特徴とする請求項９に記載のシステムの安全性を確保する分散制御システム。
【請求項１１】
コマンド選択コンポーネント（３４）は、全てのプロセッサ（４、６、８）から生じる出力データ（Ｓ（Ｐ１）、Ｓ（Ｐ２）、Ｓ（Ｐ３））から多数決ベースで決定するものであり、
前記コマンド選択コンポーネントは、各プロセッサ（４、６、８）の出力から生じる出力データを比較して、予め定義した多数決基準に基づき、プロセッサのセットに関して多数決ベースで共通の出力データを送信することができる、
ことを特徴とする請求項１ないし１０のいずれかに記載のシステムの安全性を確保する分散制御システム。
【請求項１２】
コマンド選択コンポーネント（３４）は、全数一致ベースで決定するものである、
ことを特徴とする請求項１１に記載のシステムの安全性を確保する分散制御システム。
【請求項１３】
前記システムの安全性を確保する分散制御システム（２）が、安全性鉄道網システムを制御することができる、
ことを特徴とする請求項１ないし１２のいずれかに記載のシステムの安全性を確保する分散制御システム。
【請求項１４】
次の各段階：
（ｉ）  少なくとも２つのプロセッサ（４、６、８）に、プログラム・データ・ベース（１６、１８、２０）から、異なる命令セットをロードする段階、
（ｉｉ）  それぞれの入力（１０、１２、１４）を介して、並列に配置されたプロセッサ（４、６、８）に同一の入力データ（Ｅ）を供給する段階、
（ｉｉｉ）  各プロセッサ（４、６、８）に、それに関連した異なる命令のセットを実行させ、同一の入力データＥに基づいて、同一の出力データ（Ｓ（Ｐ１）、Ｓ（Ｐ２）、Ｓ（Ｐ３））を計算し、それぞれの出力（２８、３０、３２）に伝達することができるようにする段階であって、次のサブ段階から成る段階：
（ａ）  少なくとも２つの、各命令セットに対して同一の自動システム（４６、４８、５０、５２）を、他の命令セットに対するシーケンスとは異なる、特定のシーケンスに従い実行させるサブ段階、
（ｂ）  シーケンスを実行した後に得られた出力データＳ（Ｐ１）、Ｓ（Ｐ２）、Ｓ（Ｐ３）を抽出するサブ段階、
（ｃ）  出力データをコマンド選択コンポーネントに伝達するサブ段階、
（ｉｖ）  特定の選択基準に基づいて、プロセッサ（４、６、８）から生じた出力データＳ（Ｐ１）、Ｓ（Ｐ２）、Ｓ（Ｐ３）のうちから１つを選択してコマンド信号とする段階、
を含むことを特徴とするシステムの安全性を確保する制御プロセス。
【請求項１５】
さらに次の段階：  
（ｉ）  前記選択基準に基づいて、複数の出力データ（Ｓ（Ｐ１）、Ｓ（Ｐ２）、Ｓ（Ｐ３））から出る前記コマンドの送信を有効とするか、又は禁止する段階、
（ｉｉ）  禁止の場合には、少なくとも１つのプロセッサ（４、６、８）のフォールト（誤動作）の存在を発信する（１９６）段階、
を含むことを特徴とする請求項１４に記載のシステムの安全性を確保する制御プロセス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、中でも鉄道網システムの安全性を確保する分散制御システムに係り、特に、以下に掲げる特徴を含むタイプの分散制御システムに関するものである。
（ｉ）  鉄道網システム向けに意図されたコマンドを処理するために、対応する入力において同一の入力データＥを受信するように並列に配置された、少なくとも２つのプロセッサからなるセット、
（ｉｉ）  その際、プロセッサの各々は、少なくとも２つの異なる命令セットを受け取り、その命令セットの実行を通じて、同一の入力データＥに対して同一の出力データＳ（Ｐ１）、Ｓ（Ｐ２）、Ｓ（Ｐ３）を計算し、異なる出力に伝達することができ、
（ｉｉｉ）  各々、プロセッサの出力に接続されている少なくとも２つの入力、及びプロセッサからの出力データから前もって定義した基準に基づいて選ばれたコマンド信号を伝達することができるコマンド出力を備えたコマンド選択コンポーネント。
【背景技術】
【０００２】
鉄道網システムは、平面交差システムに接続されたスイッチング・システム、及び交差点の踏切遮断機の遮断警報システム、から成る。
【０００３】
安全上の理由から、鉄道網システムの制御システムは、異なる計算機回路配置を有する処理ブランチを複数持たせる形で分散化できることが知られている。
同じ入力データに基づいて、各処理ブランチは同一のアプリケーション（又は、アプリケーション・アルゴリズム）を、異なる計算様式を使って実行する。
【０００４】
各処理ブランチが正確に機能している状況では、各処理ブランチから同一のコマンドが出力として出される。
【０００５】
万一、処理ブランチのうちの１つの回路に誤動作があると、異なるコマンドが生産される。
【０００６】
いくつかの処理ブランチが同時に誤動作する場合にも、一般に異なる計算回路配置を有する処理ブランチの故障モードには相関性が欠如しているので、異なるコマンドが生産される。
複雑なアルゴリズムが使用される場合、この従来の配置は特に有利である。
【０００７】
このシステムの安全性を確保する分散制御システムの、良く知られた単純な具体案（ｉｍｐｌｅｍｅｎｔａｔｉｏｎ）は、物理的な視点からは、各処理ブランチ内に同一のアーキテクチャのプロセッサを提供する形になる。
【０００８】
この良く知られた具体案では、各プロセッサが、異なる関連するコンパイラの言語に依存する異なるソースプログラムから生じる命令セット（又は、オブジェクトプログラム）を実行し、異なるソースプログラムの各々は、同じ入力、同じ出力、及び同じアプリケーション・アルゴリズムによって定義された同じアプリケーションをエミュレートする。
【０００９】
しかしながら、この具体案は物理的な視点からは単純であるが、異なる言語又はコンパイラの数に比例する多数のソフトウェア・コンポーネントの開発を必要とするので、ソフトウェアの視点からは、依然として複雑である。
【００１０】
このような従来のシステムの安全性を確保する分散制御システムで生じる特有の問題は、いくつかのコンパイラ言語を使用するソフトウェア・コンポーネントの開発の複雑さにある。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
従って本発明の目的は、システムの安全性を確保する分散制御システムの提供に際して、ソフトウェア・コンポーネントの開発に要するリソースを削減することにある。
【課題を解決するための手段】
【００１２】
この目的に対してなされた本発明による、システムの安全性を確保する分散制御システムは、鉄道網システムの制御システムに関係し、
（ｉ）  鉄道網システム向けに意図されたコマンドを処理するために、対応する入力（１０、１２、１４）において同一の入力データＥを受信するように並列に配置された、少なくとも２つのプロセッサ（４、６、８）からなるセットと、
（ｉｉ）  その際、プロセッサ（４、６、８）の各々は、少なくとも２つの異なる命令セットを受け取り、その命令セットの実行を通じて、同一の入力データＥに対して同一の出力データＳ（Ｐ１）、Ｓ（Ｐ２）、Ｓ（Ｐ３）を計算し、異なる出力（２８、３０、３２）に伝達することができ、
（ｉｉｉ）  各々、プロセッサ（４、６、８）の出力（２８、３０、３２）に接続されている少なくとも２つの入力（３６、３８、４０）、及びプロセッサ（４、６、８）からの出力データから前もって定義した基準に基づいて選ばれたコマンド信号を伝達することができるコマンド出力（４２）を備えたコマンド選択コンポーネント（３４）と、
を含み、さらに、
（ｉｖ）  プロセッサ（４、６、８）の各々に関連した命令セットは、少なくとも２つのモジュラ・アプリケーション自動システム（以下、単に「自動システム」という。  ４６、４８、５０、５２）を走らせることが可能で、自動システム（４６、４８、５０、５２）は、すべての命令セットに対して同一であり、
（ｖ）  プロセッサ（４、６、８）の各々に関連した各命令セット（１６、１８、２０）は、自動システム（４６、４８、５０、５２）を、各プロセッサに特有の関連する周期的シーケンス（６０、７０、７８）において活性化するシーケンサ（５４、５６、５８）を作成し、そして、
（ｖｉ）  各シーケンサ（５４、５６、５８）は、その特定の関連する周期的シーケンス（６０、７０、７８）に関して、他のシーケンサ（各々、５６と５８、５４と５８、５４と５６）と異なる、
ことを特徴とする。
【００１３】
特定の実施例によれば、システムの安全性を確保する分散制御システムは、次の各段落のうちの１つ又は複数に記載の特徴を備える。
【００１４】
各シーケンサ（５４、５６、５８）は、自動システム（４６、４８、５０、５２）を走らせる互いに異なる周期的シーケンス（６０、７０、７８）に基き、自動システム（４６、４８、５０、５２）を活性化し順序付けし、その際、周期的シーケンス（６０、７０、７８）は、同一のサイクル（６２）を有し、さらに異なるシーケンス・スタート（６４、７２）及び異なるパス方向（６６、８２）の一方又は両方のいずれかを有する。
【００１５】
各シーケンサ（５４、５６）は、自動システム（４６、４８、５０、５２）を走らせる異なる特定の周期的シーケンス（６０、７０）に基き、自動システム（４６、４８、５０、５２）を活性化し順序付けし、その際、周期的シーケンス（６０、７０）は、同一パス方向（６６、７４）の同一のサイクル（６２）を有する。
【００１６】
請求項４に示す、システムの安全性を確保する分散制御システムの特徴は、詳細に述べると次のようになる。
（ｉ）  自動システム（１９８、２００、２０２、２０４、２０６、２０８、２１０、２１２、２１４、２１６）は、少なくとも２つのサブグループ（２１８、２２０、２２２）にグループ化され、
（ｉｉ）  シーケンサは、第１に、サブグループ間のシーケンス（２２４）を制御し、
（ｉｉｉ）  シーケンサは、第２に、各サブグループ（２３４、２４４、２５４）の内部のシーケンスを制御し、
（ｉｖ）  その際、各サブグループの内部の自動システムの組合せは、全てのプロセッサに共通であり、一方、サブグループ間のシーケンス及び各サブグループ内部の自動システムのシーケンスは、各プロセッサに特有である。
【００１７】
自動システムのサブグループ（２１８、２２０、２２２）は、すべてのプロセッサ（４、６、８）に対して同一である。
【００１８】
（ｉ）  各自動システム（４６、４８、５０、５２）は、自動システム入力（８６、８８、９２、９４、１００、１０２、１０６、１０８）、及び自動システム出力（９０、９６、９８、１０４、１１０）を有し、
（ｉｉ）  前記自動システム入力は、それが制御システム（２）への入力データ（Ｅ１、Ｅ２）の変数アイテムを受信することができる場合、外部入力であり、
（ｉｉｉ）  前記自動システム出力は、それが制御システム（２）からの出力データ（Ｓ１、Ｓ２、Ｓ３）の変数アイテムを伝達することができる場合、外部出力であり、
（ｉｖ）  前記自動システム入力及び自動システム出力は、同一の自動システム又は２つの異なる自動システムに対して相互に連結することができ、データ（Ｉ１、Ｉ２）の変数アイテムを交換することができる場合、内部入出力であり、
（ｖ）  自動システム入力（８６、８８、９２、９４、１００、１０２、１０６、１０８）、及び自動システム出力（９０、９６、９８、１０４、１１０）の変数のセットは、重複を省いた場合、制御システム（２）の状態ベクトル（Ｅ１、Ｅ２、Ｉｌ、Ｉ２、Ｓ１、Ｓ２、Ｓ３）を形成し、
さらに、
（ｖｉ）  制御システム（２）は、各プロセッサ（４、６、８）に対応する一時記憶（２２、２４、２６）を有し、前記一時記憶（２２、２４、２６）は、自動システムのシーケンスが実行される場合の、スタート状態レジスタレジスタ（１１２）とエンド状態レジスタ（１１３）を備え、
（ａ）  前記スタート状態レジスタレジスタ（１１２）は、自動システムのシーケンスが実行される直前の状態変数のセット（Ｅ１、Ｅ２、Ｉｌ、Ｉ２、Ｓ１、Ｓ２、Ｓ３）に対する値を含み、
（ｂ）  前記エンド状態レジスタ（１１３）は、自動システムのシーケンスが実行された直後の状態変数のセット（Ｅ１、Ｅ２、Ｉｌ、Ｉ２、Ｓ１、Ｓ２、Ｓ３）に対する値を含む。
【００１９】
各プロセッサ（４、６、８）は、シーケンス（６０、７０、７８）が実行されている期間において、スタート状態レジスタレジスタ（１１２）に対しては単に読み出すことができるだけであり、エンド状態レジスタ（１１３）に対しては単に書き込むことができるだけである。
【００２０】
（ｉ）  各プロセッサ（４、６、８）については、一旦シーケンスが実行され始めると、シーケンス用のスタート状態レジスタ（１１２）は単に書き込まれることができ、エンド状態レジスタ（１１３）に存在する状態変数の値によってリフレッシュすることができ、
さらに、
（ｉｉ）  少なくとも２つの関連する状態レジスタ（１１２、１１３）の状態変数の値が同一になるまで、各プロセッサ（４、６、８）は、自動システムのシーケンスを繰り返し実行することができる。
【００２１】
各プロセッサ（４、６、８）は、そのプロセッサにロードすることができる１セットのプロセッサ命令を含むプログラム・データベース（１６、１８、２０）を備え、そのプロセッサに関連するシーケンサ（５４、５６、５８）によって命じられたシーケンスに従い、自動システム（４６、４８、５０、５２）のシーケンスを実行することができる。
【００２２】
各プログラム・データベース（１６、１８、２０）は、同一のコンパイラを使用して得られた１セットの命令から成る。
【００２３】
コマンド選択コンポーネント（３４）は、全てのプロセッサ（４、６、８）から生じる出力データ（Ｓ（Ｐ１）、Ｓ（Ｐ２）、Ｓ（Ｐ３））から多数決ベースで決定するものであり、
前記コマンド選択コンポーネントは、各プロセッサ（４、６、８）の出力から生じる出力データを比較して、予め定義した多数決基準に基づき、プロセッサのセットに関して多数決ベースで共通の出力データを送信することができる。
【００２４】
コマンド選択コンポーネント（３４）は、全数一致ベースで決定するものである。
【００２５】
前記制御システム（２）が、安全性鉄道網システムを制御することができる。
【００２６】
この目的に対してなされた本発明による、システムの安全性を確保する制御プロセスは、次の各段階：
（ｉ）  少なくとも２つのプロセッサ（４、６、８）に、プログラム・データ・ベース（１６、１８、２０）から、異なる命令セットをロードする段階、
（ｉｉ）  それぞれの入力（１０、１２、１４）を介して、並列に配置されたプロセッサ（４、６、８）に同一の入力データ（Ｅ）を供給する段階、
（ｉｉｉ）  各プロセッサ（４、６、８）に、それに関連した異なる命令のセットを実行させ、同一の入力データＥに基づいて、同一の出力データ（Ｓ（Ｐ１）、Ｓ（Ｐ２）、Ｓ（Ｐ３））を計算し、それぞれの出力（２８、３０、３２）に伝達することができるようにする段階であって、次のサブ段階から成る段階：
（ａ）  少なくとも２つの、各命令セットに対して同一の自動システム（４６、４８、５０、５２）を、他の命令セットに対するシーケンスとは異なる、特定のシーケンスに従い実行させるサブ段階、
（ｂ）  シーケンスを実行した後に得られた出力データＳ（Ｐ１）、Ｓ（Ｐ２）、Ｓ（Ｐ３）を抽出するサブ段階、
（ｃ）  出力データをコマンド選択コンポーネントに伝達するサブ段階、
（ｉｖ）  特定の選択基準に基づいて、プロセッサ（４、６、８）から生じた出力データＳ（Ｐ１）、Ｓ（Ｐ２）、Ｓ（Ｐ３）のうちから１つを選択してコマンド信号とする段階、
を含むことを特徴とする。
【００２７】
特定の実施例によれば、システムの安全性を確保する制御プロセスは、さらに次の段階：  
（ｉ）  前記選択基準に基づいて、複数の出力データ（Ｓ（Ｐ１）、Ｓ（Ｐ２）、Ｓ（Ｐ３））から出る前記コマンドの送信を有効とするか、又は禁止する段階、
（ｉｉ）  禁止の場合には、少なくとも１つのプロセッサ（４、６、８）のフォールト（誤動作）の存在を発信する（１９６）段階、
を含む。
【発明の効果】
【００２８】
このようにして、モジュラ・アプリケーション自動システムを異なる特有の順序で働かせることによって形成された相異なる命令セットは、同一のアーキテクチャを有するプロセッサの各々において、異なる回路活性化シーケンスを使用することを可能にし、そのシーケンスはプロセッサの一般的なアーキテクチャの範囲で規定可能なものである。
従って第一に、得られた異なる命令セットは、鉄道網の安全上の制約によって制御システムに課せられた分散化の要請を満たす。
【００２９】
更に、１つのソフトウェア開発プラットフォームだけを使用することができるので、これらの異なる命令セットを処理する過程を具体化（ｉｍｐｌｅｍｅｎｔ）することは簡単である。
事実、単一のコンパイラを使用するアプリケーション・モジュールの開発リソースは、それらのアプリケーション・モジュールを、ある処理ブランチから別の処理ブランチに好便に再利用することができるので、削減できる。
【発明を実施するための最良の形態】
【００３０】
本発明は、純粋に例示を目的として提供された以下の記述を、添付された図面を参照しながら読むことにより、より良い理解が得られるであろう。
【実施例１】
【００３１】
図１に示す「システムの安全性を確保する分散制御システム」（以下、単に「制御システム」とする）２は、３つの計算システム又は処理システムから成り、各々は、第１のプロセッサ４、Ｐ１、第２のプロセッサ６、Ｐ２、第３のプロセッサ８、Ｐ３を含む。
【００３２】
各プロセッサ４、６、８は、関連する入力１０、１２、１４を通じて前もって定義した鉄道網システム９から生じる同一の入力データを受信する。
【００３３】
各プロセッサ４、６、８は、特定の計算プログラム、即ち、各プロセッサが接続された関連するプログラム・データベース１６、１８、２０からロードした命令セット、をそれぞれ実行する。
【００３４】
各プロセッサ４、６、８は、関連する一時記憶２２、２４、２６と、ワーキングデータを交換することができる。
【００３５】
各プロセッサ４、６、８は、処理後に出力データＳ（Ｐ１）、Ｓ（Ｐ２）、Ｓ（Ｐ３）を伝達できる関連する出力２８、３０、３２を備える。
【００３６】
制御システム２は、さらに、本実施例では３つの入力３６、３８、４０を有するコマンド選択コンポーネント３４を備える。
各入力３６、３８、４０は、各々、プロセッサ４、６、８、即ち、Ｐ１、Ｐ２、Ｐ３から生じた出力信号Ｓ（Ｐ１）、Ｓ（Ｐ２）、Ｓ（Ｐ３）を受信することができる。
【００３７】
コマンド選択コンポーネント３４は、コマンド受信ターミナル４４に接続される出力４２を備える。
【００３８】
本実施例における、各々プロセッサ４、６、８に関連したプログラム・データベース１６、１８、２０の構造的内容を、図２（Ａ）、２（Ｂ）、２（Ｃ）にそれぞれ示す。
【００３９】
第１のプロセッサＰ１に関連した第１のプログラム・データベース１６は、自動システム４６、４８、５０、５２のセット、Ａ、Ｂ、Ｃ、Ｄと、第１のシーケンサ５４、Ｓｅｑ１を含み、自動システムは、第１シーケンスではＡ、Ｂ、Ｃ、Ｄの順に順序付けられ、第１のシーケンサは、自動システムの作動シーケンスがこの順になるように制御する。
【００４０】
第２のプロセッサＰ２に関連した第２のプログラム・データベース１８は、同一の自動システム４６、４８、５０、５２のセット、Ａ、Ｂ、Ｃ、Ｄと、第２のシーケンサ５６、Ｓｅｑ２を含み、自動システムは、第２シーケンスではＣ、Ｄ、Ａ、Ｂの順に順序付けられ、第２のシーケンサは、自動システムの作動シーケンスがこの順になるように制御する。
【００４１】
第３のプロセッサＰ３に関連した第３のプログラム・データベース２０は、同一の自動システム４６、４８、５０、５２のセット、Ａ、Ｂ、Ｃ、Ｄと、第３のシーケンサ５８、Ｓｅｑ３を含み、自動システムは、第３シーケンスではＤ、Ｃ、Ｂ、Ａの順に順序付けられ、第３のシーケンサは、自動システムの作動シーケンスがこの順になるように制御する。
【００４２】
各プログラム・データベースにおけるある与えられたアプリケーションに対応する自動システムは、ある与えられたソース・コード及び同一のコンパイラから生成される限りでは、同一である。
【００４３】
各データベースにおける自動システムは全て同一のコンパイラを使用して生成される。
【００４４】
シーケンサＳｅｑ１、Ｓｅｑ２及びＳｅｑ３によって具体化された第１、第２及び第３のシーケンスは、図３（Ａ）、３（Ｂ）、３（Ｃ）にそれぞれ記述される。
シーケンス６０、７０、７８は各々、同一の与えられたサイクル６２から形成され、シーケンス・スタート６４、７２、８０を備え、シーケンス・スタートはここでは各々、図３（Ａ）のＡ、図３（Ｂ）のＣ、及び図３（Ｃ）のＤである。
シーケンス６０、７０、７８は各々、パス方向６６、７４、８２に従い実行され、パス方向はここでは各々、図３（Ａ）の右回り方向６６、図３（Ｂ）の右回り方向７４、及び図３（Ｃ）の左回り方向８２である。
シーケンス・エンド６８、７６、８４は各々、シーケンス・スタート６４、７２、８０からスタートするシーケンス６０、７０、７８に起因し、シーケンス６０、７０、７８の各々に対応し、シーケンス・エンドはここでは各々、図３（Ａ）のＤ、図３（Ｂ）のＢ、及び図３（Ｃ）のＡである。
【００４５】
図４（Ａ）は、モジュラ・アプリケーション用を意図した自動システムのセットを示す。
ここで、自動システムＡはルート・モデルをシミュレートし、自動システムＢは平面交差モデルをシミュレートするために用いられ、自動システムＣは公報モデルをシミュレートし、自動システムＤはスイッチング・モデルを再生する。
【００４６】
自動システムＡは２つの入力信号Ｅ１、Ｅ２を、鉄道網システム９から、２つの入力８６、８８で受信し、第１の内部信号Ｉｌを出力９０に提供する。
【００４７】
自動システムＢは２つの入力９２、９４を有し、各々第１の入力信号Ｉ１と鉄道網システム９からの第１の入力信号Ｅｌを受信する。
自動システムＢも、各々第２の内部信号Ｉ２と第１の外部出力信号Ｓ１を提供する２つの出力９６、９８を備える。
【００４８】
自動システムＣは、第２の内部信号Ｉ２と第１の外部入力信号Ｅ１を、２つの入力１００、１０２でそれぞれ受信する。
自動システムＣは出力１０４に第２の外部出力信号Ｓ２を伝達する。
【００４９】
自動システムＤは、第１の外部入力信号Ｅ１と第２の外部入力信号Ｅ２を、２つの入力１０６、１０８で受信する。
自動システムＤは単一の出力１１０に第３の外部出力信号Ｓ３を伝達する。
【００５０】
ここで、第１の外部入力信号Ｅ１は現在時刻であり、一方、第２の外部入力信号Ｅ２は、鉄道位置マークの通過指標である。
また、第１の内部信号Ｉｌは平面交差で予期される交差時刻に相当し、第２の内部信号Ｉ２は計算された公報コマンド時刻に相当する。
【００５１】
第１の外部出力信号Ｓ１は平面交差で遮断機を降ろすコマンドであり、第２の外部出力信号Ｓ２は平面交差の遮断を公報するコマンドであり、他方、第３の外部出力信号Ｓ３はスイッチング・コマンドである。
【００５２】
一時記憶２２、２４、２６は各々プロセッサＰ１、Ｐ２、Ｐ３に関連していて、それぞれ、スタート状態レジスタ１１２及びエンド状態レジスタ１１３を有し、それらのフォームは図４（Ｂ）及び４（Ｃ）にそれぞれ示すとおりであり、プロセッサＰ１、Ｐ２、Ｐ３に共通である。
【００５３】
図４（Ｂ）及び４（Ｃ）に示すレジスタに記憶されたデータのセットは、対応する状態ベクトルを表わす。
図４（Ｂ）に示すスタート状態レジスタ１１２は、７つのコンポーネント１１４、１１６、１１８、１２０、１２２、１２４、１２６を有し、３つのグループに細分される。
即ち、１１４、１１６からなる第１のグループＥには、２つの外部入力信号Ｅ１、Ｅ２が記憶され、１１８、１２０からなる第２のグループＩ（Ｐｉ）には、２つの内部信号Ｉｌ（Ｐｉ）、Ｉ２（Ｐｉ）が記憶され、そして、１２２、１２４、１２６からなる第３のグループＳ（Ｐｉ）には、３つの外部出力信号Ｓ１（Ｐｉ）、Ｓ２（Ｐｉ）、Ｓ３（Ｐｉ）が記憶される。
（「（Ｐｉ）」は、ここでは（Ｐ１）、（Ｐ２）、（Ｐ３）のいずれかに相当し、どのプロセッサに所属するかを表す。）
【００５４】
エンド状態レジスタ１１３もまた、スタート状態レジスタ１１２のコンポーネント１１４、１１６、１１８、１２０、１２２、１２４、１２６に類似した、７つのコンポーネント１３０、１３２、１３４、１３６、１３８、１４０、１４２を有する。
【００５５】
制御システムの動作は、図５のフローチャートによって記述され、それはプロセッサＰ１、Ｐ２及びＰ３によって具体化される。
【００５６】
第１ステージ１４４では、鉄道網システム９は共通の方法で、プロセッサＰ１、Ｐ２、及びＰ３の各々に同じ入力データＥを送り、プロセッサは各々対応する処理１４６、１４８及び１５０を実行する。
処理１４６の初期段階１５２では、第１のプロセッサＰ１はスタート状態レジスタ１１２を初期化する。それは、図５の初期段階１５２において、プロセッサＰ１の状態ベクトルＶ１−ｄｓをＶ０に等しくセットすることで示される。
その後、プロセッサＰ１は、図３（Ａ）に示したように、第１のプロセッサＰ１に関係している、第１のシーケンスに従って、自動システムＡ上で第１段階１５４、次にＢ上で第２段階１５６、次にＣ上で第３段階１５８、次にＤ上で第４段階１６０を実行する。
【００５７】
上記のシーケンスの終了後、段階１６２では、自動システムＡ、Ｂ、Ｃ、Ｄの各々から得られた内部信号データの組Ｉ（Ｐ１）、外部出力信号データの組Ｓ（Ｐ１）を、外部入力信号データの組Ｅと合わせて状態ベクトルＶ１−ｆｓを形成し、エンド状態レジスタ１１３に記憶させる。
【００５８】
続くテスト段階１６４では、スタート状態レジスタレジスタ１１２内の状態ベクトルＶ１−ｄｓが、エンド状態レジスタ１１３内の状態ベクトルＶ１−ｆｓと比較される。
【００５９】
状態ベクトルＶ１−ｄｓとＶ１−ｆｓが等しくない場合、段階１６６中に示すように、スタート状態レジスタ１１２をエンド状態レジスタ１１３の状態ベクトルＶ１−ｆｓによりリフレッシュした後、第１のシーケンス１５４〜１６０、即ち、Ａ、Ｂ、Ｃ、Ｄが再実行される。
２つの状態レジスタ１１２と１１３が同一の状態ベクトルを持つ場合、即ち、Ｖ１−ｄｓがＶ１−ｆｓに等しい場合、段階１７０中で、出力データ（状態ベクトルの第３グループ・コンポーネントＳ（Ｐ１））が抽出される。
【００６０】
第２のプロセッサＰ２による処理１４８は、自動システムの走る順序を除いて第１のプロセッサＰ１による処理１４６に似ている。
従って、処理のスタートでは、スタート状態レジスタを初期化する段階１７２が実行される。即ち、プロセッサＰ２の状態ベクトルＶ２−ｄｓはＶ０にセットされる。
しかしながら、それに続くシーケンスは図３（Ｂ）に示す第２のシーケンスであるので、処理１４６と異なる形で実行される、即ち、Ｃ、Ｄ、Ａ、Ｂのシーケンスである。
【００６１】
スタート及びエンド状態レジスタ内の２つの状態ベクトルＶ２−ｄｓ、Ｖ２−ｆｓを比較するテスト段階１７６は同様に実行され、テスト結果が否定的である（即ち、２つの状態ベクトルが等しくない）限り、リフレッシュ段階１７８を経て第２のシーケンスが繰り返される。
【００６２】
テスト結果が肯定的である（即ち、２つの状態ベクトルが等しい）場合、段階１８０中で、出力データＳ（Ｐ２）が抽出される。
【００６３】
同様に、第３のプロセッサＰ３による処理１５０も、自動システムの実行順序を除いて第１及び第２のプロセッサＰ１、Ｐ２による処理１４６、１４８に似ている。
【００６４】
スタート状態レジスタ１１２を初期化する段階１８２も実行される。
自動システムのシーケンスは、図３（Ｃ）に示した第３のシーケンス、即ちＤ、Ｃ、Ｂ、Ａのシーケンス、で実行される。
【００６５】
同様に段階１８４で、状態ベクトルＶ３−ｆｓがエンド状態レジスタ１１３に供給される。
同様のテスト段階１８６が実行され、プロセッサＰ３の、スタート状態レジスタ１１２内の状態ベクトルＶ３−ｄｓが、エンド状態レジスタ１１３内の状態ベクトルＶ３−ｆｓと比較される。
テスト結果が肯定的になるまで、この手順は繰り返し実行される。
【００６６】
テスト結果が否定的な場合、段階１８８で、エンド状態レジスタ１１３はスタート状態レジスタ１１２をリフレッシュする。
テスト結果が肯定的な場合、段階１８６で、第３のプロセッサＰ３から出力データＳ（Ｐ３）は抽出される。
出力データＳ（Ｐ１）、Ｓ（Ｐ２）、Ｓ（Ｐ３）は各々、プロセッサＰ１、Ｐ２、Ｐ３からコマンド選択コンポーネント３４へ送られる。
コマンド選択段階１９２では、プロセッサの各々からの出力データが比較される。
【００６７】
出力データが全て等しい場合、段階１９４で、出力コマンドＣは、Ｓ（Ｐ１）＝Ｓ（Ｐ２）＝Ｓ（Ｐ３）の共通の値に等しくセットされ、有効とされ、鉄道網システム９に属するコマンド受信ターミナル４４へ送信される。
【００６８】
これらのデータのうちの１つが異なる場合、段階１９６で、制御システム内での誤動作を警告する信号が（鉄道網システム９に向かって）与えられる。
「全数一致ベースの決定」がコマンド選択コンポーネント３４に採用される場合、出力コマンドＣは出されない。
「多数決ベースの決定」がコマンド選択コンポーネント３４に採用され、かつ、３つのプロセッサのうちの２つからの出力データが一致する場合、一致した値にセットされた出力コマンドＣが、通常何らかの警告付きで出される。
【実施例２】
【００６９】
変形として、第２の実施例に係るプログラム・データベースによる、自動システム１９８、２００、２０２、２０４、２０６、２０８、２１０、２１２、２１４、２１６からなるセットを用いて形成されたシーケンスが、図６（Ａ）、６（Ｂ）、６（Ｃ）、６（Ｄ）、及び６（Ｅ）を一括した形で示される。
ここでは制御システム（２）に含まれる複数のプロセッサのうち、単一のプロセッサだけを考察する。
プロセッサに関連するシーケンサは、プロセッサに属する自動システムのセットに対して以下のように働く。
【００７０】
図６（Ａ）では、これらの自動システムが、Ｐ、Ｑ、Ｒ、Ｓ、Ｔ、Ｕ、Ｖ、Ｗ、Ｘ、Ｙ、Ｚとして識別され、参照される。
【００７１】
自動システムのセット、１９８、２００、２０２、２０４、２０６、２０８、２１０、２１２、２１４、２１６は、３つのサブグループ２１８、２２０、２２２に細分され、各々、ＳＧ１、ＳＧ２、ＳＧ３と名づけられる。
第１のサブグループ２１８（ＳＧ１）は自動システムＰ、Ｑ、Ｒから成り、第２のサブグループ２２０（ＳＧ２）は自動システムＳ、Ｔ、Ｖ、Ｗから成り、第３のサブグループ２２２（ＳＧ３）は自動システムＸ、Ｙ、Ｚから成る。
【００７２】
サブグループ群のためのシーケンス２２４は、サブグループＳＧ１、ＳＧ２、ＳＧ３によって形成されたサイクル２２６に基づいた図６（Ｂ）に示される。
シーケンス・スタート２２８は、ここではＳＧ１に割り当てられ、パス方向２３０は、ここでは右回りに割り当てられ、そして、シーケンス・エンド２３２は、ここではＳＧ３に割り当てられる。
【００７３】
第１のサブグループＳＧ１のためのシーケンス２３４は図６（Ｃ）に示される。
シーケンス２３４は、ここではＰ、Ｑ、Ｒと命名された自動システム１９８、２００、２０２のサイクル２３６によって形成され、ここでは、自動システムＱをシーケンス・スタート２３８とし、右回りをラン方向２４０とし、そして自動システムＰをシーケンス・エンド２４２とする。
【００７４】
第２のサブグループＳＧ２のためのシーケンス２４４は図６（Ｄ）に示される。
シーケンス２４４は、ここではＳ、Ｔ、Ｖ、Ｗと命名された自動システム２０４、２０６、２０８、２１０のサイクル２４６によって形成され、ここでは、自動システムＳをシーケンス・スタート２４８とし、右回りをラン方向２５０とし、そして自動システムＷをシーケンス・エンド２５２とする。
【００７５】
最後に、第３のサブグループＳＧ３のためのシーケンス２５４は図６（Ｅ）に示される。
シーケンス２５４は、ここではＸ、Ｙ、Ｚと命名された自動システム２１２、２１４、２１６のサイクル２５６によって形成され、ここでは、自動システムＺをシーケンス・スタート２５８とし、左回りをラン方向２６０とし、そして自動システムＸをシーケンス・エンド２６２とする。
このようにして得られた自動システムの全体シーケンスは、各々、サブグループＳＧ１、ＳＧ２、ＳＧ３に対する部分的なシーケンス２３４、２４４、２５４を、シーケンス２２４に従って連鎖して形成される。
【００７６】
従って、本実施例のこの場合に示された自動システムのシーケンスは、Ｑ、Ｒ、Ｐ、Ｓ、Ｔ、Ｖ、Ｗ、Ｚ、Ｙ、Ｘ．となる。
他のプロセッサ用の異なるシーケンスは、自動システムＰ、Ｑ、Ｒ、Ｓ、Ｔ、Ｖ、Ｗ、Ｘ、Ｙ、Ｚのサブグループの同じ組み合わせを使用して、容易に設計できる。
【００７７】
このようにして、モジュラ・アプリケーション自動システムを異なる特有の順序で働かせることによって形成された相異なる命令セットは、同一のアーキテクチャを有するプロセッサの各々において、異なる回路活性化シーケンスを使用することを可能にし、そのシーケンスはプロセッサの一般的なアーキテクチャの範囲で規定可能なものである。
【００７８】
従って第一に、得られた異なる命令セットは、鉄道網の安全上の制約によって制御システムに課せられた分散化の要請を満たす。
【００７９】
更に、１つのソフトウェア開発プラットフォームだけを使用することができるので、これらの異なる命令セットを処理する過程を具体化（ｉｍｐｌｅｍｅｎｔ）することは簡単である。
【００８０】
事実、単一のコンパイラを使用するアプリケーション・モジュールの開発リソースは、それらのアプリケーション・モジュールを、ある処理ブランチから別の処理ブランチに好便に再利用することができるので、削減できる。
【産業上の利用可能性】
【００８１】
上述の実施例に係るシステムの安全性を確保する分散制御システムは、本質的な修正をすることなく、別の実施例として、航空機又は宇宙船の内蔵システム等に対して、あるいは原子核装置中で使用される保護又は緊急停止システムに対して適用することができる。
【００８２】
上述のシステムの安全性を確保する分散制御システムは、さらに別の実施例として、全ての、安全性を極度に追求したソフトウェア設計により安全性を確保するシステムに対して適用することができる。
【図面の簡単な説明】
【００８３】
【図１】図１は第１の実施例に係る、システムの安全性を確保する分散制御システムの、ブロックダイヤグラムである。
【図２】（Ａ）、（Ｂ）、（Ｃ）は各々、図１に示すプログラム・データベース１６、１８、２０の詳細なブロックダイヤグラムである。
【図３】（Ａ）、（Ｂ）、（Ｃ）は各々、図２のプログラム・データベースの各々に関連した、自動システムのシーケンスを示す図である。
【図４】（Ａ）は、図２に示した自動システムの各々に関連した、入力及び出力のダイヤグラム図であり、他方、（Ｂ）と（Ｃ）は各々、一時記憶に中の、スタート状態レジスタ及びエンド状態レジスタと、関連した状態ベクトルの構造のダイヤグラム図である。
【図５】図５は、プログラム・データベースの第１の実施例に伴うシステムの安全性を確保する制御プロセスのフローチャートである。
【図６】（Ａ）、（Ｂ）、（Ｃ）、（Ｄ）、（Ｅ）は、第２の実施例に係るプログラム・データベースに関連した、自動化システムのシーケンスを示す図である。
【符号の説明】
【００８４】
２    制御システム（＝システムの安全性を確保する分散制御システム）、
４、６、８    プロセッサ、
９    鉄道網システム
１０、１２、１４    プロセッサの入力、
１６、１８、２０    命令セット（＝プログラム・データベース）、
２２、２４、２６    一時記憶、
２８、３０、３２    プロセッサの出力、
３４    コマンド選択コンポーネント、
３６、３８、４０    コマンド選択コンポーネントの入力、
４２    コマンド選択コンポーネントの出力、
４４    コマンド受信ターミナル、
４６、４８、５０、５２    モジュラ・アプリケーション自動システム（＝自動システム）、
５４、５６、５８    シーケンサ、
６０、７０、７８    周期的シーケンス、
６２    サイクル、
６４、７２、８０    シーケンス・スタート、
６６、７４、８２    パス方向、
６８、７６、８４    シーケンス・エンド、
８６、８８、９２、９４、１００、１０２、１０６、１０８    自動システム入力、
９０、９６、９８、１０４、１１０    自動システム出力、
１１２    スタート状態レジスタ、
１１３    エンド状態レジスタ、
１１４、１１６、１１８、１２０、１２２、１２４、１２６  スタート状態レジスタのコンポーネント、
１３０、１３２、１３４、１３６、１３８、１４０、１４２    エンド状態レジスタのコンポーネント、
１９８、２００、２０２、２０４、２０６、２０８、２１０、２１２、２１４、２１６    自動システム（＝モジュラ・アプリケーション自動システム）、
２１８、２２０、２２２    自動システムのサブグループ、
２２４、２３４、２４４、２５４    周期的シーケンス、
２２６、２３６、２４６、２５６    サイクル、
２２８、２３８、２４８、２５８    シーケンス・スタート、
２３０、２４０、２５０、２６０    ラン方向、
２３２、２４２、２５２、２６２    シーケンス・エンド。
【図１】
2007249976.tif 000003
【図２】
2007249976.tif 000004
【図３】
2007249976.tif 000005
【図４】
2007249976.tif 000006
【図５】
2007249976.tif 000007
【図６】
2007249976.tif 000008