(57)【要約】【課題】プログラム作成及び修正を一切行わず、処理全体のデータのフローを考慮したシステム構築及びカスタマイズ作業が実施できる情報処理装置を提供する。【解決手段】情報処理装置１００は、ユーザーインターフェイス１１１を経由して、最初に実行する基本機能部１０１を指定するＸＭＬファイル１１３を格納する。稼動制御部１１２は、ＸＭＬファイル１１３を参照し、処理の位置付け、処理内容及び処理実行条件を取得すると、この処理実行条件を実行対象の基本機能部インスタンス１１４の持つデータ格納領域のデータと比較する。処理実行条件が一致する場合、初期実行対象の基本機能部１０１が伝えられ、稼動制御部１１２が実行対象となる基本機能部クラス１０８から基本機能部インスタンス１１４を生成し、この基本機能部インスタンス１１４の持つ命令が実行される。【選択図】    図４
2005216001.tif 000002
【特許請求の範囲】
【請求項１】
個別の要素として構成され、予め設定された所定の基本機能を実現する複数の基本機能部と、
前記複数の基本機能部の中から、最初に動作させる基本機能部を指定する指定部と、
前記指定部が指定した基本機能部からプログラムを生成し、生成した前記プログラムの処理を実行させる稼動制御部と、
前記複数の基本機能部の中から処理に使用すべき基本機能部を特定するとともに、処理  内容及び実施順序を規定する電子文書を記憶する電子文書記憶部と、
前記電子文書記憶部が記憶する電子文書の規定に従って、特定された基本機能部からプログラムを生成するとともに、生成した前記プログラムの処理を再帰的に実行する再帰プログラム実行命令部と、
を具備することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記プログラムの処理の実行中に発生するデータを格納するデータ格納部を具備し、
前記データ格納部は、データ名称とデータ値を一組の情報として格納するデータレコード格納部と、
前記データ名称に対して複数のデータ値を格納するデータテーブル格納部と、
を具備することを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置において、
前記電子文書にて規定された内容と前記データレコード格納部に格納された前記データ名称とを比較し、一致するものがある場合、前記データ名称に対応するデータ値に置き換えて演算を実行する演算実行命令部、
を具備することを特徴とする情報処理装置。
【請求項４】
請求項２又は請求項３に記載の情報処理装置において、
前記電子文書にて規定された外部データ操作内容と前記データレコード格納部に格納された前記データ名称とを比較し、一致するものがある場合、前記データ名称に対応するデータ値に置き換えるとともに、前記データ値に基づいて外部データ保存装置に対して外部データ操作を実行する外部データ操作命令部、
を具備することを特徴とする情報処理装置。
【請求項５】
請求項２乃至請求項４のいずれかに記載の情報処理装置において、
前記電子文書に含まれる処理の実行条件を規定する処理実行条件情報と前記データレコード格納部に格納された前記データ名称とを比較し、一致するものが含まれる場合、前記データ名称に対応するデータ値に置き換えるデータ値置換部、
を具備することを特徴とする情報処理装置。
【請求項６】
請求項５に記載の情報処理装置において、
前記データ値置換部が前記データ名称に対応するデータ値に置き換えた後、処理実行条件が一致する場合は命令を稼動する一方、一致しない場合は命令を稼動しない実行命令部、
を具備することを特徴とする情報処理装置。
【請求項７】
個別の要素として構成され、予め設定された所定の基本機能を実現する複数の基本機能部を記憶する記憶ステップと、
前記複数の基本機能部の中から、最初に動作する対象となる基本機能部を指定する指定ステップと、
前記指定ステップが指定した基本機能部からプログラムを生成し、生成した前記プログラムの処理を実行させる稼動制御ステップと、
前記複数の基本機能部の中から処理に使用すべき基本機能部を特定するとともに、処理内容及び実施順序を規定する電子文書を記憶する電子文書記憶ステップと、
前記電子文書記憶ステップが記憶させた電子文書の規定に従って、基本機能部からプログラムを生成するとともに、生成した前記プログラムの処理を再帰的に実行する再帰プログラム実行命令ステップと、
を含むことを特徴とする情報処理方法。
【請求項８】
請求項７に記載の情報処理方法において、
前記プログラムの処理の実行中に発生するデータを格納するデータ格納ステップを含み、
前記データ格納ステップは、データ名称とデータ値を一組の情報として格納するデータレコード格納ステップと、
前記データ名称に対して複数のデータ値を格納するデータテーブル格納ステップと、
を含むことを特徴とする情報処理方法。
【請求項９】
請求項８に記載の情報処理方法において、
前記電子文書にて規定された内容と前記データレコード格納ステップによって格納された前記データ名称とを比較し、一致するものがある場合、前記データ名称に対応するデータ値に置き換えて演算を実行する演算実行命令ステップ、
を含むことを特徴とする情報処理方法。
【請求項１０】
請求項８又は請求項９に記載の情報処理方法において、
前記電子文書にて規定された外部データ操作内容と前記データレコード格納ステップに格納された前記データ名称とを比較し、一致するものがある場合、前記データ名称に対応するデータ値に置き換えるとともに、前記データ値に基づいて外部データ保存装置に対して外部データ操作を実行する外部データ操作命令ステップ、
を含むことを特徴とする情報処理方法。
【請求項１１】
請求項８乃至請求項１０のいずれかに記載の情報処理方法において、
前記電子文書に含まれる処理の実行条件を規定する処理実行条件情報と前記データレコード格納ステップによって格納された前記データ名称とを比較し、一致するものが含まれる場合、前記データ名称に対応するデータ値に置き換えるデータ値置換ステップ、
を含むことを特徴とする情報処理方法。
【請求項１２】
請求項１１に記載の情報処理方法において、
前記データ値置換ステップが前記データ名称に対応するデータ値に置き換えた後、処理実行条件が一致する場合、命令を稼動する一方、一致しない場合は命令を稼動しない実行命令ステップ、
を含むことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理方法に係り、更に詳しくは、コンピュータなどの情報処理装置で行われる情報処理の内容の作成及びカスタマイズを実現するための技術に関する。
【背景技術】
【０００２】
一般に、コンピュータを用いて行う情報処理は、インストールされるソフトウェアによって決定されるが、個別に開発されたソフトウェアの情報処理機能及び内容を変更するためには、その都度根本的なソフトウェアの更新・修正などが必要であり、変更に要する負担は莫大なものである。
【０００３】
このソフトウェアの変更に対処するため、従来からいくつかの技術が提案されており、例えば以下の３つが挙げられる。  
第１の技術は、予めカスタマイズの余地を含んでソフトウェアを構築する手法であり、想定される多様性を包含するように多機能なソフトウェアを事前に構成しておくことにより、実際に使用する機能をパラメータ等で指定するだけで、多様な処理内容を実現するというものである。  
第２の技術は、いわゆるオブジェクト指向と呼ばれるプログラミング手法であり、この手法で構成されたソフトウェアは、比較的シンプルな機能を実行するモジュールの組み合わせで全体の処理を実現しており、各モジュールの置換、追加を比較的容易に行うことができるというものである。また、モジュールの置換等により、多様な処理内容を実現することが可能となる。  
第３の技術は、インターネットで多用されているＷｅｂプログラミングと呼ばれる技術であり、インターネット上のサーバから、クライアントに対し、ＨＴＭＬ（Hyper Text Markup Language）のファイルやスクリプト等を送信することにより、クライアントにおいて種々の処理を実現させることができるというものである。例えば、ブラウザを搭載したクライアントでは、ソフトウェアの変更を伴うまでなく、ＨＴＭＬファイルを変更するだけで多種多様な表示画面が実現される。
【０００４】
しかし、これらの技術では以下の問題点があり、現時点では、情報処理装置において要求されるカスタマイズに十分に対応することができていない。  
第１の技術では、ソフトウェアの構築時に予め考慮されている範囲を超えるカスタマイズが要求された場合には、十分に対処することができない。  
第２の技術では、新たな機能を追加する際に、追加機能に対応したモジュールを作成するとともに、追加されたモジュールを呼び出すよう、メインプログラムを改変する必要があり、結局、ソフトウェアの改修が必要とされる。  
第３の技術では、ＨＴＭＬで対応可能な機能は比較的限定されており、十分な情報処理機能を提供するには適していない。一方、ＸＭＬ（eXtensible Markup Language）と呼ばれる技術によって、実現可能な機能の拡大が図られてはいるものの、それだけでは、十分な情報処理機能を提供するには至っていない。
【０００５】
これらの問題点を解決するために、情報処理装置における処理内容の更新、カスタマイズを実現することを目的とし、ブラウザ上で起動する実行エンジン１２０、アプリケーションブラウザ１３０、部品１３１ａ、１３１ｂを用意する。実行エンジン１２０は、ＸＭＬで記述されたフロー定義１４を読み込み、タグで規定されたコマンドを順次実行する。画面表示が要求されている場合には、アプリケーションブラウザ１３０を呼び出す。アプリケーションブラウザ１３０は、画面定義を読み込み、各部品を起動して表示画面を生成する。このように、それぞれ基本的、汎用的な機能のみを備えるソフトウェアを用意し、実質的な処理内容をＸＭＬの電子文書で与えることにより、ソフトウェアの改変を伴うことなく、処理内容の改変を実現することができるというカスタマイズ可能な情報処理装置が提案されている。即ち、基本的、汎用的な機能のみを備えるソフトウエアを提供し実質的な処理内容をＸＭＬの電子文書で与えることにより、ソフトウエアの改変を伴うことなく処理内容の改変を実現することを提案している（特許文献１参照）。
【０００６】
また、類似する他の公知技術としては、ユーザインタフェースを自動的に生成するユーザインタフェースジェネレータを提供することを目的とし、実行中のアプリケーションから呼び出しを受け取り、ＸＳＤファイルにアクセスし、ＸＳＤファイルで指定されたデータ構造に従ってユーザインタフェースを生成することができるユーザインタフェースジェネレータである。なお、この手法における別実施形態として、ＸＭＬファイルにおけるデータ構造を定義するユーザ入力を受け入れ、定義されたデータ構造に対応するデータを収集するための１つまたは複数のユーザ入力メカニズムを提供することができるＸＳＤファイルを用意するスキーマエディタである、というユーザインタフェースを自動的に生成する方法が提案されている（特許文献２参照）。
【特許文献１】特開２００３−２１６４２７
【特許文献２】特開２００３−２８８１４３
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１や特許文献２に開示された発明では、基本的、汎用的な機能のみを提供するだけであり、実質的に処理の単位が独立してしまうので、連続した処理を実現することができない。  
また、従来の技術では、処理フローの定義を行ってもノードに割り当てるのはプログラムであり、フローの変更を行った際にプログラム変更が生じた。そして、新規追加の場合には、追加分のプログラムを作成しなければならなかった。  
更に、従来から処理フローの定義を行い、ノードにインスタンスを割り当てる考え方は以前から存在したが、プログラム実行時にすべてのインスタンスを形成し、同時に順次実行することは行われていなかった。
【０００８】
本発明は、上記の問題点を解決する為になされたものであり、システムを構成するプログラムとして基本的なモジュールのみを使用し、その結果、プログラム作成及び修正を一切行わず、処理全体のデータのフローを考慮したシステム構築及びカスタマイズ作業が実施できる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１に係る本発明の情報処理装置は、上記の目的を達成するために、個別の要素として構成され、予め設定された所定の基本機能を実現する複数の基本機能部と、前記複数の基本機能部の中から、最初に動作させる基本機能部を指定する指定部と、前記指定部が指定した基本機能部からプログラムを生成し、生成した前記プログラムの処理を実行させる稼動制御部と、前記複数の基本機能部の中から処理に使用すべき基本機能部を特定するとともに、処理内容及び実施順序を規定する電子文書を記憶する電子文書記憶部と、前記電子文書記憶部が記憶する電子文書の規定に従って、特定された基本機能部からプログラムを生成するとともに、生成した前記プログラムの処理を再帰的に実行する再帰プログラム実行命令部とを具備することを特徴とする。
【００１０】
請求項２に係る本発明の情報処理装置は、請求項１に記載の情報処理装置において、前記プログラムの処理の実行中に発生するデータを格納するデータ格納部を具備し、前記データ格納部は、データ名称とデータ値を一組の情報として格納するデータレコード格納部と、前記データ名称に対して複数のデータ値を格納するデータテーブル格納部とを具備することを特徴とする。
【００１１】
請求項３に係る本発明の情報処理装置は、請求項２に記載の情報処理装置において、前記電子文書にて規定された内容と前記データレコード格納部に格納された前記データ名称とを比較し、一致するものがある場合、前記データ名称に対応するデータ値に置き換えて演算を実行する演算実行命令部を具備することを特徴とする。
【００１２】
請求項４に係る本発明の情報処理装置は、請求項２又は請求項３に記載の情報処理装置において、前記電子文書にて規定された外部データ操作内容と前記データレコード格納部に格納された前記データ名称とを比較し、一致するものがある場合、前記データ名称に対応するデータ値に置き換えるとともに、前記データ値に基づいて外部データ保存装置に対して外部データ操作を実行する外部データ操作命令部を具備することを特徴とする。
【００１３】
請求項５に係る本発明の情報処理装置は、請求項２乃至請求項４のいずれかに記載の情報処理装置において、前記電子文書に含まれる処理の実行条件を規定する処理実行条件情報と前記データレコード格納部に格納された前記データ名称とを比較し、一致するものが含まれる場合、前記データ名称に対応するデータ値に置き換えるデータ値置換部を具備することを特徴とする。
【００１４】
請求項６に係る本発明の情報処理装置は、請求項５に記載の情報処理装置において、前記データ値置換部が前記データ名称に対応するデータ値に置き換えた後、処理実行条件が一致する場合は命令を稼動する一方、一致しない場合は命令を稼動しない実行命令部を具備することを特徴とする。
【００１５】
請求項７に係る本発明の情報処理方法は、個別の要素として構成され、予め設定された所定の基本機能を実現する複数の基本機能部を記憶する記憶ステップと、前記複数の基本機能部の中から、最初に動作する対象となる基本機能部を指定する指定ステップと、前記指定ステップが指定した基本機能部からプログラムを生成し、生成した前記プログラムの処理を実行させる稼動制御ステップと、前記複数の基本機能部の中から処理に使用すべき基本機能部を特定するとともに、処理内容及び実施順序を規定する電子文書を記憶する電子文書記憶ステップと、前記電子文書記憶ステップが記憶させた電子文書の規定に従って、基本機能部からプログラムを生成するとともに、生成した前記プログラムの処理を再帰的に実行する再帰プログラム実行命令ステップとを含むことを特徴とする。
【００１６】
請求項８に係る本発明の情報処理方法は、請求項７に記載の情報処理方法において、前記プログラムの処理の実行中に発生するデータを格納するデータ格納ステップを含み、前記データ格納ステップは、データ名称とデータ値を一組の情報として格納するデータレコード格納ステップと、前記データ名称に対して複数のデータ値を格納するデータテーブル格納ステップとを含むことを特徴とする。
【００１７】
請求項９に係る本発明の情報処理方法は、請求項８に記載の情報処理方法において、前記電子文書にて規定された内容と前記データレコード格納ステップによって格納された前記データ名称とを比較し、一致するものがある場合、前記データ名称に対応するデータ値に置き換えて演算を実行する演算実行命令ステップを含むことを特徴とする。
【００１８】
請求項１０に係る本発明の情報処理方法は、請求項８又は請求項９に記載の情報処理方法において、前記電子文書にて規定された外部データ操作内容と前記データレコード格納ステップに格納された前記データ名称とを比較し、一致するものがある場合、前記データ名称に対応するデータ値に置き換えるとともに、前記データ値に基づいて外部データ保存装置に対して外部データ操作を実行する外部データ操作命令ステップを含むことを特徴とする。
【００１９】
請求項１１に係る本発明の情報処理方法は、請求項８乃至請求項１０のいずれかに記載の情報処理方法において、前記電子文書に含まれる処理の実行条件を規定する処理実行条件情報と前記データレコード格納ステップによって格納された前記データ名称とを比較し、一致するものが含まれる場合、前記データ名称に対応するデータ値に置き換えるデータ値置換ステップを含むことを特徴とする。
【００２０】
請求項１２に係る本発明の情報処理方法は、請求項１１に記載の情報処理方法において、前記データ値置換ステップが前記データ名称に対応するデータ値に置き換えた後、処理実行条件が一致する場合、命令を稼動する一方、一致しない場合は命令を稼動しない実行命令ステップを含むことを特徴とする。
【００２１】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００２２】
本発明によれば、システムを構成するプログラムとして基本的なモジュールのみを使用し、その結果、プログラム作成及び修正を一切行わず、処理全体のデータのフローを考慮したシステム構築及びカスタマイズ作業が実施できる情報処理装置を提供可能となる。
【発明を実施するための最良の形態】
【００２３】
本発明において、再帰プログラム実行命令部は、電子文書記憶部が記憶する電子文書の規定に従って、特定された基本機能部からプログラムを生成するとともに、生成した前記プログラムの処理を再帰的に実行することを特徴とする。その結果、必要処理を新規に追加する場合でも、属性値のみを設定するだけでよく、プログラム自身の変更は一切不要となる。
【実施例１】
【００２４】
まず、用語の意義を定義する。  
ＸＭＬ（エックスエムエル： eXtensible Markup Language ）とは、データをネットワーク経由で送受信するための言語であり、ユーザが独自のタグを指定できるメタ言語の一種である。同じく独自のタグを指定可能なＳＧＭＬのサブセットという形をとっており、任意のデータをＨＴＭＬと同様の感覚で送受信できることを目標に作成されたものである。ＸＭＬはその性質上、他のマークアップ言語の骨組みとして使用されることが多い。ＸＭＬベースのマークアップ言語としては、リモート経由で他のコンピュータのサービスを呼び出すＳＯＡＰや、Ｗｅｂ上でベクター画像の表現を行なうＳＶＧが有名である。
【００２５】
オブジェクト指向（ object oriented ）とは、ソフトウェアの設計や開発において、操作手順よりも操作対象に重点を置く考え方である。関連するデータの集合と、それに対する手続き(メソッド)を「オブジェクト」と呼ばれる一つのまとまりとして管理し、その組み合わせによってソフトウェアを構築する。すでに存在するオブジェクトについては、利用に際してその内部構造や動作原理の詳細を知る必要はなく、外部からメッセージを送れば機能するため、特に大規模なソフトウェア開発において有効な考え方であるとされている。データやその集合を現実世界の「モノ」になぞらえた考え方であることから、「オブジェクト」指向と呼ばれる。例えば、我々がテレビを操作する際には、テレビ内部でどのような回路が働いているかを理解する必要はない。ただテレビの操作方法だけを知っていれば、それでテレビを使うことができる。すなわち、「テレビ」というオブジェクトは、自身(の内部を構成する電子回路)を動作させる手続きを知っており、それを利用するためには、(例えばリモコンで)適切なメッセージを与えるだけでよい。このように、何らかの「データ」と、それを操作するための「メソッド」の組み合わせが「オブジェクト」である。個々の操作対象に対して固有の操作方法を設定することで、その内部動作の詳細を覆い隠し、利用しやすくしようとする考え方と言える。この考え方を応用したプログラミング技法が、オブジェクト指向プログラミング(OOP)である。
【００２６】
インスタンス（ instance ）とは、オブジェクト指向プログラミングで、クラスを基にした実際の値としてのデータのことである。クラスと対比して用いられることが多く、クラスを「型」、インスタンスを「実体」として説明されることもある。「オブジェクト」とほぼ同義語のように用いられることが多いが、実際にメモリ上に配置されたデータの集合という意味合いが強く、データの実体をより具体的・直接的に捕らえた用語である。例えば「名前、身長、体重」というクラスがあるとすれば、そのインスタンスは「田中、175、65」というように作られる。一つのクラスから複数のインスタンスを作ることができ、それぞれのインスタンスは違った値を持ちうる。プログラムの中で実際に扱われるのはクラスではなく、こうして作られたインスタンスの方である。
【００２７】
以下、本発明の実施の形態（構成及び動作）を図面と共に詳細に説明する。  
図１は、本発明に係る情報処理装置の処理定義を行うモジュール構成を示す説明ブロック図である。  
１００は、情報処理装置であり、属性１０２を持つ基本機能部１０１及び基本機能部１０１の処理フロー定義を行った電子文書（図示せず）で構成される。なお、以下の図２を用いて詳述するように、この電子文書は、属性１０２そのものを記述するテキストファイルである。
【００２８】
本実態例では、電子文書をＸＭＬで記述するものとし、基本機能部はソフトウエア的にオブジェクト指向言語を用いることにより実装されるものとする。これにより、以下で説明する基本機能部クラスを基本的及び汎用的なプログラム構造とし、基本機能部クラスから実際に実行可能なプログラムである基本機能部インスタンスを生成し、属性１０２により決定される処理内容が実行される。
【００２９】
図１において、属性Ａを持つ基本機能部１０１の下層に、属性Ｂを持つ基本機能部、属性Ｃを持つ基本機能部及び属性Ｄを持つ基本機能部が配置されている。また、属性Ｃを持つ基本機能部のの下層に、属性Ｅを持つ基本機能部及び属性Ｆを持つ基本機能部が配置されている。
【００３０】
図２は、本発明に係る情報処理装置が用いる電子文書ＸＭＬファイルの詳細内容を示す概念図である。  
情報処理装置１００は、電子文書を編集する電子文書入力部（図示せず。ただし、図４に明記する。）をユーザインターフエイスとして持ち、電子文書の処理フロー及び処理属性の編集が可能である。  
この図は、電子文書の内容として、実行する際に参照される演算内容や外部データ操作及び処理実行条件の属性情報を、実際の例としてＸＭＬファイル１１３でどのように記載又は実装されているかを示している。
【００３１】
処理フローの定義ファイルである処理フロー定義ＸＭＬ１０６では、処理種別属性１０３及び処理実行条件属性１０４を設定し、処理属性設定ファイルである処理属性設定ＸＭＬ１０７では、演算内容や外部データ操作の処理属性１０５を設定することができる。これらを用いて、基本機能部クラスから基本機能部インスタンスを生成し、属性により決定される処埋内容が実行される。
【００３２】
図３は、本発明に係る情報処理装置の基本機能部クラスが持つデータ領域の構造図である。  
基本機能部クラス１０８は、処理で使用するデータを格納する二種類のデータ格納領域持っている。一つ目は、一つのデータ名称に対して、複数のデータ値を格納することができるデータテーブル格納部１０９である。データテーブル格納部１０９には、データ名称とデータ値として「１１１１１１１１」及び「２２２２２２２２」…が記憶されている。二つ目は、その中にデータ名称とデータ値を一組として情報を蓄積していくデータレコード格納部１１０である。データレコード格納部１１０には、データ名称及びデータ値の組として、「名称Ａ」及び「４４」、並びに「名称Ｂ」及び「５５」…が記憶されている。  
これらのデータ領域のデータ内容を基本機能部間で受け渡しを行うことにより、連続した処埋が可能となる。
【００３３】
図４は、情報処理装置の初期実行方法を示すフローチャートであり、基本機能部がプログラムに変換され命令が実行されている状況を示している。  
情報処理装置１００は、電子文書入力部としてのユーザーインターフェイス１１１を実装しており、ユーザーインターフェイス１１１を経由してＸＭＬファイル１１３を格納する。このＸＭＬファイル１１３は、その属性により、最初に実行する基本機能部１０１を指定するためのファイルである。
【００３４】
稼動制御部１１２は、ＸＭＬファイル１１３を参照し、処理の位置付け、処理内容及び処理実行条件を取得すると、この処理実行条件を実行対象の基本機能部インスタンス１１４の持つデータ格納領域のデータと比較する。  
そして、処理実行条件が一致する場合において、初期実行対象の基本機能部１０１が伝えられると、稼動制御部１１２が実行対象となる基本機能部クラス１０８から基本機能部インスタンス１１４を生成し、この基本機能部インスタンス１１４の持つ命令が実行される。
【００３５】
図５は、情報処理装置の基本機能部のプログラム生成及び実行を示すフローチャートであり、基本機能部がブログラムに変換され命令が実行されている状況を示している。  
情報処理装置１００の基本機能部インスタンス１１４は、再帰プログラム実行命令１１５を含んでいる。  
基本機能部インスタンス１１４は、ＸＭＬファイル１１３を参照し、当該ＸＭＬファイル１１３で規定している一つ下位の処理対象となる基本機能部１０１の処理の位置付け、処理内容の情報及び処理実行条件を取得する。
【００３６】
そして、取得した当該処理実行条件を実行対象の基本機能部インスタンス１１４の持つデータ格納領域のデータと比較し、処理実行条件が一致する場合、処理対象の基本機能部１０１が伝えられ、実行中の基本機能部インスタンス１１４の再帰プログラム実行命令により、下位の実行対象となる基本機能部クラス１０８から一つずつ基本機能部インスタンス１１４を生成し、基本機能部インスタンス１１４のもつ命令が実行される。  
その際、実行もとの基本機能部インスタンス１１４の持つデータレコード格納部１１０のデータ内容を実行先の基本機能部インスタンス１１４に引き渡す。そして、１つの基本機能部インスタンス１１４の命令が終了すると、次の処理対象となる基本機能部１０１が存在する場合は、次の処理を実行し、以下同様に繰り返す。
【００３７】
一方、処理対象となる基本機能部１０１が存在しなくなった場合は、処理を開始した基本機能部インスタンス１１４に命令が戻る。そして、基本機能部インスタンス１１４のデータテーブル格納部１０９にデータが格納されている場合は、データ値の数だけ、再帰プログラム実行命令を操り返す。
【００３８】
図６は、基本機能部の処理内容を決定するフローチャートである。  
基本機能部１０１は、オブジェクト指向言語によるクラスとして複数の属性と命令部を持っている。  
基本機能部クラス１０８は、クラスがプログラムに変換されインスタンスとして実体を持つ過程において、ＸＭＬにてあらかじめ規定された処理種別属性１０３を参照し、演算命令１１６、外部データ操作命令１１７又は再帰プログラム実行命令ｌ１５の内一つを持つ基本機能部インスタンス１１４を生成する。
【００３９】
図７は、基本機能部の演算命令が実行されるフローチャートである。  
ＸＭＬの処理属性１０５（図２参照）により演算内容１１８が決定される。また、演算内容１１８にデータレコード格納部１１０に格納されているデータ名称が存在する場合には、そのデータ名称に対応するデータ値を設定する。  
そして、演算内容１１８が決定された後、実際に演算内容１１８で規定された計算式を実行し、属性で指定してあるデータ名称を使用して、演算結果１１９をデータレコード格納部１１０に追加する。こうすることによって、どのような演算内容にも適宜対応できるようになっている。
【００４０】
図８は、基本機能部の外部データ操作命令が実行されるフローチャートである。  
外部データ操作内容１２０は、基本機能部インスタンス１１４のＸＭＬの処理属性１０５（図２参照）により決定さる。  
また、外部データ操作内容１２０にデータレコード格納部１１７に格納されているデータ名称が存在する場合には、そのデータ名称に対応するデータ値を設定する。
【００４１】
そして、外部データ操作内容１２０が決定された後、実際に外部データ操作内容１２０で規定されたデータ操作を外部データファイル又はデータベース等のＤＢ１２２（外部データ保存装置１２２）に対して実行し、データ操作結果１２１が存在する場合には、属性１０２で指定してあるデータ名称を使用して、取得データをデータレコード格納部１１０に追加する。こうすることによって、どのようなデータ操作にも対応できるようになっている。
【実施例２】
【００４２】
図９は、本発明に係る情報処理装置が行う処理手順の基本的流れを示すフローチャートである。
【００４３】
情報処理装置１００は、図示した処理手順に従って、処理フロー定義に割り当てるプログラムのベースは同じものを使用し、プログラム属性の設定をノードごとに変更する。これにより、各種機能や処理の新規追加が容易に可能となる。また、新規追加の場合でも、プログラムは変更にはならず、設定する属性値のみを新たに設定することにより処理の追加が可能となる。
【００４４】
一方、従来の技術では、処理フローの定義を行ってもノードに割り当てるのはプログラムであり、フローの変更を行った際にプログラム変更が生じていたが、本発明に係る情報処理装置１００によれば、新規追加の場合でも追加分のプログラムを作成する必要がなくなるという、絶大な効果がある。
【００４５】
図１０は、本発明に係る情報処理装置が行う処理手順の基本的流れを示すフローチャートである。
【００４６】
情報処理装置１００は、図示した処理手順に従って、処理が遷移する場合に、処理時に発生したデータを次の処理のプログラムに引き渡すので、連続した処理が可能となる。そのため処理フローを元に、指定されたノードから順次処理が実行される。また、これらの実行が遷移する際に、各処理で発生したデータを受け渡すことにより、順次連続した処理が可能となる。
【００４７】
一方、従来の技術でも、処理フローの定義を行ってノードにインスタンスを割り当てる考え方は以前から存在したが、プログラム実行時にすべてのインスタンスを形成し、同時に順次実行することは考えられていなかったので、処理や画面等の配置のみ可能であったにすぎない。
【００４８】
図１１は、本発明に係る情報処理装置が給与計算を行う処理手順の基本的流れを示すフローチャートである。ノードとノードの関連を階層化して表現するツリー構造の電子文書（ＸＭＬ）を用いて処理フローを定義している。
【００４９】
情報処理装置１００は、この処理フローに従い、実行対象処理のノードからスタートして、順次下位ノードをたどって処理を実行する。そして、情報処理装置１００の制御装置（例えばＣＰＵ）は、下位ノードが存在しない場合は、上位のノードに処理を遷移させ、最終的にスタートのノードに戻ってきた時点でフローが終了する。
【００５０】
給与計算処理において、「例月処理」が最上位ノードに位置する。その一つ下層に「基準日設定」ノード、「職員選択」ノード及び「個人別給与計算」ノードが存在し、更に、「個人別給与計算」ノードの一つ下層に「日割確認」ノード、「個人情報取得」ノード、「手当計算」ノード、「控除計算」ノード及び「計算情報設定」ノードが存在する。
【００５１】
図１２は、本発明に係る情報処理装置の処理フローを定義した概念図である。  
各ノードは、４種類あるうちの１つのプログラム単位（オブジェクト）と関連付けられており、このプログラム単位のオブジェクトは、複数の属性情報及び一つの命令及び処理中に発生したデータを保持するデータストック領域を備えている。
【００５２】
図１３は、本発明に係る情報処理装置の処理フローの概念図である。  
各ノードに関連付けられたプログラム単位（オブジェクト）の属性情報をあらかじめノードごとに設定する。この場合、「基準日設定」ノードに、プログラム単位であるデータ取得が設定及び関連付けられている。  
データ取得には、属性情報として、「取得テーブル：基準日テーブル」、「取得項目：基準日」及び「取得条件：<=Today」が設定されている。
【００５３】
図１４は、本発明に係る情報処理装置の処理フローの概念図である。  
電子文書を用いて作成された処理フローを実行することにより、それぞれのノードに関連付けされたプログラム単位であるオブジェクトの属性情報を参照し、命令を順次実行する。同図では、「基準日設定」ノード、「職員選択」ノード及び「個人別給与計算」ノードの順で命令が実行されていくことを示している。
【００５４】
図１５は、本発明に係る情報処理装置の処理フローの概念図である。  
実行中の処理が次の処理に遷移する際、データを保持する領域にストックされたデータを次のプログラム単位であるオブジェクトに渡す。同図においては、「職員選択」ノードから「個人別給与計算」ノードの順にデータが渡されていることを示している。
【００５５】
図１６は、本発明に係る情報処理装置の処理フローの概念図であり、四角内の「個人別給与計算」処理の実行手順を以下に詳細に説明する。  
なお、「個人別給与計算」ノードの一つ下層には、「日割確認」ノード、「個人情報取得」ノード、「手当計算」ノード、「控除計算」ノード及び「計算情報設定」ノードが存在し、順次下位ノードをたどって処理を実行すると共に、下位ノードが存在しない場合には、上位のノードに処理を遷移させ、最終的にスタートのノードに戻ってきた時点でフローが終了する。
【００５６】
図１７は、本発明に係る情報処理装置の属性設定画面の模式図である。  
情報処理装置１００は、「個人別給与計算」の処理を呼び出して、属性設定画面を表示する。
【００５７】
属性設定画面の左上には、「構造」及び「検索」を表示し、その下に「例月処理」が最上位ノードとして表示されている。その一つ下層に「基準日設定」ノード、「職員選択」ノード及び「個人別給与計算」ノードを表示し、更に、「個人別給与計算」ノードの一つ下層に「日割確認」ノード、「個人情報取得」ノード、「手当計算」ノード、「控除計算」ノード及び「計算情報設定」ノードを表示する。
【００５８】
属性設定画面の中央上部には、選択されている「個人別給与計算」を表示し、その下に入力項目として「ＩＤ」及び「概要」を表示する。更に、「更新」ボタン、「実行ボタン」及び「参照ボタン」と「リストファイル」の入力項目を表示する。なお、この場合、属性設定情報はない。
【００５９】
情報処理装置１００は、「個人別給与計算」の処理を呼び出すと、下位ノード５つを順次実行するように制御する。また、実行制御する際には、処理間でのデータの受け渡しを管理する。  
また、情報処理装置１００は、「個人別給与計算」から次の「日割確認」に遷移する際に、ストックされている職員番号データを「日割確認」処理に受け渡す。
【００６０】
図１８は、本発明に係る情報処理装置の属性設定画面の模式図である。  
情報処理装置１００は、「個人情報取得」の処理を呼び出して、属性設定画面を表示する。なお、属性設定画面の左側表示や中央下部表示は、図１７と同様であるので、重複する説明を省略する。
【００６１】
属性設定画面の中央上部には、選択されている「個人情報取得」を表示し、その下に入力項目として「ＩＤ」、「概要」、「対象データ」、「取得データ」及び「取得条件」を表示する。  
情報処理装置１００は、「個人情報取得」の処理を呼び出すと、属性情報に設定された取得データ情報により、データストックされたデータ（職員番号）に基づいて、データ（在職コード）を取得する。そして、取得されたデータ（在職コード）をデータストック領域に追加する。
【００６２】
図１９は、本発明に係る情報処理装置の属性設定画面の模式図である。  
情報処理装置１００は、「手当計算」の処理を呼び出して、属性設定画面を表示する。なお、属性設定画面の左側表示や中央下部表示は、図１７と同様であるので、重複する説明を省略する。属性設定画面の中央上部には、選択されている「手当計算」を表示し、その下に入力項目として「ＩＤ」、「概要」、「計算結果名称」、「計算結果型」及び「計算式」を表示する。  
情報処理装置１００は、「手当計算」の処理を呼び出すと、属性情報に設定された計算式情報により、データストックされたデータ（手当１、手当２）を元に、計算結果（手当合計）を取得する。そして、取得された計算結果（手当合計）をデータストック領域に追加する。
【００６３】
図２０は、本発明に係る情報処理装置の属性設定画面の模式図である。  
情報処理装置１００は、「計算情報設定」の処理を呼び出して、属性設定画面を表示する。なお、属性設定画面の左側表示や中央下部表示は、図１７と同様であるので、重複する説明を省略する。  
属性設定画面の中央上部には、選択されている「計算情報設定」を表示し、その下に入力項目として「ＩＤ」、「概要」、「更新テーブル」、「更新条件」、「更新カラム」及び「更新データ」を表示する。  
情報処理装置１００は、「計算情報設定」の処理を呼び出すと、属性情報に設定された更新情報により、データストックされたデータ（職員番号、手当合計）を、更新テーブル（支給テーブル）の各項目（職員番号、手当合計）に更新種別（挿入）を判定して、更新を実行する。
【００６４】
以上説明した様に、本発明に係る情報処理装置及び情報処理方法によれば、システムを構成するプログラムとして複数（例えば４つ）の基本的なモジュールのみを使用し、プログラム属性の設定をノードごとに変更するので、必要な処理の新規追加が容易になる。
【００６５】
また、本発明によれば、ＸＭＬ等で処理フローの定義を行い、４つの異なった命令を持つオブジェクトの組み合わせのみで、すべての処理を実現することができる。
【００６６】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【図面の簡単な説明】
【００６７】
【図１】本発明に係る情報処理装置の処理定義を行うモジュール構成を示す説明図である。
【図２】本発明に係る情報処理装置が用いる電子文書ＸＭＬファイルの詳細内容を示す概念図である。
【図３】本発明に係る入国前審査処理の流れを示すフローチャートである。
【図４】本発明に係る情報処理装置の基本機能部クラスが持つデータ領域の構造図である。
【図５】本発明に係る情報処理装置の基本機能部のプログラム生成及び実行を示すフローチャートである。
【図６】本発明に係る基本機能部の処理内容を決定するフローチャートである。
【図７】本発明に係る基本機能部の演算命令が実行されるフローチャートである。
【図８】本発明に係る基本機能部の外部データ操作命令が実行されるフローチャートである。
【図９】本発明に係る情報処理装置が行う処理手順の基本的流れを示すフローチャートである。
【図１０】本発明に係る情報処理装置が行う処理手順の基本的流れを示すフローチャートである。
【図１１】本発明に係る情報処理装置が給与計算を行う処理手順の基本的流れを示すフローチャートである。
【図１２】本発明に係る情報処理装置の処理フローを定義した概念図である。
【図１３】本発明に係る情報処理装置の処理フローの概念図である。
【図１４】本発明に係る情報処理装置の処理フローの概念図である。
【図１５】本発明に係る情報処理装置の処理フローの概念図である。
【図１６】本発明に係る情報処理装置の処理フローの概念図である。
【図１７】本発明に係る情報処理装置の属性設定画面の模式図である。
【図１８】本発明に係る情報処理装置の属性設定画面の模式図である。
【図１９】本発明に係る情報処理装置の属性設定画面の模式図である。
【図２０】本発明に係る情報処理装置の属性設定画面の模式図である。
【符号の説明】
【００６８】
１００    情報処理装置
１０１    基本機能部
１０２    属性
１０３    処理種別属性
１０４    処理実行条件属性
１０５    処理属性
１０６    処理フロー定義ＸＭＬ
１０７    処理属性設定ＸＭＬ
１０８    基本機能部クラス
１０９    データテーブル格納部
１１０    データレコード格納部
１１１    ユーザーインターフェイス
１１２    稼動制御部
１１３    ＸＭＬファイル
１１４    基本機能部インスタンス
１１５    再帰プログラム実行命令
１１６    演算命令
１１７    外部データ操作命令
１１８    演算内容
１１９    演算結果
１２０    データ操作内容
１２１    データ操作結果
１２２    外部データ保存装置
【図１】
2005216001.tif 000003
【図２】
2005216001.tif 000004
【図３】
2005216001.tif 000005
【図４】
2005216001.tif 000006
【図５】
2005216001.tif 000007
【図６】
2005216001.tif 000008
【図７】
2005216001.tif 000009
【図８】
2005216001.tif 000010
【図９】
2005216001.tif 000011
【図１０】
2005216001.tif 000012
【図１１】
2005216001.tif 000013
【図１２】
2005216001.tif 000014
【図１３】
2005216001.tif 000015
【図１４】
2005216001.tif 000016
【図１５】
2005216001.tif 000017
【図１６】
2005216001.tif 000018
【図１７】
2005216001.tif 000019
【図１８】
2005216001.tif 000020
【図１９】
2005216001.tif 000021
【図２０】
2005216001.tif 000022