情報処理装置間における電文授受をシミュレートするシステムであって、一連の電文授受の流れを構成する電文の送受信順序を規定したシーケンス情報と、各電文のデータ構造と該データ構造をなす各データの意味を示す辞書情報とを格納した記憶部と、入力部で受けた入力電文から電文の識別情報を読み取り、該識別情報を前記シーケンス情報に照合し、前記入力電文に対し応答すべき応答電文を特定する処理と、前記特定した応答電文について前記辞書情報にてデータ構造と各データの意味の情報を取得し、該取得したデータ構造における各データの位置および意味に関して前記入力電文中で合致するデータを特定する処理と、前記特定したデータを前記入力電文より抽出し、該抽出した値を前記応答電文における該当データの値として設定し、当該応答電文を出力部に出力する処理を実行する演算部と、を備えることを特徴とする電文シミュレーションシステム。前記電文におけるデータ構造が各データによる階層構造をなすものであり、前記演算部は、前記データを特定する処理に際し、前記応答電文について前記辞書情報にてデータ構造と各データの意味の情報を取得し、該取得したデータ構造における各データの位置および意味に関して前記入力電文中で合致するデータを特定するとともに、該特定したデータの上位階層のデータについて、前記応答電文と前記入力電文との間でデータ構造における該当データの位置および意味が合致するか判定し、該上位階層のデータについても合致をみた場合に、前記特定したデータを前記応答電文における該当データの値とするものであることを特徴とする請求項1に記載の電文シミュレーションシステム。前記記憶部は、各電文を構成するデータのうち値が可変であるものについて、その可変範囲の情報を更に格納しており、前記演算部は、前記応答電文を構成する各データのうち、前記入力電文より抽出した値を設定していないデータ項目について値の可変範囲の情報を記憶部より抽出し、前記応答電文における該当データ項目の表示に合わせて、前記可変範囲の情報が示す各値を選択可能に出力部にて表示し、ユーザからの値選択を入力部にて受け付け、該受け付けた選択値を応答電文における該当データ項目に設定するものである、ことを特徴とする請求項1または2に記載の電文シミュレーションシステム。一連の電文授受の流れを構成する電文の送受信順序を規定したシーケンス情報と、各電文のデータ構造と該データ構造をなす各データの意味を示す辞書情報とを格納した記憶部を備え、情報処理装置間における電文授受をシミュレートするコンピュータが、入力部で受けた入力電文から電文の識別情報を読み取り、該識別情報を前記シーケンス情報に照合し、前記入力電文に対し応答すべき応答電文を特定する処理と、前記特定した応答電文について前記辞書情報にてデータ構造と各データの意味の情報を取得し、該取得したデータ構造における各データの位置および意味に関して前記入力電文中で合致するデータを特定する処理と、前記特定したデータを前記入力電文より抽出し、該抽出した値を前記応答電文における該当データの値として設定し、当該応答電文を出力部に出力する処理と、を実行することを特徴とする電文シミュレーション方法。一連の電文授受の流れを構成する電文の送受信順序を規定したシーケンス情報と、各電文のデータ構造と該データ構造をなす各データの意味を示す辞書情報とを格納した記憶部を備え、情報処理装置間における電文授受をシミュレートするコンピュータに、入力部で受けた入力電文から電文の識別情報を読み取り、該識別情報を前記シーケンス情報に照合し、前記入力電文に対し応答すべき応答電文を特定する処理と、前記特定した応答電文について前記辞書情報にてデータ構造と各データの意味の情報を取得し、該取得したデータ構造における各データの位置および意味に関して前記入力電文中で合致するデータを特定する処理と、前記特定したデータを前記入力電文より抽出し、該抽出した値を前記応答電文における該当データの値として設定し、当該応答電文を出力部に出力する処理と、を実行させることを特徴とする電文シミュレーションプログラム。上述した電文処理機能を開発するにあたり、電文を送受する相手となる接続先システムをシステムの開発時やテスト時に利用できれば、開発やテストを効率よく行うことができる。しかし実際には、接続先システム自体も開発中であったり、開発、テストでの利用が制限されていたりする場合があるため、接続先システムの動作を模擬するシミュレータを用いることがある。しかしながら、このシミュレータの開発には、接続先システムにおける電文の送受信、応答電文作成の各機能を実際に開発する際のコストと同等の開発コストがかかってしまう難点がある。一方、従来技術の如くWSDLを利用するとしても、このWSDLでは入力電文、応答電文のフォーマットが定義されるのみで、応答電文内の各項目に適宜な値を自動的に設定し応答電文の自動生成を行うことはできない。そこで本発明の目的は、電文処理のシミュレータにおける、入力電文に対する応答電文の作成を効率化する技術を提供することにある。上記課題を解決する本発明の電文シミュレーションシステムは、情報処理装置間における電文授受をシミュレートするシステムであって、一連の電文授受の流れを構成する電文の送受信順序を規定したシーケンス情報と、各電文のデータ構造と該データ構造をなす各データの意味を示す辞書情報とを格納した記憶部と、入力部で受けた入力電文から電文の識別情報を読み取り、該識別情報を前記シーケンス情報に照合し、前記入力電文に対し応答すべき応答電文を特定する処理と、前記特定した応答電文について前記辞書情報にてデータ構造と各データの意味の情報を取得し、該取得したデータ構造における各データの位置および意味に関して前記入力電文中で合致するデータを特定する処理と、前記特定したデータを前記入力電文より抽出し、該抽出した値を前記応答電文における該当データの値として設定し、当該応答電文を出力部に出力する処理を実行する演算部と、を備えることを特徴とする。また、本発明の電文シミュレーション方法は、一連の電文授受の流れを構成する電文の送受信順序を規定したシーケンス情報と、各電文のデータ構造と該データ構造をなす各データの意味を示す辞書情報とを格納した記憶部を備え、情報処理装置間における電文授受をシミュレートするコンピュータが、入力部で受けた入力電文から電文の識別情報を読み取り、該識別情報を前記シーケンス情報に照合し、前記入力電文に対し応答すべき応答電文を特定する処理と、前記特定した応答電文について前記辞書情報にてデータ構造と各データの意味の情報を取得し、該取得したデータ構造における各データの位置および意味に関して前記入力電文中で合致するデータを特定する処理と、前記特定したデータを前記入力電文より抽出し、該抽出した値を前記応答電文における該当データの値として設定し、当該応答電文を出力部に出力する処理と、を実行することを特徴とする。また、本発明の電文シミュレーションプログラムは、一連の電文授受の流れを構成する電文の送受信順序を規定したシーケンス情報と、各電文のデータ構造と該データ構造をなす各データの意味を示す辞書情報とを格納した記憶部を備え、情報処理装置間における電文授受をシミュレートするコンピュータに、入力部で受けた入力電文から電文の識別情報を読み取り、該識別情報を前記シーケンス情報に照合し、前記入力電文に対し応答すべき応答電文を特定する処理と、前記特定した応答電文について前記辞書情報にてデータ構造と各データの意味の情報を取得し、該取得したデータ構造における各データの位置および意味に関して前記入力電文中で合致するデータを特定する処理と、前記特定したデータを前記入力電文より抽出し、該抽出した値を前記応答電文における該当データの値として設定し、当該応答電文を出力部に出力する処理と、を実行させることを特徴とする。本発明によれば、電文処理のシミュレータにおける、入力電文に対する応答電文の作成を効率化できる。---システム構成---以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態の電文シミュレーションシステム100を含むネットワーク構成図であり、図2は本実施形態における電文シミュレーションシステムの構成例を示す図である。図1に示す電文シミュレーションシステム100は、電文処理のシミュレータにおける、入力電文に対する応答電文の作成を効率化するコンピュータシステムである。本実施形態においては、電文シミュレーションシステムをシミュレータ100として示している以下同様。シミュレータ100は、例えば、金融機関で運用される決済システム等に関して、その電文授受をシステム開発時やテスト時にシミュレートするためのコンピュータである。以下では、シミュレータ100が、開発中システムであるテスト対象システム200から電文を受信した時に、テスト対象システム200への応答電文を自動作成する状況を一例として想定している。従って、テスト対象システム200は開発中のシステムであり、電文授受に関しテストを行って機能の確認を行おうとしているシステムとなる。なお、本実施形態においては、開発中システムであるテスト対象システム200とシミュレータ100がそれぞれ1つずつの構成を例にあげているが、この構成に限定されず、複数のテスト対象システム200に対してシミュレータ100を接続した構成なども採用できる。この場合は、シミュレータ100が各テスト対象システム200に対して並行して処理を実行することとなる。また本実施形態においては、ISO20022において定義される電文のメタ情報を利用するものとする。メタ情報とは、ISO20022において電文の書式や構造を定めるのみではなく、業務における各項目の位置づけや項目間の関係を定義した情報である。ISO20022では、このメタ情報を組み合わせることで電文を定義している。なお、現在、ISO20022ではXMLを用いた電文が主として利用されている。本実施形態においても、以降、XMLの電文を例としてあげる。勿論、本実施形態で例示する電文シミュレーション手法を、XML以外のフォーマットの電文に適用してもよい。また、電文を構成するデータすなわちXMLの要素タグに囲まれた部分の階層構造において、上位の要素を親、その下位の要素を子と称する。また、ある要素から見て上位階層に連なる各要素は祖先と称し、ある要素から見て下位階層に連なる各要素は子孫と称することとする。上述したシミュレータ100のハードウェア構成は以下の如くとなる。図2に示すように、前記シミュレータ100は、ハードディスクドライブなど適宜な不揮発性記憶装置で構成される記憶部101、RAMなど揮発性記憶装置で構成されるメモリ103、記憶部101に保持されるプログラム102をメモリ103に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうCPU104演算部、ユーザからの入力を受け付けるキーボード等の入力部105、処理データの表示を行うディスプレイ等の出力部106、ネットワーク150と接続しテスト対象システム200との電文授受を担う通信部107、を備える。これら各部101~107はバスにより相互に接続されている。なお、記憶部101内には、本実施形態の電文シミュレーションシステムとして必要な機能を実装する為のプログラム102と、シーケンス情報112、辞書情報113、および値候補テーブル114が少なくとも記憶されている。シーケンス情報112、および辞書情報113は、ISO20022のメタ情報となる。続いて、本実施形態のシミュレータ100が備える機能について説明する。上述したように、以下に説明する機能は、例えばシミュレータ100が備えるプログラム102を実行することで実装される機能と言える。シミュレータ100は、入力部105で受けた入力電文から電文の識別情報を読み取り、該識別情報を記憶部101のシーケンス情報112に照合し、入力電文に対し応答すべき応答電文を特定する機能を備えている。また、シミュレータ100は、上記で特定した応答電文について記憶部101の辞書情報113にてデータ構造と各データの意味の情報を取得し、該取得したデータ構造における各データの位置および意味に関して入力電文中で合致するデータを特定する機能を備えている。また、シミュレータ100は、上記で特定したデータを入力電文より抽出し、該抽出した値を応答電文における該当データの値として設定し、当該応答電文を出力部106に出力する機能を備えている。なお、シミュレータ100は、前記特定した応答電文について記憶部101の辞書情報113にてデータ構造と各データの意味の情報を取得し、該取得したデータ構造における各データの位置および意味に関して入力電文中で合致するデータを特定するに際し、該特定したデータの上位階層のデータについて、応答電文と入力電文との間でデータ構造における該当データの位置および意味が合致するか判定し、該上位階層のデータについても合致をみた場合に、前記特定したデータを応答電文における該当データの値とする機能も備えている。また、シミュレータ100は、応答電文を構成する各データのうち、入力電文より抽出した値を設定していないデータ項目について値の可変範囲の情報を記憶部101の値候補テーブル114より抽出し、応答電文における該当データ項目の表示に合わせて、可変範囲の情報が示す各値を選択可能に出力部106にて表示し、ユーザからの値選択を入力部105にて受け付け、該受け付けた選択値を応答電文における該当データ項目に設定する機能を備えている。---データ構造例---次に、本実施形態のシミュレータ100が用いる各種データの構造例について説明する。まずは、シーケンス情報112について説明する。シーケンス情報112は、一連の電文授受の流れを構成する電文の送受信順序を規定した情報となる。一連の電文授受の流れ、すなわちシーケンスの例としては、図3において、ISO20022の電文開発電文のフォーマットの定義で定義される、資金の支払業務を模したシーケンス図を示す。ここで、支払人311は支払業務における支払人のシステム、銀行312は支払を仲介する銀行のシステム、受取人313は銀行が仲介した支払の受取人のシステムを示す。このシーケンスの場合、電文フロー321は支払人311から銀行312へ電文としてPAYMENT01が送信されることを示す。また、電文フロー322は、銀行312が電文PAYMENT01を受信した後に、電文PAYMENT02を支払人311へ送信することを示す。電文フロー323は、支払人311が電文PAYMENT02を受信した後に、電文PAYMENT03を銀行312へ送信することを示す。最後に、電文フロー324は、銀行312が電文PAYMENT03を受信した後に、電文PAYMENT04を受取人313に送信することを示す。このように、ある業務処理に関して電文が連なったシーケンスの情報は、シミュレータ100がシーケンス情報112として記憶部101に記憶している。このシーケンス情報112は、シミュレータ100が入力部105あるいは通信部107を介してユーザ等からの入力を受け、これを記憶部101に格納したものとする。上述した図3のシーケンス図に対応したシーケンス情報112の例を図4に示す。図4に例示するシーケンス情報112において、1つのレコードは、図3のシーケンス図における1つの電文フローの情報に対応する。このシーケンス情報112は、送信元411、送信先412、電文ID413、および次電文ID414、の各データを含むレコードの集合体となっている。上述の送信元411は、シーケンスにおける各電文フロー図3:電文フロー321、電文フロー322などの送信元の情報となる。図3の例であれば、電文フロー321において送信元となる支払人311の情報となる。また、送信先412は、シーケンスにおける各電文フローの送信先の情報となる。図3の例であれば、電文フロー321において送信先となる銀行312の情報となる。また、電文ID413は、シーケンスにおける各電文フローのID図3:PAYMENT01、PAYMENT02などとなる。図3の例であれば、電文フロー321において、PAYMENT01の値となる。また、次電文ID414は、シーケンスにおいて、電文ID413に保持した該当電文フローの次に実行されるべき電文フローのIDとなる。図3の例であれば、電文フロー321に関しては、次の電文フローである電文フロー322のIDPAYMENT02が次電文ID414の値となる。なお、図4においてはシーケンス情報112をテーブルの形式で示したが、UMLUnifiedModelingLanguageで定義されているシーケンス図の情報は例えばXMLを用いたXMIXMLMetadataInterchangeの形式で表現されていてもよい。次に図5を用いて、金融機関間で授受する電文の例を示す。図5に示す入力電文501はテスト対象システム200がシミュレータ100に送信してくる電文であり、すなわちシミュレータ100の入力となる。この入力電文501はXML形式で記述された電文であり、複数の項目データの項目を開始タグ、終了タグで囲み、階層的な構造を持つ。図5に例示した入力電文501は、金融機関での支払業務において支払人が銀行に支払を依頼する電文、すなわち支払指図を表す電文を模したもので、例えば、支払方法を特定する要素PaymentMethod、支払人を特定する要素Debtor、支払金額を特定する要素InstructionAmount、受取人を特定する要素Creditorなどの各項目を含んでいる。同様に図6を用いて応答電文の例を示す。図6に示す応答電文601は、図5で示した支払指図を表す入力電文501がシミュレータ100に入力された場合に、シミュレータ100が支払人のシステムに送信する確認電文に該当し、テスト対象システム200の入力となる。この応答電文601も上述の入力電文501と同様、階層的な構造を持つXML形式で記述された電文である。なお、図6の応答電文601の要素のうち、Amount、Debtor、Creditorは入力電文501の同名の要素と同じ値が設定される。一方で、要素TransactionStatusは、銀行のシステムが新たに値を設定する要素であり、支払の状況を表す項目となる。この要素において、例えばRJCTは、Reject拒否を表し、銀行において支払依頼が拒絶されたことを意味する。本実施形態のシミュレータ100では、応答電文601を生成するために、入力電文501から複数の項目の値を、それぞれ対応する応答電文601における合致項目にコピーして利用する。ある業務における入力電文501と応答電文601において、対応する項目が多数存在する場合には、上記のような項目の値のコピーにより、応答電文601の多くの項目の値を自動設定することが可能である。なお、入力電文501と応答電文601との要素間の対応は必ずしも明確ではない。例えば入力電文や応答電文には、名前を記述する複数の要素や、金額を記述する複数の要素が存在するかもしれない。各データの要素名XMLの場合はタグ名等の一致や型の一致で対応付けられる場合もあるが、同様の要素が多数存在する場合には、その対応付けが難しい。この対応付けを実現するために、本実施形態では電文のメタ情報を利用する。電文のメタ情報は、電文の構造に加えて、各要素の意味を表す情報である。図7を用いて入力電文501のメタ情報701を示す。電文のメタ情報は、電文の構造として電文名とその電文を構成する要素名データ項目の名、要素の型、要素の親子関係からなる書式、構造に関する情報と、それぞれの要素や型のベースとなっている意味情報として業務要素または業務関係の情報を含んでいる。業務要素とは業務の中での位置づけを特定する情報である。また業務関係とは業務要素間の関係を表す情報である。図7の例では、階層構造の最上位にあるデータ項目たる要素702は該当電文の電文種別を示すデータであり、値はPAYMENT01である。また、要素703は該当電文の要素名PaymentInformationを示しており、この要素703は図7のXML構造における最上位の要素となる。また要素703の型704は、PaymentInstructionInformationとなっている。要素703の下位の構造は、要素703の型704により決定される。また図7の例では、型704の下位には要素707他、3つの要素があることを示している。また、メタ情報701は、要素や型に関して、業務における意味の情報を含む。例えば型704、型705の意味は業務要素706が表し、図7の例ではこれらの型は支払指示に関係していることを表している。また、要素707のメタ情報としては、業務関係708として組織は支払の支払人と定義されている。これは要素707の型709PartyIdentificationのメタ情報が業務要素710として組織と定義されているため、型709の下位の構造の情報が、該当組織の情報を表し、その組織が支払という業務の中で支払人という位置づけであることを示している。同様に図7に示すメタ情報は、入力電文501を構成する要素について、その要素の型、階層の情報XMLにおけるタグの親子関係、要素や型のメタ情報を表している。図8に応答電文601のメタ情報801を示す。応答電文601のメタ情報801も入力電文501のメタ情報701と同様、電文の構造として電文名とその電文を構成する要素名、要素の型、要素の親子関係からなる書式、構造に関する情報と、それぞれの要素や型のベースとなっている意味情報として、業務要素または業務関係の情報を保持する。図7や図8に示すメタ情報を、シミュレータ100は記憶部101に辞書情報113として保持する。上述のメタ情報に基づいた辞書情報113の構成例を図9に示す。この場合の辞書情報113は、種別901、名前902、型903、親項目904、子項目905、ベース906、およびポインタ907の各データを含むレコードからなるテーブルであり、各レコードは電文または型または要素の情報を保持している。シミュレータ100は辞書情報113を電文の種類毎に保持している。種別901は、電文、要素、型の種別を保持し、名前902は、電文種別や要素、型の名前を保持し、型903はそのレコードが要素である場合に、その要素の型の名前を保持する。階層構造において上位階層である親要素を持つ要素に関して、該当レコードにおける親項目904にてその親要素の名前を保持する。また、下位階層である子要素を持つ型に関して、種別が要素である子要素の名前を子項目905にて保持する。また、ベース906は当該項目がベースとする業務要素または業務関係の情報を保持する。また、ポインタ907は、以降で説明する図10の値候補テーブル114中より該当レコードのデータを参照する際のキーとなるポインタ情報を保持する。図9の辞書情報113において、ある電文の構造を抽出する場合には、まず、種別901が電文であり、名前902が対象電文より抽出した電文種別の名前と一致するレコードを抽出する。次にそのレコードの子項目905の値を名前902に持ち、種別901が要素であるレコードを抽出する。これが電文の最上位の要素の情報である。以降、最上位の要素から、下位の要素へ親要素からその子要素を順にたどり、構造の情報を順次、次のように抽出する。親要素から子要素を抽出するには、種別901が要素であり、名前902が型のレコードの子項目905に含まれる文字列のいずれかと同じであり、親項目904が型のレコードの名前902と同じであるレコードを子要素の情報のレコードとして抽出する。なお、型のレコードの子項目905に複数の文字列が記載されている場合には、複数の子の要素が存在することを意味する。また上記と同様に、子要素から親要素を抽出することも可能である。具体的には、子要素の情報を表すレコードの親項目904の値が名前902と一致し、かつ種別901が型である型の情報のレコードを抽出する。さらに、型のレコードの親項目904の値が名前902と一致し、かつ種別901が要素である要素の情報のレコードを抽出する。電文の構造の抽出は、辞書情報113から上記のように電文種別の名前から、子の要素、さらにその子の要素の抽出を繰り返して行うことである。抽出された情報の中で、上記に示したように階層構造となっている要素の親要素、子要素を相互に特定することができ、これを繰り返すことで、親の階層をたどる祖先の要素、その型、ベースの情報の抽出、子の階層をたどる子孫の要素、その型、ベースの情報の抽出ことが可能である。続いて図10を用いて値候補テーブル114の構成について説明する。値候補テーブル114は、各電文を構成するデータのうち値が可変であるものについて、その可変範囲の情報を格納したテーブルである。換言すれば、応答電文への値の設定に際して、シミュレータ100により自動的に値を設定出来ない要素について、その値候補の情報を保持するテーブルとなる。よって、図10に示す例では、値の可変範囲が定まっているものの他に、特に範囲が定まっておらずユーザから直接入力してもらうものについても当該テーブルにレコードが含まれている。この値候補テーブル114は、参照ポインタ1102、項目名1103、値候補フラグ1104、値候補1105、およびデータ型1106の各データを含むレコードの集合体となっている。参照ポインタ1102は、辞書情報113中での該当要素すなわち値を自動設定出来ない要素のレコードを特定する値である。また、項目名1103は、該当要素の要素名を保持する。値候補フラグ1104は、シミュレータ100が該当要素のとり得る値可変範囲を予め特定できるか否かを示す情報例:特定できる場合には1、特定できない場合にはnullを保持する。値候補1105は、該当要素のとり得る値の情報を保持する。このとき値候補1105は、該当要素のとり得る値の情報を、例えばカンマ区切りで保持してもよい。また、データ型1106は、該当要素のデータ型情報例えば、日付型であるISODateや、もしくはtrueとfalseのいずれかの値をとり、真または偽のいずれかを表すYesNoIndicatorなどを保持する。---処理手順例---以下、本実施形態における電文シミュレーション方法の実際手順について図に基づき説明する。以下で説明する電文シミュレーション方法に対応する各種動作は、シミュレータ100がメモリ103に読み出して実行するプログラム102によって実現される。そして、このプログラム102は、以下に説明される各種の動作を行うためのコードから構成されている。図11は、本実施形態における電文シミュレーション方法の処理手順例を示すフロー図である。ここでは、シミュレータ100が、テスト対象システム200から入力電文を受信し、テスト対象システム200への応答電文を作成して送信する処理について説明する。はじめにシミュレータ100は、テスト対象システム200からの入力電文を通信部107より受信しステップ1001、ここで受信した入力電文をメモリ103または記憶部101に記憶する。次にシミュレータ100は、前記ステップ1001で記憶した入力電文の電文種類を特定するステップ1002。この処理は、図5の入力電文501の例では、最上位の要素図5:Document要素のid属性の値図5:PAYMENT01を取得する処理となる。なお、電文種類の特定は、業務で用いる電文の形式に応じて、XMLの要素名や名前空間URIUniformResourceIdentifier、その他通信処理におけるメッセージヘッダ等の情報を用いてもよい。続いてシミュレータ100は、シーケンス情報112に基づいて、前記入力電文に対応する応答電文の種類を特定するステップ1003。この場合、シミュレータ100は、前記ステップ1002で特定した入力電文の電文種別が、シーケンス情報112の電文ID413に現れるレコードを検索し、該当レコードの次電文ID414の値を取得することで、入力電文に対する応答電文の電文種類を特定する。次に、シミュレータ100は、前記ステップ1002で特定した入力電文種類、および、前記ステップ1003で特定した応答電文種類について、記憶部101の辞書情報113を用いて該当電文の構造に関する情報を取得するステップ1004。電文の構造に関する情報の取得に際しては、図9での説明にて述べたように、入力電文の電文種類から、最上位の要素と型、その下位の要素と型、といった階層構造での階層順にメタ情報から情報を抽出する処理である。続いてシミュレータ100は、前記ステップ1004で取得した入力電文の構造情報に基づき、入力電文で値が設定されている要素および当該要素の上位の要素の意味情報を取得するステップ1005。この場合、シミュレータ100は、例えば図5の入力電文501において要素名がDocumentである要素のid属性の値を記憶部101に保持し、以降、前記構造における子の要素について、値が設定されている要素までの各要素名を、記憶部101に順に、例えばリスト構造で保持する。またシミュレータ100は、前記ステップ1004で取得した入力電文の構造情報について、前記リスト構造の先頭要素であるid属性の値が名前902と一致するレコードを見つける。続いて、前記レコード中の子項目905の値が名前902の値と一致し、かつ前記リスト構造の2番目の要素の値と一致するレコードを見つける。シミュレータ100は、こうした処理を、前記リスト構造において前記値が設定されている要素まで続けることで、辞書情報113中での、入力電文で値が設定されている要素のレコードを特定することができる。またシミュレータ100は、入力電文で或る要素に複数の子の要素がある場合には、それらの子の要素すべてについて同様の処理を行う。次にシミュレータ100は、上記処理で特定した、入力電文で値が設定されている要素の親の階層をたどり図9の説明で述べた処理、各要素とその型、およびベースの情報をメモリ103に例えばリスト構造で記憶する。前記ステップ1005に続き、シミュレータ100は、前記ステップ1004で取得した、入力電文の値が設定されている要素と、同じ意味情報をベースとし、同じ型である要素を、応答電文において特定するステップ1006。これは、入力電文の値が設定されている要素について、その設定されている値をそのまま応答電文に設定することが可能な、応答電文の要素を特定する処理である。具体的には次のように行う。シミュレータ100は、まず、入力電文で値が設定されている要素について、その入力電文の要素と同じ意味情報をベースとし、同じ型である応答電文の要素を特定する。これは入力電文と応答電文の辞書情報113によって行う。すなわち、入力電文で値が設定されている要素辞書情報113で種別901は要素となっているのレコードにおけるベース906、型903の値と、応答電文の辞書情報113のレコードにおけるベース905、型903と一致するような応答電文のレコードを抽出する。ただし、この抽出処理では応答電文の要素が複数抽出される場合もある。例えば図5における入力電文501において、2つあるName要素の場合、応答電文601にも2つのName要素があるが、そのいずれも辞書情報113においては図8に示すように型はTextでありベースは業務要素:名前である。このような場合には、入力電文501の1つのName要素が応答電文のいずれのName要素と対応するのかを決定することが必要である。なお、図7、図8の例ではName要素の上位の要素を見れば対応は分かるが、要素名は電文中のその位置で要素を識別するものであり、入力電文と応答電文との間で対応を決定するためには一般には不十分である。応答電文の要素が複数抽出された場合、前記ステップ1005で取得した入力電文501の当該要素の上位の構造のベースと、応答電文の複数抽出された要素の上位の構造のベースとを比較する。ここで上位の構造とは、辞書情報113において親項目904の値と一致する名前902をたどる要素や型のつらなりにあたる図7、図8で階層を上位にたどる処理で得る。種別901が型である項目の1つ上位の種別901は要素であり、そのさらに1つ上位の種別901は型最上位の場合は電文である。図8の例では、Name要素は2つあるが、それぞれの上位の構造のベースは、図8の一つ目のName要素については順に業務要素:組織、業務関係:組織は支払の支払人、業務要素:名前であり、二つ目のName要素については順に、業務要素:組織、業務関係:組織は支払の受取人、業務要素:名前である。一方、例えば入力電文501の一つ目のName要素の上位の構造のベースは、図7に示すように順に業務要素:名前、業務要素:組織、業務関係:組織は支払の支払人、業務要素:支払指示となっている。このように、入力電文501の要素と応答電文601の要素の上位の構造のベースを下位から順に比較していくと、応答電文の一つ目のName要素は業務関係:組織は支払の支払人まで同一であるが、応答電文601の二つ目のName要素は同じ3番目のベースの情報が業務関係:組織は支払の受取人であり異なる。よってこの例では入力電文501の一つ目のName要素は応答電文601の二つ目のName要素と対応することを決定できる。この対応の決定のためにシミュレータ100は、前記ステップ1005で記憶したベースの情報と、応答電文での各階層のベースを比較する。応答電文の要素が複数抽出された場合には、この比較を複数の要素それぞれに対して実行し、最も多くの階層に関して一致が続いた要素が1つのみあるとき、このときの応答電文の要素を、入力電文の値が設定されている要素と、同じ意味情報をベースとし、同じ型である要素として特定できたものとする。次にシミュレータ100は、すべての要素が空要素からなる応答電文を作成し、前記ステップ1006で特定した応答電文の要素に、前記応答電文の要素と対応する入力電文の要素の値を設定するステップ1007。なお、応答電文の作成では、シミュレータ100は、前記ステップ1006で対応が確定した要素とその上位の要素最上位の要素までを作成する。ここで要素を作成するとは、例えばXMLの処理で一般的なDOMDocumentObjectModelと呼ばれるXMLを操作するためのプログラミングインターフェースを用いて、XMLの要素とその階層構造をメモリ103中に作成する。そして、項目が確定した応答電文の要素に、入力電文の対応する要素の値を設定する。シミュレータ100は、すべての対応する要素の値に関して前記設定が完了したのち、メモリ103中のXMLの要素と階層構造をXMLファイル応答電文として出力部106に出力する。なお、このXMLファイルの出力もDOMの機能で対応可能である。次に、前記ステップ1007の処理で値が設定されなかった応答電文の要素について、シミュレータ100は、入力部105からユーザによる入力を受付け、ここで受け付けた値を該当要素に設定するステップ1008。シミュレータ100は、前記ユーザに対し、入力部105から値を設定するための前記要素の値候補を出力部106にて表示する。この場合のシミュレータ100は、作成途中の応答電文において、最も上位の要素から子を順に辿り、値が設定されていない要素例えば要素名TransactionStatusの要素を見つける。このとき、前記ステップ1005の処理と同様、最上位の要素から前記値が設定されていない要素までの要素名のリスト構造を記憶部101に保持しているものとする。シミュレータ100は、前記リスト構造から、前記ステップ1005の処理と同様、該当項目のレコードが特定できる例えば要素名TransactionStatusの要素である場合、ポインタ907の値が3であるレコード。続いて、シミュレータ100は、前記レコード中のポインタ907の値から、値候補テーブル114での該当レコードを参照する。該当レコードにおいて、値候補フラグ1104の値がnullでないとき、シミュレータ100は、値候補1105の値を参照し、値の候補例えば要素名がTransactionStatusのとき、ACCP、ACWCなどの値を、応答電文の構造を表示に含む入力補助画面1201図12中に表示する。図12の例では、応答電文の構造中における該当項目値が設定されていない要素に関して、値の入力欄1202を表示させ、この入力欄1202を起点として、値候補欄1203を表示している。値候補欄1203は、該当項目がとりうる値の範囲をユーザが選択可能に表示した、例えば、プルダウンメニューとなる。このとき、図12において、例えば要素名がUnitである要素について、値候補テーブル114の該当レコード中のデータ型1106の値により、前記入力補助画面1201で設定する値のデータサイズが3バイト、設定する値の内容が0から9までの数字であることが分かるときISO20022によりデータサイズや値の属性が規定されている為、シミュレータ100は、値候補欄1204において値の入力数を制限すべく3バイト分の入力スペース1205のみを表示し、値の内容を制限すべく0から9までの数字1206のみを表示する、といった制御を行ってもよい。最後にシミュレータ100は、前記ステップ1007および前記ステップ1008で各要素に値を設定した応答電文を通信部107により、テスト対象システム200へ送信しステップ1009、処理を終了する。以上により、テスト対象システム200から電文を受信し、シーケンス情報112や辞書情報113などのメタ情報を基に、応答電文の一部の要素に入力電文の対応する要素の値を自動的に設定し、残りの要素にユーザ指定の値を設定することで応答電文を完成させ、テスト対象システム200へ送信する処理が実現される。以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。こうした本実施形態によれば、電文処理のシミュレータにおける、入力電文に対する応答電文の作成を効率化できる。本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、前記電文シミュレーションシステムにおいて、前記電文におけるデータ構造が各データによる階層構造をなすものであり、前記演算部は、前記データを特定する処理に際し、前記応答電文について前記辞書情報にてデータ構造と各データの意味の情報を取得し、該取得したデータ構造における各データの位置および意味に関して前記入力電文中で合致するデータを特定するとともに、該特定したデータの上位階層のデータについて、前記応答電文と前記入力電文との間でデータ構造における該当データの位置および意味が合致するか判定し、該上位階層のデータについても合致をみた場合に、前記特定したデータを前記応答電文における該当データの値とするものである、としてもよい。また、前記電文シミュレーションシステムにおいて、前記記憶部は、各電文を構成するデータのうち値が可変であるものについて、その可変範囲の情報を更に格納しており、前記演算部は、前記応答電文を構成する各データのうち、前記入力電文より抽出した値を設定していないデータ項目について値の可変範囲の情報を記憶部より抽出し、前記応答電文における該当データ項目の表示に合わせて、前記可変範囲の情報が示す各値を選択可能に出力部にて表示し、ユーザからの値選択を入力部にて受け付け、該受け付けた選択値を応答電文における該当データ項目に設定するものである、としてもよい。