FT図作成支援装置及びFT図作成支援プログラム
【課題】FT図の編集を容易に行えるようにする。
【解決手段】FT図作成支援装置100は、FT図のツリー構造をマークアップ言語で記述する第1のデータを編集し、これによって第2のデータを生成する編集部22と、前記第2のデータに基づき表計算ソフトのシート上に罫線と文字列とで前記FT図のツリー構造を表現し、これによって第3のデータを生成するエクスポート部25と、を備える。
【解決手段】FT図作成支援装置100は、FT図のツリー構造をマークアップ言語で記述する第1のデータを編集し、これによって第2のデータを生成する編集部22と、前記第2のデータに基づき表計算ソフトのシート上に罫線と文字列とで前記FT図のツリー構造を表現し、これによって第3のデータを生成するエクスポート部25と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、装置、システム等の不具合の発生原因を解析し、その信頼性を向上させる技術に関する。
【背景技術】
【0002】
故障木解析(Fault Tree Analysis、FTA)は、故障事象をその原因となる下位事象の論理和(OR)又は論理積(AND)に展開してツリー構造(以下、「FT図」という。)とし、下位事象の中から重大な原因を抽出し、故障発生を防ぐために設計の見直しを図るという手法である。FT図の作成には、その分野の幅広い知識、高い専門性が要求されるため、FT図の作成を支援する技術が求められている(特許文献1)。
【0003】
図19は、FT図の例である。この例は、「ベルト車による伝動の損失が大きい」という故障事象を解析したものである。この故障事象は、「すべり量が大きい」場合又は「摩擦力が大きい」場合に発生するので、「すべり量が大きい」及び「摩擦力が大きい」が故障事象の下位事象となり、それらの関係は論理和となる。
【0004】
そして、「摩擦力が大きい」という事象は、「抗力が大きい」場合又は「摩擦係数が大きい」場合に発生するので、「摩擦力が大きい」及び「摩擦係数が大きい」が「摩擦力が大きい」の下位事象となり、それらの関係は論理和となる。そして、「抗力が大きい」という事象は「ベルト張力が大きい」場合に発生するので、「ベルト張力が大きい」が「抗力が大きい」の下位事象となる。
【0005】
これら事象のうち、下位に事象を有さない「すべり量が大きい」、「ベルト張力が大きい」及び「摩擦係数が大きい」という事象は、基本事象と呼ばれ、故障事象の発生を防ぐためには、これら基本事象についての対策を検討すればよい。
【0006】
なお、この例では、上位事象と下位事象とは罫線で接続されるだけで、同列の下位事象が論理和及び論理積のいずれであるかは記述されていない。これは、同列の下位事象は多くの場合が論理和であるので、論理和の場合は上位事象と下位事象との間及び同列の下位事象の間を罫線で接続するのみとし、論理積である場合は上位事象と下位事象とを接続する罫線の脇に論理積であることを示す「AND」を記述するようにしているからである。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2009−289020号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
FT図は、マイクロソフト社のExcel(登録商標)をはじめとする、表計算ソフトの罫線機能を用いて作成されることが多い。これは、表計算ソフトの普及率が高く、また、普及率の高さ故、ある技術者が作成したFT図を他の技術者が利用するのに適しているからである。
【0009】
しかしながら、表計算ソフトを用いたFT図の作成は効率の良いものではなく、特に、一旦作成されたFT図を修正したい場合(事象の追加、削除等)は、手間がかかるという問題があった。
【0010】
本発明は、このような技術的課題に鑑みてなされたもので、FT図の編集を容易に行えるようにすることを目的とする。
【課題を解決するための手段】
【0011】
本発明のある態様によれば、 FT図作成支援装置であって、FT図のツリー構造をマークアップ言語で記述する第1のデータを編集し、これによって第2のデータを生成する編集部と、前記第2のデータに基づき表計算ソフトのシート上に罫線と文字列とで前記FT図のツリー構造を表現し、これによって第3のデータを生成するエクスポート部と、を備えたことを特徴とするFT図作成支援装置が提供される。
【0012】
本発明の別の態様によれば、コンピュータに、FT図のツリー構造をマークアップ言語で記述する第1のデータを編集し、これによって第2のデータを生成する編集処理機能と、前記第2のデータに基づき表計算ソフトのシート上に罫線と文字列とで前記FT図のツリー構造を表現し、これによって第3のデータを生成するエクスポート機能と、を実現させるためのプログラムが提供される。
【発明の効果】
【0013】
これらの態様よれば、FT図の編集を容易に行うことができる。
【図面の簡単な説明】
【0014】
【図1】FT図作成支援装置の全体構成図である。
【図2】FT図作成支援装置の機能を説明するための図である。
【図3】インポート部の処理内容を示したフローチャートである。
【図4】インポート部によって表計算ソフトで作成されたFT図のデータから事象が探索される様子を示した図である。
【図5】インポート処理によって生成されたXMLデータを示した図である。
【図6】表示部に表示されるツリー構造の例である。
【図7】頂上事象に下位事象を追加する場合の様子を示した図である。
【図8】下位事象を削除する場合の様子を示した図である。
【図9】下位事象を移動する場合の様子を示した図である。
【図10】下位事象をコピーする場合の様子を示した図である。
【図11】事象解析部の処理内容を示したフローチャートである。
【図12】事象解析部による解析の様子を示した図である。
【図13】故障値用語の用語辞書の例を示した図である。
【図14】物理量用語の用語辞書の例を示した図である。
【図15】整合性検証部の処理内容を示したフローチャートである。
【図16】整合性検証前後の表示部の表示及びXMLデータを示した図である。
【図17】エクスポート部の処理内容を示したフローチャートである。
【図18】エクスポート部によって、XMLデータが表計算ソフトのデータ形式に変換される様子を示した図である。
【図19】FT図の一例を示した図である。
【発明を実施するための形態】
【0015】
以下、添付図面を参照しながら本発明の実施形態について説明する。
【0016】
<全体構成>
図1はFT図作成支援装置100の全体構成を示している。本装置100は、入出力部1、処理部2、記憶部3、表示部4及び操作部5を有し、図2に示すように、以下の機能:
・表計算ソフト(例えば、マクロソフト社のExcel(登録商標)で作成されたFT図のデータをインポートし、マークアップ言語で記述されたデータに変換するインポート機能
・マークアップ言語で記述されたFT図を表示部4上で編集する編集機能
・マークアップ言語で記述されたFT図の事象の具体的内容を解析する事象解析機能
・編集前又は編集後のマークアップ言語で記述されたFT図の整合性(下位事象の展開が正しいか否か)を検証する整合性検証機能
・編集後のマークアップ言語で記述されたFT図のデータを、表計算ソフトのデータ形式に変換し、エクスポートするエクスポート機能
を有している。
【0017】
「表計算ソフトで作成されたFT図のデータ」とは、表計算ソフトのシート上に罫線と文字列とでツリー構造が表現されたFT図のデータのことである。図19に示すように、罫線で囲まれたセル内に記入された文字列を事象とみなし、各事象の間を罫線で接続することでFT図のツリー構造を表現している。
【0018】
「マークアップ言語で記述されたFT図のデータ」とは、本実施形態では、XML(Extensible Markup Language)データであり、FT図の各事象の内容及びそれらのツリー構造を、タグを利用して記述する。なお、以下の説明では、「マークアップ言語で記述されたFT図のデータ」がXMLデータであるとして説明する。
【0019】
XMLデータにおいては、各事象の要素は、開始タグ<FaultTreeNode>と終了タグ</FaultTreeNode>とで構成される。開始タグ<FaultTreeNode>には、対応する事象の種々の属性(事象の内容を示すlabel属性、事象が扱う物理量の単位を示すunit属性、事象の故障値状態を示すqstate属性、下位事象の関係が論理和か論理積かを示すlogic属性、物理量の整合性検証結果を示すverification属性)が含まれる。
【0020】
下位事象と上位事象との上下関係は、上位事象の開始タグ<FaultTreeNode>と終了タグ</FaultTreeNode>との間に下位事象の要素を配置することで表現される。また、同列の事象はそれらの要素を並列に配置することで表現される。
【0021】
なお、終了タグ</FaultTreeNode>は、開始タグ<FaultTreeNode>のみで事象間の関係が明確である場合は適宜省略可能である。
【0022】
本装置100を構成する各部位について説明すると、入出力部1は、有線又は無線のネットワークインターフェース、カードリーダ、USBコネクタ、Bluetooth(登録商標)等である。入出力部1は、外部のサーバ、パソコン等とデータをやりとりするために用いられる。主にやりとりするデータは、本装置100にインポートするための表計算ソフトで作成されたFT図のデータ、及び、本装置100で編集又は作成され、本装置100からエクスポートするための表計算ソフトのデータ形式のFT図のデータである。
【0023】
処理部2は、マイクロプロセッサ、RAM、ROM等で構成される。マイクロプロセッサは、ROM又は後述する記憶部3に記憶されているプログラムをRAMに読み込んで実行することによって、上記各機能を実現するインポート部21、編集部22、事象解析部23、整合性検証部24及びエクスポート部25として機能する。各部の具体的な処理内容については後述する。
【0024】
記憶部3は、ハードディスク、フラッシュメモリ等の記憶装置である。記憶部3は、処理部2の処理において必要なデータ及びプログラムを記憶する。
【0025】
表示部4は、液晶ディスプレイ等の表示装置である。表示部4は、FT図のツリー構造、FT図の整合性検証結果、編集又は作成中のXMLデータ等を表示する。
【0026】
操作部5は、キーボード、マウス、タッチパネル等の入力装置である。操作部5は、ユーザーからの各種操作を受け付ける。
【0027】
次に、処理部2の各部の処理内容について説明する。
【0028】
<インポート部21>
インポート部21は、表計算ソフトで作成されたFT図のデータを入出力部1を介して読み込み、これをXMLデータに変換する機能を有する。
【0029】
図3は、インポート部21の処理内容(プログラムの内容)を示したフローチャートである。これを参照しながら、インポート部21の処理内容について説明する。
【0030】
まず、インポート部21は、S1において、表計算ソフトで作成されたFT図から、頂上事象を探索する。頂上事象とはその上位にさらに別の事象がない事象である。具体的には、インポート部21は、シートの左上から順に罫線に囲まれたセルを探索する。なお、事象が複数のセルを使って記載されることもあるが、ここでは説明を簡略化するために、単一のセルに記載される場合に限定して説明する。
【0031】
S2では、インポート部21は、頂上事象が発見されたか判断する。頂上事象が発見されたと判断された場合は、処理がS3に進み、そうでない場合は処理が終了する。
【0032】
S3では、インポート部21は、発見された頂上事象のセルを分析対象セルとして設定する。また、インポート部21は、FT図のデータであることを示す開始タグ<FaultTreeDocument>及び終了タグ</FaultTreeDocument>を含んだXMLデータを用意し、当該XMLデータに頂上事象を追加する。具体的には、開始タグ<FaultTreeNode>及び終了タグ</FaultTreeNode>からなる頂上事象の要素を、開始タグ<FaultTreeDocument>と終了タグ</FaultTreeDocument>との間に追加する。
【0033】
S4では、インポート部21は、分析対象セルから文字列を取得し、分析対象セルに対応する事象のlabel属性として取得した文字列を設定する。さらに、インポート部21は、分析対象セルの右側の領域を探索し、「AND」の文字列があれば分析対象セルに対応する事象の下位事象が論理積であると判断し、なければ論理和であると判断する。そして、インポート部21は、分析対象セルに対応する事象のlogic属性として、論理和であれば「OR」、論理積であれば「AND」を設定する。
【0034】
S5では、インポート部21は、分析対象セルの下位事象を探索する。具体的には、分析対象セルから右側に延びる罫線を辿り、その先にある罫線で囲まれたセルを探索する。
【0035】
S6では、インポート部21は、下位事象が発見されたか判断する。下位事象が発見されたと判断された場合は処理がS7に進み、そうでない場合は処理がS8に進む。
【0036】
S7では、インポート部21は、発見された下位事象のセルを分析対象セルに設定し、XMLデータに下位事象を追加する。XMLデータにおいて、下位事象の要素は、上位事象の開始タグ<FaultTreeNode>と終了タグ</FaultTreeNode>との間に配置され、これによって下位事象であることが表現される。そして、処理がS4に戻り、当該下位事象にlabel属性が設定され、さらに下位の事象の探索が行われる。
【0037】
インポート部21は、下位事象が発見されなくなるまでS4〜S7の処理を繰り返す。
【0038】
S8では、インポート部21は、分析対象セルと同列の事象(以下、同列事象という。)を探索する。具体的には、分析対象セルから左側に延びる罫線から下側に分岐する罫線を辿り、その先にある罫線で囲まれたセルを探索する。
【0039】
S9では、インポート部21は、同列事象が発見されたか判断する。同列事象が発見されたと判断された場合は処理がS10に進み、そうでない場合は処理がS11に進む。
【0040】
S10では、インポート部21は、発見された同列事象のセルを分析対象セルに設定し、XMLデータに同列事象を追加する。同列事象の要素は他の同列事象の要素と並列になるように配置され、これによって同列事象であることが表現される。そして、処理がS4に戻り、当該同列事象にlabel属性が設定され、再び下位事象及び同列事象の探索が行われる。
【0041】
インポート部21は、同列事象が発見されなくなるまでS4〜S10の処理を繰り返す。
【0042】
S11では、インポート部21は、直前に発見された同列事象の上位事象を分析対象セルに設定する。そして、S12では、インポート部21は、当該分析対象セルに対応する事象が頂上事象か判断し、頂上事象であれば処理を終了し、そうでなければS8に戻って再び同列事象の探索を行う。
【0043】
以上の処理により、表計算ソフトで作成されたFT図のデータがXMLデータに変換される。
【0044】
図4は、インポート部21によって、表計算ソフトで作成されたFT図のデータから事象が探索される様子を示している。
【0045】
上記処理によれば、まず、「ベルト車による伝動の損失が大きい」と記載されたセルが発見され(図中(1))、XMLデータに頂上事象「ベルト車による伝動の損失が大きい」が追加される。
【0046】
次いで、その右側に配置される「すべり量が大きい」と記載されたセルが発見され(図中(2))、XMLデータに下位事象「すべり量が大きい」が追加される。
【0047】
「すべり量が大きい」と記載されたセルの右側にはさらに別の事象のセルが存在しないので、次はこれと同列のセルが検索され、「摩擦力が大きい」と記載されたセルが発見される(図中(3))。そして、XMLデータに同列事象「摩擦力が大きい」が追加される。
【0048】
同様にして、「抗力が大きい」、「ベルト張力が大きい」及び「摩擦係数が大きい」と記載されたセルが発見され(図中(4)、(5))、XMLデータに下位事象「抗力が大きい」、下位事象「ベルト張力が大きい」、及び、同列事象「摩擦係数が大きい」が追加される。
【0049】
図5は、インポート処理によって生成されたXMLデータを示している。FT図のツリー構造はタグ<FaultTreeNode></FaultTreeNode>の包含関係によって表現され、また、各事象は、label属性、logic属性、verification属性を有している。ただし、物理量の整合性検証はまだ行われていないので、verification属性には仮の値が入っている。
【0050】
また、表示部4には、ツリー構造が図6に示すような形式で表示される。表示されるツリー構造は罫線及び文字列で表現されたFT図のツリー構造と同じものであるが、ツリー構造を見やすくするために、下位事象を有する事象の左側に表示されるフォルダのイラストをクリックすると、下位事象を折りたたむ又は展開することが可能になっている。
【0051】
<編集部22>
編集部22は、表示部4に表示されたFT図のツリー構造を見ながら、表示部4上でツリー構造の修正を行う機能を有する。ユーザーが操作部5を操作することによって表示部4上でFT図のツリー構造を変更すると、編集部22は、その変更内容をXMLデータに反映する。
【0052】
以下、代表的な編集機能について説明する。
【0053】
−下位事象の追加−
図7は、頂上事象に下位事象を追加する場合の様子を示している。図中左側は表示部4の表示内容であり、図中右側はこれに対応するXMLデータである。また、図中上側は編集前の状態、図中下側は編集後の状態を示している(図8〜図10も同様)。
【0054】
ユーザーが表示部4上で頂上事象を選択すると、編集部22は表示部4に編集メニュー(不図示)を表示させる。編集メニューには「追加」が含まれ、ユーザーがこれを選択すると、事象の属性を入力するウインドウが開く。そして、ユーザーがlabel属性等の属性を入力すると、編集部22は、表示部4において、頂上事象の下位に<事象>を表示させる。
【0055】
表示部4上でこのような編集作業が行われると、編集部22は、その内容をリアルタイムでXMLデータに反映し、図中右側に示すように、<事象>の要素がXMLデータに追加される。<事象>は頂上事象の下位事象であるので、<事象>の要素は、頂上事象の開始タグ<FaultTreeNode>の下に配置される。なお、この例では、頂上事象の終了タグ</FaultTreeNode>は省略されている。
【0056】
−下位事象の削除−
図8は、下位事象を削除する場合の様子を示している。
【0057】
ユーザーが表示部4上で<事象>を選択すると、編集部22は表示部4に編集メニュー(不図示)を表示させる。編集メニューには「削除」が含まれ、ユーザーがこれを選択すると、編集部22は、表示部4において、<事象>を消去する。
【0058】
表示部4上でこのような編集作業が行われると、編集部22は、その内容をリアルタイムでXMLデータに反映し、図中右側に示すように、XMLデータから<事象>の要素が削除される。
【0059】
−事象の移動−
図9は、下位事象を移動する場合の様子を示している。
【0060】
この例では、頂上事象の下位に、「事象A」、「事象B」及び「事象C」が同列に配置されている。ユーザーがその中の一つである「事象A」を選択し、「事象B」の上にドラッグしてドロップすると、編集部22は、表示部4において、「事象A」を「事象B」の下位に移動させる。
【0061】
表示部4上でこのような編集作業が行われると、編集部22は、その内容をリアルタイムでXMLデータに反映し、図中右側に示すように、XMLデータにおいて「事象A」の要素が「事象B」の開始タグ<FaultTreeNode>と終了タグ</FaultTreeNode>との間に移動される。
【0062】
−事象のコピー−
図10は、下位事象をコピーする場合の様子を示している。
【0063】
この例では、頂上事象の下位に、「事象B」及び「事象C」が同列に配置され、「事象B」の下位には「事象A」が配置される。ユーザーが表示部4上で「事象B」を選択すると、編集部22は、表示部4に編集メニュー(不図示)を表示させる。編集メニューには「コピー」と「ペースト」が含まれ、ユーザーが「コピー」を選択し、かつ、続けて「事象C」を選択して「ペースト」を選択すると、編集部22は、表示部4において、「事象C」の下位に「事象B」及び「事象A」を移動させる。
【0064】
表示部4上でこのような編集作業が行われると、編集部22は、その内容をリアルタイムでXMLデータに反映し、図中右側に示すように、XMLデータにおいて、「事象C」の<FaultTreeNode>と終了タグ</FaultTreeNode>との間に「事象B」及び「事象A」の要素が追加される。
【0065】
ここで説明した編集機能は、編集部22が有する機能の一部であるが、その他の機能についても同様に、表示部4上でFT図のツリー構造が変更されると、その変更内容がXMLデータにリアルタイムで反映される。
【0066】
したがって、XMLデータを編集するにあたり、ユーザーがXMLタグや記述方法を意識する必要はなく、表示部4に表示されるツリー構造を表示部4上で編集すれば、XMLデータを容易に書き換えることができる。
【0067】
なお、ここでは、インポート処理によって得られるXMLデータを編集するとして説明したが、インポートすることなく、編集部22でXMLデータを新規に作成することも可能である。
【0068】
<事象解析部23>
事象解析部23は、各事象のlabel属性から、物理量の単位、及び、故障値状態を解析し、各事象にunit属性、qstate属性を追加する機能を有する。
【0069】
図11は、事象解析部23の処理内容(プログラムの内容)を示したフローチャートである。これを参照しながら、事象解析部23の処理内容について説明する。
【0070】
まず、事象解析部23は、S21で、XMLデータから、全事象を抽出し、それらのlabel属性を事象リストに追加する。事象リストとは、本解析の作業用のテキストデータである。
【0071】
S22では、事象解析部23は、事象リストが空か判断する。事象リストが空の場合は処理が終了し、事象リストに事象が含まれている場合は処理がS23に進む。
【0072】
S23では、事象解析部23は、リスト先頭の事象を解析対象の事象である対象事象とし、その内容を対象文字列として設定する。
【0073】
S24では、事象解析部23は、図12に示すように、対象文字列の後ろ側から故障値用語を検索する。検索は、図13に示す用語辞書を用い、用語辞書とのマッチングにより行う。故障値用語とは、事象に含まれる物理量がどのような状態になったら故障の原因となるかを示す用語であり、例えば、「電圧が高い」という事象であれば「高い」、「長さが短い」という事象であれば「短い」が故障値用語となる。
【0074】
S25では、事象解析部23は、故障値用語が発見されたか判断する。故障値用語が発見された場合は処理がS26に進み、そうでない場合は処理がS28に進む。
【0075】
S26では、図13に示す用語辞書を参照して、発見された故障値用語に対応する故障値状態の属性を読み込み、これを解析対象の事象のqstate属性として設定する。qstate属性は、例えば、「高い」であれば「+」、「短い」であれば「−」である。
【0076】
S27では、事象解析部23は、対象文字列から故障値用語を削除する。
【0077】
S28では、事象解析部23は、図12に示すように、対象文字列の後ろ側からさらに物理量用語を検索する。検索は、図14に示す用語辞書を用い、用語辞書とのマッチングにより物理量用語の検索を行う。物理量用語は、例えば、「電圧が高い」という事象であれば「電圧」、「長さが短い」という事象であれば「長さ」である。
【0078】
S29では、事象解析部23は、物理量用語が発見されたか判断する。物理量用語が発見された場合は処理がS30に進み、そうでない場合は処理がS31に進む。
【0079】
S30では、事象解析部23は、図14に示す用語辞書を参照して、発見された物理量用語の単位を読み込み、これを解析対象の事象のunit属性として設定する。物理量用語の属性は、例えば、「電圧」であれば「V」、「長さ」であれば「m」である。
【0080】
S31では、リストの先頭にある事象を削除し、S22に戻る。
【0081】
S22で事象リストが空と判断されるまでS22〜S30の処理が繰り返され、最終的には、リスト内の事象全てについてunit属性及びqstate属性が設定される。
【0082】
<整合性検証部24>
整合性検証部24は、編集前又は編集後のXMLデータにおいて、上位事象と下位事象との物理量の関係に基づき、下位事象の展開が適切に行われているか検証し、検証結果に基づき各事象のverification属性を設定する機能を有する。
【0083】
図15は、整合性検証部24の処理内容(プログラムの内容)を示したフローチャートである。これを参照しながら、整合性検証部24の処理内容について説明する。
【0084】
まず、整合性検証部24は、S41で、検証対象の事象が基本事象か判断する。基本事象とは自らよりも下位の事象を有さない下位事象のことである。検証対象の事象が基本事象である場合は整合性を検証する意味がないので、処理がS42に進み、検証対象の事象のverification属性が「未検証」であることを示す0に設定される。検証対象の事象が基本事象でない場合は処理がS43に進む。
【0085】
S43では、整合性検証部24は、以下のいずれかが成立しているか判断する。
【0086】
・検証対象の事象が物理量を含まない。
【0087】
・検証対象の事象の下位事象がいずれも物理を含まない。
【0088】
いずれかが成立している場合は、整合性の検証を行うことができないので、処理がS44に進み、検証対象の事象のverification属性が「判定不可」であることを示す−1に設定される。いずれも成立していない場合は処理がS45に進む。
【0089】
S45では、検証対象の事象の物理量とその下位事象の物理量に関し、以下のいずれかが成立しているか判断する。
【0090】
・検証対象の事象の物理量の単位が下位事象の物理量の単位の加減算で表現できる。すなわち、検証対象の事象の物理量と下位事象の物理量とが同じ単位である。
【0091】
・検証対象の事象の物理量の単位が下位事象の物理量の単位の乗除又はべき乗算で表現できる。すなわち、検証対象の事象の物理量の単位が下位事象の物理量の単位を用いて表現できる。
【0092】
いずれかが成立していれば、整合性がとれている(下位事象の展開が適切に行われている)可能性があり、さらなる検証を行うべく、処理がS47に進む。そうでない場合は整合性がとれていない(下位事象の展開が適切に行われていない)ので、S46に進み、検証対象事象のverification属性が「不整合」であることを示す3に設定される。
【0093】
S47では、下位事象に物理量が不明の事象が含まれているか判断する。下位事象に物理量が不明の事象が含まれている場合は、S45で肯定的な判断がなされても、整合性がとれていない可能性があるので、処理がS48に進み、検証対象の事象のverification属性が「不整合の可能性」があることを示す2に設定される。そうでない場合は、整合性がとれている(下位事象の展開が適切に行われている)ので、処理がS49に進み、検証対象の事象のverification属性が「整合」であることを示す4に設定される。
【0094】
この処理は、XMLデータに含まれる全事象について行われ、全事象についてverification属性が設定される。
【0095】
図16は、整合性検証前後の表示部4の表示及びXMLデータを示している。
【0096】
整合性検証が行われることによって、各事象のverification属性の値が設定され、表示部4に表示されるツリー構造には、検証結果を示すイラスト、例えば、「整合」であれば「○」、「不整合」であれば「×」、「未検証」であれば「−」が各事象の右側に表示される。
【0097】
これにより、ユーザーは、下位事象の展開が適切にされていない可能性、及び、展開が適切になされていない場所を容易に知ることができ、FT図を修正する際に参考にすることができる。
【0098】
<エクスポート部25>
エクスポート部25は、編集部22で編集された後のXMLデータを、表計算ソフトのデータ形式に変換する機能を有する。
【0099】
図17は、エクスポート部25の処理内容(プログラムの内容)を示したフローチャートである。これを参照しながら、エクスポート部25の処理内容について説明する。
【0100】
まず、エクスポート部25は、S51で、XMLデータに頂上事象が含まれているか判断する。頂上事象が含まれていない場合は処理が終了し、頂上事象が含まれている場合は処理がS52に進む。
【0101】
S52では、エクスポート部25は、表計算ソフトの空のシートを用意し、当該シートの左上の所定のセルを編集対象セルに設定する。さらに、XMLデータの頂上事象を対象事象に設定する。
【0102】
S53では、エクスポート部25は、編集対象セルに、対象事象のlabel属性の内容を書き込むとともに、当該セルを罫線で囲む。
【0103】
S54では、エクスポート部25は、対象事象に下位事象が存在するか判断する。下位事象が存在する場合は処理がS55に進み、そうでない場合は処理がS56に進む。
【0104】
S55では、エクスポート部25は、編集対象セルを所定セル分右側のセルに変更し、当該セルまで延びる罫線を引く。また、対象事象と当該下位事象との関係が論理積である場合は、罫線の上側に位置する空白セルに「AND」の文字を書き込む。そして、対象事象を当該下位事象に変更する。
【0105】
そして、処理がS53に戻り、エクスポート部25は、編集対象セルに、対象事象のlabel属性の内容を書き込むとともに、当該セルを罫線で囲む。
【0106】
さらに下位の事象が存在する間はS53〜S55が繰り返され、さらに下位の事象が存在しないと判断されると、処理がS56に進む。
【0107】
S56では、エクスポート部25は、対象事象に同列事象が存在するか判断する。同列事象が存在する場合は処理がS57に進み、そうでない場合は処理がS58に進む。
【0108】
S57では、エクスポート部25は、編集対象セルを所定セル分下側のセルに変更し、当該セルまで延びる罫線を引く。そして、対象事象を当該同列事象に変更する。
【0109】
そして、処理がS53に戻り、エクスポート部25は、編集対象セルに、対象事象のlabel属性の内容を書き込むとともに、当該セルを罫線で囲む。
【0110】
さらに同列の事象が存在する間はS53〜S57が繰り返され、さらに同列の事象が存在しないと判断されると、処理がS58に進む。
【0111】
S58では、エクスポート部25は、編集対象セルを上位事象に対応するセルに移動させるとともに、対象事象を当該セルに対応する上位事象に変更する。
【0112】
S59では、エクスポート部25は、対象事象が頂上事象であるか判断する。頂上事象でない場合は処理がS56に戻り、対象事象の同列事象があるかがさらに判断され、頂上事象であると判断されれば、処理が終了する。
【0113】
以上の処理により、XMLデータが表計算ソフトのデータ形式に変換される。
【0114】
図18は、エクスポート部25によって、XMLデータが表計算ソフトのデータ形式に変換される様子を示している。
【0115】
上記処理によれば、まず、表計算ソフトのシートの左上の所定のセルに、頂上事象のlabel属性の内容である「ベルト車による伝動の損失が大きい」が書き込まれ、当該セルが罫線で囲まれる(図中(1))。
【0116】
次に、頂上事象のセルから3つ右側にあるセルまで罫線が引かれ、当該セルに下位事象のlabel属性である「すべり量が大きい」が書き込まれ、当該セルが罫線で囲まれる(図中(2))。
【0117】
次に、「すべり量が大きい」が書き込まれたセルの2つ下側にあるセルまで罫線が引かれ、当該セルに同列事象のlabel属性の内容である「摩擦力が大きい」が書き込まれ、当該セルが罫線で囲まれる(図中(3))。
【0118】
同様にして、「抗力が大きい」、「ベルト張力が大きい」及び「摩擦係数が大きい」が書き込まれたセル、これらの間を接続する罫線が作成される(図中(4)、(5))。
【0119】
以上のようにして表計算ソフトのシート上にFT図が作成される。作成されたデータは、入出力部を介して装置外のサーバ、パソコンに受け渡すことが可能である。
【0120】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一つを示したものに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
【符号の説明】
【0121】
21 インポート部
22 編集部
23 事象解析部
24 整合性検証部
25 エクスポート部
100 FT図作成支援装置
【技術分野】
【0001】
本発明は、装置、システム等の不具合の発生原因を解析し、その信頼性を向上させる技術に関する。
【背景技術】
【0002】
故障木解析(Fault Tree Analysis、FTA)は、故障事象をその原因となる下位事象の論理和(OR)又は論理積(AND)に展開してツリー構造(以下、「FT図」という。)とし、下位事象の中から重大な原因を抽出し、故障発生を防ぐために設計の見直しを図るという手法である。FT図の作成には、その分野の幅広い知識、高い専門性が要求されるため、FT図の作成を支援する技術が求められている(特許文献1)。
【0003】
図19は、FT図の例である。この例は、「ベルト車による伝動の損失が大きい」という故障事象を解析したものである。この故障事象は、「すべり量が大きい」場合又は「摩擦力が大きい」場合に発生するので、「すべり量が大きい」及び「摩擦力が大きい」が故障事象の下位事象となり、それらの関係は論理和となる。
【0004】
そして、「摩擦力が大きい」という事象は、「抗力が大きい」場合又は「摩擦係数が大きい」場合に発生するので、「摩擦力が大きい」及び「摩擦係数が大きい」が「摩擦力が大きい」の下位事象となり、それらの関係は論理和となる。そして、「抗力が大きい」という事象は「ベルト張力が大きい」場合に発生するので、「ベルト張力が大きい」が「抗力が大きい」の下位事象となる。
【0005】
これら事象のうち、下位に事象を有さない「すべり量が大きい」、「ベルト張力が大きい」及び「摩擦係数が大きい」という事象は、基本事象と呼ばれ、故障事象の発生を防ぐためには、これら基本事象についての対策を検討すればよい。
【0006】
なお、この例では、上位事象と下位事象とは罫線で接続されるだけで、同列の下位事象が論理和及び論理積のいずれであるかは記述されていない。これは、同列の下位事象は多くの場合が論理和であるので、論理和の場合は上位事象と下位事象との間及び同列の下位事象の間を罫線で接続するのみとし、論理積である場合は上位事象と下位事象とを接続する罫線の脇に論理積であることを示す「AND」を記述するようにしているからである。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2009−289020号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
FT図は、マイクロソフト社のExcel(登録商標)をはじめとする、表計算ソフトの罫線機能を用いて作成されることが多い。これは、表計算ソフトの普及率が高く、また、普及率の高さ故、ある技術者が作成したFT図を他の技術者が利用するのに適しているからである。
【0009】
しかしながら、表計算ソフトを用いたFT図の作成は効率の良いものではなく、特に、一旦作成されたFT図を修正したい場合(事象の追加、削除等)は、手間がかかるという問題があった。
【0010】
本発明は、このような技術的課題に鑑みてなされたもので、FT図の編集を容易に行えるようにすることを目的とする。
【課題を解決するための手段】
【0011】
本発明のある態様によれば、 FT図作成支援装置であって、FT図のツリー構造をマークアップ言語で記述する第1のデータを編集し、これによって第2のデータを生成する編集部と、前記第2のデータに基づき表計算ソフトのシート上に罫線と文字列とで前記FT図のツリー構造を表現し、これによって第3のデータを生成するエクスポート部と、を備えたことを特徴とするFT図作成支援装置が提供される。
【0012】
本発明の別の態様によれば、コンピュータに、FT図のツリー構造をマークアップ言語で記述する第1のデータを編集し、これによって第2のデータを生成する編集処理機能と、前記第2のデータに基づき表計算ソフトのシート上に罫線と文字列とで前記FT図のツリー構造を表現し、これによって第3のデータを生成するエクスポート機能と、を実現させるためのプログラムが提供される。
【発明の効果】
【0013】
これらの態様よれば、FT図の編集を容易に行うことができる。
【図面の簡単な説明】
【0014】
【図1】FT図作成支援装置の全体構成図である。
【図2】FT図作成支援装置の機能を説明するための図である。
【図3】インポート部の処理内容を示したフローチャートである。
【図4】インポート部によって表計算ソフトで作成されたFT図のデータから事象が探索される様子を示した図である。
【図5】インポート処理によって生成されたXMLデータを示した図である。
【図6】表示部に表示されるツリー構造の例である。
【図7】頂上事象に下位事象を追加する場合の様子を示した図である。
【図8】下位事象を削除する場合の様子を示した図である。
【図9】下位事象を移動する場合の様子を示した図である。
【図10】下位事象をコピーする場合の様子を示した図である。
【図11】事象解析部の処理内容を示したフローチャートである。
【図12】事象解析部による解析の様子を示した図である。
【図13】故障値用語の用語辞書の例を示した図である。
【図14】物理量用語の用語辞書の例を示した図である。
【図15】整合性検証部の処理内容を示したフローチャートである。
【図16】整合性検証前後の表示部の表示及びXMLデータを示した図である。
【図17】エクスポート部の処理内容を示したフローチャートである。
【図18】エクスポート部によって、XMLデータが表計算ソフトのデータ形式に変換される様子を示した図である。
【図19】FT図の一例を示した図である。
【発明を実施するための形態】
【0015】
以下、添付図面を参照しながら本発明の実施形態について説明する。
【0016】
<全体構成>
図1はFT図作成支援装置100の全体構成を示している。本装置100は、入出力部1、処理部2、記憶部3、表示部4及び操作部5を有し、図2に示すように、以下の機能:
・表計算ソフト(例えば、マクロソフト社のExcel(登録商標)で作成されたFT図のデータをインポートし、マークアップ言語で記述されたデータに変換するインポート機能
・マークアップ言語で記述されたFT図を表示部4上で編集する編集機能
・マークアップ言語で記述されたFT図の事象の具体的内容を解析する事象解析機能
・編集前又は編集後のマークアップ言語で記述されたFT図の整合性(下位事象の展開が正しいか否か)を検証する整合性検証機能
・編集後のマークアップ言語で記述されたFT図のデータを、表計算ソフトのデータ形式に変換し、エクスポートするエクスポート機能
を有している。
【0017】
「表計算ソフトで作成されたFT図のデータ」とは、表計算ソフトのシート上に罫線と文字列とでツリー構造が表現されたFT図のデータのことである。図19に示すように、罫線で囲まれたセル内に記入された文字列を事象とみなし、各事象の間を罫線で接続することでFT図のツリー構造を表現している。
【0018】
「マークアップ言語で記述されたFT図のデータ」とは、本実施形態では、XML(Extensible Markup Language)データであり、FT図の各事象の内容及びそれらのツリー構造を、タグを利用して記述する。なお、以下の説明では、「マークアップ言語で記述されたFT図のデータ」がXMLデータであるとして説明する。
【0019】
XMLデータにおいては、各事象の要素は、開始タグ<FaultTreeNode>と終了タグ</FaultTreeNode>とで構成される。開始タグ<FaultTreeNode>には、対応する事象の種々の属性(事象の内容を示すlabel属性、事象が扱う物理量の単位を示すunit属性、事象の故障値状態を示すqstate属性、下位事象の関係が論理和か論理積かを示すlogic属性、物理量の整合性検証結果を示すverification属性)が含まれる。
【0020】
下位事象と上位事象との上下関係は、上位事象の開始タグ<FaultTreeNode>と終了タグ</FaultTreeNode>との間に下位事象の要素を配置することで表現される。また、同列の事象はそれらの要素を並列に配置することで表現される。
【0021】
なお、終了タグ</FaultTreeNode>は、開始タグ<FaultTreeNode>のみで事象間の関係が明確である場合は適宜省略可能である。
【0022】
本装置100を構成する各部位について説明すると、入出力部1は、有線又は無線のネットワークインターフェース、カードリーダ、USBコネクタ、Bluetooth(登録商標)等である。入出力部1は、外部のサーバ、パソコン等とデータをやりとりするために用いられる。主にやりとりするデータは、本装置100にインポートするための表計算ソフトで作成されたFT図のデータ、及び、本装置100で編集又は作成され、本装置100からエクスポートするための表計算ソフトのデータ形式のFT図のデータである。
【0023】
処理部2は、マイクロプロセッサ、RAM、ROM等で構成される。マイクロプロセッサは、ROM又は後述する記憶部3に記憶されているプログラムをRAMに読み込んで実行することによって、上記各機能を実現するインポート部21、編集部22、事象解析部23、整合性検証部24及びエクスポート部25として機能する。各部の具体的な処理内容については後述する。
【0024】
記憶部3は、ハードディスク、フラッシュメモリ等の記憶装置である。記憶部3は、処理部2の処理において必要なデータ及びプログラムを記憶する。
【0025】
表示部4は、液晶ディスプレイ等の表示装置である。表示部4は、FT図のツリー構造、FT図の整合性検証結果、編集又は作成中のXMLデータ等を表示する。
【0026】
操作部5は、キーボード、マウス、タッチパネル等の入力装置である。操作部5は、ユーザーからの各種操作を受け付ける。
【0027】
次に、処理部2の各部の処理内容について説明する。
【0028】
<インポート部21>
インポート部21は、表計算ソフトで作成されたFT図のデータを入出力部1を介して読み込み、これをXMLデータに変換する機能を有する。
【0029】
図3は、インポート部21の処理内容(プログラムの内容)を示したフローチャートである。これを参照しながら、インポート部21の処理内容について説明する。
【0030】
まず、インポート部21は、S1において、表計算ソフトで作成されたFT図から、頂上事象を探索する。頂上事象とはその上位にさらに別の事象がない事象である。具体的には、インポート部21は、シートの左上から順に罫線に囲まれたセルを探索する。なお、事象が複数のセルを使って記載されることもあるが、ここでは説明を簡略化するために、単一のセルに記載される場合に限定して説明する。
【0031】
S2では、インポート部21は、頂上事象が発見されたか判断する。頂上事象が発見されたと判断された場合は、処理がS3に進み、そうでない場合は処理が終了する。
【0032】
S3では、インポート部21は、発見された頂上事象のセルを分析対象セルとして設定する。また、インポート部21は、FT図のデータであることを示す開始タグ<FaultTreeDocument>及び終了タグ</FaultTreeDocument>を含んだXMLデータを用意し、当該XMLデータに頂上事象を追加する。具体的には、開始タグ<FaultTreeNode>及び終了タグ</FaultTreeNode>からなる頂上事象の要素を、開始タグ<FaultTreeDocument>と終了タグ</FaultTreeDocument>との間に追加する。
【0033】
S4では、インポート部21は、分析対象セルから文字列を取得し、分析対象セルに対応する事象のlabel属性として取得した文字列を設定する。さらに、インポート部21は、分析対象セルの右側の領域を探索し、「AND」の文字列があれば分析対象セルに対応する事象の下位事象が論理積であると判断し、なければ論理和であると判断する。そして、インポート部21は、分析対象セルに対応する事象のlogic属性として、論理和であれば「OR」、論理積であれば「AND」を設定する。
【0034】
S5では、インポート部21は、分析対象セルの下位事象を探索する。具体的には、分析対象セルから右側に延びる罫線を辿り、その先にある罫線で囲まれたセルを探索する。
【0035】
S6では、インポート部21は、下位事象が発見されたか判断する。下位事象が発見されたと判断された場合は処理がS7に進み、そうでない場合は処理がS8に進む。
【0036】
S7では、インポート部21は、発見された下位事象のセルを分析対象セルに設定し、XMLデータに下位事象を追加する。XMLデータにおいて、下位事象の要素は、上位事象の開始タグ<FaultTreeNode>と終了タグ</FaultTreeNode>との間に配置され、これによって下位事象であることが表現される。そして、処理がS4に戻り、当該下位事象にlabel属性が設定され、さらに下位の事象の探索が行われる。
【0037】
インポート部21は、下位事象が発見されなくなるまでS4〜S7の処理を繰り返す。
【0038】
S8では、インポート部21は、分析対象セルと同列の事象(以下、同列事象という。)を探索する。具体的には、分析対象セルから左側に延びる罫線から下側に分岐する罫線を辿り、その先にある罫線で囲まれたセルを探索する。
【0039】
S9では、インポート部21は、同列事象が発見されたか判断する。同列事象が発見されたと判断された場合は処理がS10に進み、そうでない場合は処理がS11に進む。
【0040】
S10では、インポート部21は、発見された同列事象のセルを分析対象セルに設定し、XMLデータに同列事象を追加する。同列事象の要素は他の同列事象の要素と並列になるように配置され、これによって同列事象であることが表現される。そして、処理がS4に戻り、当該同列事象にlabel属性が設定され、再び下位事象及び同列事象の探索が行われる。
【0041】
インポート部21は、同列事象が発見されなくなるまでS4〜S10の処理を繰り返す。
【0042】
S11では、インポート部21は、直前に発見された同列事象の上位事象を分析対象セルに設定する。そして、S12では、インポート部21は、当該分析対象セルに対応する事象が頂上事象か判断し、頂上事象であれば処理を終了し、そうでなければS8に戻って再び同列事象の探索を行う。
【0043】
以上の処理により、表計算ソフトで作成されたFT図のデータがXMLデータに変換される。
【0044】
図4は、インポート部21によって、表計算ソフトで作成されたFT図のデータから事象が探索される様子を示している。
【0045】
上記処理によれば、まず、「ベルト車による伝動の損失が大きい」と記載されたセルが発見され(図中(1))、XMLデータに頂上事象「ベルト車による伝動の損失が大きい」が追加される。
【0046】
次いで、その右側に配置される「すべり量が大きい」と記載されたセルが発見され(図中(2))、XMLデータに下位事象「すべり量が大きい」が追加される。
【0047】
「すべり量が大きい」と記載されたセルの右側にはさらに別の事象のセルが存在しないので、次はこれと同列のセルが検索され、「摩擦力が大きい」と記載されたセルが発見される(図中(3))。そして、XMLデータに同列事象「摩擦力が大きい」が追加される。
【0048】
同様にして、「抗力が大きい」、「ベルト張力が大きい」及び「摩擦係数が大きい」と記載されたセルが発見され(図中(4)、(5))、XMLデータに下位事象「抗力が大きい」、下位事象「ベルト張力が大きい」、及び、同列事象「摩擦係数が大きい」が追加される。
【0049】
図5は、インポート処理によって生成されたXMLデータを示している。FT図のツリー構造はタグ<FaultTreeNode></FaultTreeNode>の包含関係によって表現され、また、各事象は、label属性、logic属性、verification属性を有している。ただし、物理量の整合性検証はまだ行われていないので、verification属性には仮の値が入っている。
【0050】
また、表示部4には、ツリー構造が図6に示すような形式で表示される。表示されるツリー構造は罫線及び文字列で表現されたFT図のツリー構造と同じものであるが、ツリー構造を見やすくするために、下位事象を有する事象の左側に表示されるフォルダのイラストをクリックすると、下位事象を折りたたむ又は展開することが可能になっている。
【0051】
<編集部22>
編集部22は、表示部4に表示されたFT図のツリー構造を見ながら、表示部4上でツリー構造の修正を行う機能を有する。ユーザーが操作部5を操作することによって表示部4上でFT図のツリー構造を変更すると、編集部22は、その変更内容をXMLデータに反映する。
【0052】
以下、代表的な編集機能について説明する。
【0053】
−下位事象の追加−
図7は、頂上事象に下位事象を追加する場合の様子を示している。図中左側は表示部4の表示内容であり、図中右側はこれに対応するXMLデータである。また、図中上側は編集前の状態、図中下側は編集後の状態を示している(図8〜図10も同様)。
【0054】
ユーザーが表示部4上で頂上事象を選択すると、編集部22は表示部4に編集メニュー(不図示)を表示させる。編集メニューには「追加」が含まれ、ユーザーがこれを選択すると、事象の属性を入力するウインドウが開く。そして、ユーザーがlabel属性等の属性を入力すると、編集部22は、表示部4において、頂上事象の下位に<事象>を表示させる。
【0055】
表示部4上でこのような編集作業が行われると、編集部22は、その内容をリアルタイムでXMLデータに反映し、図中右側に示すように、<事象>の要素がXMLデータに追加される。<事象>は頂上事象の下位事象であるので、<事象>の要素は、頂上事象の開始タグ<FaultTreeNode>の下に配置される。なお、この例では、頂上事象の終了タグ</FaultTreeNode>は省略されている。
【0056】
−下位事象の削除−
図8は、下位事象を削除する場合の様子を示している。
【0057】
ユーザーが表示部4上で<事象>を選択すると、編集部22は表示部4に編集メニュー(不図示)を表示させる。編集メニューには「削除」が含まれ、ユーザーがこれを選択すると、編集部22は、表示部4において、<事象>を消去する。
【0058】
表示部4上でこのような編集作業が行われると、編集部22は、その内容をリアルタイムでXMLデータに反映し、図中右側に示すように、XMLデータから<事象>の要素が削除される。
【0059】
−事象の移動−
図9は、下位事象を移動する場合の様子を示している。
【0060】
この例では、頂上事象の下位に、「事象A」、「事象B」及び「事象C」が同列に配置されている。ユーザーがその中の一つである「事象A」を選択し、「事象B」の上にドラッグしてドロップすると、編集部22は、表示部4において、「事象A」を「事象B」の下位に移動させる。
【0061】
表示部4上でこのような編集作業が行われると、編集部22は、その内容をリアルタイムでXMLデータに反映し、図中右側に示すように、XMLデータにおいて「事象A」の要素が「事象B」の開始タグ<FaultTreeNode>と終了タグ</FaultTreeNode>との間に移動される。
【0062】
−事象のコピー−
図10は、下位事象をコピーする場合の様子を示している。
【0063】
この例では、頂上事象の下位に、「事象B」及び「事象C」が同列に配置され、「事象B」の下位には「事象A」が配置される。ユーザーが表示部4上で「事象B」を選択すると、編集部22は、表示部4に編集メニュー(不図示)を表示させる。編集メニューには「コピー」と「ペースト」が含まれ、ユーザーが「コピー」を選択し、かつ、続けて「事象C」を選択して「ペースト」を選択すると、編集部22は、表示部4において、「事象C」の下位に「事象B」及び「事象A」を移動させる。
【0064】
表示部4上でこのような編集作業が行われると、編集部22は、その内容をリアルタイムでXMLデータに反映し、図中右側に示すように、XMLデータにおいて、「事象C」の<FaultTreeNode>と終了タグ</FaultTreeNode>との間に「事象B」及び「事象A」の要素が追加される。
【0065】
ここで説明した編集機能は、編集部22が有する機能の一部であるが、その他の機能についても同様に、表示部4上でFT図のツリー構造が変更されると、その変更内容がXMLデータにリアルタイムで反映される。
【0066】
したがって、XMLデータを編集するにあたり、ユーザーがXMLタグや記述方法を意識する必要はなく、表示部4に表示されるツリー構造を表示部4上で編集すれば、XMLデータを容易に書き換えることができる。
【0067】
なお、ここでは、インポート処理によって得られるXMLデータを編集するとして説明したが、インポートすることなく、編集部22でXMLデータを新規に作成することも可能である。
【0068】
<事象解析部23>
事象解析部23は、各事象のlabel属性から、物理量の単位、及び、故障値状態を解析し、各事象にunit属性、qstate属性を追加する機能を有する。
【0069】
図11は、事象解析部23の処理内容(プログラムの内容)を示したフローチャートである。これを参照しながら、事象解析部23の処理内容について説明する。
【0070】
まず、事象解析部23は、S21で、XMLデータから、全事象を抽出し、それらのlabel属性を事象リストに追加する。事象リストとは、本解析の作業用のテキストデータである。
【0071】
S22では、事象解析部23は、事象リストが空か判断する。事象リストが空の場合は処理が終了し、事象リストに事象が含まれている場合は処理がS23に進む。
【0072】
S23では、事象解析部23は、リスト先頭の事象を解析対象の事象である対象事象とし、その内容を対象文字列として設定する。
【0073】
S24では、事象解析部23は、図12に示すように、対象文字列の後ろ側から故障値用語を検索する。検索は、図13に示す用語辞書を用い、用語辞書とのマッチングにより行う。故障値用語とは、事象に含まれる物理量がどのような状態になったら故障の原因となるかを示す用語であり、例えば、「電圧が高い」という事象であれば「高い」、「長さが短い」という事象であれば「短い」が故障値用語となる。
【0074】
S25では、事象解析部23は、故障値用語が発見されたか判断する。故障値用語が発見された場合は処理がS26に進み、そうでない場合は処理がS28に進む。
【0075】
S26では、図13に示す用語辞書を参照して、発見された故障値用語に対応する故障値状態の属性を読み込み、これを解析対象の事象のqstate属性として設定する。qstate属性は、例えば、「高い」であれば「+」、「短い」であれば「−」である。
【0076】
S27では、事象解析部23は、対象文字列から故障値用語を削除する。
【0077】
S28では、事象解析部23は、図12に示すように、対象文字列の後ろ側からさらに物理量用語を検索する。検索は、図14に示す用語辞書を用い、用語辞書とのマッチングにより物理量用語の検索を行う。物理量用語は、例えば、「電圧が高い」という事象であれば「電圧」、「長さが短い」という事象であれば「長さ」である。
【0078】
S29では、事象解析部23は、物理量用語が発見されたか判断する。物理量用語が発見された場合は処理がS30に進み、そうでない場合は処理がS31に進む。
【0079】
S30では、事象解析部23は、図14に示す用語辞書を参照して、発見された物理量用語の単位を読み込み、これを解析対象の事象のunit属性として設定する。物理量用語の属性は、例えば、「電圧」であれば「V」、「長さ」であれば「m」である。
【0080】
S31では、リストの先頭にある事象を削除し、S22に戻る。
【0081】
S22で事象リストが空と判断されるまでS22〜S30の処理が繰り返され、最終的には、リスト内の事象全てについてunit属性及びqstate属性が設定される。
【0082】
<整合性検証部24>
整合性検証部24は、編集前又は編集後のXMLデータにおいて、上位事象と下位事象との物理量の関係に基づき、下位事象の展開が適切に行われているか検証し、検証結果に基づき各事象のverification属性を設定する機能を有する。
【0083】
図15は、整合性検証部24の処理内容(プログラムの内容)を示したフローチャートである。これを参照しながら、整合性検証部24の処理内容について説明する。
【0084】
まず、整合性検証部24は、S41で、検証対象の事象が基本事象か判断する。基本事象とは自らよりも下位の事象を有さない下位事象のことである。検証対象の事象が基本事象である場合は整合性を検証する意味がないので、処理がS42に進み、検証対象の事象のverification属性が「未検証」であることを示す0に設定される。検証対象の事象が基本事象でない場合は処理がS43に進む。
【0085】
S43では、整合性検証部24は、以下のいずれかが成立しているか判断する。
【0086】
・検証対象の事象が物理量を含まない。
【0087】
・検証対象の事象の下位事象がいずれも物理を含まない。
【0088】
いずれかが成立している場合は、整合性の検証を行うことができないので、処理がS44に進み、検証対象の事象のverification属性が「判定不可」であることを示す−1に設定される。いずれも成立していない場合は処理がS45に進む。
【0089】
S45では、検証対象の事象の物理量とその下位事象の物理量に関し、以下のいずれかが成立しているか判断する。
【0090】
・検証対象の事象の物理量の単位が下位事象の物理量の単位の加減算で表現できる。すなわち、検証対象の事象の物理量と下位事象の物理量とが同じ単位である。
【0091】
・検証対象の事象の物理量の単位が下位事象の物理量の単位の乗除又はべき乗算で表現できる。すなわち、検証対象の事象の物理量の単位が下位事象の物理量の単位を用いて表現できる。
【0092】
いずれかが成立していれば、整合性がとれている(下位事象の展開が適切に行われている)可能性があり、さらなる検証を行うべく、処理がS47に進む。そうでない場合は整合性がとれていない(下位事象の展開が適切に行われていない)ので、S46に進み、検証対象事象のverification属性が「不整合」であることを示す3に設定される。
【0093】
S47では、下位事象に物理量が不明の事象が含まれているか判断する。下位事象に物理量が不明の事象が含まれている場合は、S45で肯定的な判断がなされても、整合性がとれていない可能性があるので、処理がS48に進み、検証対象の事象のverification属性が「不整合の可能性」があることを示す2に設定される。そうでない場合は、整合性がとれている(下位事象の展開が適切に行われている)ので、処理がS49に進み、検証対象の事象のverification属性が「整合」であることを示す4に設定される。
【0094】
この処理は、XMLデータに含まれる全事象について行われ、全事象についてverification属性が設定される。
【0095】
図16は、整合性検証前後の表示部4の表示及びXMLデータを示している。
【0096】
整合性検証が行われることによって、各事象のverification属性の値が設定され、表示部4に表示されるツリー構造には、検証結果を示すイラスト、例えば、「整合」であれば「○」、「不整合」であれば「×」、「未検証」であれば「−」が各事象の右側に表示される。
【0097】
これにより、ユーザーは、下位事象の展開が適切にされていない可能性、及び、展開が適切になされていない場所を容易に知ることができ、FT図を修正する際に参考にすることができる。
【0098】
<エクスポート部25>
エクスポート部25は、編集部22で編集された後のXMLデータを、表計算ソフトのデータ形式に変換する機能を有する。
【0099】
図17は、エクスポート部25の処理内容(プログラムの内容)を示したフローチャートである。これを参照しながら、エクスポート部25の処理内容について説明する。
【0100】
まず、エクスポート部25は、S51で、XMLデータに頂上事象が含まれているか判断する。頂上事象が含まれていない場合は処理が終了し、頂上事象が含まれている場合は処理がS52に進む。
【0101】
S52では、エクスポート部25は、表計算ソフトの空のシートを用意し、当該シートの左上の所定のセルを編集対象セルに設定する。さらに、XMLデータの頂上事象を対象事象に設定する。
【0102】
S53では、エクスポート部25は、編集対象セルに、対象事象のlabel属性の内容を書き込むとともに、当該セルを罫線で囲む。
【0103】
S54では、エクスポート部25は、対象事象に下位事象が存在するか判断する。下位事象が存在する場合は処理がS55に進み、そうでない場合は処理がS56に進む。
【0104】
S55では、エクスポート部25は、編集対象セルを所定セル分右側のセルに変更し、当該セルまで延びる罫線を引く。また、対象事象と当該下位事象との関係が論理積である場合は、罫線の上側に位置する空白セルに「AND」の文字を書き込む。そして、対象事象を当該下位事象に変更する。
【0105】
そして、処理がS53に戻り、エクスポート部25は、編集対象セルに、対象事象のlabel属性の内容を書き込むとともに、当該セルを罫線で囲む。
【0106】
さらに下位の事象が存在する間はS53〜S55が繰り返され、さらに下位の事象が存在しないと判断されると、処理がS56に進む。
【0107】
S56では、エクスポート部25は、対象事象に同列事象が存在するか判断する。同列事象が存在する場合は処理がS57に進み、そうでない場合は処理がS58に進む。
【0108】
S57では、エクスポート部25は、編集対象セルを所定セル分下側のセルに変更し、当該セルまで延びる罫線を引く。そして、対象事象を当該同列事象に変更する。
【0109】
そして、処理がS53に戻り、エクスポート部25は、編集対象セルに、対象事象のlabel属性の内容を書き込むとともに、当該セルを罫線で囲む。
【0110】
さらに同列の事象が存在する間はS53〜S57が繰り返され、さらに同列の事象が存在しないと判断されると、処理がS58に進む。
【0111】
S58では、エクスポート部25は、編集対象セルを上位事象に対応するセルに移動させるとともに、対象事象を当該セルに対応する上位事象に変更する。
【0112】
S59では、エクスポート部25は、対象事象が頂上事象であるか判断する。頂上事象でない場合は処理がS56に戻り、対象事象の同列事象があるかがさらに判断され、頂上事象であると判断されれば、処理が終了する。
【0113】
以上の処理により、XMLデータが表計算ソフトのデータ形式に変換される。
【0114】
図18は、エクスポート部25によって、XMLデータが表計算ソフトのデータ形式に変換される様子を示している。
【0115】
上記処理によれば、まず、表計算ソフトのシートの左上の所定のセルに、頂上事象のlabel属性の内容である「ベルト車による伝動の損失が大きい」が書き込まれ、当該セルが罫線で囲まれる(図中(1))。
【0116】
次に、頂上事象のセルから3つ右側にあるセルまで罫線が引かれ、当該セルに下位事象のlabel属性である「すべり量が大きい」が書き込まれ、当該セルが罫線で囲まれる(図中(2))。
【0117】
次に、「すべり量が大きい」が書き込まれたセルの2つ下側にあるセルまで罫線が引かれ、当該セルに同列事象のlabel属性の内容である「摩擦力が大きい」が書き込まれ、当該セルが罫線で囲まれる(図中(3))。
【0118】
同様にして、「抗力が大きい」、「ベルト張力が大きい」及び「摩擦係数が大きい」が書き込まれたセル、これらの間を接続する罫線が作成される(図中(4)、(5))。
【0119】
以上のようにして表計算ソフトのシート上にFT図が作成される。作成されたデータは、入出力部を介して装置外のサーバ、パソコンに受け渡すことが可能である。
【0120】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一つを示したものに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
【符号の説明】
【0121】
21 インポート部
22 編集部
23 事象解析部
24 整合性検証部
25 エクスポート部
100 FT図作成支援装置
【特許請求の範囲】
【請求項1】
FT図作成支援装置であって、
FT図のツリー構造をマークアップ言語で記述する第1のデータを編集し、これによって第2のデータを生成する編集部と、
前記第2のデータに基づき表計算ソフトのシート上に罫線と文字列とで前記FT図のツリー構造を表現し、これによって第3のデータを生成するエクスポート部と、
を備えたことを特徴とするFT図作成支援装置。
【請求項2】
請求項1に記載のFT図作成支援装置であって、
前記第1又は第2のデータから各事象の物理量を取得し、上位事象の物理量と下位事象の物理量との関係に基づき前記第1又は第2のデータの整合性を検証する整合性検証部をさらに備えたことを特徴とするFT図作成支援装置。
【請求項3】
請求項1又は2に記載のFT図作成支援装置であって、
表示部を備え、
前記編集部は、前記第1のデータに基づき前記FT図を前記表示部に表示し、前記表示部上で前記FT図の修正が指示されると、当該修正の内容を前記第1のデータに反映し、これによって前記第2のデータを生成する、
ことを特徴とするFT図作成支援装置。
【請求項4】
コンピュータに、
FT図のツリー構造をマークアップ言語で記述する第1のデータを編集し、これによって第2のデータを生成する編集処理機能と、
前記第2のデータに基づき表計算ソフトのシート上に罫線と文字列とで前記FT図のツリー構造を表現し、これによって第3のデータを生成するエクスポート機能と、
を実現させるためのプログラム。
【請求項5】
請求項4に記載のプログラムであって、
前記コンピュータに、さらに、前記第1又は第2のデータから各事象の物理量を取得し、上位事象の物理量と下位事象の物理量との関係に基づき前記第1又は第2のデータの整合性を検証する整合性検証機能を実現するためのプログラム。
【請求項6】
請求項4又は5に記載のプログラムであって、
前記編集機能は、前記第1のデータに基づき前記FT図を前記コンピュータの表示部に表示し、前記表示部上で前記FT図の修正が指示されると、当該修正の内容を前記第1のデータに反映し、これによって前記第2のデータを生成する機能であることを特徴とするプログラム。
【請求項1】
FT図作成支援装置であって、
FT図のツリー構造をマークアップ言語で記述する第1のデータを編集し、これによって第2のデータを生成する編集部と、
前記第2のデータに基づき表計算ソフトのシート上に罫線と文字列とで前記FT図のツリー構造を表現し、これによって第3のデータを生成するエクスポート部と、
を備えたことを特徴とするFT図作成支援装置。
【請求項2】
請求項1に記載のFT図作成支援装置であって、
前記第1又は第2のデータから各事象の物理量を取得し、上位事象の物理量と下位事象の物理量との関係に基づき前記第1又は第2のデータの整合性を検証する整合性検証部をさらに備えたことを特徴とするFT図作成支援装置。
【請求項3】
請求項1又は2に記載のFT図作成支援装置であって、
表示部を備え、
前記編集部は、前記第1のデータに基づき前記FT図を前記表示部に表示し、前記表示部上で前記FT図の修正が指示されると、当該修正の内容を前記第1のデータに反映し、これによって前記第2のデータを生成する、
ことを特徴とするFT図作成支援装置。
【請求項4】
コンピュータに、
FT図のツリー構造をマークアップ言語で記述する第1のデータを編集し、これによって第2のデータを生成する編集処理機能と、
前記第2のデータに基づき表計算ソフトのシート上に罫線と文字列とで前記FT図のツリー構造を表現し、これによって第3のデータを生成するエクスポート機能と、
を実現させるためのプログラム。
【請求項5】
請求項4に記載のプログラムであって、
前記コンピュータに、さらに、前記第1又は第2のデータから各事象の物理量を取得し、上位事象の物理量と下位事象の物理量との関係に基づき前記第1又は第2のデータの整合性を検証する整合性検証機能を実現するためのプログラム。
【請求項6】
請求項4又は5に記載のプログラムであって、
前記編集機能は、前記第1のデータに基づき前記FT図を前記コンピュータの表示部に表示し、前記表示部上で前記FT図の修正が指示されると、当該修正の内容を前記第1のデータに反映し、これによって前記第2のデータを生成する機能であることを特徴とするプログラム。
【図1】
【図3】
【図11】
【図13】
【図14】
【図15】
【図17】
【図2】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図12】
【図16】
【図18】
【図19】
【図3】
【図11】
【図13】
【図14】
【図15】
【図17】
【図2】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図12】
【図16】
【図18】
【図19】
【公開番号】特開2013−72719(P2013−72719A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−211326(P2011−211326)
【出願日】平成23年9月27日(2011.9.27)
【出願人】(000231350)ジヤトコ株式会社 (899)
【出願人】(301021533)独立行政法人産業技術総合研究所 (6,529)
【Fターム(参考)】
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願日】平成23年9月27日(2011.9.27)
【出願人】(000231350)ジヤトコ株式会社 (899)
【出願人】(301021533)独立行政法人産業技術総合研究所 (6,529)
【Fターム(参考)】
[ Back to top ]