(57)【特許請求の範囲】
【請求項１】
処理対象となりうるデータに含まれる各要素データのフォーマットを定義したフォーマット情報を複数格納したフォーマットデータベースと、
特定のプログラム言語で記述されたプログラムを実行でき、且つ特定のインターフェース記述言語を解するプログラム言語処理手段と、
処理対象となったデータを格納するデータ格納手段と、
前記データ格納手段に格納された処理対象データに対する処理を行うための、前記プログラム言語処理手段が実行する実行プログラムの生成処理を行う生成処理手段と、
を備える情報処理システムであって、
前記生成処理手段は、
前記処理対象データに対応するフォーマット情報を、前記処理対象データに含まれるフォーマット識別子に基づき前記フォーマットデータベースから読み出し、
読み出したフォーマット情報に基づき、前記処理対象データに含まれる各要素データに対応する各変数を定義する定義文を生成し、
さらに、前記定義文に定義された各変数に、前記処理対象データに含まれる各要素データをそれぞれ対応付けてコピーする処理を実行する第１のサブルーチンと、
前記処理対象データに含まれる各要素データに、前記定義文に定義された各変数の値をそれぞれ対応付けてコピーする処理を実行する第２のサブルーチンと、
を生成し、
前記実行プログラムは、
前記処理対象データの処理を行う前記特定のプログラム言語で記述されたデータ処理プログラムと、
前記定義文と、
前記第１のサブルーチンと、
前記第２のサブルーチンと、
を結合することで生成され、
前記プログラム言語処理手段は、
生成された実行プログラムを実行することで、
前記第１のサブルーチンに基づき、前記定義文に定義された各変数にそれぞれ対応する前記処理対象データに含まれる各要素データに前記特定のインターフェース記述言語でアクセスして、各要素データを読み出し、読み出した各要素データをそれぞれ対応する前記定義文に定義された各変数にコピーし、
前記コピーされた各要素データを前記特定のプログラム言語で記述されたデータ処理プログラムで処理し、
前記第２のサブルーチンに基づき、処理対象データに含まれる各要素データに前記特定のインターフェース記述言語でアクセスして、前記データ処理プログラムで処理された各変数を、それぞれ対応する前記処理対象データに含まれる各要素データにコピーすることを特徴とする情報処理システム。
【請求項２】
前記インターフェース記述言語は、インターフェース・ディフィニション・ランゲッジであることを特徴とする請求項１記載の情報処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、特定のインターフェース記述言語を解するが、アクセスしようとするデータに対し、アクセスインターフェースを持たないプログラム言語処理機能を有する情報処理システムに関する。
【０００２】
【従来の技術】
プログラム外のデータにアクセスする必要のあるアプリケーションを開発する場合、データアクセスを行うためのアクセスルーチンをあらかじめ用意することにより、開発を効率的に進めることができる。用意すべきアクセスルーチンの作成／変更の作業の負荷を減らすため、データアクセスを行うためのアクセスルーチンを自動生成する方法が提案されている。
【０００３】
例えば、特開平４−２４５３２８号公報「データアクセスパッケージ生成装置」では、データ構造を入力することにより、データにアクセスするためのデータアクセスパッケージを自動生成する方法が提案されている。
【０００４】
また、特開平７−１４６７８５号公報「プログラム自動生成方法および装置」では、仕様書から、適切なデータ型のデータ変数の自動定義、およびデータアクセス関数の自動生成を行う方法および装置が提案されている。
【０００５】
【発明が解決しようとする課題】
一般に、アクセスしようとするデータに対して、プログラム言語処理機能が解読できるプログラミング言語がアクセスルーチンを記述できない、即ちプログラム言語処理機能がアクセスインターフェースを持たない場合、データへのアクセスのためのアクセスドライバを作成しなければならない。このためにはこのプログラム言語処理機能自体を修正するか、このプログラム言語処理機能専用のライブラリルーチンを作成する必要がある。また、この修正／作成作業は、このプログラム言語処理機能に特化したものとなり、他の言語処理機能への流用は困難である。上述した従来の方式では、アクセスされるデータは、データ処理を記述するプログラム言語でアクセスルーチンを記述できることを前提としており、上記のような問題点に対する解決策は提示されていない。
【０００６】
一方、あらゆる性格の、あらゆる場所にあるデータのアクセスや処理機能を実行するための手段として、ＩＤＬ（Ｉｎｔｅｒｆａｃｅ Ｄｅｆｉｎｉｔｉｏｎ Ｌａｎｇｕａｇｅ）と呼ばれる言語で記述される分散オブジェクト基盤が開発されている。この分散オブジェクト基盤では、ＩＤＬで記述されたインターフェースを持つコンポーネントを実装することによりデータのアクセスや処理機能を実現できる。ＩＤＬで記述されたインターフェースを持つコンポーネントは、言語、オペレーティングシステム、ネットワークを介するか否かにかからわず使用することができる。ＣＯＲＢＡ（Ｃｏｍｍｏｎ Ｏｂｊｅｃｔ Ｒｅｑｕｅｓｔ Ｂｒｏｋｅｒ Ａｒｃｈｉｔｅｃｔｕｒｅ）、ＤＣＯＭ（Ｄｉｓｔｒｉｂｕｔｅｄ Ｃｏｍｐｏｎｅｎｔ Ｏｂｊｅｃｔ Ｍｏｄｅｌ）といった分散オブジェクト基盤は、世の中ですでに広まりつつあり、これらの分散オブジェクト基盤についても、インターフェースの記述にはＩＤＬが用いられている。従って、これらに準拠したＩＤＬで記述されたインターフェースを持つデータアクセスのためのコンポーネント（以下データオブジェクトという）を新しく作成した場合、このデータオブジェクトは、多数のプログラム言語処理機能でその変更なしに使用することができる。
【０００７】
しかし、ＩＤＬで記述されたインターフェースを持つデータオブジェクトが保有するデータにアクセスするためには、アクセス対象のデータオブジェクトが保有するデータのフォーマット及びインターフェースの仕様を把握し、アクセスルーチンに反映させる必要がある。アクセスルーチンの記述は単にプログラム上の変数にアクセスする場合と比較するとかなり複雑となり、アクセスルーチン作成の際の負担が大きくなる。
【０００８】
また、アクセスルーチンがコンピュータネットワークを介して別のコンピュータ上のデータオブジェクトにアクセスしようとする場合、闇雲にデータオブジェクトへのアクセスを試みると、データオブジェクトのあるコンピュータの負荷が増大し、アクセス性能を著しく低下させる恐れがある。
【０００９】
この発明は、上述のような課題を解決するためになされたもので、特定のインターフェース記述言語は解するが、アクセスの対象となるデータに対してアクセスインターフェースを持たないプログラム実行処理機能を有する情報処理システムにおいて、第１の目的は、プログラム言語処理機能が実行できるプログラムを生成し、プログラム言語処理機能に実行させることによってデータにアクセスできる情報処理システムを得るものである。
【００１０】
また、第２の目的は、データのアクセスを行うアプリケーションの作成において、作成者の負担を軽減することができる情報処理システムを得るものである。
【００１１】
また、第３の目的は、アクセスの対象となるデータへのアクセス性能を向上できる情報処理システムを得るものである。
【００１２】
【課題を解決するための手段】
この発明に係る情報処理システムは、処理対象となりうるデータに含まれる各要素データのフォーマットを定義したフォーマット情報を複数格納したフォーマットデータベースと、特定のプログラム言語で記述されたプログラムを実行でき、且つ特定のインターフェース記述言語を解するプログラム言語処理手段と、処理対象となったデータを格納するデータ格納手段と、前記データ格納手段に格納された処理対象データに対する処理を行うための、前記プログラム言語処理手段が実行する実行プログラムの生成処理を行う生成処理手段と、を備える情報処理システムであって、前記生成処理手段は、前記処理対象データに対応するフォーマット情報を、前記処理対象データに含まれるフォーマット識別子に基づき前記フォーマットデータベースから読み出し、読み出したフォーマット情報に基づき、前記処理対象データに含まれる各要素データに対応する各変数を定義する定義文を生成し、さらに、前記定義文に定義された各変数に、前記処理対象データに含まれる各要素データをそれぞれ対応付けてコピーする処理を実行する第１のサブルーチンと、前記処理対象データに含まれる各要素データに、前記定義文に定義された各変数の値をそれぞれ対応付けてコピーする処理を実行する第２のサブルーチンと、を生成し、前記実行プログラムは、前記処理対象データの処理を行う前記特定のプログラム言語で記述されたデータ処理プログラムと、前記定義文と、前記第１のサブルーチンと、前記第２のサブルーチンと、を結合することで生成され、前記プログラム言語処理手段は、生成された実行プログラムを実行することで、前記第１のサブルーチンに基づき、前記定義文に定義された各変数にそれぞれ対応する前記処理対象データに含まれる各要素データに前記特定のインターフェース記述言語でアクセスして、各要素データを読み出し、読み出した各要素データをそれぞれ対応する前記定義文に定義された各変数にコピーし、前記コピーされた各要素データを前記特定のプログラム言語で記述されたデータ処理プログラムで処理し、前記第２のサブルーチンに基づき、処理対象データに含まれる各要素データに前記特定のインターフェース記述言語でアクセスして、前記データ処理プログラムで処理された各変数を、それぞれ対応する前記処理対象データに含まれる各要素データにコピーすることを特徴とする。
【００１３】
また、前記インターフェース記述言語は、インターフェース・ディフィニション・ランゲッジとするものである。
【００１６】
【発明の実施の形態】
実施の形態１.
以下に、本発明の実施の形態を図を用いて説明する。
【００１７】
図１は、本発明に係る情報処理システムの構成と、入出力データとの関係を示した図である。システム１０は本発明の情報処理システムに該当し、生成処理手段１１、プログラム言語処理手段１４、フォーマットデータベース１２及びデータオブジェクト１３より構成される。生成処理手段１１は、システム１０においてデータに基づくプログラムの制御を行う手段である。プログラム言語処理手段１４は、特定のプログラム言語で作成されたプログラムを解読、実行する手段である。また、このプログラム言語処理手段１４は、ＩＤＬを解することを特徴とする。フォーマットデータベース１２は、複数の入力データのフォーマットが格納されたデータベースである。データオブジェクト１３は、本発明のデータ格納手段に該当し、ＩＤＬで規定されたインターフェースを持つ。このデータオブジェクト１３に格納されているデータには、上述のインターフェースによってアクセスできる。
【００１８】
生成処理手段１１はプログラム言語処理手段１４、データオブジェクト１３に対して、ＩＤＬのインターフェースを用いて操作を行う。また生成処理手段１１は、フォーマットデータベース１２から入力データのフォーマットを一般的なデータベース操作で読み出す。
【００１９】
ユーザプログラム１５は、本発明のデータ処理プログラムに該当し、システム１０を用いてデータを処理するためにユーザが作成したプログラムであり、プログラム言語処理手段１４が解読できるプログラム言語で記述されている。入力データ１６は、本発明の処理対象データに該当し、ユーザプログラム１５が処理を行おうとするデータである。プログラム言語処理手段１４はこの入力データ１６へのアクセスインターフェースを持たない。入力データ１６は、データのフォーマットを規定するデータフォーマットＩＤと、アクセス対象のデータが入っているデータ部より構成される。データフォーマットＩＤは、本発明のフォーマット識別子に該当する。ユーザプログラム１５をシステム１０で実行した結果の出力データ１７は、ユーザプログラム１３によって入力データ１６のデータ部を処理したものであり、データフォーマットＩＤは入力データ１６と同じである。
【００２０】
図２は、図１の入力データ１６の構成図である。データフォーマットＩＤ２１には、図１のフォーマットデータベース１２に格納されている複数のデータフォーマットのうちの、該当するフォーマットに対応する識別子が付けられている。
【００２１】
データ部２２は、単一のデータである単項目データを格納する単項目格納域（図２ではＦＵＮＣデータ格納域２３及びＩＮＳＥＲＴＮＡＭＥデータ格納域２４）と、複数のデータを表形式で保存する表データを格納する表項目格納域（ＬＩＳＴ＿ＮＡＭＥデータ格納域２５及びＬＩＳＴ＿ＤＥＰＯＳＩＴデータ格納域２６）とで構成される。
【００２２】
図３は表データの概念図である。図３は、ＬＩＳＴという名前の表データ３１には、ＮＡＭＥとＤＥＰＯＳＩＴという属性を持つデータがそれぞれ２０個ずつあることを示しており、それぞれのデータには番号が割り振られ識別できるようになっている。それぞれの属性のデータは、図２のデータ部２２ではＬＩＳＴ＿ＮＡＭＥデータ格納域２５とＬＩＳＴ＿ＤＥＰＯＳＩＴデータ格納域２６に格納される。以下、ＮＡＭＥ又はＤＥＰＯＳＩＴのような表データのそれぞれの属性に属するデータの集合を配列データと呼ぶ。
【００２３】
図４は、図１のフォーマットデータベース１２におけるデータフォーマット管理の概念図である。フォーマットデータベース１２は、データフォーマットのリストを格納するテーブル４０と、各データフォーマットの詳細を格納するデータフォーマット詳細テーブル５１及び５２で構成されている。データフォーマット詳細テーブルは、本発明のフォーマット情報に該当する。テーブル４０では、データフォーマットの識別子であるＩＤ番号として、データＩＤ１とデータＩＤ２が格納されており、図１の生成処理手段１１は、このＩＤ番号を手がかりに、対応するデータフォーマット詳細テーブル４１又は４２を参照することができる。この実施の形態では、データフォーマット詳細テーブル４１は、図２のデータ部２２のデータフォーマットを定義したものであり、図２のデータフォーマットＩＤ２１と、図４のデータＩＤ１は同一である。図４のデータフォーマット詳細テーブル４１では、このデータフォーマットに含まれる複数の要素データを行に、これらのデータの属性を列に取った表形式で示している。図４のＮＡＭＥやＤＥＰＯＳＩＴのような、表データに含まれるそれぞれの属性も、要素データとして示されている。要素データのうち単項目データであるものは、表名と繰り返し数は空白となり、表データに属するものは表名と繰り返し数が定義されている。同じ表に属する要素データについては、同じ表名と同じ繰り返し数となる。
【００２４】
図５は実施の形態１におけるデータアクセス方法のフローチャートである。以下に、図５のフローチャートを基に実施の形態１におけるデータアクセス方法について各ステップ毎に説明する。
【００２５】
ステップＳ１において、図１の生成処理手段１１は、アクセスの対象となる入力デ−タ１６をＩＤＬインターフェースを持つデータオブジェクト１３の形式で実装するために、入力データ１６をデータオブジェクト１３のデ−タ格納域にコピ−する。
【００２６】
図６は、入力データ１６と、データオブジェクト１３の関係を示した図である。データオブジェクト１３は、データを格納するためのデータ格納域６１を保有しており、ここに入力データ１６がコピーされる。チェックマーク６２はデータオブジェクト１３がＩＤＬインターフェースを持つかどうかのフラグであり、生成処理手段１１はチェックマーク６２によってＩＤＬインターフェースでアクセスできるか否かを判別する。データ格納域６１に格納された入力デ−タ１６は、図４のデータフォーマット詳細テーブル４１によってフォ−マットが定義されており、外部からの特定の要素データへのアクセスは、このフォ−マットで定義された各要素データの名前によって行われる。
【００２７】
ステップＳ２において、図１の生成処理手段１１は、上述のステップＳ１で格納された、データオブジェクト１３の中の入力データ１６のフォ−マットを読み出す。具体的には生成処理手段１１は、フォーマットデータベース１２のテーブル２０から、入力デ−タ１６のデータフォーマットＩＤ２１と同一のデータＩＤ１を検索し、対応するデータフォーマット詳細テーブル２１を参照して読み出し、これをデータオブジェクト１３の中の入力データのフォ−マットとして、メモリ上に格納する。データオブジェクト１３の中の入力データ１６のフォーマットが読み出されたことにより、デ−タオブジェクト１３の中の入力デ−タ１６を生成処理手段１１からアクセスすることができるようになる。
【００２８】
図７は、データオブジェクト１３で規定されているインターフェースの仕様を示した図である。
【００２９】
図７（１）ＧＥＴメソッドは、データオブジェクト１３のデ−タ格納域６１に格納された入力デ−タ１６中の要素データ（以下、データオブジェクト１３の要素デ−タという）を、プログラムの変数に読み出すためのものである。ＯＢＪ１は、対象となるオブジェクトを示しており、この実施の形態では、ＯＢＪ１は図６のデ−タオブジェクト１３と同一である。ＧＥＴは、メソッド名を示しており、括弧内の複数のパラメータを基に、要素データの読み出しを行う。以下にＧＥＴメソッドのパラメータについて説明する。
【００３０】
表名は、要素データが属している表名を示す。要素データが単項目データのときは、このパラメータに””（空文字）を指定する。名前は、要素データの名前である。インデックスは、表に属している要素データを扱うときに使用するパラメータである。表に属している要素データは表の繰り返し数分のデータを持つ、即ち配列データである。インデックスに０または正の値を指定すると、インデックスの値は配列データの何番目のデータを取り出すかの指標となり、配列データ中の該当する一つのデータがコピー先変数に格納される。インデックスに負の値を設定すると、配列データの先頭からインデックスの絶対値の個数のデータが、配列データの形でコピー先変数に格納される。例えば、インデックスの値に”２”を指定すると、コピー先変数には配列データの先頭から３番目のデータが格納され、”−２”と指定すると、コピー先変数には配列データの先頭から２番目までのデータが、配列データで格納される。コピー先変数は、ＧＥＴメソッドで読み出されるデ−タオブジェクト１３の中の要素デ−タが入るプログラムの変数である。
【００３１】
図７（２）ＳＥＴメソッドは、デ−タオブジェクト１３の要素デ−タに、プログラムの変数の値を書き込むためのものである。ＯＢＪ１は、対象となるオブジェクトを示しており、この実施の形態では、ＯＢＪ１は図６のデ−タオブジェクト１３と同一である。ＳＥＴは、メソッド名を示しており、括弧内の複数のパラメータを基に、要素データへの書き込みを行う。以下にＳＥＴメソッドのパラメータのうち、ＧＥＴメソッドと異なるものについて説明する。
【００３２】
インデックスは、表に属している要素データ、即ち配列データを扱うときに使用するパラメータである。インデックスに０または正の値を指定すると、インデックスの値は配列データの何番目にデータを格納するかの指標となり、配列データ中の該当する一つのデータにコピー元変数の値がコピーされる。インデックスに負の値を設定すると、配列データの先頭からインデックスの絶対値の個数のデータが、コピー元変数からコピーされる。このとき、コピー元変数は配列データの型である必要がある。コピー元変数は、ＳＥＴメソッドでデ−タオブジェクト１３の中の要素デ−タに値が書き出されるプログラムの変数である。
【００３３】
データオブジェクト１３の要素データは、上述のメソッドによって、データオブジェクト１３の外部からアクセスができる。
【００３４】
図８は、入力データ１６のデータフォーマットが常に同じである、即ち固定されていると分かっている場合は、データオブジェクト１３で規定されるインターフェースの仕様を示した図である。このインターフェースの仕様では、ＧＥＴ、ＳＥＴメソッドを使わずに、データオブジェクト１３の中の要素データを、プログラムの変数のように扱うことが可能である。
【００３５】
ステップＳ３において、図１の生成処理手段１１は、データオブジェクト１３の各要素データに対応する変数を定義する定義文を、図１のプログラム言語処理手段１４が解読できるプログラム言語を用いて生成する。
【００３６】
図９は生成された変数定義文のコードを示した図である。図９の変数定義文９１では、それぞれの変数は、ステップＳ２で読み込まれた入力データ１６のデータフォーマット詳細テーブル４１の各要素データを基に生成されている。
【００３７】
ステップＳ４において、図１の生成処理手段１１は、ステップＳ３で定義した変数とデータオブジェクト１３の要素データ間の操作のための部分プログラム（以下サブルーチンという）を、図２のプログラム言語処理手段１４が解読できるプログラム言語を用いて生成する。
【００３８】
図１０は生成されるサブルーチンのコードを示した図である。サブルーチン１０１は、データオブジェクト１３の要素データから、変数定義文９１で定義された変数にコピーするサブルーチンである。サブルーチン１０１が実行されることによって、データオブジェクト１３のすべての要素データは、変数定義文９１で定義された変数にコピーされる。
【００３９】
図１１は生成されるサブルーチンのコードを示した図である。サブルーチン１１１は、変数定義文９１で定義された変数の値をデータオブジェクト１３の要素データにコピーするサブルーチンである。サブルーチン１１１を実行することによって、データオブジェクト１３のすべての要素データには、変数定義文９１で定義された変数の値がコピーされる。
【００４０】
図１２及び図１３は、入力データ１６のデータフォーマットが固定されていると分かっており、データオブジェクト１３のインターフェース仕様が図８の通りに規定されている場合、生成されるサブルーチンのコードを示した図である。
【００４１】
ステップＳ５において、図１の生成処理手段１１は、ステップＳ３で生成された変数定義文９１と、ステップＳ４で生成されたサブルーチン１０１及び１１１を、データオブジェクト１３の要素データを処理するユーザプログラム１５と結合して実行プログラムを生成し、プログラム言語処理手段１４に実行プログラムを実行させる。
【００４２】
図１４は、ユーザプログラム１５のコードの一例を示した図である。ユーザプログラムコード１４１において、コード１４２のＦＬＤ＿ＮＡＭＥ（ｉ）及びコード１４３のＦＬＤ＿ＤＥＰＯＳＩＴ（ｉ）は、ステップＳ３で自動生成された変数定義文９１で定義された変数であり、ユーザプログラム１４１中では、これらの変数を参照／更新することにより、データオブジェクト１３の要素データの参照／更新ができる。
【００４３】
図１５は、実行プログラムのコードを示した図である。実行プログラム１５１は、実際に実行されるプログラムである。実行プログラム１５１は、ユーザが作成したコード１４１、ステップＳ３で生成された変数定義文９１とステップＳ４で自動生成されたサブルーチン１０１及び１１１とを結合し、さらにサブルーチン１０１を呼び出すためのコード１５２及びサブルーチン１１１を呼び出すためのコード１５３を加えたものである。コード１５２を実行することにより、変数定義文９１で定義された全ての変数に、データオブジェクト１３の要素データが全てコピーされるので、以降、変数の値はデータオブジェクト１３の要素データとみなして処理することができる。また、コード１５３を実行することにより、変数定義文９１で定義された全ての変数の値がデータオブジェクト１３の全ての要素データにコピーされる。コード１５２及び１５３はこのステップにおいて自動的に生成されるものである。また、データオブジェクト１３への実際のアクセスは、コード１５２及び１５３を通して行われる。
【００４４】
以上のステップＳ１〜ステップＳ５を実施することにより、ＩＤＬを解するが、入力データ１６に対してアクセスインターフェースを持たないプログラム言語処理手段１４を介した入力データ１６へのアクセスが可能となる。
【００４５】
またデータオブジェクト１３は、ＩＤＬによりアクセスインターフェースが規定されているため、多種類のプログラム言語処理機能によるデータオブジェクト１３の要素データへのアクセスが可能となる。
【００４６】
また、データオブジェクト１３の要素データに対応する変数定義文９１や、データオブジェクト１３の要素データにアクセスするためのサブルーチン１０１及び１１１は自動生成されるので、ユーザプログラム１５ではこれに対応するコードを記述する必要はない。これによりユーザ側でのデータアクセスのためのプログラム作成の負担を軽減できる。
【００４７】
また、実行プログラム１５１において、サブルーチン１０１を呼び出すコード１５２をユーザプログラム１５に対応するコード１４１の前に実行することで、変数定義文９１で定義された変数にデータオブジェクト１３のすべての要素データがコピーされ、以降は変数をデータオブジェクト１３の要素データと見立てて処理を行うことができる。サブルーチン１１１を呼び出すコード１５３をユーザプログラム１５に対応するコード１９１の後に実行することで、すべての変数の値がデータオブジェクト１３の要素データにコピーされ、変数の処理結果がデータオブジェクト１３の要素データに反映される。よってデータオブジェクト１３の要素データに対応する変数の処理することが要素データの処理とみなされ、性能劣化の原因であるデータオブジェクト１３の要素データへのアクセス及び処理を行う必要がないため、アクセス性能の向上につながる。
【００４８】
【発明の効果】
以上説明したように、本発明に係る情報処理システムによれば、処理対象データを、データ格納手段に格納し、処理対象データのフォーマットを読み出し、データ格納手段のデータへのアクセスインターフェース及びフォーマットを基に実行プログラムを生成し、プログラム言語処理手段に実行プログラム実行させデータ格納手段にある入力対象データにアクセスさせることで、プログラム言語処理手段がアクセスインターフェースを持たない処理対象データへのアクセスを実現することができる。
【００４９】
また、データ格納手段にあるデータへのアクセスインターフェースをＩＤＬで規定することにより、ＩＤＬを解するがアクセス対象のデータに対してアクセスインターフェースを持たない多くのプログラム言語処理機能において、データへのアクセスができる。ＩＤＬでインターフェースを規定している分散オブジェクト基盤が世の中に広まっていることから、コンピュータネットワークを介した広域に渡るデータのアクセスもできる。
【００５０】
また、処理対象データの受け渡しを行う変数の定義文及びデータ格納手段にある処理対象データにアクセスし、変数の値との受け渡しを行うサブルーチンが自動生成され、処理対象データの処理を行うプログラムと結合し実行プログラムが生成されることで、処理対象データにアクセスするためのアクセスルーチンの作成の負担が軽減される。
【００５１】
また、実行プログラムにおいて、データ処理プログラムの開始前又は終了後のうち少なくとも一方で変数定義文又はサブルーチンが呼び出されることで、定義文で定義された変数の値とデータ格納手段に格納された処理対象データとの受け渡しが行われ、その結果、変数をデータ格納手段データと見立ててデータの処理を行うことができ、直接にデータ格納手段にある処理対象データにアクセスし処理を行う場合と比較して、アクセス性能が向上する。
【図面の簡単な説明】
【図１】  この発明の実施の形態１で示されるシステム構成と入出力データの関係図である。
【図２】  入力データの構成図である。
【図３】  入力データに含まれる表データの概念図である。
【図４】  フォーマットデータベースにおけるデータフォーマット管理の概念図である。
【図５】  この発明の実施の形態１のデータアクセスのフローチャートである。
【図６】  入力データとデータオブジェクトの関係図である。
【図７】  データオブジェクトで規定されるインターフェース仕様を示した図である。
【図８】  入力データのフォーマットが固定されている場合、データオブジェクトで規定されるインターフェース仕様を示した図である。
【図９】  図１のステップＳ３で自動生成される変数定義文のコードを示した図である。
【図１０】  図１のステップＳ４で自動生成される、データオブジェクトの要素データから変数にコピーするサブルーチンのコードを示した図である。
【図１１】  図１のステップＳ４で自動生成される、変数の値をデータオブジェクトの要素データにコピーするサブルーチンのコードを示した図である。
【図１２】  データオブジェクトのインターフェース仕様が図８の場合に自動生成される、データオブジェクトの要素データから変数にコピーするサブルーチンのコードを示した図である。
【図１３】  データオブジェクトのインターフェース仕様が図８の場合に自動生成される、変数の値をデータオブジェクトの要素データにコピーするサブルーチンのコードを示した図である。
【図１４】  ユーザプログラムのコードを示した図である。
【図１５】  プログラム言語処理手段で実行される実行プログラムのコードを示した図である。
【符号の説明】
１０  システム（情報処理システム）、１１  生成処理手段、１２  フォーマットデータベース、１３  データオブジェクト（データ格納手段）、１４  プログラム言語処理手段、１５  ユーザプログラム（データ処理プログラム）、１６  入力データ（処理対象データ）、１７  出力データ。
【図１】
0003664602.tif 000002
【図２】
0003664602.tif 000003
【図３】
0003664602.tif 000004
【図４】
0003664602.tif 000005
【図５】
0003664602.tif 000006
【図６】
0003664602.tif 000007
【図７】
0003664602.tif 000008
【図８】
0003664602.tif 000009
【図９】
0003664602.tif 000010
【図１０】
0003664602.tif 000011
【図１１】
0003664602.tif 000012
【図１２】
0003664602.tif 000013
【図１３】
0003664602.tif 000014
【図１４】
0003664602.tif 000015
【図１５】
0003664602.tif 000016