(57)【要約】【課題】リレーを用いるリレー論理回路において、不具合事象が生じたときの安全性を検証する。【解決手段】検証処理装置は、検証対象のリレー論理回路を形成するリレー、素子および接続線を変数にとる論理式で示される評価式であって、少なくとも前記リレー論理回路に不具合事象が生じた場合の前記論理式を含む評価式で示された回路ロジックモデルを取得する取得部と、前記回路ロジックモデルに基づいて、前記素子または前記接続線に不具合事象が生じた場合に前記リレーの出力の論理状態を判定する判定部とを備える。【選択図】図１
2019125208.tif 000002
【特許請求の範囲】
【請求項１】
検証対象のリレー論理回路を形成するリレー、素子および接続線に対応する変数を変数にとる論理式で示される評価式であって、少なくとも前記リレー論理回路に不具合事象が生じた場合の前記論理式を含む評価式で示された回路ロジックモデルを取得する取得部と、
前記回路ロジックモデルに基づいて、前記素子または前記接続線に不具合事象が生じた場合に前記リレーの出力の論理状態を判定する判定部と
を備える検証処理装置。
【請求項２】
前記論理式の変数は、前記検証対象の経路上の素子および接続線の導通状態が正論理で示され、前記不具合事象が生じた場合の前記論理式には、前記検証対象の経路上の素子を示す変数および前記検証対象の経路上の接続線を示す変数の論理積演算を示す論理式が含まれる、
請求項１に記載の検証処理装置。
【請求項３】
前記検証対象のリレー論理回路に含まれるリレーの評価式は、前記リレーの評価式の演算結果を前記リレーの変数の値にするように記述されている、
請求項１に記載の検証処理装置。
【請求項４】
前記論理式の変数は、前記検証対象の経路上の素子および接続線の導通状態が正論理で示され、
前記リレーの評価式が、前記リレーが設けられた経路上の前記素子を示す変数および前記接続線を示す変数の論理積演算を含む第１の式と、前記リレーが設けられた経路のうち、前記経路上で短絡が生じ得る地点の素子または接続線と前記リレーとの間の経路上に存在する素子および接続線を解析対象にして前記解析対象の素子を示す変数および前記解析対象の接続線を示す変数の論理積演算を含む第２の式と、を含み、前記第１の式と前記第２の式の論理和演算を含む、
請求項３に記載の検証処理装置。
【請求項５】
前記リレーが設けられた経路が、前記リレーの制御電圧が印加される給電線から前記給電線に対する接地極までの間を接続可能に形成された経路である、
請求項４に記載の検証処理装置。
【請求項６】
前記素子および接続線のそれぞれを関連付けて、当該素子または接続線の第１の端に接続される素子または接続線と、当該素子または接続線の第２の端に接続される素子または接続線とに関連するデータを格納した素子一覧表に基づいて、前記回路ロジックモデルを生成するロジック生成部を備える
請求項１から請求項５の何れか１項に記載の検証処理装置。
【請求項７】
前記ロジック生成部は、前記リレーの制御電圧が印加される給電線の接続点と、前記給電線に係る電源との関係を示すデータを格納する給電定義表に基づいて、前記回路ロジックモデルを生成する
請求項６に記載の検証処理装置。
【請求項８】
検証対象のリレー論理回路を形成するリレー、素子および接続線を変数にとる論理式で示される評価式であって、少なくとも前記リレー論理回路に不具合事象が生じた場合の前記論理式を含む評価式で示された回路ロジックモデルを、前記素子および接続線の互いの接続関係を示す一覧表のデータに基づいて生成するロジック生成部
を備えるロジック生成装置。
【請求項９】
検証対象のリレー論理回路を形成するリレー、素子および接続線に対応する変数を変数にとる論理式で示される評価式であって、少なくとも前記リレー論理回路に不具合事象が生じた場合の前記論理式を含む評価式で示された回路ロジックモデルを取得する工程と、
前記回路ロジックモデルに基づいて、前記素子または前記接続線に不具合事象が生じた場合に前記リレーの出力の論理状態を判定する工程と
を含む検証処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証処理装置、ロジック生成装置及び検証処理方法に関する。
【背景技術】
【０００２】
従来、リレーを用いるリレー論理回路が、各種制御システムで利用されている。リレー論理回路の基本動作の検証は、回路シミュレータなどの検証処理装置で実施されており、その論理的な動作の信頼度が確保されている。ただし、リレー論理回路内の接続線等への混触や同回路を形成する素子の故障などの不具合が発生した場合の検証は、想定すべき事象が多くなることから実施が困難なことがある。
【０００３】
特許文献１には、半導体LSI回路の設計において、半導体LSI回路が達成すべき機能要件の検証を行う際に、モデル検査手法に代表される形式手法を用いることが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−７１１３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１によれば、その回路が達成すべき機能要件を検証することとして、平常時に達成すべき基本機能の性能検査を実施することが開示されているが、不具合事象が生じた平常時とは異なるときに安全性が確保されるのかを確認することまでの開示は無い。
この発明は、上記事情を鑑みてなされたものであり、リレーを用いるリレー論理回路において、不具合事象が生じたときの安全性を検証可能にする検証処理装置、ロジック生成装置及び検証処理方法を提供することを目的の一つとする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために以下の構成を採用する。
この発明の第一態様によれば、検証処理装置は、検証対象のリレー論理回路が前記リレー論理回路を形成するリレー、素子および接続線に対応する変数を変数にとる論理式で示される評価式であって、少なくとも前記リレー論理回路に不具合事象が生じた場合の前記論理式を含む評価式で示された回路ロジックモデルを取得する取得部と、前記回路ロジックモデルに基づいて、前記素子または前記接続線に不具合事象が生じた場合に前記リレーの出力の論理状態を判定する判定部とを備える。
このように構成することで、検証対象のリレー論理回路が前記リレー論理回路を形成するリレー、素子および接続線に対応する変数を変数にとる論理式で示される評価式であって、少なくとも前記リレー論理回路に不具合事象が生じた場合の前記論理式を含む評価式で示された回路ロジックモデルを取得することができる。そのため、リレー論理回路に不具合事象が生じた場合の論理式を含む評価式で示された回路ロジックモデルを取得できる。さらに、前記回路ロジックモデルに基づいて、前記素子または前記接続線に不具合事象が生じた場合に前記リレーの出力の論理状態を判定することができる。
したがって、リレーを用いるリレー論理回路において、不具合事象が生じたときの安全性を検証できる。
【０００７】
この発明の第二態様によれば、前記論理式の変数は、前記検証対象の経路上の素子および接続線の導通状態が正論理で示され、前記不具合事象が生じた場合の前記論理式には、前記検証対象の経路上の素子を示す変数および前記検証対象の経路上の接続線を示す変数の論理積演算を示す論理式が含まれてもよい。
このように構成することで、接続線の断線を論理式に表すことができ、接続線の断線による不具合事象が生じたときの安全性を検証できる。
【０００８】
この発明の第三態様によれば、前記検証対象のリレー論理回路に含まれるリレーの評価式は、前記リレーの評価式の演算結果を前記リレーの変数の値にするように記述されていてもよい。
このように構成することで、素子の障害を論理式に表すことができ、素子の障害による不具合事象が生じたときの安全性を検証できる。
【０００９】
この発明の第四態様によれば、前記論理式の変数は、前記検証対象の経路上の素子および接続線の導通状態が正論理で示され、前記リレーの評価式が、前記リレーが設けられた経路上の前記素子を示す変数および前記接続線を示す変数の論理積演算を含む第１の式と、前記リレーが設けられた経路のうち、前記経路上で短絡が生じ得る地点の素子または接続線と前記リレーとの間の経路上に存在する素子および接続線を解析対象にして前記解析対象の素子を示す変数および前記解析対象の接続線を示す変数の論理積演算を含む第２の式と、を含み、前記第１の式と前記第２の式の論理和演算を含めてもよい。
このように構成することで、素子の短絡を論理式に表すことができ、素子の短絡による不具合事象が生じたときの安全性を検証できる。
【００１０】
この発明の第五態様によれば、前記リレーが設けられた経路が、前記リレーの制御電圧が印加される給電線から前記給電線に対する接地極までの間を接続可能に形成された経路であってもよい。
このように構成することで、給電線から前記給電線に対する接地極までの間を接続可能に形成された所定の経路の構成を論理式に表すことができ、上記の所定の経路において不具合事象が生じたときの安全性を検証できる。
【００１１】
この発明の第六態様によれば、前記素子および接続線のそれぞれに関連付けて、当該素子または接続線の第１の端に接続される素子または接続線と、当該素子または接続線の第２の端に接続される素子または接続線とに関連するデータを格納した素子一覧表に基づいて、前記回路ロジックモデルを生成するロジック生成部をさらに備えてもよい。
このように構成することで、上記の素子一覧表に基づいて、上記の回路ロジックモデルを生成することができ、上記の回路ロジックモデルに基づいて不具合事象が生じたときの安全性を検証できる。
【００１２】
この発明の第七態様によれば、前記ロジック生成部は、前記リレーの制御電圧が印加される給電線の接続点と、前記給電線に係る電源との関係を示すデータを格納する給電定義表に基づいて、前記回路ロジックモデルを生成してもよい。
このように構成することで、上記の給電定義表から生成された回路ロジックモデルに基づいて不具合事象が生じたときの安全性を検証できる。
【００１３】
この発明の第八態様によれば、ロジック生成装置は、検証対象のリレー論理回路を形成するリレー、素子および接続線を変数にとる論理式で示される評価式であって、少なくとも前記リレー論理回路に不具合事象が生じた場合の前記論理式を含む評価式で示された回路ロジックモデルを、前記素子および接続線の互いの接続関係を示す一覧表のデータに基づいて生成するロジック生成部を備える。
このように構成することで、検証対象のリレー論理回路を形成するリレー、素子および接続線を変数にとる論理式で示される評価式であって、少なくとも前記リレー論理回路に不具合事象が生じた場合の前記論理式を含む評価式で示された回路ロジックモデルを、前記素子および接続線の互いの接続関係を示す一覧表のデータに基づいて生成することにより、リレーを用いるリレー論理回路において、不具合事象が生じたときの安全性を検証可能になる。
【００１４】
この発明の第九態様によれば、検証処理方法は、検証対象のリレー論理回路が前記リレー論理回路を形成するリレー、素子および接続線を変数にとる論理式で示される評価式であって、少なくとも前記リレー論理回路に不具合事象が生じた場合の前記論理式を含む評価式で示された回路ロジックモデルを取得する工程と、前記回路ロジックモデルに基づいて、前記素子または前記接続線に不具合事象が生じた場合に前記リレーの出力の論理状態を判定する工程とを含む。
このように構成することで、リレーを用いるリレー論理回路において、不具合事象が生じたときの安全性を検証できる。
【発明の効果】
【００１５】
上記した検証処理装置、ロジック生成装置及び検証処理方法によれば、リレーを用いるリレー論理回路において、不具合事象が生じたときの安全性を検証できる。
【図面の簡単な説明】
【００１６】
【図１】第１の実施形態の検証処理装置の概略構成を示す構成図である。
【図２】この発明の実施形態における検証処理の手順を示すフローチャートである。
【図３】この実施形態における検証処理を説明するための図である。
【図４】図３に示した接続形態に対応する回路ロジックの一例を示す図である。
【図５】この実施形態におけるモデル検査コードの一例を説明するための図である。
【図６】第２の実施形態の検証処理装置の概略構成を示す構成図である。
【図７】この実施形態におけるより複雑なリレー論理回路の一例を示す図である。
【図８】図７に示したリレー論理回路の電源系の構成を示す給電定義表について説明するための図である。
【図９】図７に示したリレー論理回路の素子一覧表を示す図である。
【図１０】この実施形態の断線診断用の論理式の生成処理のフローチャートである。
【図１１】この実施形態の同一の接続点を抽出する処理について説明するための図である。
【図１２】この実施形態の接続点情報の自動作成処理について説明するための図である。
【図１３】この実施形態における論理式を示す図である。
【発明を実施するための形態】
【００１７】
次に、この発明の実施形態における検証処理装置を図面に基づき説明する。
なお、以下の説明において、電気的に接続されることを単に「接続される」ということがある。また、コンピュータプログラムのソースコードのことを単に「コード」ということがある。後述する「モデル検査コード」は、上記の「コード」の一例である。
【００１８】
なお、以下の実施形態における検証処理装置は、不安全事象が発生した場合の事象について、所定の検査式を用いて検査する。例えば、上記の検査式は、「リレー素子Aとリレー素子Bが共にONの場合は、必ずアラーム信号を発生させる素子CがONになること」という検査を論理演算式で定義される。このような検査の表現方法として、時相論理がある。「linear temporal logic(LTL)」「Computational Tree Logic(CTL)」などは、時相論理の一例である。また、実施形態における検証処理装置は、ロジック生成装置の一例である。
【００１９】
（第１の実施形態）
図１は、この実施形態の検証処理装置の概略構成を示す構成図である。
図１に示すように、この実施形態における検証処理装置１は、記憶部１０と、制御部２０とを備える。
【００２０】
記憶部１０は、評価式ＤＢ１１と、評価条件ＤＢ１２と、検査式ＤＢ１３と、コードＤＢ１４に関するデータを格納する。
【００２１】
評価式ＤＢ１１には、評価対象のリレー論理回路に関する評価式に関するデータが含まれる。評価式は、検証対象のリレー論理回路を形成するリレー、素子および接続線を変数にとる論理式として形成される。この評価式には、少なくともリレー論理回路に不具合事象が生じた場合の論理式が含まれる。例えば、その論理式は、動作の解析対象のリレーごとに生成されている。
【００２２】
評価条件ＤＢ１２には、評価式ＤＢ１１に格納された評価式を用いる解析処理を実施するに当たり、その評価条件と、その評価条件に基づいた解析の結果とに関するデータが含まれる。例えば、評価条件には、解析処理の種別を規定するデータが含まれていてもよい。
【００２３】
例えば、解析処理の種別には、下記の種別のものが含まれる。第１の種別として、仕様により定まるリレー論理回路の基本的動作を解析するもの。第２の種別として、リレー論理回路に不具合事象が生じた場合の一例として、解析対象の経路の途中に断線が生じた場合について解析するもの。第３の種別として、リレー論理回路に不具合事象が生じた場合の一例として、解析対象の経路の途中に混触が生じた場合について解析するもの。
【００２４】
検証処理装置１における解析要求仕様として、評価条件ＤＢ１２に解析処理の実行について規定することにより、上記の個々の種別の解析を単独で実施すること、又は組み合わせた解析を実施することを規定することができる。
【００２５】
検査式ＤＢ１３には、評価対象のリレー論理回路に関する検査項目に対応する検査式に関するデータが含まれる。
【００２６】
コードＤＢ１４には、評価式ＤＢ１１に格納された評価式に関するデータに基づいて生成された評価処理用のコード（モデル検査コード）が含まれる。そのモデル検査コードには、上記の評価式の他、評価式の実行に必要とされる前提条件等のデータが格納され、それらを組み合わせた回路ロジックモデルを形成する。その具体的なモデル検査コードの例について後述する。
【００２７】
制御部２０は、解析データ設定部２１と、検査式設定部２２と、コード生成部２３と、取得部２４と、解析処理部２５（判定部）と、表示制御部２６とを備える。
【００２８】
解析データ設定部２１は、ユーザの操作により又は通信により、外部から検証処理のための解析データを取得する。例えば、解析データ設定部２１は、ユーザが作成した評価式を含むデータを取得して、それを評価式ＤＢ１１に格納する。
【００２９】
検査式設定部２２は、ユーザの操作により又は通信により、外部から検証処理のための検査条件に関するデータを取得する。例えば、検査式設定部２２は、リレー論理回路に発生する不安全事象を表現する検査式を設定して、それを検査式ＤＢ１３に格納する。
【００３０】
コード生成部２３は、リレー論理回路に不具合事象が生じた場合の論理式を含む評価式を評価式ＤＢ１１から取得して、その評価式に対応するコード（評価式コード）を生成する。コード生成部２３は、リレー論理回路に不具合事象が生じた場合の事象を検査するための検査式を検査式ＤＢ１３から取得して、その検査式に対応するコード（検査式コード）を生成する。コード生成部２３は、その評価式コードと検査式コードとを組み合わせて、上記の評価式に対応するモデル検査コードをコードＤＢ１４に追加する。
【００３１】
取得部２４は、その評価式に対応するモデル検査コードを、コードＤＢ１４から取得する。なお、評価式に対応するモデル検査コードは、回路ロジックモデルの一例である。
【００３２】
解析処理部２５は、取得部２４によって取得された回路ロジックモデルに基づいた論理解析処理などを実施する。その解析処理は、モデル検査手法を用いるものである。
【００３３】
より具体的には、解析処理部２５は、評価条件ＤＢ１２から評価条件に関するデータを取得して、その評価条件に従った検査（解析）を実施する。例えば、検査の工程には、評価条件により規定された種類の解析処理を実施する工程と、解析処理の結果と期待値とを照合する判定処理の工程が含まれる。解析処理部２５は、評価条件に規定された検査項目に従って、検査項目ごとの解析処理を実施して、その解析処理の結果を所定の検査式を用いて判定した判定の結果を、検査項目に対応づけて評価条件ＤＢ１２に格納する。
【００３４】
表示制御部２６は、記憶部１０に格納されている各種データを加工して可視化するための表示画面のデータを生成する。表示制御部２６によって生成される表示画面には、回路ロジックモデルを規定する評価式を含むもの、解析処理の結果に基づいて判定の結果を含むものなどが含まれる。
【００３５】
なお、上記のように形成された検証処理装置１は、例えば、リレー論理回路における不具合事象を、その動作の検証の条件に含めることにより、リレー論理回路の状態と不具合事象とを組み合わせた状態を解析してもよい。上記の場合には、順序回路型のリレー論理回路についての解析も可能になる。
【００３６】
なお、評価条件ＤＢ１２に規定する検査項目は、解析処理における検査項目に漏れが無いように、その項目を網羅的に規定するとよい。その項目を網羅的に規定する方法として、解析処理に用いる評価式中の変数の値が、検査項目ごとに互いに異なる変数の組み合わせになるように機械的に自動生成させる方法がある。上記のような方法により、網羅的に検査項目を規定することにより、状態を問わずに発生する任意の事象に対して、リレー論理回路におけるリレーの出力に不安全事象が生じないことを検証することを可能にする。
【００３７】
図２は、この実施形態における検証処理の手順を示すフローチャートである。最初に、検証処理の概要を説明する。この実施形態では、一部の処理をユーザが実施する。
【００３８】
まず、ユーザは、リレー論理回路における各素子の接続関係を読み取り（ステップＳ１１）、各素子の接続関係を整理する。
【００３９】
次に、解析データ設定部２１は、複数ある不具合事象の種類の中から、検査対象にする不具合事象の種類（検査対象不具合事象）を、予め定められた規則に従い順に選択する(ステップＳ１２)。例えば、表示制御部２６は、検査対象にする不具合事象の種類に対応付けられる解析処理の複数の種別を、図示しない表示部に表示させる。ユーザは、表示された解析処理の複数の種別から一又は複数の種別を選択して、選択の結果を検証処理装置１に登録する。解析データ設定部２１は、選択の結果に対応する検証条件を、評価条件ＤＢ１２に格納させる。
【００４０】
次に、ユーザは、リレー論理回路に不具合事象が生じた場合の事象を検査するための検査式に関するデータを生成して、検証処理装置１に登録する。これを受け、検査式設定部２２は、リレー論理回路に発生する不安全事象を表現する検査式を設定して（ステップＳ１３）、検査式ＤＢ１３に格納させる。
【００４１】
次に、ユーザは、各素子の接続関係に基づいて、不具合事象を含めた論理回路（ロジック）を示すデータを生成して（ステップＳ１４）、検証処理装置１に登録する。これを受け、解析データ設定部２１は、ユーザによって生成された評価式のデータを記憶部１０の評価式ＤＢ１１に格納させる。
【００４２】
次に、コード生成部２３は、評価式ＤＢ１１に格納されている評価式のデータと、検査式ＤＢ１３に格納されている検査式のデータとに基づいて、モデル検査コードを生成する（ステップＳ１５）。モデル検査コードを生成することを、図２において「自動コーディング」と示す。モデル検査コードとは、検証対象の論理回路に対応する評価式を含み、コンピュータが実行可能とするようにプログラムのコードに変換されたものである。後述する図５にそのモデル検査コードの一例を示す。
【００４３】
次に、取得部２４は、モデル検査コードをコードＤＢ１４から取得する。そのモデル検査コードは、リレー論理回路２に不具合事象が生じた場合の論理式を含む評価式で回路ロジックモデルが示されている。解析処理部２５は、生成されたモデル検査コードに基づいて、検査を実行する（ステップＳ１６）。
【００４４】
次に、解析処理部２５は、所定の計算時間内に計算が完了していないことを判定する（ステップＳ１７）。所定の計算時間内に計算が完了していない場合には、ステップＳ１２からの処理を繰り返す。なおその際に、検査対象にする不具合事象の種類を切替えてもよい。
【００４５】
所定の計算時間内に計算が完了している場合には、表示制御部２６は、その結果を表示部に表示させることにより、ユーザに判定の結果が良好なものであるかについて解釈させる（ステップＳ１８）。検証処理装置１は、上記の手順に従って各処理を実施した後、図に示す一連の処理を終える。
【００４６】
続いて、上記の検証処理の手順の各ステップの処理の詳細について、順に説明する。
【００４７】
図３は、この実施形態における検証処理を説明するための図である。図３には、リレー論理回路２の接続図が一例として記載されている。この図３に示すリレー論理回路２には、リレーＡと、スイッチＢと、スイッチＣと、電源部Ｐとが含まれる。リレーＡは、図示しないコイルと接点とを備える。リレーＡのコイルと、スイッチＢと、スイッチＣとが、記載の順に直列に接続されており、直列に接続された回路の第１端（スイッチＣ側の端）が電源部Ｐに接続され、第２端（リレーＡ側の端）が接地極（Ground）に接続される。
【００４８】
より詳しく上記の接続を説明すると、電源部Ｐは、その出力端子が接続線Line111の１端に接続されている。その接続線Line111には、スイッチＣの第１端が接続される。スイッチＣの第２端には、接続線Line112の一端が接続される。その接続線Line112の他端には、スイッチＢの第１端が接続される。スイッチＢの第２端には、接続線Line113が接続される。その接続線Line113には、リレーＡのコイルの第１端が接続される。リレーＡのコイルの第２端には、接地極が接続される。
【００４９】
リレー論理回路２を形成する各部には、各部の種類に依存する固有の不具合事象が発生することがある。その不具合事象としては、以下を想定する。
【００５０】
不具合事象が生じ得る対象として、マニュアル操作型のスイッチと、リレー素子と、電源部と、接続線と、ダイオードとについて例示する。上記の各対象に生じ得る不具合事象として、以下のものを想定する。
【００５１】
マニュアル操作型のスイッチの操作には、誤操作の虞がある。マニュアル操作型のスイッチの導通状態には、ON状態とOFF状態の何れの状態も取り得るものとする。
【００５２】
リレー素子には、機械的接点を有するものと、機械的接点に代えて半導体素子を有するものが有る。ここでは、機械的接点を有するリレー素子の場合を例示する。機械的接点を有するリレー素子には、リレーの接点の溶着と、リレーのコイル側への接触と混触の虞がある。それゆえ、リレーの接点の導通状態（出力状態という。）が、リレーのコイルに掛かる制御電圧に対応する論理状態（ロジックという。）に従う場合と、そのロジックに従わず、ON状態とOFF状態の何れかの状態を取り得る場合の両方の場合が想定されるものとする。上記のロジックとは、リレーの接点の出力状態の期待値になる。
【００５３】
電源部には、その出力側に互いに異なる電位の混触と、電源部の出力端子に電気的に接続される接続線の断線の虞がある。それゆえ、電源部の状態が、定格電圧などの所定の電圧を出力可能な状態（ON状態）と、上記の所定の電圧を出力できない状態（OFF状態）の何れの状態も取り得るものとする。所定の電圧を出力可能な状態（ON状態）には、所定の電流を出力できる状態を含み、所定の電圧を出力できない状態（OFF状態）には、所定の電流を出力できない状態を含むものとする。
【００５４】
接続線には、混触と断線の虞がある。そこで、実施形態では、各接続線に対して、論理状態を有する仮想素子を割り付ける。
【００５５】
なお、図３には図示していないが、ダイオードなどの整流素子（以下、纏めてダイオードという。）には、溶着（素子損傷）による逆流の虞がある。
【００５６】
図４は、図３に示した接続形態に対応する論理式（回路ロジック）の一例を示す図である。
図４（ａ）に、通常時の動作を規定する論理式を示す。図４（ａ）に示す論理式は、変数として、Aと、Bと、Cと、（ Power_100V ）とを含む。その論理式は、式（１）のように記述されている。
【００５７】
A = B and C and Power_100V      ・・・（１）
【００５８】
式（１）における変数Aと、Bと、Cと、（ Power_100V ）の型(タイプ)は、それぞれ論理型である。例えば、上記の変数Aと、Bと、Cと、（ Power_100V ）は、それぞれリレーＡと、スイッチＢと、スイッチＣと、電源部Ｐとに対応づけられている。
【００５９】
上記の論理式の内、変数Aは、検証対象のリレーの出力状態を示す。また、変数Bと、Cは、検証対象の経路上の素子の状態を示す。その値は、導通状態（ON状態）が正論理の真値で示される。例えば、各変数は、「０」（偽値）と「１」（真値）の２値の何れかの値をとる。例えば、スイッチＢ、スイッチＣ等の接点を有するものが導通状態（ON状態）にある場合の変数の値を「１」に定める。
【００６０】
上記の論理式の内、変数（ Power_100V ）は、電源部Ｐの出力状態を示す。その値は、出力状態（ON状態）が正論理の真値で示される。例えば、出力状態（ON状態）にある場合の変数の値を「１」に定める。
【００６１】
また、式（１）において各変数を繋ぐ「ａｎｄ」は、論理積演算を示す演算子である。この演算式の演算が実施されると、式（１）の右辺側の演算の結果が左辺の変数に代入される。
【００６２】
式（１）に示す基本動作を規定する論理式には、検証対象の経路上の素子を示す変数同士の論理積演算を示す論理式が含まれる。基本動作とは、断線、混触などの不具合事象が生じていない場合の動作のことである。
【００６３】
上記の式（１）と図３の回路に対応付けると、スイッチＢが導通し、スイッチＣが導通し、スイッチＣに制御用の電力（Power_100V）が電源部Ｐ１から供給されている場合に、リレーＡのコイルに対して制御電圧が印加される。上記の式（１）は、上記の状況にある場合に、リレーＡの接点が閉じて導通することをモデル化したものである。なお、上記以外の状況にある場合には、リレーＡの接点が開いて導通しないことを示す。
【００６４】
図４（ｂ）と図４（ｃ）とに、図３の回路における不具合事象を想定した論理式（回路ロジック）を示す。次に示す論理式には、少なくともリレー論理回路２に不具合事象が生じた場合の動作を示す要素が含まれる。
【００６５】
図４（ｂ）に示す不具合事象を想定した論理式は、混触を想定したものである。
回路内の各接続点（接続線）に混触が発生した場合には、本来、リレーＡのコイルに電流が流れない状態にあるべき状況であっても、接続線等の混触により電位が生じたことによって、リレーＡのコイルに電流が流れてしまう事象が想定される。
【００６６】
前述の図３に示した一例では、接続線Line111、Line112、Line113の３つの接続線が存在する。これらの接続線に混触が生じると仮定すれば、下記する３とおりの事象が発生し得る。３通りの事象とは、接続線Line113の混触と、接続線Line112の混触と、接続線Line111の混触のことである。これらの事象についてモデル化して、次の論理式に表す。
【００６７】
例えば、接続線Line113が混触した場合には、リレーＡのコイルに電流が流れて作動してしまう場合がある。このような場合は、スイッチＢなどの状態によらずにリレーＡが作動する。これを次の式（２）に示す。
【００６８】
A = Line113      ・・・（２）
【００６９】
また、接続線Line112が混触した場合には、スイッチＢがON状態にあるとリレーＡのコイルに電流が流れて作動してしまう場合がある。このような場合は、スイッチＣの状態によらずにリレーＡが作動する。これを次の式（３）に示す。
【００７０】
A = B and Line112      ・・・（３）
【００７１】
また、接続線Line111が混触した場合には、スイッチＢとスイッチＣの両方がON状態にあるとリレーＡのコイルに電流が流れて作動してしまう場合がある。これを次の式（４）に示す。
【００７２】
A = B and C and Line111      ・・・（４）
【００７３】
また、上記の式（２）から式（４）の他に、式（１）に示した基本機能による条件を満たした場合に、リレーＡのコイルに電流が流れる。つまり、これらの式（１）から式（４）までの何れかの条件が満たされた場合に、リレーＡが作動することになる。この関係を式（５）に示す。式（５）は、式（２）から式（４）までの演算結果の論理和を算出する式である。
【００７４】
A = Line113 or ( B and Line112 ) or ( B and C and Line111 ) 
or ( B and C and Power_100V )                    ・・・（５）
【００７５】
上記の論理式の内、変数Aと、Bと、Cは、上述したように検証対象のリレーと、経路上の素子の状態を示す。上記の論理式の内、変数（ Power_100V ）は、上述したように電源部Ｐの出力状態を示す。
上記の論理式の内、変数Line113と、Line112と、Line111は、検証対象の経路上の接続線の状態を示すものであり、混触状態（ON状態）が正論理の真値で示される。例えば、各変数は、「０」（偽値）と「１」（真値）の２値の何れかの値をとる。例えば、接続線に混触が生じた場合に、その接続線の変数の値を「１」にする。接続線に混触が生じていない場合に、その接続線の変数の値を「０」にする。
【００７６】
なお上記の論理式の内、式（１）が、リレーが設けられた経路上の素子を示す変数および接続線を示す変数の論理積演算を含む第１の式の一例である。また、式（２）から式（４）が、リレーが設けられた経路のうち、その経路上で短絡（混触）が生じ得る地点の素子または接続線とリレーとの間の経路上に存在する素子および接続線を解析対象にして解析対象の素子を示す変数および前記解析対象の接続線を示す変数の論理積演算を含む第２の式の一例である。
【００７７】
また、式（５）において各項を繋ぐ「ｏｒ」は、論理和演算を示す演算子である。この式（５）の場合も、前述の式（１）の場合と同様に、演算式の演算が実施されると、式（５）の右辺側の演算の結果が左辺の変数に代入される。
【００７８】
図４（ｃ）に、不具合事象として混触と断線を想定した回路ロジックを示す。
回路内の各接続点（接続線）に混触と断線の何れかが発生した場合には、本来、リレーＡのコイルに電流が流れない状態にあるべき状況であっても、接続線等に混触が発生したことによって、リレーＡのコイルに電流が流れてしまう事象が想定される。また、本来、リレーＡのコイルに電流が流れる状態にあるべき状況であっても、接続線等の断線が発生したことによって、リレーＡのコイルに電流が流れなくなる事象が想定される。
【００７９】
前述の図３に示した一例では、接続線Line111、Line112、Line113の３つの接続線が存在する。これらの接続線に混触と断線の何れかが生じると仮定する。混触については前述したとおりである。ここでは断線について説明する。接続線に断線が生じると、下記する３とおりの事象が発生し得る。３通りの事象とは、接続線Line113の断線と、接続線Line112の断線と、接続線Line111の断線のことである。これらの事象についてモデル化して、次の論理式に表す。
【００８０】
例えば、接続線Line113が混触したことにより、接続線Line113が断線していなければリレーＡのコイルに電流が流れて作動する場合がある。このような場合は、スイッチＢの状態によらずにリレーＡが作動する。これを次の式（６）に示す。
【００８１】
A = ( Line113 and DC_Line113 )      ・・・（６）
【００８２】
なお、上記の式（６）において、変数DC_Line113は、接続線Line113の断線の有無を示す変数である。以下同様に変数「DC_Linexxx」は、接続線Linexxxの断線の有無を示す変数である。例えば、DC_Line113は、その接続線に断線が生じていない場合には正論理の真値（TRUE）としての「１」を示し、断線が生じている場合には正論理の偽値としての「０」を示す。
【００８３】
また、接続線Line112が断線していない状態にあり、且つスイッチＢがON状態にあると、接続線Line112が混触したことにより、リレーＡのコイルに電流が流れて作動する場合がある。このような場合は、スイッチＣの状態によらずにリレーＡが作動する。これを次の式（７）に示す。
【００８４】
A = B and ( Line112 and DC_Line112 )      ・・・（７）
【００８５】
また、接続線Line111が断線していない状態にあり、且つスイッチＢとスイッチＣの両方がON状態にあると、接続線Line111が混触したことにより、リレーＡのコイルに電流が流れて作動する場合がある。これを次の式（４）に示す。
【００８６】
A = B and C and ( Line111 and DC_Line111 )      ・・・（８）
【００８７】
また、上記の式（６）から式（８）の他に、式（１）に示した基本動作の条件を満たした場合に、リレーＡのコイルに電流が流れる。これらの式（１）と式（６）から式（８）までの何れかの条件が満たされた場合に、リレーＡが作動することになる。この関係を式（９）に示す。式（９）は、式（１）と、式（６）から式（８）までの演算結果の論理和を算出するものである。
【００８８】
A = ( Line113 and DC_Line113 )
or B and ( Line112 and DC_Line112 )
or B and C and ( Line111 and DC_Line111 )
or ( B and C and Power_100V )                    ・・・（９）
【００８９】
上記の論理式の内、変数Aと、Bと、Cと、変数（ Power_100V ）と、変数Line113と、Line112と、Line111は、上述したとおりである。上記の論理式の内、変数DC_Line113と、DC_Line112と、DC_Line111は、検証対象の経路上の接続線の導通状態を示すものであり、導通状態（ON状態）が正論理の真値で示される。例えば、各変数は、素子の場合と同様に「０」（偽値）と「１」（真値）の２値の何れかの値をとる。例えば、接続線Line113が導通状態（ON状態）にある場合に、その接続線の変数の値を「１」にする。接続線Line113が断線状態（OFF状態）にある場合に、その接続線の変数の値を「０」にする。
【００９０】
以上に示したように、不具合事象が生じていない場合、混触（不具合事象）が生じている場合、混触又は断線などの不具合事象が生じている場合の３通りの検証の事例について説明した。上記の各検証については、前述の図２におけるステップＳ１２の処理のように、「複数ある不具合事象の種類の中から、検査対象にする不具合事象の種類（検査対象不具合事象）を、予め定められた規則に従い順に選択」して実施するようにしてもよい。
【００９１】
次に、上記の検証処理に用いる回路検証用のモデルの具体的な一例について説明する。
【００９２】
図５は、この実施形態におけるモデル検査コードの一例を説明するための図である。
この図５に示すモデル検査コードは、論理検証の処理を実施するためのものである。そのモデル検査コードが示す内容によって、下記のように複数のブロックに分けることができる。
【００９３】
この図５に示す一例では、下記の演算処理を提供するコードが示されている。このコードは、ＳＭＶ方式の検査手法に準じたものである。
【００９４】
第１ブロック（第１行）：メインモジュール（main）の宣言文である。
【００９５】
第２ブロック：各変数の型式を定義するための変数宣言部である。例えば、変数Switch_Bと変数Switch_Cのそれぞれの変数の型式を論理型（boolean）として定義する。変数Switch_Bは、スイッチＢの誤操作があった場合に、不具合事象の発生を示す論理「１」が設定されるものとして定義される。変数Switch_Cは、スイッチＣの誤操作があった場合に、不具合事象の発生を示す論理「１」が設定されるものとして定義される。
【００９６】
第３ブロック：各変数の値を定義するための変数定義部である。図に示す例では、変数Line111の値を、初期値として「１」に固定する。例えば、論理「１」を「TRUE」で示す。図示していないが、論理「０」を「False」で示す。
【００９７】
第４ブロック：本モジュールの演算処理を規定する論理演算部であり、素子の状態を更新する箇所である。以下に示す演算処理は、代入文で記述されている。第４ブロックの１行目の式は、変数Relay_Cの初期値を「False」にするものである。その２行目の式は、変数Relay_Cに、次の条件による値を代入する。この式は、変数Switch_Bと、変数Switch_Cと、変数Line111との全ての変数が論理「１」である場合に、変数Power_100Vが論理「１」である場合に、変数Relay_Cを論理「１」にすることを示す。
【００９８】
第５ブロック：上記の演算処理の結果を判定するための検査式を設定する検査式部である。この例はCTLで記述されている。第５ブロックの２行目の式は、「変数ProcessXがTRUE（真値又は「１」）になった場合に、Relay_CがFALSEであることが、生じることが無い。」ことを要求仕様として規定するものである。例えば、より具体的な事例に当てはめると、緊急信号を発出しなければならない状況（ProcessX=TRUE）になった場合に、緊急信号が発信されない（Relay_C=FALSE）であることが、生じることが無い。」ことを要求仕様として規定することができる。
【００９９】
上記の実施形態によれば、例えば、回路ロジックモデルがモデル検査コードで表現され、それに対する検査式がCTLで記述されている。これにより、リレーを用いるリレー論理回路に代わる回路ロジックモデルを用いることによって、リレー論理回路内の素子または接続線に生じる不具合事象について判定部が検証することが可能になり、上記のリレー論理回路に不具合事象が生じたときの安全性を検証できる。
【０１００】
上記の回路ロジックモデルは、検証対象のリレー論理回路を形成するリレー、素子および接続線に対応する変数を変数にとる論理式で示される評価式であって、少なくとも前記リレー論理回路に不具合事象が生じた場合の論理式を含む評価式で示されていることにより、不具合事象が生じた場合に、不安全状態に陥る可能性の解析を可能にする。なお、不安全状態とは、検証対象のリレー論理回路の出力が安全な状態とは異なる状態のことである。例えば、この不安全状態とは、検証対象のリレー論理回路を稼働させているなかで、その出力に発生しないことが望まれる状態のことである。
【０１０１】
（第２の実施形態）
続いて、図２と、図６から図１５までの図を参照して、第２の実施形態について説明する。第１の実施形態では、論理検証用のモデルとしての論理検証コードは、ユーザによって生成されたものであったが、本実施形態の論理検証コードは、検証処理装置が生成する。
【０１０２】
図６は、この実施形態の検証処理装置の概略構成を示す構成図である。
図６に示すように、この実施形態における検証処理装置１Ａは、記憶部１０Ａと、制御部２０Ａとを備える。
【０１０３】
記憶部１０Ａは、評価式ＤＢ１１と、評価条件ＤＢ１２と、検査式ＤＢ１３と、コードＤＢ１４と、素子情報ＤＢ１５と、信号情報ＤＢ１６とを備える。
【０１０４】
素子情報ＤＢ１５（Dev表）には、検証処理の対象のリレー論理回路に含まれる素子と、その素子の接続関係を示す接続情報とに関する構成情報のデータが含まれる。素子情報ＤＢ１５の詳細については後述する。
【０１０５】
信号情報ＤＢ１６（Sig表）には、検証処理の対象のリレー論理回路に電力を供給する電源系に関するデータが含まれる。後述する給電定義表は、上記の電源系に関するデータの一例である。信号情報ＤＢ１６の詳細については後述する。
【０１０６】
制御部２０Ａは、解析データ設定部２１Ａと、コード生成部２３と、取得部２４と、解析処理部２５と、表示制御部２６と、ロジック生成部２７とを備える。
【０１０７】
解析データ設定部２１Ａは、ユーザの操作により又は通信により、外部から検証処理のための解析データを取得する。例えば、解析データ設定部２１Ａは、ユーザが作成したデータを取得して、それを素子情報ＤＢ１５と信号情報ＤＢ１６とに格納する。ユーザが作成したデータには、検証処理の対象のリレー論理回路に含まれる素子と、その素子の接続関係を示す接続情報の一覧表と、検証処理の対象のリレー論理回路に電力を供給する電源系に関するデータの一覧表などが含まれる。
【０１０８】
ロジック生成部２７は、評価式で示された回路ロジックモデルを、前記素子および接続線の互いの接続関係を示す一覧表のデータに基づいて生成する。上記の評価式は、前述したように検証対象のリレー論理回路を形成するリレー、素子および接続線を変数にとる論理式で示されたものであり、少なくともそのリレー論理回路に不具合事象が生じた場合の論理式を含む。
【０１０９】
なお、コード生成部２３は、ロジック生成部２７が生成したロジック（評価式）をコードに変換する。なお、実施形態ではコード生成部２３とロジック生成部２７とを分けて説明しているが、分けずに一体のものとして形成してもよい。
【０１１０】
次に、前述の図２を参照して、本実施形態の検証処理の概要について説明する。
【０１１１】
まず、ユーザは、リレー論理回路における各素子の接続関係を読み取り（ステップＳ１１）、各素子の接続関係を示すデータを、検証処理装置１に登録する。これを受け、解析データ設定部２１は、ユーザによって生成された各素子の接続関係を示すデータを素子情報ＤＢ１５に登録する。例えば、解析データ設定部２１Ａは、検証処理のためのリレー論理回路の構成情報を、ユーザの操作により又は通信によってその外部の装置等から取得する。例えば、その構成情報には、リレー論理回路から抽出された素子と、その素子の接続関係を示すデータがその素子一覧表に含まれている。この場合、解析データ設定部２１Ａは、その素子一覧表に関するデータを取得して、素子情報ＤＢ１５に追加する。さらに、解析データ設定部２１Ａは、同様に、リレー論理回路のリレーに電力を供給する電源系に関するデータを取得して、信号情報ＤＢ１６に追加する。
【０１１２】
次に、解析データ設定部２１は、複数ある不具合事象の種類の中から、検査対象にする不具合事象の種類（検査対象不具合事象）を、予め定められた規則に従い順に選択する(ステップＳ１２)。例えば、表示制御部２６は、検査対象にする不具合事象の種類に対応付けられる解析処理の複数の種別を、図示しない表示部に表示させる。ユーザは、表示された解析処理の複数の種別から特定の種別を選択して、選択の結果を検証処理装置１に登録する。解析データ設定部２１は、その選択の結果を評価条件ＤＢ１２に格納させる。
【０１１３】
次に、ユーザは、リレー論理回路に不具合事象が生じた場合の事象を検査するための検査式に関するデータを生成して、検証処理装置１に登録する。これを受け、検査式設定部２２は、リレー論理回路に発生する不安全事象を表現する検査式を設定して（ステップＳ１３）、検査式ＤＢ１３に格納させる。
【０１１４】
次に、ロジック生成部２７は、素子情報ＤＢ１５のデータと信号情報ＤＢ１６のデータとに基づいて、不具合事象を含めた論理式（ロジック）を生成する（ステップＳ１４）。論理回路（ロジック）を示すデータの生成について後述する。
【０１１５】
次に、コード生成部２３は、評価式ＤＢ１１に格納されている評価式のデータと、検査式ＤＢ１３に格納されている検査式のデータとに基づいて、モデル検査コードを生成する（ステップＳ１５）。
【０１１６】
次に、解析処理部２５は、コード生成部２３によって生成されたモデル検査コードに基づいて、検査を実行する（ステップＳ１６）。なお、ステップＳ１７以降の処理は、前述の第１の実施形態における説明を参照する。
【０１１７】
図７は、この実施形態におけるより複雑なリレー論理回路の一例を示す図である。
この図７に示すリレー論理回路２Ａには、リレーＲ１、Ｒ２、Ｒ３及びＲ４と、ダイオードDiode_121及びDiode_121と、スイッチSW_1、SW_2、SW_3、SW_4、SW_５及びSW_6と、遮断器Breaker、C_1、C_2、R11及びR12と、電源部Ｐ１、Ｐ２、Ｐ３とが含まれる。
【０１１８】
リレーＲ１、Ｒ２、Ｒ３及びＲ４は、前述のリレーＡに相当するものである。
ダイオードDiode_121及びDiode_121は、整流機能を有する半導体である。
スイッチSW_1、SW_2、SW_3、SW_4、SW_５及びSW_6は、前述のスイッチＢとＣ等に相当するものであり、ａ接点型である。
【０１１９】
遮断器Breaker、R11及びR12は、所謂遮断器であり、ｂ接点型である。なお、R11及びR12は、リレーの接点であってもよい。
【０１２０】
コンタクタC_1及びC_2は、接続線間を電気的に接続するものであり、ｂ接点型である。
【０１２１】
最初に電源系について説明する。図８は、図７に示したリレー論理回路の電源系の構成を示す給電定義表について説明するための図である。図８に示す給電定義表（Sig表）は、電源部、ブレーカ、コネクタ部、接続点等の項目を含む。この給電定義表には、電源系の接続情報が示されている。例えば、給電定義表には、リレーの制御電圧が印加される給電線の接続点と、前記給電線に係る電源との関係を示すデータが格納されている。
【０１２２】
例えば、給電定義表における電源部の項目には、対応する電源装置の識別情報に関するデータが含まれ、ブレーカの項目には、設けられた遮断器(ブレーカ)を識別する識別情報に関するデータが含まれ、コネクタ部の項目には、上記の遮断器に接続される接続先に関するデータが含まれ、接続点の項目には、上記の遮断器と接続先とを繋ぐ配線（接続線）に関するデータが含まれる。
【０１２３】
この給電定義表の電源部の項目に記載された電源部Ｐ１と、電源部Ｐ２及びＰ３とは、予め定められた制御電圧を出力する電源であって、例えば定電圧源として機能するものである。例えば、電源部Ｐ１の出力電圧は１００ボルトである。電源部Ｐ２及びＰ３の出力電圧は、それぞれ４ボルトである。電源部Ｐ２及びＰ３は、例えば互いに異なる系統の電源である。電源部Ｐ１と、電源部Ｐ２及びＰ３は、互いの出力が短絡しても各電源部の動作に影響がないように構成されている。
【０１２４】
電源部Ｐ１の後段には、遮断器Breakerの第１端子が接続され、遮断器Breakerの第２端子（接続点）には、接続線VOL_100_2の第１端が接続されている。接続線VOL_100_2の第２端（コネクタ部）には、コンタクタC_2の第１端子が接続されている。コンタクタC_2の第２端子には、接続線VOL_100_1が接続されている。電源部Ｐ１の後段には、遮断器R11の第１端子が接続され、遮断器R11の第２端子（接続点）には、接続線Line111（図中の表記は（１１１））の第１端が接続されている。電源部Ｐ２の後段には、遮断器R10の第１端子が接続され、遮断器R10の第２端子（接続点）には、接続線Line211（図中の表記は（２１１））の第１端が接続されている。
【０１２５】
なお、接続線の名称に「VOL_」をついているものは、このリレー論理回路における高電位が供給される接続線であり、この「VOL_」が付いた名称の接続線には、他の接続線と電気的に接触しても混触により高電位に変化することが無いことを示す。
【０１２６】
例えば、リレーR1のコイルと、スイッチＢと、スイッチＣとが、記載の順に直列に接続されており、直列に接続された回路の第１端が電源部Ｐに接続され、第２端が接地極（Ground）に接続される。
【０１２７】
まず、接続点ごとに、ブレーカと電源部とを論理積演算子（＆）で接続する。
次に、電源部に記載がない接続点については、同一コネクタを持つ接続点の行に記載の電源部、ブレーカ、コネクタ部を論理積演算子（＆）で接続する。
【０１２８】
例えば、ロジック生成部２７による上記の処理により、下記の接続点の変数について、その変数の値を決定する論理式が生成される。その式を式（１０）から式（１３）に示す。
【０１２９】
VOL_100_1 = !C_2 & Breaker & 100VDC      ・・・（１０）
VOL_100_2 =Breaker & 100V      ・・・（１１）
111_temp= R11 & 4V_1      ・・・（１２）
211_temp= R10 & 4V_2      ・・・（１３）
【０１３０】
第１の接続点の変数であるVOL_100_1の値は、コンタクタC_2と遮断器Breakerと電源部Ｐ１（100VDCと表記）のそれぞれに対応する変数の論理積演算の結果になる。
第２の接続点の変数であるVOL_100_2の値は、遮断器Breakerと電源部Ｐ４（100Vと表記）のそれぞれに対応する変数の論理積演算の結果になる。
第３の接続点の変数であるLINE111の値は、遮断器R11と電源部Ｐ２（4V_1と表記）のそれぞれに対応する変数の論理積演算の結果になる。
第４の接続点の変数であるLINE211の値は、遮断器R10と電源部Ｐ３（4V_2と表記）のそれぞれに対応する変数の論理積演算の結果になる。
【０１３１】
コード生成部２３は、上記の接続構成に関するデータを生成した後、コードＤＢ１４（図１）に格納する。
【０１３２】
なお、電源系以外の範囲に含まれる各素子の接続については、後述する。
【０１３３】
図９を参照して、図７に示したリレー論理回路の素子一覧表の一例について説明する。図９は、図７に示したリレー論理回路の素子一覧表を示す図である。この図９には、素子と素子間の接続関係のデータを格納する素子一覧表が記載されている。素子一覧表は、Ｎｏ、Device、コモン、ｂ接点、ａ接点の項目を含む。Ｎｏの項目には、この表に格納される各素子のデータを素子ごとに組にして、その組を単位に識別可能な番号が格納されている。なお、Ｎｏの項目は省略してもよい。Deviceの項目には、リレー論理回路２Ａを形成する各素子を識別するデータが格納されている。例えば、各素子を識別するデータを、リレー論理回路２Ａの接続図に記載の記号、部品表の部品名等に対応付けるとよい。コモンの項目には、各素子が備える１対の端子の内の第１端を高電位側とした場合、第１端に接続されている接続線を識別するデータが格納される。ｂ接点とａ接点の項目は、各素子が平常状態で導通状態(ON状態)にあるものか遮断状態（OFF状態）にあるものかを識別するためのものである。ｂ接点とａ接点の項目には、素子が備える１対の端子の内の第２端に接続されている接続線を識別するデータが、ｂ接点の項目とａ接点の項目の何れか一方に格納される。なお、この実施形態のリレー論理回路２Ａにおける「コモン」とは、各リレー及び各スイッチ等が備える１又は複数の接点の第１端が、互いに共通する電位である高電位側に接続される。このような第１端の接続形態を共通に接続されることを意味する「コモン」接続という。この実施形態において、スイッチ又はリレー等の接点に関し「コモン」又は「コモン部」という場合は、スイッチ又はリレー等の接点の高電位側に配置されている端子（第１端）を示す。
【０１３４】
この素子一覧表（Dev表）には、素子および接続線のそれぞれを関連付けて、当該素子または接続線の第１の端に接続される素子または接続線と、当該素子または接続線の第２の端に接続される素子または接続線とに関連するデータを格納する。
【０１３５】
図７に示したリレー論理回路から、下記の情報が読み取れる。その情報はこの素子一覧表の形に整理される。素子一覧表についての説明は、前述の図１０を参照する。
【０１３６】
この素子一覧表は、１から１３までの番号がそれぞれ附された素子の情報（データ）を含む。各素子の接続関係は下記の通りである。
１番目の素子であるリレーR1は、第１端が接続線Line113（図中の表記は「１１３」）に接続され、第２端が接地極（図中の表記は、「G_100E1」）に接続される。
２番目の素子であるリレーR2は、第１端が接続線Line111（図中の表記は「１１１」）に接続され、第２端が接地極に接続される。
３番目の素子であるリレーR3は、第１端が接続線Line213（図中の表記は「２１３」）に接続され、第２端が接地極に接続される。
４番目の素子であるリレーR4は、第１端が接続線Line211（図中の表記は「２１１」）に接続され、第２端が接地極に接続される。
５番目の素子であるスイッチSW_1は、第１端が接続線Line112（図中の表記は「１１２」）に接続され、第２端が接続線Line113に接続される。
６番目の素子であるスイッチSW_2は、第１端が接続線Line111に接続され、第２端が接続線Line112に接続される。
７番目の素子であるダイオードDiode_121は、第１端がLine121（図中の表記は「１２１」）に接続され、第２端が接続線Line111に接続される。
８番目の素子であるスイッチSW_3は、第１端が電源部Ｐ１に接続される接続線のうち、接続線VOL_100_1に接続され、第２端が接続線Line121に接続される。
９番目の素子であるスイッチSW_4は、第１端が接続線Line212（図中の表記は「２１２」）に接続され、第２端が接続線Line213に接続される。
１０番目の素子であるスイッチSW_5は、第１端が接続線Line211に接続され、第２端が接続線Line212に接続される。
１１番目の素子であるダイオードDiode_221は、第１端がLine221（図中の表記は「２２１」）に接続され、第２端が接続線Line211に接続される。
１２番目の素子であるスイッチSW_6は、第１端が電源部Ｐ１に接続される接続線のうち、接続線VOL_100_2に接続され、第２端が接続線Line221に接続される。
１３番目の素子であるコンタクタC_1は、第１端が接続線Line111に接続され、第２端が接続線Line211に接続される。
【０１３７】
上記と同様に、リレー論理回路内の素子に関する情報を第１４番目以降に続けて整理する。ここでは、その記載を省略する。
【０１３８】
なお、上記の１番目から１３番目各素子の内、７番目の素子であるダイオードDiode_121と、１１番目の素子であるダイオードDiode_221と、１３番目のコンタクタC_1は、ｂ接点であり、上記の素子以外は、ａ接点である。ここで、ダイオードをｂ接点として扱うことについて説明を補足する。ダイオードは、順バイアス状態にあると電流を流すが、逆バイアス状態にあると電流を遮断する。このリレー論気回路におけるダイオードは、順バイアスされるように配置されており、ダイオードに関連する経路が導通状態になれば、ダイオードも電流を流すことから、ｂ接点相当のものとして扱っている。
【０１３９】
（断線診断用の論理式の生成）
次に、図１０と前述の図９とを参照して、断線診断用の経路の検索と論理式の生成について説明する。図１０は、この実施形態の断線診断用の論理式の生成処理のフローチャートである。以下、断線診断用の経路のことをパスという。
【０１４０】
まず、ロジック生成部２７は、素子情報ＤＢ１５の素子一覧表から特定のリレーを抽出する（ステップＳＡ２１）。例えば、ロジック生成部２７は、特定のリレーを、リレーR1に決定する。
【０１４１】
次に、ロジック生成部２７は、抽出した特定のリレーの第１端（コモン部）に接続される接続線を、素子一覧表から抽出する（ステップＳＡ２２）。例えば、リレーR1の場合には接続線Line113である。
【０１４２】
次に、ロジック生成部２７は、その接続線から給電定義表（Sig表）に記載の接続点に到達するパスを探索する（ステップＳＡ２３）。
【０１４３】
次に、ロジック生成部２７は、パスの終端に到達したか否かを判定する（ステップＳＡ２４）。例えば、パスの終端とは、グラウンド（G_100E1）か給電定義表（Sig表）に記載の接続点のことである。パスをたどっていく際、パスの終端に到達していない場合、すなわち抽出した接続点がグラウンド（G_100E1）か給電定義表（Sig表）に記載の接続点に到達していない場合には、ロジック生成部２７は、ステップＳＡ２３からの処理を繰り返す。
【０１４４】
パスをたどっていく際、パスの終端に到達した場合、すなわち抽出した接続点がグラウンド（G_100E1）か給電定義表（Sig表）に記載の接続点に到達した場合には、ロジック生成部２７は、到達地点について判定する（ステップＳＡ２５）。
到達地点がグラウンド（G_100E1）である場合、ロジック生成部２７は、抽出したパスの情報をコードＤＢ１４に追加せずに次のステップＳＡ２７に処理を進める。
【０１４５】
到達地点が給電定義表（Sig表）に記載の接続点である場合、ロジック生成部２７は、抽出したパスの情報をコードＤＢ１４に追加する（ステップＳＡ２６）。なお、追加するパスが、上記の特定を起点にする複数のパスの内の１つである場合には、ロジック生成部２７は、他のパスの論理式と今回抽出したパスの論理式の論理和を得るように論理和演算子により接続する。
【０１４６】
ステップＳＡ２６の処理を終えた後、又はステップＳＡ２５の判定において到達地点がグラウンド（G_100E1）であると判定した場合には、ロジック生成部２７は、上記の特定のリレーを起点にする未検索のパスが残っているか否かを判定する(ステップＳＡ２７)。未検索のパスが残っている場合には、ロジック生成部２７は、対象のパスを次にパスに切り替えて、ステップＳＡ２３からの処理を実施する。
【０１４７】
未検索のパスが残っていない場合には、ロジック生成部２７は、一又は複数のパスの論理式（ロジック）を関連付けて、関連付けた論理式を評価式に編集して評価式ＤＢに登録する。コード生成部２３は、上記の処理で作成した論理式に基づいて、実行可能なコードを作成し（ステップＳＡ２８）、図に示す一連の処理を終える。
【０１４８】
（混触診断用の論理式の自動作成）
次に、図１０の手順を適用した混触診断用の論理式の自動作成について、上記の図９を参照してより具体的な事例について説明する。
【０１４９】
ステップＳＡ３１：
まず、ロジック生成部２７は、リレーR1の第１端（コモン部）に接続される接続線の変数名を次の方法で決定する。ロジック生成部２７は、リレーR1の第１端（コモン部）に接続される接続線の情報を、素子情報ＤＢ１５のコモン部の欄から読み取る。ロジック生成部２７は、基本ロジック用の変数については、その接続線名に”DC_”を付けたものを変数名にして、その変数を論理式の変数として登録する。例えば、素子情報ＤＢ１５の１行目のコモン部の欄から読み取ったデータが（１１３）である場合、ロジック生成部２７は、そのデータの（１１３）に”DC_”を付けて、混触を含むロジック用の変数の変数名にする。また、ロジック生成部２７は、混触を含むロジック用の変数については、その名称の変数を論理式の変数として登録する。
ロジック生成部２７は、そのデータの（１１３）に”Line_”を付けて、基本ロジック用の変数の変数名にする。また、ロジック生成部２７は、基本ロジック用の変数については、その名称の変数を論理式の変数として登録する。
これにより基本ロジックが式（１４）になり、混触を含むロジックが式(１５)になる。
【０１５０】
R1 = DC_113      ・・・（１４）
R1 = Line113      ・・・（１５）
【０１５１】
ステップＳＡ３２：
次に、ロジック生成部２７は、リレーR1以外のデバイス（素子）でコモン、ｂ接点又はａ接点の項目が（113）であるデバイスを抽出し、これを基本ロジックに追加する。例えば、ロジック生成部２７は、（SW_1）を抽出する。
これにより基本ロジックが式（１６）になる。なお、ここでは、混触を含むロジックの変更はない。
【０１５２】
R1 = DC_113 & SW_1      ・・・（１６）
【０１５３】
ステップＳＡ３３：
次に、ロジック生成部２７は、スイッチSW_1の（113）ではない方の接点の情報を読み取る。上記の場合、その接点は(112)である。読み取った文字列に”DC_”を付加して、これを基本ロジックに追加する。
なお、ロジック生成部２７は、混触含むロジックとして、この時点の基本ロジックから”DC_”の文字が付加された変数を除いたロジックとその接続線を論理積演算子で接続したものを追加する。
これにより基本ロジックが式（１７）になり、混触を含むロジックが式(１８)になる。
【０１５４】
R1 = DC_113 & SW_1 & DC_112      ・・・（１７）
R1 = SW_1 & Line 112      ・・・（１８）
【０１５５】
ステップＳＡ３４：
次に、ロジック生成部２７は、他のデバイスでコモン、ｂ接点又はａ接点の項目が（112）であるデバイスを抽出する。
これにより基本ロジックが式（１９）になる。ここでは、混触を含むロジックの変更はない。
R1 = DC_113 & SW_1 & DC_112 & SW_2      ・・・（１９）
【０１５６】
ステップＳＡ３５：
次に、ロジック生成部２７は、SW_1の（113）ではない方の接点に関する情報を読み取る。その情報が(111)である。この(111)は、給電定義表（Sig表）に含まれる接続点を示すものであるので、ロジック生成部２７は、このパスの探索を終了する。
これにより基本ロジックが式（２０）になり、混触を含むロジックが式(２１)になる。
R1 = DC_113 & SW_1 & DC_112 & SW_2 & Line 111      ・・・（２０）
R1 = SW_1 & Line 112      ・・・（２１）
【０１５７】
（接続点情報の生成）
次に、図１１と図１２を参照して、接続点情報の自動作成について説明する。
図１２は、この実施形態の同一の接続点を抽出する処理について説明するための図である。
【０１５８】
例えば、接続線Line111を接続点として規定する場合を例示して説明する。コモンの項目とｂ接点の項目に、接続線Line111（図中の表記は「１１１」）が記載されている素子が複数存在する。例えば、接続線Line111に接続されている素子は、第２番目の素子であるリレーＲ２、第６番目の素子であるスイッチSW_2、第７番目の素子であるダイオードDiode_121、及び第１３番目の素子であるコンタクタC_1である。他の接続線についても上記と同様の方法により、抽出できる。
【０１５９】
図１２は、この実施形態の接続点情報の自動作成処理について説明するための図である。
【０１６０】
ステップＳＡ４１：
まず、ロジック生成部２７は、その接続点(111_temp)として、評価式における基本ロジックの論理式に追加する。これにより基本ロジックが式（２２）になる。
【０１６１】
Line 111 = 111_temp      ・・・（２２）
【０１６２】
ステップＳＡ４２：
次に、ロジック生成部２７は、デバイスのコモン、ｂ接点又はａ接点の項目に、（111）が設定されているデバイスを抽出する。例えば、第１３番目のデバイス（C_1）のコモンの項目に（111）が設定されている。デバイス（C_1）のコモン側の接続点Line111とは別の接続点であるｂ接点の項目の(211)を抽出する。ロジック生成部２７は、このパスに関する論理式を、上記の式（２２）の基本ロジックの論理式に論理和演算子「｜」を介して、追加する。これにより基本ロジックが式（２３）になる。
【０１６３】
Line 111 = 111_temp 
| ( !C_1 & Line 211 )       ・・・（２３）
【０１６４】
ステップＳＡ４３：
次に、上記のパスの終点が接続点であるから、ロジック生成部２７は、このパスの探索を終了する。
第１３番目の素子であるコンタクタC_1は、第１端が接続線Line111に接続され、第２端が接続線Line211に接続されていることにより、上記の式（２３）が得られる。
【０１６５】
ステップＳＡ４４：
次に、ロジック生成部２７は、上記と同様にコモン、ｂ接点又はａ接点の項目に、（111）が設定されている他のデバイスを抽出する。例えば、第７番目のデバイス(Diode_121)のｂ接点の項目に（111）が設定されている。ロジック生成部２７は、デバイス(Diode_121)のｂ接点とは別の接続点であるコモンの項目の(121)を抽出する。(121)が、給電定義表（Sig表）に格納されている接続点でない場合には、ロジック生成部２７は、”DC_121”として基本ロジックに追加する。なお、ロジック生成部２７は、このパスに関する論理式を、上記の式（２３）の基本ロジックの論理式に論理和演算子「｜」を介して、追加する。これにより基本ロジックが式（２４）になる。
【０１６６】
Line 111 = 111_temp | ( !C_1 & Line 211 )
| ( !Diode_121 ) & ( DC_121 )       ・・・（２４）
【０１６７】
また、ロジック生成部２７は、上記の基本ロジックとは別に、混触を含むロジックとして、この時点での基本ロジックから”DC_”を除いたロジックとその接続線を論理積演算子で接続したロジックとして登録する。これにより混触を含むロジックが式（２５）になる。
【０１６８】
Line 111 = ( !Diode_121 ) & Line 121      ・・・（２５）
【０１６９】
ステップＳＡ４５：
次に、ロジック生成部２７は、他のデバイスでｂ接点又はａ接点の項目に、（121）が設定されているもの抽出する。例えば、第８番目のデバイス（SW_3）のａ接点の項目に、（121）が設定されている。ロジック生成部２７は、デバイス（SW_3）のａ接点とは別の接続点であるコモンの項目の(VOL_100_1)を抽出する。 (VOL_100_1)が給電定義表（Sig表）に格納されている接続点であるため、ロジック生成部２７は、これまで抽出した基本ロジックに論理和をとるように、(VOL_100_1)を追加する。これにより基本ロジックが式（２６）になる。
【０１７０】
Line 111 = 111_temp | ( !C_1 & Line 211 )
| { ( !Diode_121 ) & ( DC_121 ) & SW_3 & VOL_100_1 }      ・・・（２６）
【０１７１】
なお、(VOL_100_1)が給電定義表（Sig表）に格納されている接続点であるため、ロジック生成部２７は、ここでこのパスの検索を終了する。このパスの混触を含むロジックへの追加は無い。
【０１７２】
ステップＳＡ４６：
次に、ロジック生成部２７は、他のデバイスでコモン、ｂ接点又はａ接点の項目に、（111）が設定されているもの抽出する。例えば、第６番目のデバイス(SW_2)のコモンの項目に、（111）が設定されている。ロジック生成部２７は、デバイス（SW_2）のコモンとは別の接続点であるａ接点の項目の（112）を抽出する。この(112)が、給電定義表（Sig表）に格納されている接続点ではないため、ロジック生成部２７は、(112)を”DC_112”に変換して、これを基本ロジックの変数にする。ロジック生成部２７は、このパスに関する論理式を、上記の式（２５）に示す基本ロジックの論理式に論理和演算子「｜」を介して追加する。これにより基本ロジックが式（２７）になる。
【０１７３】
Line 111 = 111_temp | ( !C_1 & Line 211 )
| { ( !Diode_121 ) & ( DC_121 ) & SW_3 & VOL_100_1 }
| SW_2 & DC_112                                    ・・・（２７）
【０１７４】
ステップＳＡ４７：
また、ロジック生成部２７は、上記により混触を含むロジックに、（112）を変数として追加する。混触を含むロジックが式（２８）になる。
【０１７５】
Line 111 = ( !Diode_121 ) & Line 121
| ( SW_2 & 112 )       ・・・（２８）
【０１７６】
ステップＳＡ４８：
次に、ロジック生成部２７は、他のデバイスでコモンの項目に、（112）が設定されているものを抽出する。例えば、第５番目のデバイス（SW_1）のコモンの項目に、（112）が設定されている。ロジック生成部２７は、デバイス（SW_1）のコモンとは別の接続点であるａ接点の項目の(113)を抽出する。この(113)が、給電定義表（Sig表）に格納されている接続点ではないため、ロジック生成部２７は、(113)を”DC_113”に変換して、これを上記の式（２７）の基本ロジックの論理式に追加する。これにより基本ロジックが式（２９）になる。
【０１７７】
Line 111 = 111_temp | ( !C_1 & Line 211 )
| { ( !Diode_121 ) & ( DC_121 ) & SW_3 & VOL_100_1 }
| SW_2 & DC_112 & SW_1 & DC_113      ・・・（２９）
【０１７８】
ステップＳＡ４９：
これにより混触を含むロジックが式（３０）になる。
【０１７９】
Line 111 = ( !Diode_121 ) & Line 121
| ( SW_2 & Line 112 )
| ( SW_2 & SW_1 & Line 113 )       ・・・（３０）
【０１８０】
ステップＳＡ５０：
次に、ロジック生成部２７は、他のデバイスでコモン、ｂ接点又はａ接点の項目に、(113)が設定されているもの抽出する。例えば、第１番目のデバイス（R1）のコモンの項目に、(113)が設定されている。ロジック生成部２７は、デバイス（R1）のコモンとは別の接続点であるａ接点の項目の(“G_100E1”)を抽出する。ロジック生成部２７は、グラウンド(“G_100E1”)に到達したので、ステップＳＡ４６からＳＡ４９までで生成した基本ロジックを改めて削除する。なお、ロジック生成部２７は、混触ロジックはステップＳＡ４９までに生成した式（３０）を残す。これにより基本ロジックが式（３１）になる。
【０１８１】
Line 111 = 111_temp | ( !C_1 & Line 211 )
| { ( !Diode_121 ) & ( DC_121 ) & SW_3 & VOL_100_1 }      ・・・（３１）
【０１８２】
ステップＳＡ５１：
これにより混触を含むロジックが式（３２）になる。
【０１８３】
Line 111 = ( !Diode_121 ) & Line 121
| ( SW_2 & Line 112 )
| ( SW_2 & SW_1 & Line 113 )       ・・・（３２）
【０１８４】
なお、上記の他、第２番目の素子であるリレーＲ２は、第１端が接続線Line111に接続され、第２端が接地極(“G_100E1”)に接続されている。このパスの場合、接続線Line111にリレーを駆動するための所定の電位を与えるパスとして有効ではないことから検索の対象にしない。
【０１８５】
図１３を参照して、上記の処理により生成される論理式の一例について説明する。図１５は、この実施形態における論理式を示す図である。
【０１８６】
図１３（ａ）は、リレーＲ１の論理式であり、式（３３）に示す論理式が記載されている。
【０１８７】
図１３（ａ）の上段の枠内の式は、接続線の断線を条件に付加した論理式であり、下段の枠内内の式が混触を条件に付加した論理式である。上段の式と下段の式は、論理和演算子により接続される。「＆」は論理積演算子であり、「｜」は論理和演算子である。以下、同様である。
【０１８８】
R1 = ( ( DC_113 ) & SW_1 & ( DC_112 ) & SW_2 & Line111 )
| (Line113 ) | ( SW_1 & Line112 )                        ・・・（３３）
【０１８９】
式（３３）において、( DC_113 )と( DC_112 )は、接続線Line113とLine112に対応する変数であり、断線が生じた場合の判定を可能にするものである。「SW_1」は、スイッチSW_1に対応する変数であり、「SW_2」は、スイッチSW_2に対応する変数である。（ Line111 )と( Line 113 )と( Line112 )は、接続線Line111とLine112とLine113に対応する変数である。（ Line111 )については、後述する式によって定義される。
【０１９０】
この式（３３）によれば、リレーR1の出力は、接続線Line113とLine112に断線が無くスイッチSW_1とスイッチSW_2が導通状態にある場合、接続線Line113が混触した場合、又はスイッチSW_1が導通状態にあって接続線Line112が混触した場合の何れかの場合に導通する、ことが分かる。
【０１９１】
図１３（ｂ）は、リレーＲ２の論理式であり、式（３４）に示す論理式が記載されている。
【０１９２】
R2 = ( Line 111 )
| ( !Diode_121 & Line121 )                         ・・・（３４）
【０１９３】
式（３４）において、(!Diode_121 )は、ダイオードDiode_121対応する変数である。「！」印は、ｂ接点であることを示す。「！」が付いた変数の素子は、定常時に偽値（「１」）をとり、所定の条件を満たす場合に、真値（「０」）をとる。この「！」を否定の演算子と扱ってもよい。
【０１９４】
接続線Line113とLine112に対応する変数であり、断線が生じた場合の判定を可能にするものである。「SW_1」は、スイッチSW_1に対応する変数であり、「SW_2」は、スイッチSW_2に対応する変数である。
【０１９５】
この式（３４）によれば、リレーR2の出力は、接続線Line111に断線が無く且つ変数Line111の値が「１」である場合、ダイオードDiode_121が導通状態にあって且つ接続線Line121が混触した場合の何れかの場合に導通する、ことが分かる。
【０１９６】
図１３（ｃ）は、リレーＲ３の論理式であり、式（３５）に示す論理式が記載されている。
【０１９７】
R3 = ( ( DC_213 ) & SW_4 & ( DC_212 ) & SW_5 & Line 211 )
| ( Line213 ) | ( SW_4 & Line212 )                         ・・・（３５）
【０１９８】
この式（３５）によれば、リレーR3の出力は、接続線Line213とLine212に断線が無くスイッチSW_4とスイッチSW_5が導通状態にあり且つ変数Line111の値が「１」である場合、変数Line213が混触した場合、スイッチSW_4が導通状態にあって接続線Line213が混触した場合の何れかの場合に導通する、ことが分かる。
【０１９９】
図１３（ｄ）は、リレーＲ４の論理式であり、式（３６）に示す論理式が記載されている。
【０２００】
R4 = ( Line211 )
|( !Diode_221 & Line221 )                        ・・・（３６）
【０２０１】
この式（３６）によれば、リレーR4の出力は、変数Line111の値が「１」である場合、ダイオードDiode_121が導通状態にあって接続線Line221が混触した場合の何れかの場合に導通する、ことが分かる。
【０２０２】
図１３（ｅ）は、接続線Line111を定義する論理式であり、式（３７）に示す論理式が記載されている。
【０２０３】
Line111 = Line111_temp
|(!C_1 & Line211)
|(!C_1 & (DC_211) & !Diode_221 & (DC_221) & SW_6 & VOL_100_2)
|(!Diode_121 & (DC_121) & SW_3 & VOL_100_1)
|(SW_2 & SW_1 & Line 113)
|(SW_2 & Line112)
|(!Diode_121 & Line121)                         ・・・（３７）
【０２０４】
式（３７）において、変数Line111_tempは、変数Line111の現在の値を示す。上記の式の演算後に、演算結果の値に更新される。
【０２０５】
この式（３７）によれば、接続線Line111に対応する変数Line111の値は、下記の複数の何れかの場合に「１」になり導通することが分かる。
【０２０６】
・変数Line111の現在の値が「１」である場合。
・コンタクタC_1が導通状態にあって接続線Line211の値が「１」である場合。
・コンタクタC_1が導通状態にあって接続線Line211とLine221に断線が無く、ダイオードDiode_221とスイッチSW_6が導通状態にあって接続線VOL_100_2の値が「１」である場合。
・スイッチSW_2とSW_1が導通状態にあって接続線Line221が混触した場合。
・スイッチSW_2が導通状態にあって接続線Line112が混触した場合。
・ダイオードDiode_121が導通状態にあって接続線Line221が混触した場合。
【０２０７】
図１３（ｆ）は、リレーＲ４の論理式であり、式（３８）に示す論理式が記載されている。
【０２０８】
Line211 = ( Line211_temp )
| ( !Diode_221 & ( DC_221 ) & SW_6 & VOL_100_2)
| ( !C_1 & Line111 )
|（ !C_1 & ( DC_111 ) & !Diode_121 & ( DC_121 ) & SW_3 & VOL_100_1 )
| ( SW_5 & SW_4 & Line213 )
| ( SW_5 & Line212 )
| ( !Diode_221 & Line221 )                         ・・・（３８）
【０２０９】
式（３８）において、変数Line211_tempは、変数Line211の現在の値を示す。上記の式の演算後に、演算結果の値に更新される。
【０２１０】
この式（３８）によれば、接続線Line211に対応する変数Line211の値は、下記の複数の何れかの場合に「１」になり導通することが分かる。
【０２１１】
・変数Line211の現在の値が「１」である場合。
・接続線Line211に断線が無くダイオードDiode_221とスイッチSW_6が導通状態にあって接続線VOL_100_2の値が「１」である場合。
・コンタクタC_1が導通状態にあって接続線Line111とLine121とに断線が無くダイオードDiode_121とスイッチSW_3が導通状態にあって接続線VOL_100_2の値が「１」である場合。
・スイッチSW_5とSW_4が導通状態にあって接続線Line213が混触した場合。
・スイッチSW_5が導通状態にあって接続線Line212が混触した場合。
・ダイオードDiode_221が導通状態にあって接続線Line221が混触した場合の何れかの場合。
【０２１２】
上記の実施形態によれば、検証処理装置は、検証対象のリレー論理回路を形成するリレー、素子および接続線に対応する変数を変数にとる論理式で示される評価式であって、少なくとも前記リレー論理回路に不具合事象が生じた場合の前記論理式を含む評価式で示された回路ロジックモデルを取得する取得部と、前記回路ロジックモデルに基づいて、前記素子または前記接続線に不具合事象が生じた場合でも、不安全状態に至る状態組合せがあるかを判定する判定部とを備えることにより、リレー論理回路において、不具合事象が生じたときでも安全性が保証されることを検証できる。
【０２１３】
上記の実施形態は、各種システムに適用可能である。各種システムの安全性要求は年々高まる傾向にある。一方で、そのシステムの制御は複雑化している。このような場合に、上記の実施形態の手法を適用することにより、不具合事象が生じた場合の検証を含めて網羅的に検証するためのモデル検査手法を適用できる。
【０２１４】
特に第２の実施形態の場合、リレー論理回路の情報、例えば、モデル検査に必要な状態遷移モデルを作成するための情報を、プログラム言語（VHDLやVerilog等の論理回路記述言語、C言語、JAVA（登録商標）など）で書かれたものとしてあらかじめ用意する必要が無い。この場合、図８と図１０に示したような一覧表に基づいて、リレー論理回路の情報が、検証処理装置１Ａによって生成される。
【０２１５】
なお、前述の図１と図６は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータは、図示しないプロセッサ、メインメモリ、ストレージ、インタフェースを備える。
上述の検証処理装置は、コンピュータに実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージに記憶されている。プロセッサは、プログラムをストレージから読み出してメインメモリに展開し、当該プログラムに従って上記処理を実行する。また、プロセッサは、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリに確保する。
【０２１６】
ストレージの例としては、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disc Read Only Memory）、半導体メモリ等が挙げられる。ストレージは、コンピュータのバスに直接接続された内部メディアであってもよいし、インタフェースまたは通信回線を介してコンピュータに接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータに配信される場合、配信を受けたコンピュータが当該プログラムをメインメモリに展開し、上記処理を実行してもよい。少なくとも１つの実施形態において、ストレージは、一時的でない有形の記憶媒体である。
【０２１７】
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージに既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０２１８】
なお、この発明は上述した実施形態の構成に限られるものではなく、その要旨を逸脱しない範囲で設計変更可能である。
例えば、上述した実施形態では、コードの一例としてＳＭＶ（Symbolic Model Verifier）コードに準拠したものを示したが、これに制限されることなく、他の規格のコード又はプログラム言語を採用してもよい。
【符号の説明】
【０２１９】
１、１Ａ  検証処理装置
１０、１０Ａ  記憶部
１１  評価式ＤＢ
１２  評価条件ＤＢ
１３  検査式ＤＢ
１４  コードＤＢ
１５  素子情報ＤＢ
１６  信号情報ＤＢ
２０、２０Ａ  制御部
２１、２１Ａ  解析データ設定部
２２  検査式設定部
２３  コード生成部
２４  取得部
２５  解析処理部
２６  表示制御部
２７  ロジック生成部
２、２Ａ  リレー論理回路
【図１】
2019125208.tif 000003
【図２】
2019125208.tif 000004
【図３】
2019125208.tif 000005
【図４】
2019125208.tif 000006
【図５】
2019125208.tif 000007
【図６】
2019125208.tif 000008
【図７】
2019125208.tif 000009
【図８】
2019125208.tif 000010
【図９】
2019125208.tif 000011
【図１０】
2019125208.tif 000012
【図１１】
2019125208.tif 000013
【図１２】
2019125208.tif 000014
【図１３】
2019125208.tif 000015