(57)【要約】【課題】ＦＴ図の編集を容易に行えるようにする。【解決手段】ＦＴ図作成支援装置１００は、表計算ソフトのシート上に罫線と文字列とでツリー構造が表現されたＦＴ図のデータである第１のデータから罫線の接続関係及び文字列を取得し、取得された前記罫線の接続関係及びｃ文字列から前記ＦＴ図に含まれる事象及び事象間の接続関係を求め、これに基づき前記ＦＴ図のツリー構造をマークアップ言語で記述する第２のデータを生成するインポート部２１と、前記第２のデータを編集し、編集後のＦＴ図のツリー構造をマークアップ言語で記述する第３のデータを生成する編集部２２と、を備える。【選択図】図１
2013073384.tif 000002
【特許請求の範囲】
【請求項１】
ＦＴ図作成支援装置であって、
表計算ソフトのシート上に罫線と文字列とでツリー構造が表現されたＦＴ図のデータである第１のデータから罫線の接続関係及び文字列を取得し、取得された前記罫線の接続関係及び文字列から前記ＦＴ図に含まれる事象及び事象間の接続関係を求め、これに基づき前記ＦＴ図のツリー構造をマークアップ言語で記述する第２のデータを生成するインポート部と、
前記第２のデータを編集し、編集後のＦＴ図のツリー構造をマークアップ言語で記述する第３のデータを生成する編集部と、
を備えたことを特徴とするＦＴ図作成支援装置。
【請求項２】
請求項１に記載のＦＴ図作成支援装置であって、
前記第３のデータに基づき前記表計算ソフトのシート上に罫線と文字列とで前記ＦＴ図のツリー構造を表現し、これによって第４のデータを生成するエクスポート部をさらに備えたことを特徴とするＦＴ図作成支援装置。
【請求項３】
請求項１又は２に記載のＦＴ図作成支援装置であって、
前記第２又は第３のデータから各事象の物理量を取得し、上位事象の物理量と下位事象の物理量との関係に基づき前記第２又は第３のデータの整合性を検証する整合性検証部をさらに備えたことを特徴とするＦＴ図作成支援装置。
【請求項４】
請求項１から３のいずれか一つに記載のＦＴ図作成支援装置であって、
表示部をさらに備え、
前記編集部は、前記第２のデータに基づき前記ＦＴ図を前記表示部に表示し、前記表示部上で前記ＦＴ図の修正が指示されると、当該修正の内容を前記第２のデータに反映し、これによって前記第３のデータを生成する、
ことを特徴とするＦＴ図作成支援装置。
【請求項５】
コンピュータに、
表計算ソフトのシート上に罫線と文字列とでツリー構造が表現されたＦＴ図のデータである第１のデータから罫線の接続関係及び文字列を取得し、取得された前記罫線の接続関係及び前記文字列から前記ＦＴ図に含まれる事象及び事象間の接続関係を求め、これに基づき前記ＦＴ図のツリー構造をマークアップ言語で記述する第２のデータを生成するインポート機能と、
前記第２のデータを編集し、ＦＴ図のツリー構造をマークアップ言語で記述する第３のデータを生成する編集機能と、
を実現させるためのプログラム。
【請求項６】
請求項５に記載のプログラムであって、
前記コンピュータに、さらに、前記第３のデータに基づき前記表計算ソフトのシート上に罫線と文字列とで前記ＦＴ図のツリー構造を表現し、これによって第４のデータを生成するエクスポート機能を実現するためのプログラム。
【請求項７】
請求項５又は６に記載のプログラムであって、
前記コンピュータに、さらに、前記第２又は第３のデータから各事象の物理量を取得し、上位事象の物理量と下位事象の物理量との関係に基づき前記第２又は第３のデータの整合性を検証する整合性検証機能を実現するためのプログラム。
【請求項８】
請求項５から７のいずれか一つに記載のプログラムであって、
前記編集機能は、前記第２のデータに基づき前記ＦＴ図を前記コンピュータの表示部に表示し、前記表示部上で前記ＦＴ図の修正が指示されると、当該修正の内容を前記第２のデータに反映し、これによって前記第３のデータを生成する機能である、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置、システム等の不具合の発生原因を解析し、その信頼性を向上させる技術に関する。
【背景技術】
【０００２】
故障木解析（Ｆａｕｌｔ  Ｔｒｅｅ  Ａｎａｌｙｓｉｓ、ＦＴＡ）は、故障事象をその原因となる下位事象の論理和（ＯＲ）又は論理積（ＡＮＤ）に展開してツリー構造（以下、「ＦＴ図」という。）とし、下位事象の中から重大な原因を抽出し、故障発生を防ぐために設計の見直しを図るという手法である。ＦＴ図の作成には、その分野の幅広い知識、高い専門性が要求されるため、ＦＴ図の作成を支援する技術が求められている（特許文献１）。
【０００３】
図１９は、ＦＴ図の例である。この例は、「ベルト車による伝動の損失が大きい」という故障事象を解析したものである。この故障事象は、「すべり量が大きい」場合又は「摩擦力が大きい」場合に発生するので、「すべり量が大きい」及び「摩擦力が大きい」が故障事象の下位事象となり、それらの関係は論理和となる。
【０００４】
そして、「摩擦力が大きい」という事象は、「抗力が大きい」場合又は「摩擦係数が大きい」場合に発生するので、「摩擦力が大きい」及び「摩擦係数が大きい」が「摩擦力が大きい」の下位事象となり、それらの関係は論理和となる。そして、「抗力が大きい」という事象は「ベルト張力が大きい」場合に発生するので、「ベルト張力が大きい」が「抗力が大きい」の下位事象となる。
【０００５】
これら事象のうち、下位に事象を有さない「すべり量が大きい」、「ベルト張力が大きい」及び「摩擦係数が大きい」という事象は、基本事象と呼ばれ、故障事象の発生を防ぐためには、これら基本事象についての対策を検討すればよい。
【０００６】
なお、この例では、上位事象と下位事象とは罫線で接続されるだけで、同列の下位事象が論理和及び論理積のいずれであるかは記述されていない。これは、同列の下位事象は多くの場合が論理和であるので、論理和の場合は上位事象と下位事象との間及び同列の下位事象の間を罫線で接続するのみとし、論理積である場合は上位事象と下位事象とを接続する罫線の脇に論理積であることを示す「ＡＮＤ」を記述するようにしているからである。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２８９０２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＦＴ図は、マイクロソフト社のＥｘｃｅｌ（登録商標）をはじめとする、表計算ソフトの罫線機能を用いて作成されることが多い。これは、表計算ソフトの普及率が高く、また、普及率の高さ故、ある技術者が作成したＦＴ図を他の技術者が利用するのに適しているからである。
【０００９】
しかしながら、表計算ソフトを用いたＦＴ図の作成は効率の良いものではなく、特に、一旦作成されたＦＴ図を修正したい場合（事象の追加、削除等）は、手間がかかるという問題があった。
【００１０】
本発明は、このような技術的課題に鑑みてなされたもので、ＦＴ図の編集を容易に行えるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
本発明のある態様によれば、ＦＴ図作成支援装置であって、表計算ソフトのシート上に罫線と文字列とでツリー構造が表現されたＦＴ図のデータである第１のデータから罫線の接続関係及び文字列を取得し、取得された前記罫線の接続関係及び文字列から前記ＦＴ図に含まれる事象及び事象間の接続関係を求め、これに基づき前記ＦＴ図のツリー構造をマークアップ言語で記述する第２のデータを生成するインポート部と、前記第２のデータを編集し、編集後のＦＴ図のツリー構造をマークアップ言語で記述する第３のデータを生成する編集部と、を備えたことを特徴とするＦＴ図作成支援装置が提供される。
【００１２】
本発明の別の態様によれば、コンピュータに、表計算ソフトのシート上に罫線と文字列とでツリー構造が表現されたＦＴ図のデータである第１のデータから罫線の接続関係及び文字列を取得し、取得された前記罫線の接続関係及び前記文字列から前記ＦＴ図に含まれる事象及び事象間の接続関係を求め、これに基づき前記ＦＴ図のツリー構造をマークアップ言語で記述する第２のデータを生成するインポート機能と、前記第２のデータを編集し、ＦＴ図のツリー構造をマークアップ言語で記述する第３のデータを生成する編集機能と、を実現させるためのプログラムが提供される。
【発明の効果】
【００１３】
これらの態様よれば、ＦＴ図の編集を容易に行うことができる。
【図面の簡単な説明】
【００１４】
【図１】ＦＴ図作成支援装置の全体構成図である。
【図２】ＦＴ図作成支援装置の機能を説明するための図である。
【図３】インポート部の処理内容を示したフローチャートである。
【図４】インポート部によって表計算ソフトで作成されたＦＴ図のデータから事象が探索される様子を示した図である。
【図５】インポート処理によって生成されたＸＭＬデータを示した図である。
【図６】表示部に表示されるツリー構造の例である。
【図７】頂上事象に下位事象を追加する場合の様子を示した図である。
【図８】下位事象を削除する場合の様子を示した図である。
【図９】下位事象を移動する場合の様子を示した図である。
【図１０】下位事象をコピーする場合の様子を示した図である。
【図１１】事象解析部の処理内容を示したフローチャートである。
【図１２】事象解析部による解析の様子を示した図である。
【図１３】故障値用語の用語辞書の例を示した図である。
【図１４】物理量用語の用語辞書の例を示した図である。
【図１５】整合性検証部の処理内容を示したフローチャートである。
【図１６】整合性検証前後の表示部の表示及びＸＭＬデータを示した図である。
【図１７】エクスポート部の処理内容を示したフローチャートである。
【図１８】エクスポート部によって、ＸＭＬデータが表計算ソフトのデータ形式に変換される様子を示した図である。
【図１９】ＦＴ図の一例を示した図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照しながら本発明の実施形態について説明する。
【００１６】
＜全体構成＞
図１はＦＴ図作成支援装置１００の全体構成を示している。本装置１００は、入出力部１、処理部２、記憶部３、表示部４及び操作部５を有し、図２に示すように、以下の機能：
・表計算ソフト（例えば、マクロソフト社のＥｘｃｅｌ（登録商標）で作成されたＦＴ図のデータをインポートし、マークアップ言語で記述されたデータに変換するインポート機能
・マークアップ言語で記述されたＦＴ図を表示部４上で編集する編集機能
・マークアップ言語で記述されたＦＴ図の事象の具体的内容を解析する事象解析機能
・編集前又は編集後のマークアップ言語で記述されたＦＴ図の整合性（下位事象の展開が正しいか否か）を検証する整合性検証機能
・編集後のマークアップ言語で記述されたＦＴ図のデータを、表計算ソフトのデータ形式に変換し、エクスポートするエクスポート機能
を有している。
【００１７】
「表計算ソフトで作成されたＦＴ図のデータ」とは、表計算ソフトのシート上に罫線と文字列とでツリー構造が表現されたＦＴ図のデータのことである。図１９に示すように、罫線で囲まれたセル内に記入された文字列を事象とみなし、各事象の間を罫線で接続することでＦＴ図のツリー構造を表現している。
【００１８】
「マークアップ言語で記述されたＦＴ図のデータ」とは、本実施形態では、ＸＭＬ(Extensible Markup Language)データであり、ＦＴ図の各事象の内容及びツリー構造を、タグを利用して記述する。なお、以下の説明では、「マークアップ言語で記述されたＦＴ図のデータ」がＸＭＬデータであるとして説明する。
【００１９】
ＸＭＬデータにおいては、各事象の要素は、開始タグ<FaultTreeNode>と終了タグ</FaultTreeNode>とで構成される。開始タグ<FaultTreeNode>には、対応する事象の種々の属性（事象の内容を示すlabel属性、事象が扱う物理量の単位を示すunit属性、事象の故障値状態を示すqstate属性、下位事象の関係が論理和か論理積かを示すlogic属性、物理量の整合性検証結果を示すverification属性）が含まれる。
【００２０】
下位事象と上位事象との上下関係は、上位事象の開始タグ<FaultTreeNode>と終了タグ</FaultTreeNode>との間に下位事象の要素を配置することで表現される。また、同列の事象はそれらの要素を並列に配置することで表現される。
【００２１】
なお、終了タグ</FaultTreeNode>は、開始タグ<FaultTreeNode>のみで事象間の関係が明確である場合は適宜省略可能である。
【００２２】
本装置１００を構成する各部位について説明すると、入出力部１は、有線又は無線のネットワークインターフェース、カードリーダ、ＵＳＢコネクタ、Ｂｌｕｅｔｏｏｔｈ（登録商標）等である。入出力部１は、外部のサーバ、パソコン等とデータをやりとりするために用いられる。主にやりとりするデータは、本装置１００にインポートするための表計算ソフトで作成されたＦＴ図のデータ、及び、本装置１００で編集又は作成され、本装置１００からエクスポートするための表計算ソフトのデータ形式のＦＴ図のデータである。
【００２３】
処理部２は、マイクロプロセッサ、ＲＡＭ、ＲＯＭ等で構成される。マイクロプロセッサは、ＲＯＭ又は後述する記憶部３に記憶されているプログラムをＲＡＭに読み込んで実行することによって、上記各機能を実現するインポート部２１、編集部２２、事象解析部２３、整合性検証部２４及びエクスポート部２５として機能する。各部の具体的な処理内容については後述する。
【００２４】
記憶部３は、ハードディスク、フラッシュメモリ等の記憶装置である。記憶部３は、処理部２の処理において必要なデータ及びプログラムを記憶する。
【００２５】
表示部４は、液晶ディスプレイ等の表示装置である。表示部４は、ＦＴ図のツリー構造、ＦＴ図の整合性検証結果、編集又は作成中のＸＭＬデータ等を表示する。
【００２６】
操作部５は、キーボード、マウス、タッチパネル等の入力装置である。操作部５は、ユーザーからの各種操作を受け付ける。
【００２７】
次に、処理部２の各部の処理内容について説明する。
【００２８】
＜インポート部２１＞
インポート部２１は、表計算ソフトで作成されたＦＴ図のデータを入出力部１を介して読み込み、これをＸＭＬデータに変換する機能を有する。
【００２９】
図３は、インポート部２１の処理内容（プログラムの内容）を示したフローチャートである。これを参照しながら、インポート部２１の処理内容について説明する。
【００３０】
まず、インポート部２１は、Ｓ１において、表計算ソフトで作成されたＦＴ図から、頂上事象を探索する。頂上事象とはその上位にさらに別の事象がない事象である。具体的には、インポート部２１は、シートの左上から順に罫線に囲まれたセルを探索する。なお、事象が複数のセルを使って記載されることもあるが、ここでは説明を簡略化するために、単一のセルに記載される場合に限定して説明する。
【００３１】
Ｓ２では、インポート部２１は、頂上事象が発見されたか判断する。頂上事象が発見されたと判断された場合は、処理がＳ３に進み、そうでない場合は処理が終了する。
【００３２】
Ｓ３では、インポート部２１は、発見された頂上事象のセルを分析対象セルとして設定する。また、インポート部２１は、ＦＴ図のデータであることを示す開始タグ<FaultTreeDocument>及び終了タグ</FaultTreeDocument>を含んだＸＭＬデータを用意し、当該ＸＭＬデータに頂上事象を追加する。具体的には、開始タグ<FaultTreeNode>及び終了タグ</FaultTreeNode>からなる頂上事象の要素を、開始タグ<FaultTreeDocument>と終了タグ</FaultTreeDocument>との間に追加する。
【００３３】
Ｓ４では、インポート部２１は、分析対象セルから文字列を取得し、分析対象セルに対応する事象のlabel属性として取得した文字列を設定する。さらに、インポート部２１は、分析対象セルの右側の領域を探索し、「ＡＮＤ」の文字列があれば分析対象セルに対応する事象の下位事象が論理積であると判断し、なければ論理和であると判断する。そして、インポート部２１は、分析対象セルに対応する事象のlogic属性として、論理和であれば「ＯＲ」、論理積であれば「ＡＮＤ」を設定する。
【００３４】
Ｓ５では、インポート部２１は、分析対象セルの下位事象を探索する。具体的には、分析対象セルから右側に延びる罫線を辿り、その先にある罫線で囲まれたセルを探索する。
【００３５】
Ｓ６では、インポート部２１は、下位事象が発見されたか判断する。下位事象が発見されたと判断された場合は処理がＳ７に進み、そうでない場合は処理がＳ８に進む。
【００３６】
Ｓ７では、インポート部２１は、発見された下位事象のセルを分析対象セルに設定し、ＸＭＬデータに下位事象を追加する。ＸＭＬデータにおいて、下位事象の要素は、上位事象の開始タグ<FaultTreeNode>と終了タグ</FaultTreeNode>との間に配置され、これによって下位事象であることが表現される。そして、処理がＳ４に戻り、当該下位事象にlabel属性が設定され、さらに下位の事象の探索が行われる。
【００３７】
インポート部２１は、下位事象が発見されなくなるまでＳ４〜Ｓ７の処理を繰り返す。
【００３８】
Ｓ８では、インポート部２１は、分析対象セルと同列の事象（以下、同列事象という。）を探索する。具体的には、分析対象セルから左側に延びる罫線から下側に分岐する罫線を辿り、その先にある罫線で囲まれたセルを探索する。
【００３９】
Ｓ９では、インポート部２１は、同列事象が発見されたか判断する。同列事象が発見されたと判断された場合は処理がＳ１０に進み、そうでない場合は処理がＳ１１に進む。
【００４０】
Ｓ１０では、インポート部２１は、発見された同列事象のセルを分析対象セルに設定し、ＸＭＬデータに同列事象を追加する。同列事象の要素は他の同列事象の要素と並列になるように配置され、これによって同列事象であることが表現される。そして、処理がＳ４に戻り、当該同列事象にlabel属性が設定され、再び下位事象及び同列事象の探索が行われる。
【００４１】
インポート部２１は、同列事象が発見されなくなるまでＳ４〜Ｓ１０の処理を繰り返す。
【００４２】
Ｓ１１では、インポート部２１は、直前に発見された同列事象の上位事象を分析対象セルに設定する。そして、Ｓ１２では、インポート部２１は、当該分析対象セルに対応する事象が頂上事象か判断し、頂上事象であれば処理を終了し、そうでなければＳ８に戻って再び同列事象の探索を行う。
【００４３】
以上の処理により、表計算ソフトで作成されたＦＴ図のデータがＸＭＬデータに変換される。
【００４４】
図４は、インポート部２１によって、表計算ソフトで作成されたＦＴ図のデータから事象が探索される様子を示している。
【００４５】
上記処理によれば、まず、「ベルト車による伝動の損失が大きい」と記載されたセルが発見され（図中（１））、ＸＭＬデータに頂上事象「ベルト車による伝動の損失が大きい」が追加される。
【００４６】
次いで、その右側に配置される「すべり量が大きい」と記載されたセルが発見され（図中（２））、ＸＭＬデータに下位事象「すべり量が大きい」が追加される。
【００４７】
「すべり量が大きい」と記載されたセルの右側にはさらに別の事象のセルが存在しないので、次はこれと同列のセルが検索され、「摩擦力が大きい」と記載されたセルが発見される（図中（３））。そして、ＸＭＬデータに同列事象「摩擦力が大きい」が追加される。
【００４８】
同様にして、「抗力が大きい」、「ベルト張力が大きい」及び「摩擦係数が大きい」と記載されたセルが発見され（図中（４）、（５））、ＸＭＬデータに下位事象「抗力が大きい」、下位事象「ベルト張力が大きい」、及び、同列事象「摩擦係数が大きい」が追加される。
【００４９】
図５は、インポート処理によって生成されたＸＭＬデータを示している。ＦＴ図のツリー構造はタグ<FaultTreeNode></FaultTreeNode>の包含関係によって表現され、また、各事象は、label属性、logic属性、verification属性を有している。ただし、物理量の整合性検証はまだ行われていないので、verification属性には仮の値が入っている。
【００５０】
また、表示部４には、ツリー構造が図６に示すような形式で表示される。表示されるツリー構造は罫線及び文字列で表現されたＦＴ図のツリー構造と同じものであるが、ツリー構造を見やすくするために、下位事象を有する事象の左側に表示されるフォルダのイラストをクリックすると、下位事象を折りたたむ又は展開することが可能になっている。
【００５１】
＜編集部２２＞
編集部２２は、表示部４に表示されたＦＴ図のツリー構造を見ながら、表示部４上でツリー構造の修正を行う機能を有する。ユーザーが操作部５を操作することによって表示部４上でＦＴ図のツリー構造を変更すると、編集部２２は、その変更内容をＸＭＬデータに反映する。
【００５２】
以下、代表的な編集機能について説明する。
【００５３】
−下位事象の追加−
図７は、頂上事象に下位事象を追加する場合の様子を示している。図中左側は表示部４の表示内容であり、図中右側はこれに対応するＸＭＬデータである。また、図中上側は編集前の状態、図中下側は編集後の状態を示している（図８〜図１０も同様）。
【００５４】
ユーザーが表示部４上で頂上事象を選択すると、編集部２２は表示部４に編集メニュー（不図示）を表示させる。編集メニューには「追加」が含まれ、ユーザーがこれを選択すると、事象の属性を入力するウインドウが開く。そして、ユーザーがlabel属性等の属性を入力すると、編集部２２は、表示部４において、頂上事象の下位に＜事象＞を表示させる。
【００５５】
表示部４上でこのような編集作業が行われると、編集部２２は、その内容をリアルタイムでＸＭＬデータに反映し、図中右側に示すように、＜事象＞の要素がＸＭＬデータに追加される。＜事象＞は頂上事象の下位事象であるので、＜事象＞の要素は、頂上事象の開始タグ<FaultTreeNode>の下に配置される。なお、この例では、頂上事象の終了タグ</FaultTreeNode>は省略されている。
【００５６】
−下位事象の削除−
図８は、下位事象を削除する場合の様子を示している。
【００５７】
ユーザーが表示部４上で＜事象＞を選択すると、編集部２２は表示部４に編集メニュー（不図示）を表示させる。編集メニューには「削除」が含まれ、ユーザーがこれを選択すると、編集部２２は、表示部４において、＜事象＞を消去する。
【００５８】
表示部４上でこのような編集作業が行われると、編集部２２は、その内容をリアルタイムでＸＭＬデータに反映し、図中右側に示すように、ＸＭＬデータから＜事象＞の要素が削除される。
【００５９】
−事象の移動−
図９は、下位事象を移動する場合の様子を示している。
【００６０】
この例では、頂上事象の下位に、「事象Ａ」、「事象Ｂ」及び「事象Ｃ」が同列に配置されている。ユーザーがその中の一つである「事象Ａ」を選択し、「事象Ｂ」の上にドラッグしてドロップすると、編集部２２は、表示部４において、「事象Ａ」を「事象Ｂ」の下位に移動させる。
【００６１】
表示部４上でこのような編集作業が行われると、編集部２２は、その内容をリアルタイムでＸＭＬデータに反映し、図中右側に示すように、ＸＭＬデータにおいて「事象Ａ」の要素が「事象Ｂ」の開始タグ<FaultTreeNode>と終了タグ</FaultTreeNode>との間に移動される。
【００６２】
−事象のコピー−
図１０は、下位事象をコピーする場合の様子を示している。
【００６３】
この例では、頂上事象の下位に、「事象Ｂ」及び「事象Ｃ」が同列に配置され、「事象Ｂ」の下位には「事象Ａ」が配置される。ユーザーが表示部４上で「事象Ｂ」を選択すると、編集部２２は、表示部４に編集メニュー（不図示）を表示させる。編集メニューには「コピー」と「ペースト」が含まれ、ユーザーが「コピー」を選択し、かつ、続けて「事象Ｃ」を選択して「ペースト」を選択すると、編集部２２は、表示部４において、「事象Ｃ」の下位に「事象Ｂ」及び「事象Ａ」を移動させる。
【００６４】
表示部４上でこのような編集作業が行われると、編集部２２は、その内容をリアルタイムでＸＭＬデータに反映し、図中右側に示すように、ＸＭＬデータにおいて、「事象Ｃ」の<FaultTreeNode>と終了タグ</FaultTreeNode>との間に「事象Ｂ」及び「事象Ａ」の要素が追加される。
【００６５】
ここで説明した編集機能は、編集部２２が有する機能の一部であるが、その他の機能についても同様に、表示部４上でＦＴ図のツリー構造が変更されると、その変更内容がＸＭＬデータにリアルタイムで反映される。
【００６６】
したがって、ＸＭＬデータを編集するにあたり、ユーザーがＸＭＬタグや記述方法を意識する必要はなく、表示部４に表示されるツリー構造を表示部４上で編集すれば、ＸＭＬデータを容易に書き換えることができる。
【００６７】
なお、ここでは、インポート処理によって得られるＸＭＬデータを編集するとして説明したが、インポートすることなく、編集部２２でＸＭＬデータを新規に作成することも可能である。
【００６８】
＜事象解析部２３＞
事象解析部２３は、各事象のlabel属性から、物理量の単位、及び、故障値状態を解析し、各事象にunit属性、qstate属性を追加する機能を有する。
【００６９】
図１１は、事象解析部２３の処理内容（プログラムの内容）を示したフローチャートである。これを参照しながら、事象解析部２３の処理内容について説明する。
【００７０】
まず、事象解析部２３は、Ｓ２１で、ＸＭＬデータから、全事象を抽出し、それらのlabel属性を事象リストに追加する。事象リストとは、本解析の作業用のテキストデータである。
【００７１】
Ｓ２２では、事象解析部２３は、事象リストが空か判断する。事象リストが空の場合は処理が終了し、事象リストに事象が含まれている場合は処理がＳ２３に進む。
【００７２】
Ｓ２３では、事象解析部２３は、リスト先頭の事象を解析対象の事象である対象事象とし、その内容を対象文字列として設定する。
【００７３】
Ｓ２４では、事象解析部２３は、図１２に示すように、対象文字列の後ろ側から故障値用語を検索する。検索は、図１３に示す用語辞書を用い、用語辞書とのマッチングにより行う。故障値用語とは、事象に含まれる物理量がどのような状態になったら故障の原因となるかを示す用語であり、例えば、「電圧が高い」という事象であれば「高い」、「長さが短い」という事象であれば「短い」が故障値用語となる。
【００７４】
Ｓ２５では、事象解析部２３は、故障値用語が発見されたか判断する。故障値用語が発見された場合は処理がＳ２６に進み、そうでない場合は処理がＳ２８に進む。
【００７５】
Ｓ２６では、図１３に示す用語辞書を参照して、発見された故障値用語に対応する故障値状態の属性を読み込み、これを解析対象の事象のqstate属性として設定する。qstate属性は、例えば、「高い」であれば「＋」、「短い」であれば「−」である。
【００７６】
Ｓ２７では、事象解析部２３は、対象文字列から故障値用語を削除する。
【００７７】
Ｓ２８では、事象解析部２３は、図１２に示すように、対象文字列の後ろ側からさらに物理量用語を検索する。検索は、図１４に示す用語辞書を用い、用語辞書とのマッチングにより物理量用語の検索を行う。物理量用語は、例えば、「電圧が高い」という事象であれば「電圧」、「長さが短い」という事象であれば「長さ」である。
【００７８】
Ｓ２９では、事象解析部２３は、物理量用語が発見されたか判断する。物理量用語が発見された場合は処理がＳ３０に進み、そうでない場合は処理がＳ３１に進む。
【００７９】
Ｓ３０では、事象解析部２３は、図１４に示す用語辞書を参照して、発見された物理量用語の単位を読み込み、これを解析対象の事象のunit属性として設定する。物理量用語の属性は、例えば、「電圧」であれば「Ｖ」、「長さ」であれば「ｍ」である。
【００８０】
Ｓ３１では、リストの先頭にある事象を削除し、Ｓ２２に戻る。
【００８１】
Ｓ２２で事象リストが空と判断されるまでＳ２２〜Ｓ３０の処理が繰り返され、最終的には、リスト内の事象全てについてunit属性及びqstate属性が設定される。
【００８２】
＜整合性検証部２４＞
整合性検証部２４は、編集前又は編集後のＸＭＬデータにおいて、上位事象と下位事象との物理量の関係に基づき、下位事象の展開が適切に行われているか検証し、検証結果に基づき各事象のverification属性を設定する機能を有する。
【００８３】
図１５は、整合性検証部２４の処理内容（プログラムの内容）を示したフローチャートである。これを参照しながら、整合性検証部２４の処理内容について説明する。
【００８４】
まず、整合性検証部２４は、Ｓ４１で、検証対象の事象が基本事象か判断する。基本事象とは自らよりも下位の事象を有さない下位事象のことである。検証対象の事象が基本事象である場合は整合性を検証する意味がないので、処理がＳ４２に進み、検証対象の事象のverification属性が「未検証」であることを示す０に設定される。検証対象の事象が基本事象でない場合は処理がＳ４３に進む。
【００８５】
Ｓ４３では、整合性検証部２４は、以下のいずれかが成立しているか判断する。
【００８６】
・検証対象の事象が物理量を含まない。
【００８７】
・検証対象の事象の下位事象がいずれも物理を含まない。
【００８８】
いずれかが成立している場合は、整合性の検証を行うことができないので、処理がＳ４４に進み、検証対象の事象のverification属性が「判定不可」であることを示す−１に設定される。いずれも成立していない場合は処理がＳ４５に進む。
【００８９】
Ｓ４５では、検証対象の事象の物理量とその下位事象の物理量に関し、以下のいずれかが成立しているか判断する。
【００９０】
・検証対象の事象の物理量の単位が下位事象の物理量の単位の加減算で表現できる。すなわち、検証対象の事象の物理量と下位事象の物理量とが同じ単位である。
【００９１】
・検証対象の事象の物理量の単位が下位事象の物理量の単位の乗除又はべき乗算で表現できる。すなわち、検証対象の事象の物理量の単位が下位事象の物理量の単位を用いて表現できる。
【００９２】
いずれかが成立していれば、整合性がとれている（下位事象の展開が適切に行われている）可能性があり、さらなる検証を行うべく、処理がＳ４７に進む。そうでない場合は整合性がとれていない（下位事象の展開が適切に行われていない）ので、Ｓ４６に進み、検証対象事象のverification属性が「不整合」であることを示す３に設定される。
【００９３】
Ｓ４７では、下位事象に物理量が不明の事象が含まれているか判断する。下位事象に物理量が不明の事象が含まれている場合は、Ｓ４５で肯定的な判断がなされても、整合性がとれていない可能性があるので、処理がＳ４８に進み、検証対象の事象のverification属性が「不整合の可能性」があることを示す２に設定される。そうでない場合は、整合性がとれている（下位事象の展開が適切に行われている）ので、処理がＳ４９に進み、検証対象の事象のverification属性が「整合」であることを示す４に設定される。
【００９４】
この処理は、ＸＭＬデータに含まれる全事象について行われ、全事象についてverification属性が設定される。
【００９５】
図１６は、整合性検証前後の表示部４の表示及びＸＭＬデータを示している。
【００９６】
整合性検証が行われることによって、各事象のverification属性の値が設定され、表示部４に表示されるツリー構造には、検証結果を示すイラスト、例えば、「整合」であれば「○」、「不整合」であれば「×」、「未検証」であれば「−」が各事象の右側に表示される。
【００９７】
これにより、ユーザーは、下位事象の展開が適切にされていない可能性、及び、展開が適切になされていない場所を容易に知ることができ、ＦＴ図を修正する際に参考にすることができる。
【００９８】
＜エクスポート部２５＞
エクスポート部２５は、編集部２２で編集された後のＸＭＬデータを、表計算ソフトのデータ形式に変換する機能を有する。
【００９９】
図１７は、エクスポート部２５の処理内容（プログラムの内容）を示したフローチャートである。これを参照しながら、エクスポート部２５の処理内容について説明する。
【０１００】
まず、エクスポート部２５は、Ｓ５１で、ＸＭＬデータに頂上事象が含まれているか判断する。頂上事象が含まれていない場合は処理が終了し、頂上事象が含まれている場合は処理がＳ５２に進む。
【０１０１】
Ｓ５２では、エクスポート部２５は、表計算ソフトの空のシートを用意し、当該シートの左上の所定のセルを編集対象セルに設定する。さらに、ＸＭＬデータの頂上事象を対象事象に設定する。
【０１０２】
Ｓ５３では、エクスポート部２５は、編集対象セルに、対象事象のlabel属性の内容を書き込むとともに、当該セルを罫線で囲む。
【０１０３】
Ｓ５４では、エクスポート部２５は、対象事象に下位事象が存在するか判断する。下位事象が存在する場合は処理がＳ５５に進み、そうでない場合は処理がＳ５６に進む。
【０１０４】
Ｓ５５では、エクスポート部２５は、編集対象セルを所定セル分右側のセルに変更し、当該セルまで延びる罫線を引く。また、対象事象と当該下位事象との関係が論理積である場合は、罫線の上側に位置する空白セルに「ＡＮＤ」の文字を書き込む。そして、対象事象を当該下位事象に変更する。
【０１０５】
そして、処理がＳ５３に戻り、エクスポート部２５は、編集対象セルに、対象事象のlabel属性の内容を書き込むとともに、当該セルを罫線で囲む。
【０１０６】
さらに下位の事象が存在する間はＳ５３〜Ｓ５５が繰り返され、さらに下位の事象が存在しないと判断されると、処理がＳ５６に進む。
【０１０７】
Ｓ５６では、エクスポート部２５は、対象事象に同列事象が存在するか判断する。同列事象が存在する場合は処理がＳ５７に進み、そうでない場合は処理がＳ５８に進む。
【０１０８】
Ｓ５７では、エクスポート部２５は、編集対象セルを所定セル分下側のセルに変更し、当該セルまで延びる罫線を引く。そして、対象事象を当該同列事象に変更する。
【０１０９】
そして、処理がＳ５３に戻り、エクスポート部２５は、編集対象セルに、対象事象のlabel属性の内容を書き込むとともに、当該セルを罫線で囲む。
【０１１０】
さらに同列の事象が存在する間はＳ５３〜Ｓ５７が繰り返され、さらに同列の事象が存在しないと判断されると、処理がＳ５８に進む。
【０１１１】
Ｓ５８では、エクスポート部２５は、編集対象セルを上位事象に対応するセルに移動させるとともに、対象事象を当該セルに対応する上位事象に変更する。
【０１１２】
Ｓ５９では、エクスポート部２５は、対象事象が頂上事象であるか判断する。頂上事象でない場合は処理がＳ５６に戻り、対象事象の同列事象があるかがさらに判断され、頂上事象であると判断されれば、処理が終了する。
【０１１３】
以上の処理により、ＸＭＬデータが表計算ソフトのデータ形式に変換される。
【０１１４】
図１８は、エクスポート部２５によって、ＸＭＬデータが表計算ソフトのデータ形式に変換される様子を示している。
【０１１５】
上記処理によれば、まず、表計算ソフトのシートの左上の所定のセルに、頂上事象のlabel属性の内容である「ベルト車による伝動の損失が大きい」が書き込まれ、当該セルが罫線で囲まれる（図中（１））。
【０１１６】
次に、頂上事象のセルから３つ右側にあるセルまで罫線が引かれ、当該セルに下位事象のlabel属性である「すべり量が大きい」が書き込まれ、当該セルが罫線で囲まれる（図中（２））。
【０１１７】
次に、「すべり量が大きい」が書き込まれたセルの２つ下側にあるセルまで罫線が引かれ、当該セルに同列事象のlabel属性の内容である「摩擦力が大きい」が書き込まれ、当該セルが罫線で囲まれる（図中（３））。
【０１１８】
同様にして、「抗力が大きい」、「ベルト張力が大きい」及び「摩擦係数が大きい」が書き込まれたセル、これらの間を接続する罫線が作成される（図中（４）、（５））。
【０１１９】
以上のようにして表計算ソフトのシート上にＦＴ図が作成される。作成されたデータは、入出力部を介して装置外のサーバ、パソコンに受け渡すことが可能である。
【０１２０】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一つを示したものに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
【符号の説明】
【０１２１】
２１    インポート部
２２    編集部
２３    事象解析部
２４    整合性検証部
２５    エクスポート部
１００  ＦＴ図作成支援装置
【図１】
2013073384.tif 000003
【図３】
2013073384.tif 000004
【図１１】
2013073384.tif 000005
【図１３】
2013073384.tif 000006
【図１４】
2013073384.tif 000007
【図１５】
2013073384.tif 000008
【図１７】
2013073384.tif 000009
【図２】
2013073384.tif 000010
【図４】
2013073384.tif 000011
【図５】
2013073384.tif 000012
【図６】
2013073384.tif 000013
【図７】
2013073384.tif 000014
【図８】
2013073384.tif 000015
【図９】
2013073384.tif 000016
【図１０】
2013073384.tif 000017
【図１２】
2013073384.tif 000018
【図１６】
2013073384.tif 000019
【図１８】
2013073384.tif 000020
【図１９】
2013073384.tif 000021