FT図作成支援装置であって、FT図のツリー構造をマークアップ言語で記述する第1のデータを編集し、これによって第2のデータを生成する編集部と、前記第2のデータに基づき表計算ソフトのシート上に罫線と文字列とで前記FT図のツリー構造を表現し、これによって第3のデータを生成するエクスポート部と、を備えたことを特徴とするFT図作成支援装置。請求項1に記載のFT図作成支援装置であって、前記第1又は第2のデータから各事象の物理量を取得し、上位事象の物理量と下位事象の物理量との関係に基づき前記第1又は第2のデータの整合性を検証する整合性検証部をさらに備えたことを特徴とするFT図作成支援装置。請求項1又は2に記載のFT図作成支援装置であって、表示部を備え、前記編集部は、前記第1のデータに基づき前記FT図を前記表示部に表示し、前記表示部上で前記FT図の修正が指示されると、当該修正の内容を前記第1のデータに反映し、これによって前記第2のデータを生成する、ことを特徴とするFT図作成支援装置。コンピュータに、FT図のツリー構造をマークアップ言語で記述する第1のデータを編集し、これによって第2のデータを生成する編集処理機能と、前記第2のデータに基づき表計算ソフトのシート上に罫線と文字列とで前記FT図のツリー構造を表現し、これによって第3のデータを生成するエクスポート機能と、を実現させるためのプログラム。請求項4に記載のプログラムであって、前記コンピュータに、さらに、前記第1又は第2のデータから各事象の物理量を取得し、上位事象の物理量と下位事象の物理量との関係に基づき前記第1又は第2のデータの整合性を検証する整合性検証機能を実現するためのプログラム。請求項4又は5に記載のプログラムであって、前記編集機能は、前記第1のデータに基づき前記FT図を前記コンピュータの表示部に表示し、前記表示部上で前記FT図の修正が指示されると、当該修正の内容を前記第1のデータに反映し、これによって前記第2のデータを生成する機能であることを特徴とするプログラム。FT図は、マイクロソフト社のExcel登録商標をはじめとする、表計算ソフトの罫線機能を用いて作成されることが多い。これは、表計算ソフトの普及率が高く、また、普及率の高さ故、ある技術者が作成したFT図を他の技術者が利用するのに適しているからである。しかしながら、表計算ソフトを用いたFT図の作成は効率の良いものではなく、特に、一旦作成されたFT図を修正したい場合事象の追加、削除等は、手間がかかるという問題があった。本発明は、このような技術的課題に鑑みてなされたもので、FT図の編集を容易に行えるようにすることを目的とする。本発明のある態様によれば、FT図作成支援装置であって、FT図のツリー構造をマークアップ言語で記述する第1のデータを編集し、これによって第2のデータを生成する編集部と、前記第2のデータに基づき表計算ソフトのシート上に罫線と文字列とで前記FT図のツリー構造を表現し、これによって第3のデータを生成するエクスポート部と、を備えたことを特徴とするFT図作成支援装置が提供される。本発明の別の態様によれば、コンピュータに、FT図のツリー構造をマークアップ言語で記述する第1のデータを編集し、これによって第2のデータを生成する編集処理機能と、前記第2のデータに基づき表計算ソフトのシート上に罫線と文字列とで前記FT図のツリー構造を表現し、これによって第3のデータを生成するエクスポート機能と、を実現させるためのプログラムが提供される。これらの態様よれば、FT図の編集を容易に行うことができる。以下、添付図面を参照しながら本発明の実施形態について説明する。<全体構成>図1はFT図作成支援装置100の全体構成を示している。本装置100は、入出力部1、処理部2、記憶部3、表示部4及び操作部5を有し、図2に示すように、以下の機能:表計算ソフト例えば、マクロソフト社のExcel登録商標で作成されたFT図のデータをインポートし、マークアップ言語で記述されたデータに変換するインポート機能マークアップ言語で記述されたFT図を表示部4上で編集する編集機能マークアップ言語で記述されたFT図の事象の具体的内容を解析する事象解析機能編集前又は編集後のマークアップ言語で記述されたFT図の整合性下位事象の展開が正しいか否かを検証する整合性検証機能編集後のマークアップ言語で記述されたFT図のデータを、表計算ソフトのデータ形式に変換し、エクスポートするエクスポート機能を有している。表計算ソフトで作成されたFT図のデータとは、表計算ソフトのシート上に罫線と文字列とでツリー構造が表現されたFT図のデータのことである。図19に示すように、罫線で囲まれたセル内に記入された文字列を事象とみなし、各事象の間を罫線で接続することでFT図のツリー構造を表現している。マークアップ言語で記述されたFT図のデータとは、本実施形態では、XMLデータであり、FT図の各事象の内容及びそれらのツリー構造を、タグを利用して記述する。なお、以下の説明では、マークアップ言語で記述されたFT図のデータがXMLデータであるとして説明する。XMLデータにおいては、各事象の要素は、開始タグと終了タグとで構成される。開始タグには、対応する事象の種々の属性事象の内容を示すlabel属性、事象が扱う物理量の単位を示すunit属性、事象の故障値状態を示すqstate属性、下位事象の関係が論理和か論理積かを示すlogic属性、物理量の整合性検証結果を示すverification属性が含まれる。下位事象と上位事象との上下関係は、上位事象の開始タグと終了タグとの間に下位事象の要素を配置することで表現される。また、同列の事象はそれらの要素を並列に配置することで表現される。なお、終了タグは、開始タグのみで事象間の関係が明確である場合は適宜省略可能である。本装置100を構成する各部位について説明すると、入出力部1は、有線又は無線のネットワークインターフェース、カードリーダ、USBコネクタ、Bluetooth登録商標等である。入出力部1は、外部のサーバ、パソコン等とデータをやりとりするために用いられる。主にやりとりするデータは、本装置100にインポートするための表計算ソフトで作成されたFT図のデータ、及び、本装置100で編集又は作成され、本装置100からエクスポートするための表計算ソフトのデータ形式のFT図のデータである。処理部2は、マイクロプロセッサ、RAM、ROM等で構成される。マイクロプロセッサは、ROM又は後述する記憶部3に記憶されているプログラムをRAMに読み込んで実行することによって、上記各機能を実現するインポート部21、編集部22、事象解析部23、整合性検証部24及びエクスポート部25として機能する。各部の具体的な処理内容については後述する。記憶部3は、ハードディスク、フラッシュメモリ等の記憶装置である。記憶部3は、処理部2の処理において必要なデータ及びプログラムを記憶する。表示部4は、液晶ディスプレイ等の表示装置である。表示部4は、FT図のツリー構造、FT図の整合性検証結果、編集又は作成中のXMLデータ等を表示する。操作部5は、キーボード、マウス、タッチパネル等の入力装置である。操作部5は、ユーザーからの各種操作を受け付ける。次に、処理部2の各部の処理内容について説明する。<インポート部21>インポート部21は、表計算ソフトで作成されたFT図のデータを入出力部1を介して読み込み、これをXMLデータに変換する機能を有する。図3は、インポート部21の処理内容プログラムの内容を示したフローチャートである。これを参照しながら、インポート部21の処理内容について説明する。まず、インポート部21は、S1において、表計算ソフトで作成されたFT図から、頂上事象を探索する。頂上事象とはその上位にさらに別の事象がない事象である。具体的には、インポート部21は、シートの左上から順に罫線に囲まれたセルを探索する。なお、事象が複数のセルを使って記載されることもあるが、ここでは説明を簡略化するために、単一のセルに記載される場合に限定して説明する。S2では、インポート部21は、頂上事象が発見されたか判断する。頂上事象が発見されたと判断された場合は、処理がS3に進み、そうでない場合は処理が終了する。S3では、インポート部21は、発見された頂上事象のセルを分析対象セルとして設定する。また、インポート部21は、FT図のデータであることを示す開始タグ及び終了タグを含んだXMLデータを用意し、当該XMLデータに頂上事象を追加する。具体的には、開始タグ及び終了タグからなる頂上事象の要素を、開始タグと終了タグとの間に追加する。S4では、インポート部21は、分析対象セルから文字列を取得し、分析対象セルに対応する事象のlabel属性として取得した文字列を設定する。さらに、インポート部21は、分析対象セルの右側の領域を探索し、ANDの文字列があれば分析対象セルに対応する事象の下位事象が論理積であると判断し、なければ論理和であると判断する。そして、インポート部21は、分析対象セルに対応する事象のlogic属性として、論理和であればOR、論理積であればANDを設定する。S5では、インポート部21は、分析対象セルの下位事象を探索する。具体的には、分析対象セルから右側に延びる罫線を辿り、その先にある罫線で囲まれたセルを探索する。S6では、インポート部21は、下位事象が発見されたか判断する。下位事象が発見されたと判断された場合は処理がS7に進み、そうでない場合は処理がS8に進む。S7では、インポート部21は、発見された下位事象のセルを分析対象セルに設定し、XMLデータに下位事象を追加する。XMLデータにおいて、下位事象の要素は、上位事象の開始タグと終了タグとの間に配置され、これによって下位事象であることが表現される。そして、処理がS4に戻り、当該下位事象にlabel属性が設定され、さらに下位の事象の探索が行われる。インポート部21は、下位事象が発見されなくなるまでS4~S7の処理を繰り返す。S8では、インポート部21は、分析対象セルと同列の事象以下、同列事象という。を探索する。具体的には、分析対象セルから左側に延びる罫線から下側に分岐する罫線を辿り、その先にある罫線で囲まれたセルを探索する。S9では、インポート部21は、同列事象が発見されたか判断する。同列事象が発見されたと判断された場合は処理がS10に進み、そうでない場合は処理がS11に進む。S10では、インポート部21は、発見された同列事象のセルを分析対象セルに設定し、XMLデータに同列事象を追加する。同列事象の要素は他の同列事象の要素と並列になるように配置され、これによって同列事象であることが表現される。そして、処理がS4に戻り、当該同列事象にlabel属性が設定され、再び下位事象及び同列事象の探索が行われる。インポート部21は、同列事象が発見されなくなるまでS4~S10の処理を繰り返す。S11では、インポート部21は、直前に発見された同列事象の上位事象を分析対象セルに設定する。そして、S12では、インポート部21は、当該分析対象セルに対応する事象が頂上事象か判断し、頂上事象であれば処理を終了し、そうでなければS8に戻って再び同列事象の探索を行う。以上の処理により、表計算ソフトで作成されたFT図のデータがXMLデータに変換される。図4は、インポート部21によって、表計算ソフトで作成されたFT図のデータから事象が探索される様子を示している。上記処理によれば、まず、ベルト車による伝動の損失が大きいと記載されたセルが発見され図中1、XMLデータに頂上事象ベルト車による伝動の損失が大きいが追加される。次いで、その右側に配置されるすべり量が大きいと記載されたセルが発見され図中2、XMLデータに下位事象すべり量が大きいが追加される。すべり量が大きいと記載されたセルの右側にはさらに別の事象のセルが存在しないので、次はこれと同列のセルが検索され、摩擦力が大きいと記載されたセルが発見される図中3。そして、XMLデータに同列事象摩擦力が大きいが追加される。同様にして、抗力が大きい、ベルト張力が大きい及び摩擦係数が大きいと記載されたセルが発見され図中4、5、XMLデータに下位事象抗力が大きい、下位事象ベルト張力が大きい、及び、同列事象摩擦係数が大きいが追加される。図5は、インポート処理によって生成されたXMLデータを示している。FT図のツリー構造はタグの包含関係によって表現され、また、各事象は、label属性、logic属性、verification属性を有している。ただし、物理量の整合性検証はまだ行われていないので、verification属性には仮の値が入っている。また、表示部4には、ツリー構造が図6に示すような形式で表示される。表示されるツリー構造は罫線及び文字列で表現されたFT図のツリー構造と同じものであるが、ツリー構造を見やすくするために、下位事象を有する事象の左側に表示されるフォルダのイラストをクリックすると、下位事象を折りたたむ又は展開することが可能になっている。<編集部22>編集部22は、表示部4に表示されたFT図のツリー構造を見ながら、表示部4上でツリー構造の修正を行う機能を有する。ユーザーが操作部5を操作することによって表示部4上でFT図のツリー構造を変更すると、編集部22は、その変更内容をXMLデータに反映する。以下、代表的な編集機能について説明する。-下位事象の追加-図7は、頂上事象に下位事象を追加する場合の様子を示している。図中左側は表示部4の表示内容であり、図中右側はこれに対応するXMLデータである。また、図中上側は編集前の状態、図中下側は編集後の状態を示している図8~図10も同様。ユーザーが表示部4上で頂上事象を選択すると、編集部22は表示部4に編集メニュー不図示を表示させる。編集メニューには追加が含まれ、ユーザーがこれを選択すると、事象の属性を入力するウインドウが開く。そして、ユーザーがlabel属性等の属性を入力すると、編集部22は、表示部4において、頂上事象の下位に<事象>を表示させる。表示部4上でこのような編集作業が行われると、編集部22は、その内容をリアルタイムでXMLデータに反映し、図中右側に示すように、<事象>の要素がXMLデータに追加される。<事象>は頂上事象の下位事象であるので、<事象>の要素は、頂上事象の開始タグの下に配置される。なお、この例では、頂上事象の終了タグは省略されている。-下位事象の削除-図8は、下位事象を削除する場合の様子を示している。ユーザーが表示部4上で<事象>を選択すると、編集部22は表示部4に編集メニュー不図示を表示させる。編集メニューには削除が含まれ、ユーザーがこれを選択すると、編集部22は、表示部4において、<事象>を消去する。表示部4上でこのような編集作業が行われると、編集部22は、その内容をリアルタイムでXMLデータに反映し、図中右側に示すように、XMLデータから<事象>の要素が削除される。-事象の移動-図9は、下位事象を移動する場合の様子を示している。この例では、頂上事象の下位に、事象A、事象B及び事象Cが同列に配置されている。ユーザーがその中の一つである事象Aを選択し、事象Bの上にドラッグしてドロップすると、編集部22は、表示部4において、事象Aを事象Bの下位に移動させる。表示部4上でこのような編集作業が行われると、編集部22は、その内容をリアルタイムでXMLデータに反映し、図中右側に示すように、XMLデータにおいて事象Aの要素が事象Bの開始タグと終了タグとの間に移動される。-事象のコピー-図10は、下位事象をコピーする場合の様子を示している。この例では、頂上事象の下位に、事象B及び事象Cが同列に配置され、事象Bの下位には事象Aが配置される。ユーザーが表示部4上で事象Bを選択すると、編集部22は、表示部4に編集メニュー不図示を表示させる。編集メニューにはコピーとペーストが含まれ、ユーザーがコピーを選択し、かつ、続けて事象Cを選択してペーストを選択すると、編集部22は、表示部4において、事象Cの下位に事象B及び事象Aを移動させる。表示部4上でこのような編集作業が行われると、編集部22は、その内容をリアルタイムでXMLデータに反映し、図中右側に示すように、XMLデータにおいて、事象Cのと終了タグとの間に事象B及び事象Aの要素が追加される。ここで説明した編集機能は、編集部22が有する機能の一部であるが、その他の機能についても同様に、表示部4上でFT図のツリー構造が変更されると、その変更内容がXMLデータにリアルタイムで反映される。したがって、XMLデータを編集するにあたり、ユーザーがXMLタグや記述方法を意識する必要はなく、表示部4に表示されるツリー構造を表示部4上で編集すれば、XMLデータを容易に書き換えることができる。なお、ここでは、インポート処理によって得られるXMLデータを編集するとして説明したが、インポートすることなく、編集部22でXMLデータを新規に作成することも可能である。<事象解析部23>事象解析部23は、各事象のlabel属性から、物理量の単位、及び、故障値状態を解析し、各事象にunit属性、qstate属性を追加する機能を有する。図11は、事象解析部23の処理内容プログラムの内容を示したフローチャートである。これを参照しながら、事象解析部23の処理内容について説明する。まず、事象解析部23は、S21で、XMLデータから、全事象を抽出し、それらのlabel属性を事象リストに追加する。事象リストとは、本解析の作業用のテキストデータである。S22では、事象解析部23は、事象リストが空か判断する。事象リストが空の場合は処理が終了し、事象リストに事象が含まれている場合は処理がS23に進む。S23では、事象解析部23は、リスト先頭の事象を解析対象の事象である対象事象とし、その内容を対象文字列として設定する。S24では、事象解析部23は、図12に示すように、対象文字列の後ろ側から故障値用語を検索する。検索は、図13に示す用語辞書を用い、用語辞書とのマッチングにより行う。故障値用語とは、事象に含まれる物理量がどのような状態になったら故障の原因となるかを示す用語であり、例えば、電圧が高いという事象であれば高い、長さが短いという事象であれば短いが故障値用語となる。S25では、事象解析部23は、故障値用語が発見されたか判断する。故障値用語が発見された場合は処理がS26に進み、そうでない場合は処理がS28に進む。S26では、図13に示す用語辞書を参照して、発見された故障値用語に対応する故障値状態の属性を読み込み、これを解析対象の事象のqstate属性として設定する。qstate属性は、例えば、高いであれば、短いであれば-である。S27では、事象解析部23は、対象文字列から故障値用語を削除する。S28では、事象解析部23は、図12に示すように、対象文字列の後ろ側からさらに物理量用語を検索する。検索は、図14に示す用語辞書を用い、用語辞書とのマッチングにより物理量用語の検索を行う。物理量用語は、例えば、電圧が高いという事象であれば電圧、長さが短いという事象であれば長さである。S29では、事象解析部23は、物理量用語が発見されたか判断する。物理量用語が発見された場合は処理がS30に進み、そうでない場合は処理がS31に進む。S30では、事象解析部23は、図14に示す用語辞書を参照して、発見された物理量用語の単位を読み込み、これを解析対象の事象のunit属性として設定する。物理量用語の属性は、例えば、電圧であればV、長さであればmである。S31では、リストの先頭にある事象を削除し、S22に戻る。S22で事象リストが空と判断されるまでS22~S30の処理が繰り返され、最終的には、リスト内の事象全てについてunit属性及びqstate属性が設定される。<整合性検証部24>整合性検証部24は、編集前又は編集後のXMLデータにおいて、上位事象と下位事象との物理量の関係に基づき、下位事象の展開が適切に行われているか検証し、検証結果に基づき各事象のverification属性を設定する機能を有する。図15は、整合性検証部24の処理内容プログラムの内容を示したフローチャートである。これを参照しながら、整合性検証部24の処理内容について説明する。まず、整合性検証部24は、S41で、検証対象の事象が基本事象か判断する。基本事象とは自らよりも下位の事象を有さない下位事象のことである。検証対象の事象が基本事象である場合は整合性を検証する意味がないので、処理がS42に進み、検証対象の事象のverification属性が未検証であることを示す0に設定される。検証対象の事象が基本事象でない場合は処理がS43に進む。S43では、整合性検証部24は、以下のいずれかが成立しているか判断する。検証対象の事象が物理量を含まない。検証対象の事象の下位事象がいずれも物理を含まない。いずれかが成立している場合は、整合性の検証を行うことができないので、処理がS44に進み、検証対象の事象のverification属性が判定不可であることを示す-1に設定される。いずれも成立していない場合は処理がS45に進む。S45では、検証対象の事象の物理量とその下位事象の物理量に関し、以下のいずれかが成立しているか判断する。検証対象の事象の物理量の単位が下位事象の物理量の単位の加減算で表現できる。すなわち、検証対象の事象の物理量と下位事象の物理量とが同じ単位である。検証対象の事象の物理量の単位が下位事象の物理量の単位の乗除又はべき乗算で表現できる。すなわち、検証対象の事象の物理量の単位が下位事象の物理量の単位を用いて表現できる。いずれかが成立していれば、整合性がとれている下位事象の展開が適切に行われている可能性があり、さらなる検証を行うべく、処理がS47に進む。そうでない場合は整合性がとれていない下位事象の展開が適切に行われていないので、S46に進み、検証対象事象のverification属性が不整合であることを示す3に設定される。S47では、下位事象に物理量が不明の事象が含まれているか判断する。下位事象に物理量が不明の事象が含まれている場合は、S45で肯定的な判断がなされても、整合性がとれていない可能性があるので、処理がS48に進み、検証対象の事象のverification属性が不整合の可能性があることを示す2に設定される。そうでない場合は、整合性がとれている下位事象の展開が適切に行われているので、処理がS49に進み、検証対象の事象のverification属性が整合であることを示す4に設定される。この処理は、XMLデータに含まれる全事象について行われ、全事象についてverification属性が設定される。図16は、整合性検証前後の表示部4の表示及びXMLデータを示している。整合性検証が行われることによって、各事象のverification属性の値が設定され、表示部4に表示されるツリー構造には、検証結果を示すイラスト、例えば、整合であれば○、不整合であれば×、未検証であれば-が各事象の右側に表示される。これにより、ユーザーは、下位事象の展開が適切にされていない可能性、及び、展開が適切になされていない場所を容易に知ることができ、FT図を修正する際に参考にすることができる。<エクスポート部25>エクスポート部25は、編集部22で編集された後のXMLデータを、表計算ソフトのデータ形式に変換する機能を有する。図17は、エクスポート部25の処理内容プログラムの内容を示したフローチャートである。これを参照しながら、エクスポート部25の処理内容について説明する。まず、エクスポート部25は、S51で、XMLデータに頂上事象が含まれているか判断する。頂上事象が含まれていない場合は処理が終了し、頂上事象が含まれている場合は処理がS52に進む。S52では、エクスポート部25は、表計算ソフトの空のシートを用意し、当該シートの左上の所定のセルを編集対象セルに設定する。さらに、XMLデータの頂上事象を対象事象に設定する。S53では、エクスポート部25は、編集対象セルに、対象事象のlabel属性の内容を書き込むとともに、当該セルを罫線で囲む。S54では、エクスポート部25は、対象事象に下位事象が存在するか判断する。下位事象が存在する場合は処理がS55に進み、そうでない場合は処理がS56に進む。S55では、エクスポート部25は、編集対象セルを所定セル分右側のセルに変更し、当該セルまで延びる罫線を引く。また、対象事象と当該下位事象との関係が論理積である場合は、罫線の上側に位置する空白セルにANDの文字を書き込む。そして、対象事象を当該下位事象に変更する。そして、処理がS53に戻り、エクスポート部25は、編集対象セルに、対象事象のlabel属性の内容を書き込むとともに、当該セルを罫線で囲む。さらに下位の事象が存在する間はS53~S55が繰り返され、さらに下位の事象が存在しないと判断されると、処理がS56に進む。S56では、エクスポート部25は、対象事象に同列事象が存在するか判断する。同列事象が存在する場合は処理がS57に進み、そうでない場合は処理がS58に進む。S57では、エクスポート部25は、編集対象セルを所定セル分下側のセルに変更し、当該セルまで延びる罫線を引く。そして、対象事象を当該同列事象に変更する。そして、処理がS53に戻り、エクスポート部25は、編集対象セルに、対象事象のlabel属性の内容を書き込むとともに、当該セルを罫線で囲む。さらに同列の事象が存在する間はS53~S57が繰り返され、さらに同列の事象が存在しないと判断されると、処理がS58に進む。S58では、エクスポート部25は、編集対象セルを上位事象に対応するセルに移動させるとともに、対象事象を当該セルに対応する上位事象に変更する。S59では、エクスポート部25は、対象事象が頂上事象であるか判断する。頂上事象でない場合は処理がS56に戻り、対象事象の同列事象があるかがさらに判断され、頂上事象であると判断されれば、処理が終了する。以上の処理により、XMLデータが表計算ソフトのデータ形式に変換される。図18は、エクスポート部25によって、XMLデータが表計算ソフトのデータ形式に変換される様子を示している。上記処理によれば、まず、表計算ソフトのシートの左上の所定のセルに、頂上事象のlabel属性の内容であるベルト車による伝動の損失が大きいが書き込まれ、当該セルが罫線で囲まれる図中1。次に、頂上事象のセルから3つ右側にあるセルまで罫線が引かれ、当該セルに下位事象のlabel属性であるすべり量が大きいが書き込まれ、当該セルが罫線で囲まれる図中2。次に、すべり量が大きいが書き込まれたセルの2つ下側にあるセルまで罫線が引かれ、当該セルに同列事象のlabel属性の内容である摩擦力が大きいが書き込まれ、当該セルが罫線で囲まれる図中3。同様にして、抗力が大きい、ベルト張力が大きい及び摩擦係数が大きいが書き込まれたセル、これらの間を接続する罫線が作成される図中4、5。以上のようにして表計算ソフトのシート上にFT図が作成される。作成されたデータは、入出力部を介して装置外のサーバ、パソコンに受け渡すことが可能である。以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一つを示したものに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。