(57)【特許請求の範囲】
【請求項１】
プログラムの変更と共にプログラムが使用するデータ構造を変更する必要が生じた場合、変更前のプログラムである旧プログラムが使用していたデータの構造である旧データ構造を、変更後のプログラムである新プログラムが使用するデータの構造である新データ構造に変換するデータ構造変換方法であって、基準になるデータのデータ構造である基準データ構造並びに前記旧データ構造及び前記新データ構造を定義するデータ構造定義手段と、前記基準データ構造と前記旧データ構造との差分情報である旧データ構造差分情報及び前記基準データ構造と前記新データ構造との差分情報である新データ構造差分情報を生成するデータ構造差分情報生成手段と、前記旧データ構造差分情報と前記新データ構造差分情報とを用いて前記旧データ構造から前記新データ構造への変換方法を定義したデータ構造変換プロセスデータを生成する変換プロセスデータ生成手段と、前記データ構造変換プロセスデータに基づいて旧データ構造を新データ構造に変換するデータ構造変換手段とを含むことを特徴とするデータ構造変換システム。
【請求項２】
前記データ構造変換プロセスデータは、新プログラム用データの情報要素を初期化する初期化処理及び旧プログラム用データの情報要素を新プログラム用データの情報要素へコピーするコピー処理のいずれか一方の処理を示すデータであり、
前記データ構造変換手段は、前記データ構造変換プロセスデータが前記初期化処理を示すデータであるときに新プログラム用データの情報要素を処理パラメータに基づいて初期化し、
前記データ構造変換プロセスデータが前記コピー処理を示すデータであるときに処理パラメータに基づき旧プログラム用データの情報要素を、新プログラム用データの情報要素にコピーすることを特徴とする請求項１記載のデータ構造変換システム。
【請求項３】
プログラムの変更と共にプログラムが使用するデータ構造を変更する必要が生じた場合、変更前のプログラムである旧プログラムが使用していたデータの構造である旧データ構造を、変更後のプログラムである新プログラムが使用するデータの構造である新データ構造に変換するデータ構造変換方法であって、コンピュータが、基準になるデータのデータ構造である基準データ構造並びに前記旧データ構造及び前記新データ構造を定義してメモリに記憶させるステップと、前記メモリに記憶された前記基準データ構造、前記旧データ構造及び前記新データ構造を読み出して前記基準データ構造と前記旧データ構造との差分情報である旧データ構造差分情報及び前記基準データ構造と前記新データ構造との差分情報である新データ構造差分情報を生成して前記メモリに記憶させるステップと、前記メモリに記憶された前記旧データ構造差分情報及び前記新データ構造差分情報を読み出して前記旧データ構造差分情報と前記新データ構造差分情報とを用いて前記旧データ構造から前記新データ構造への変換方法を定義したデータ構造変換プロセスデータを生成して前記メモリに記憶させるステップと、前記メモリに記憶された前記データ構造変換プロセスデータを読み出して前記データ構造変換プロセスデータに基づいて旧データ構造を新データ構造に変換するステップとを含むことを特徴とするデータ構造変換方法。
【請求項４】
前記データ構造変換プロセスデータは、新プログラム用データの情報要素を初期化する初期化処理及び旧プログラム用データの情報要素を新プログラム用データの情報要素へコピーするコピー処理のいずれか一方の処理を示すデータであり、
前記データ構造変換ステップにおいては、前記メモリから読み出された前記データ構造変換プロセスデータが前記初期化処理を示すデータであるときに新プログラム用データの情報要素を処理パラメータに基づいて初期化し、
前記メモリから読み出された前記データ構造変換プロセスデータが前記コピー処理を示すデータであるときに処理パラメータに基づき旧プログラム用データの情報要素を、新プログラム用データの情報要素にコピーすることを特徴とする請求項３記載のデータ構造変換方法。
【請求項５】
プログラムの変更と共にプログラムが使用するデータ構造を変更する必要が生じた場合、変更前のプログラムである旧プログラムが使用していたデータの構造である旧データ構造を、変更後のプログラムである新プログラムが使用するデータの構造である新データ構造に変換する処理をコンピュータによって行うためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、該プログラムは、コンピュータを、基準になるデータのデータ構造である基準データ構造並びに前記旧データ構造及び前記新データ構造を定義してメモリに記憶させる処理と、前記メモリに記憶された前記基準データ構造、前記旧データ構造及び前記新データ構造を読み出して前記基準データ構造と前記旧データ構造との差分情報である旧データ構造差分情報及び前記基準データ構造と前記新データ構造との差分情報である新データ構造差分情報を生成して前記メモリに記憶させる処理と、前記メモリに記憶された前記旧データ構造差分情報及び前記新データ構造差分情報を読み出して前記旧データ構造差分情報と前記新データ構造差分情報とを用いて前記旧データ構造から前記新データ構造への変換方法を定義したデータ構造変換プロセスデータを生成して前記メモリに記憶させる処理と、前記メモリに記憶された前記データ構造変換プロセスデータを読み出して前記データ構造変換プロセスデータに基づいて旧データ構造を新データ構造に変換する処理とを含むことを特徴とする記録媒体。
【請求項６】
前記データ構造変換プロセスデータは、新プログラム用データの情報要素を初期化する初期化処理及び旧プログラム用データの情報要素を新プログラム用データの情報要素へコピーするコピー処理のいずれか一方の処理を示すデータであり、
前記データ構造変換処理においては、前記メモリから読み出された前記データ構造変換プロセスデータが前記初期化処理を示すデータであるときに新プログラム用データの情報要素を処理パラメータに基づいて初期化し、
前記メモリから読み出された前記データ構造変換プロセスデータが前記コピー処理を示すデータであるときに処理パラメータに基づき旧プログラム用データの情報要素を、新プログラム用データの情報要素にコピーすることを特徴とする請求項５記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ構造変換システム、データ構造変換方法及びデータ構造変換プログラムを記録した記録媒体に関し、特にメモリあるいは外部記憶装置に格納されたデータを使用して処理を行うプログラムにより機能する情報処理装置において、データ構造の変更を伴うプログラムの変更を行う場合に、複数の旧データ構造を対象とするデータ構造変換システム、データ構造変換方法及びデータ構造変換プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
従来は、旧データ構造から新データ構造に変換するためのデータ構造変換処理プログラムを用いてデータ構造の変換を行っていた。この場合、旧データ構造から新データ構造に直接変換する方式と、旧データ構造を一度データ標準構造に変換し、その後、データ標準構造から新データ構造に変換する方式とがある。
【０００３】
【発明が解決しようとする課題】
旧データ構造と新データ構造とが異なる場合には、データ構造変換処理が必要である。そして、旧データ構造に応じたデータ構造変換処理プログラムを新プログラム側に用意する必要がある。しかし、何度もプログラムの変更を行い、かつ複数の装置で別々の版数のプログラムが稼動しているケースを考えると、新プログラムに入れ替える際の旧データ構造が複数種類あることを考慮しなければならない。
【０００４】
従って、新プログラム側で用意するデータ構造変換処理プログラムは、稼働している全ての旧データ構造に対応できる必要があり、データ構造の変更を伴うプログラムの変更を行うたびにデータ構造変換処理プログラムが増大し、メモリや補助記憶装置の領域を無駄にしてしまうという問題がある。
【０００５】
このため、従来は利用者が少ないと考えられる旧データ構造に対応するデータ構造変換処理プログラムの搭載をやめて、メモリや補助記憶装置の領域に無駄が生じないようにしていた。しかし、この場合、該当する旧データ構造のデータの利用者は新プログラムにデータを引き継ぐことが不可能になるという問題がある。
【０００６】
また、データ構造変換処理プログラムの設計者は新データ構造と共に稼働中の旧データ構造の全てについて熟知している必要があり、新プログラムの開発に時間がかかるという問題がある。
【０００７】
さらに、一度新データ構造に変換してしまうと、旧プログラム側には新データ構造から旧データ構造へのデータ構造変換処理プログラムは存在しないため、旧プログラムが新データ構造に変換されたデータを使用することは不可能であるという問題がある。
【０００８】
データ標準構造を介してデータ構造を変換する方式では、データ標準構造に定義されていない属性のデータが追加された場合には変換ができないという問題がある。
【０００９】
本発明は上述した従来技術の欠点を解決するためになされたものであり、その目的は新プログラムを導入する時に、旧プログラムのデータ構造毎にデータ構造変換処理プログラムを予め用意することなく、旧プログラムのデータ構造と新プログラムのデータ構造とを相互に変換できるデータ構造変換システム、データ構造変換方法及びデータ構造変換プログラムを記録した記録媒体を提供することである。
【００１０】
【課題を解決するための手段】
本発明によるデータ構造変換システムは、プログラムの変更と共にプログラムが使用するデータ構造を変更する必要が生じた場合、変更前のプログラムである旧プログラムが使用していたデータの構造である旧データ構造を、変更後のプログラムである新プログラムが使用するデータの構造である新データ構造に変換するデータ構造変換方法であって、基準になるデータのデータ構造である基準データ構造並びに前記旧データ構造及び前記新データ構造を定義するデータ構造定義手段と、前記基準データ構造と前記旧データ構造との差分情報である旧データ構造差分情報及び前記基準データ構造と前記新データ構造との差分情報である新データ構造差分情報を生成するデータ構造差分情報生成手段と、前記旧データ構造差分情報と前記新データ構造差分情報とを用いて前記旧データ構造から前記新データ構造への変換方法を定義したデータ構造変換プロセスデータを生成する変換プロセスデータ生成手段と、前記データ構造変換プロセスデータに基づいて旧データ構造を新データ構造に変換するデータ構造変換手段とを含むことを特徴とする。
【００１１】
本発明によるデータ構造変換方法は、プログラムの変更と共にプログラムが使用するデータ構造を変更する必要が生じた場合、変更前のプログラムである旧プログラムが使用していたデータの構造である旧データ構造を、変更後のプログラムである新プログラムが使用するデータの構造である新データ構造に変換するデータ構造変換方法であって、コンピュータが、基準になるデータのデータ構造である基準データ構造並びに前記旧データ構造及び前記新データ構造を定義してメモリに記憶させるステップと、前記メモリに記憶された前記基準データ構造、前記旧データ構造及び前記新データ構造を読み出して前記基準データ構造と前記旧データ構造との差分情報である旧データ構造差分情報及び前記基準データ構造と前記新データ構造との差分情報である新データ構造差分情報を生成して前記メモリに記憶させるステップと、前記メモリに記憶された前記旧データ構造差分情報及び前記新データ構造差分情報を読み出して前記旧データ構造差分情報と前記新データ構造差分情報とを用いて前記旧データ構造から前記新データ構造への変換方法を定義したデータ構造変換プロセスデータを生成して前記メモリに記憶させるステップと、前記メモリに記憶された前記データ構造変換プロセスデータを読み出して前記データ構造変換プロセスデータに基づいて旧データ構造を新データ構造に変換するステップとを含むことを特徴とする。
【００１２】
本発明によるデータ構造変換プログラムを記録した記録媒体は、プログラムの変更と共にプログラムが使用するデータ構造を変更する必要が生じた場合、変更前のプログラムである旧プログラムが使用していたデータの構造である旧データ構造を、変更後のプログラムである新プログラムが使用するデータの構造である新データ構造に変換する処理をコンピュータによって行うためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、該プログラムは、コンピュータを、基準になるデータのデータ構造である基準データ構造並びに前記旧データ構造及び前記新データ構造を定義してメモリに記憶させる処理と、前記メモリに記憶された前記基準データ構造、前記旧データ構造及び前記新データ構造を読み出して前記基準データ構造と前記旧データ構造との差分情報である旧データ構造差分情報及び前記基準データ構造と前記新データ構造との差分情報である新データ構造差分情報を生成して前記メモリに記憶させる処理と、前記メモリに記憶された前記旧データ構造差分情報及び前記新データ構造差分情報を読み出して前記旧データ構造差分情報と前記新データ構造差分情報とを用いて前記旧データ構造から前記新データ構造への変換方法を定義したデータ構造変換プロセスデータを生成して前記メモリに記憶させる処理と、前記メモリに記憶された前記データ構造変換プロセスデータを読み出して前記データ構造変換プロセスデータに基づいて旧データ構造を新データ構造に変換する処理とを含むことを特徴とする。
【００１３】
要するに本システムは、メモリあるいは補助記憶装置に格納されたデータを使用して処理を行うプログラムにより機能する情報処理装置において、機能追加及び機能変更のためにプログラムの変更と共にプログラムが使用するデータ構造を変更する必要が生じた場合に用いられるものである。そして、変更前のプログラム（旧プログラム）が使用していたデータの構造（旧データ構造）を変更後のプログラム（新プログラム）が使用するデータの構造（新データ構造）に変換するために、基準になるデータのデータ構造（基準データ構造）、旧データ構造及び新データ構造を定義する。また、基準データ構造と旧データ構造との差分情報（旧データ構造差分情報）及び基準データ構造と新データ構造との差分情報（新データ構造差分情報）を生成し、旧データ構造差分情報と新データ構造差分情報とから、旧データ構造から新データ構造への変換方法を定義したデータ構造変換プロセスデータを生成する。そして、この生成したデータ構造変換プロセスデータに基づいて旧データ構造を新データ構造に変換を行うのである。
【００１４】
【発明の実施の形態】
次に、本発明の実施の一形態について図面を参照して詳細に説明する。なお、以下の説明において参照する各図においては、他の図と同等部分には同一符号が付されている。
【００１５】
図１は本発明によるデータ構造変換システムの実施の一形態を示すブロック図である。同図において、本システムは、情報処理装置はメモリあるいは補助記憶装置に格納されたデータを使用して処理を行う情報処理部１０と、情報処理部１０で使用するプログラム及びデータを含むロードモジュールを作成するファイル化部１３とを含んで構成されている。
【００１６】
ファイル化部１３は、情報処理部１０で使用するデータ構造の基準となる基準データ構造定義データ３２と、旧プログラムのデータ構造を定義した旧プログラム用データ構造定義データ３０と、新プログラムのデータ構造を定義した新プログラム用データ構造定義データ３１と、基準データ構造定義データ３２及び旧プログラム用データ構造定義データ３０あるいは基準データ構造定義データ３２及び新プログラム用データ構造定義データ３１を用いて、それぞれのデータ構造の差分を定義したデータを生成するデータ構造差分定義データ生成部８０とを含んで構成されている。
【００１７】
情報処理部１０は、旧プログラムで使用していたデータである旧プログラム用データ２０と、新プログラムで使用するデータである新プログラム用データ２１と、旧プログラム用データ２０と基準データとのデータ構造の差分を定義した旧プログラム用データ構造差分定義データ４０と、新プログラム用データ２１と基準データとのデータ構造の差分を定義した新プログラム用データ構造差分定義データ４１と、旧プログラム用データ２０のデータ構造を新プログラム用データ２１のデータ構造に変換する手順を定義したデータ構造変換プロセスデータ５０と、旧プログラム用データ構造差分定義データ４０と新プログラム用データ構造差分定義データ４１とからデータ構造変換プロセスデータ５０を生成するデータ構造変換プロセスデータ生成部６０と、データ構造変換プロセスデータ５０の定義に従って旧プログラム用データ２０のデータ構造を新プログラム用データ２１のデータ構造に変換するデータ構造変換処理部７０と、新プログラム用データ２１を用いて処理を行う情報処理プログラム１１とを含んで構成されている。
【００１８】
図２は本発明の実施例における情報処理プログラムが使用するデータの構成を示したものである。
【００１９】
図２（ａ）には、基準データ２２の構成が示されている。この基準データ２２の構成は、基準となる版数の情報処理プログラムが使用するデータの構成を示したものである。本例の基準データ２２は、２バイトの情報要素ａ２２−１と、４バイトの情報要素ｂ２２−２と、１バイトの情報要素ｃ２２−３とを含んで構成されている。
【００２０】
図２（ｂ）には、旧プログラム用データ２０の構成が示されている。この旧プログラム用データ２０は旧プログラムが使用していたデータの構成を示したものである。本例の旧プログラム用データ２０は、２バイトの情報要素ａ２０−１、４バイトの情報要素ｂ２０−２及び１バイトの情報要素ｃ２０−３の他に、５バイトの情報要素ｄ２０−４、１バイトの情報要素ｅ２０−５を含んで構成されている。
【００２１】
図２（ｃ）には、新プログラム用データ２１の構成が示されている。この新プログラム用データ２１は新プログラムである情報処理プログラム１１が使用するデータの構成を示したものである。本例の新プログラム用データ２１は、２バイトの情報要素ａ２１−１、２バイトの情報要素ｆ２１−６を含んで構成されている。情報要素ｆ２１−６は、新たに追加された情報要素である。また、本例の新プログラム用データ２１は、１バイト増えて５バイトになった情報要素ｂ２１−２と、５バイトの情報要素ｄ２１−４と、１バイトの情報要素ｅ２１−５とを含んで構成されている。
【００２２】
図３及び図４は本発明の実施例における情報処理プログラムが使用するデータの構成を定義したデータ構造定義データの構成を示したものである。
【００２３】
まず、図３（ａ）において、旧プログラム用データ構造定義データ３０は、旧プログラム用データ２０の情報要素ａ２０−１を定義する情報要素定義３０−１０、情報要素ｂ２０−２を定義する情報要素定義３０−２０、情報要素ｃ２０−３を定義する情報要素定義３０−３０、情報要素ｄ２０−４を定義する情報要素定義３０−４０、情報要素ｅ２０−５を定義する情報要素定義３０−５０により構成されている。
【００２４】
また、同図（ｂ）において、新プログラム用データ構造定義データ３１は、新プログラム用データ２１の情報要素ａ２１−１を定義する情報要素定義３１−１０、情報要素ｆ２１−６を定義する情報要素定義３１−６０、情報要素ｂ２１−２を定義する情報要素定義３１−２０、情報要素ｄ２１−４を定義する情報要素定義３１−４０、情報要素ｅ２１−５を定義する情報要素定義３１−５０により構成されている。
【００２５】
次に、図４において、基準データ構造定義データ３２は、基準データ２２の情報要素ａ２２−１を定義する情報要素定義３２−１０、情報要素ｂ２２−２を定義する情報要素定義３２−２０、情報要素定義ｃ２２−３を定義する情報要素定義３２−３０により構成されている。
【００２６】
図５は本発明の実施例における情報処理プログラムが使用するデータの、基準データ２２との差分を定義したデータ構造差分定義データの構成を示したものである。
【００２７】
同図（ａ）を参照すると、旧プログラム用データのデータ構造差分定義データ４０は、基準データ２２と旧プログラム用データ２０とのデータ構造の差分を定義したもので、追加された情報要素ｄ２０−４を表す差分情報定義４０−１０、同様に追加された情報要素ｅ２０−５を表す差分情報定義４０−２０により構成されている。
【００２８】
同図を参照すると、差分情報定義４０−１０は、情報要素識別子４０−１１と、差分表示４０−１２と、オフセット４０−１３と、サイズ４０−１４とを含んで構成されている。また、差分情報定義４０−２０は、情報要素識別子４０−２１と、差分表示４０−２２と、オフセット４０−２３と、サイズ４０−２４とを含んで構成されている。なお、「オフセット」は、先頭からの位置をバイト数で表したものである。
【００２９】
一方、同図（ｂ）を参照すると、新プログラム用データのデータ構造差分定義データ４１は、基準データ２２と新プログラム用データ２１とのデータ構造の差分を定義したもので、追加された情報要素ｆ２１−６を表す差分情報定義４１−３０、サイズが変更された情報要素ｂ２１−２を表す差分情報定義４１−４０、削除された情報要素ｃ２２−３を表す差分情報定義４１−５０、追加された情報要素ｄ２１−４を表す差分情報定義４１−１０、同様に追加された情報要素ｅ２１−５を表す差分情報定義４１−２０により構成されている。
【００３０】
同図を参照すると、差分情報定義４１−３０は、情報要素識別子４１−３１と、差分表示４１−３２と、オフセット４１−３３と、サイズ４１−３４とを含んで構成されている。また、差分情報定義４１−４０は、情報要素識別子４１−４１と、差分表示４１−４２と、オフセット４１−４３と、サイズ４１−４４とを含んで構成されている。さらにまた、差分情報定義４１−５０は、情報要素識別子４１−５１と、差分表示４１−５２と、オフセット４１−５３と、サイズ４１−５４とを含んで構成されている。
【００３１】
さらに同図を参照すると、差分情報定義４１−１０は、情報要素識別子４１−１１と、差分表示４１−１２と、オフセット４１−１３と、サイズ４１−１４とを含んで構成されている。また、差分情報定義４１−２０は、情報要素識別子４１−２１と、差分表示４１−２２と、オフセット４１−２３と、サイズ４１−２４とを含んで構成されている。
【００３２】
図６は本発明の実施例における旧プログラム用データ２０から新プログラム用データ２１への変換手順を定義したデータ構造変換プロセスデータの構成を示したものである。同図において、データ構造変換プロセスデータ５０は、変換処理の内容を表す処理種別５０−１、５０−３、５０−５、５０−７、５０−９及び５０−１１と、各処理種別毎に必要なパラメータを定義した処理パラメータ５０−２、５０−４、５０−６、５０−８及び５０−１０とを含んで構成されている。
【００３３】
処理種別５０−１及び処理パラメータ５０−２は、図２（ｃ）の情報要素ａに相当する。処理種別５０−３及び処理パラメータ５０−４は、図２（ｃ）の情報要素ｆに相当する。処理種別５０−５及び処理パラメータ５０−６並びに処理種別５０−７及び処理パラメータ５０−８は、図２（ｃ）の情報要素ｂに相当する。処理種別５０−９及び処理パラメータ５０−１０は、図２（ｃ）の情報要素ｄ及びｅに相当する。
【００３４】
次に、図１、図２、図３、図５、図６及び図７、図８、図９のフローチャートを参照して本実施例の全体の動作について詳細に説明する。
【００３５】
情報処理プログラム１１が機能追加のために新プログラムに更新され、それまで稼働していた旧プログラムで使用していたデータを引き継ぐ必要が生じた場合、まず、データ構造変換プロセスデータ生成部６０が、旧プログラム用データ構造差分定義データ４０と新プログラム用データ構造差分定義データ４１とから、旧プログラムのデータ構造を新プログラムのデータ構造に変換するための手順を定義したデータ構造変換プロセスデータ５０を生成する。
【００３６】
このデータ構造変換プロセスデータ５０を生成する動作を図７のフローチャートに従って説明する。
【００３７】
まず、旧プログラム用データ構造差分定義データ４０から差分情報定義４０−ｎ０（ｎは、正の整数）を１つ読出し、新プログラム用データ構造差分定義データ４１の差分情報定義４１―ｎ０に同一の情報要素識別子を持ったものがあるかどうかを比較する。旧プログラム用データ構造差分定義データ４０の差分情報定義４０−ｎ０の読出しが終わった場合は、新プログラム用データ構造差分定義データ４１の差分情報定義４１−ｎ０を１つ読出し、旧プログラム用データ構造差分定義データ４０の差分情報４０−ｎ０に同一の情報要素識別子を持ったものがあるかどうかを比較する。ただし、以前に比較済みの組み合わせの場合は次の差分情報定義の比較を行う（図７のステップ６００）。
【００３８】
全ての差分情報定義の比較が終了かどうかを判断し（ステップ６０１）、終了ならデータ構造変換プロセスデータ５０で処理対象になっていない部分をコピーするために処理種別にコピーを追加し、コピーに必要な処理パラメータとしてコピー元オフセット、コピー先オフセット、コピーサイズをデータ構造変換プロセスデータ５０に追加する（ステップ６１０）。処理種別が削除のものを処理パラメータと共に取除く（ステップ６１１）。
【００３９】
次に、処理パラメータの含まれているオフセット値の昇順になるように処理種別と共にデータをソートする（ステップ６１２）。さらに、処理種別が同一で処理パラメータの含まれるオフセットが連続しているものについては１つにまとめる（ステップ６１３）。最後に処理種別に終了を設定し（ステップ６１４）、データ構造変換プロセスデータ５０の生成を終了する。
【００４０】
ステップ６０１において比較が終了でなければ、ステップ６００の比較結果により分岐する（ステップ６０２）。
【００４１】
ステップ６００の比較結果が新旧ともに差分表示が削除の場合は、データ構造変換プロセスデータ５０に処理種別として削除を、処理パラメータとして削除開始オフセット、削除サイズを設定する（ステップ６０３）。
【００４２】
ステップ６００の比較結果が新旧ともに差分表示が変更あるいは追加で、かつ、サイズが等しい場合はデータ構造変換プロセスデータ５０に処理種別としてコピーを、処理パラメータとしてコピー元オフセット、コピー先オフセット、コピーサイズを設定する（ステップ６０４）。
【００４３】
ステップ６００の比較結果が上記以外の場合は、そのままコピー可能な共通部分があるかどうかを比較する（ステップ６０５）。
【００４４】
そのままコピー可能な部分がある場合は、データ構造変換プロセスデータ５０に処理種別としてコピーを設定し、処理パラメータとしてコピー元オフセット、コピー先オフセット、コピーサイズを設定する（ステップ６０６）。
【００４５】
そのままコピーできる部分が無い場合は、ステップ６０７へ処理を進める。
【００４６】
次に、新プログラム用データの情報要素のサイズと旧プログラム用データの情報要素のサイズとを比較し（ステップ６０７）、新プログラム用データの情報要素の方がサイズが大きい場合は、旧プログラム用データの情報要素よりも大きな部分を初期化するため、データ構造変換プロセスデータ５０に処理種別として初期化を、処理パラメータとして初期化開始オフセット、初期化サイズ、初期化データを設定する（ステップ６０８）。
【００４７】
旧プログラム用データの情報要素の方がサイズが大きい場合は、新プログラム用データの情報要素より大きい部分を削除するため、データ構造変換プロセスデータ５０に処理種別として削除を設定し、処理パラメータとして削除開始オフセット、削除サイズを設定する（ステップ６０９）。
【００４８】
上述したステップ６０３、ステップ６０４、ステップ６０８、ステップ６０９のいずれかを行った後ステップ６００に戻り、残りの差分情報定義の比較を行う。
【００４９】
次に、生成されたデータ構造変換プロセスデータ５０と旧プログラム用データ２０とを用いて、データ構造変換処理部７０が新プログラム用データ２１へのデータ設定を行う動作を、図８のフローチャートに従って説明する。
【００５０】
まず、データ構造変換プロセスデータから処理種別と処理パラメータをひとつ読出す（図８のステップ７００）。
【００５１】
読出し終了かを判断し（ステップ７０１）、終了ならデータ構造変換処理を終える。読出し終了でなければ、読出した処理種別で分岐する（ステップ７０２）。
【００５２】
処理種別がコピーの場合は、処理パラメータに基づき旧プログラム用データ２０の情報要素を、新プログラム用データ２１の情報要素にコピーを行う（ステップ７０４）。処理種別が初期化の場合は、新プログラム用データ２１の情報要素を処理パラメータに基づいて初期化する（ステップ７０３）。処理種別が終了の場合は、データ構造変換処理を終える。
【００５３】
ステップ７０３、あるいはステップ７０４を行った後、ステップ７００に戻り、次の処理種別及び処理パラメータの読出しを行う。
【００５４】
次に、ファイル化部１３においてデータ構造差分定義データ生成部８０が、基準データ構造定義データ３２と新プログラム用データ構造定義データ３１とから新プログラム用データ構造差分定義データ４１を生成する動作を、図９のフローチャートを使って説明する。
【００５５】
まず、基準データ構造定義データ３２（以下、基準データと呼ぶ）から情報要素定義を１つ読出し、新プログラム用データ構造定義データ３１（以下、比較対象データと呼ぶ）の情報要素定義と順次比較する（図９のステップ８００）。全ての情報要素定義の比較が終了したかどうかを判断し（ステップ８０１）、比較終了の場合は処理を終える。
【００５６】
比較が終了していない場合は、ステップ８００の比較結果により分岐する（ステップ８０２）。比較対象データにのみ情報要素定義がある場合は、データ構造差分定義データに情報要素識別子を設定し（ステップ８１２）、差分表示に追加を設定し（ステップ８１３）、比較対象データの情報要素のオフセットを設定し（ステップ８１４）、比較対象データの情報要素のサイズを設定する（ステップ８１５）、という各処理を行う。
【００５７】
基準データにのみ情報要素定義がある場合は、データ構造差分定義データに情報要素識別子を設定し（ステップ８０８）、差分表示に削除を設定し（ステップ８０９）、基準データの情報要素のオフセットを設定し（ステップ８１０）、基準データの情報要素のサイズを設定する（ステップ８１１）、という各処理を行う。
【００５８】
基準データと比較対象データに同一の情報要素定義がある場合は、情報要素の属性を比較する（ステップ８０３）。
【００５９】
属性が同一の場合は、ステップ８００に戻り、次の情報要素定義の比較を行う。一方、属性が異なる場合は、データ構造差分定義データに情報要素識別子を設定（ステップ８０４）、差分表示に変更を設定（ステップ８０５）、比較対象データの情報要素のオフセットを設定（ステップ８０６）、基準データの情報要素のサイズと比較対象データの情報要素のサイズを設定（ステップ８０７）の各処理を行う。
【００６０】
上述したステップ８０７、ステップ８１１、あるいはステップ８１５を終えたらステップ８００に戻り、次の情報要素定義の比較を行う。
【００６１】
また、新プログラム用データ構造定義データ３１の代わりに旧プログラム用データ構造定義データ３０を比較対象データとすることにより、同一の手順により旧プログラム用データ構造差分定義データ４０を生成することができる。
【００６２】
次に、本実施の形態の効果について説明する。
【００６３】
本実施の形態では、旧プログラム用データ構造差分定義データ４０と新プログラム用データ構造差分定義データ４０と新プログラム用データ構造差分定義データ４１とからデータ構造変換プロセスデータ生成部６０がデータ構造変換プロセスデータ５０を生成し、旧プログラム用データ２０とデータ構造変換プロセスデータ５０とからデータ構造変換処理部７０が新プログラム用データ２１の設定を行うように構成されている。このため、旧プログラム用データ２０の版数に関わらず新プログラム用データ２１へのデータ構造の変換を行うことができる。さらに、旧プログラム用データ構造差分定義データ４０と新プログラム用データ構造差分定義データ４１との構成が同一であるため、旧プログラム用データ２０を新プログラム用データ２１に変換するのと同様の手順で、新プログラム用データ２１を旧プログラム用データ２０のデータ構造に変換することができる。
【００６４】
なお、以上説明した図７〜図９の処理を実現するためのプログラムを記録した記録媒体を用意し、これを用いてコンピュータを制御すれば、上述と同様にデータ構造変換動作を行うことができることは明白である。この記録媒体には、半導体メモリ、磁気ディスク装置の他、種々の記録媒体を用いることができる。
【００６５】
【発明の効果】
以上説明したように本発明は、新旧２つのデータ構造定義テーブルの内容に基づいてデータ構造変換プロセスデータを生成し、データ構造の変換を実行することにより、稼働中の全ての旧プログラムに対応したデータ構造変換プログラムを用意することなく旧プログラムから新プログラムヘの更新、及び、新プログラムから旧プログラムヘ戻すことができるという効果がある。
【００６６】
また、稼働中の旧プログラムの全てを熟知した技術者による、データ構造を新プログラムのデータ構造に変換するデータ構造変換処理プログラムの開発が必要なくなるため、新プログラムの開発期間を短縮できるという効果もある。
【００６７】
さらにまた、新プログラムを開発するたびに、稼働中の全ての旧プログラムに対応したデータ構造変換処理プログラムを搭載する必要がないため、メモリや補助記憶装置の領域を無駄にすることがないという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の一形態によるデータ構造変換システムの構成を示すブロック図である。
【図２】図１のデータ構造変換システムにおける変換対象データの構成例を示す図であり、（ａ）は基準データ、（ｂ）は旧プログラム用データ、（ｃ）は新プログラム用データを示す。
【図３】図１のデータ構造変換システムにおける変換対象データのデータ構造定義データの構成例を示す図であり、（ａ）は旧プログラム用データ構造定義データ、（ｂ）は新プログラム用データ構造定義データを示す。
【図４】図１のデータ構造変換システムにおける変換対象データの基準データ構造定義データの構成例を示す図である。
【図５】図１のデータ構造変換システムにおける変換対象データのデータ構造差分定義データの構成を示す図であり、（ａ）は旧プログラム用データのデータ構造差分定義データを示し、（ｂ）は新プログラム用データのデータ構造差分定義データを示す。
【図６】図１のデータ構造変換システムにおけるデータ構造変換プロセスデータの構成例を示す図である。
【図７】図１のデータ構造変換システムにおけるデータ構造変換プロセスデータ生成部の動作を示すフローチャートである。
【図８】図１のデータ構造変換システムにおけるデータ構造変換処理部の動作を示すフローチャートである。
【図９】図１のデータ構造変換システムにおけるデータ構造差分定義データ生成部の動作を示すフローチャートである。
【符号の説明】
１０  情報処理部
１１  情報処理プログラム
１３  ファイル化部
２０  旧プログラム用データ
２１  新プログラム用データ
３０  旧プログラム用データ構造定義データ
３１  新プログラム用データ構造定義データ
３２  基準データ構造定義データ
４０  旧プログラム用データ構造差分定義データ
４１  新プログラム用データ構造差分定義データ
５０  データ構造変換プロセスデータ
６０  データ構造変換プロセスデータ生成部
８０  データ構造差分定義データ生成部
【図１】
0003808240.tif 000002
【図２】
0003808240.tif 000003
【図３】
0003808240.tif 000004
【図４】
0003808240.tif 000005
【図５】
0003808240.tif 000006
【図６】
0003808240.tif 000007
【図７】
0003808240.tif 000008
【図８】
0003808240.tif 000009
【図９】
0003808240.tif 000010