(58)【調査した分野】(Int.Cl.,DB名)
前記エラーパターン決定部が前記エラーパターン情報格納部に格納されているいずれのエラーパターン情報にも対応しないと判断したエラー情報に関する情報を、新しいエラーパターン情報として、前記エラーパターン情報格納部に蓄積するエラーパターン情報登録部をさらに具備する請求項1記載の情報処理装置。
変換前のソースプログラムを変換し、新しいソースプログラムを作成するマイグレーションを支援する情報処理装置であって、変換前のソースプログラムである変換前ソースを変換ツールに与えて起動した場合のエラーに関する情報のパターンである1以上のエラーパターン情報が格納されるエラーパターン情報格納部と、前記変換前ソースを変換ツールに与えて起動した場合の出力である変換後情報が格納される変換後情報格納部と、エラー情報取得部と、エラーパターン決定部と、出現回数取得部と、出現回数出力部とを具備する情報処理装置を用いて行われる情報処理方法であって、
前記エラー情報取得部が、前記変換後情報格納部に格納されている変換後情報からエラーに関する情報である1以上のエラー情報を取得するエラー情報取得ステップと、
前記エラーパターン決定部が、前記エラーパターン情報格納部に格納されている1以上のエラーパターン情報を用いて、前記エラー情報取得ステップで取得した1以上の各エラー情報に対応するエラーパターン情報を決定するエラーパターン決定ステップと、
前記出現回数取得部が、前記エラーパターン決定ステップで決定したエラーパターン情報の、各エラーパターン情報毎の出現回数を取得する出現回数取得ステップと、
前記出現回数出力部が、前記出現回数取得ステップで取得したエラーパターン情報毎の出現回数を出力する出現回数出力ステップとを具備する情報処理方法。
変換前のソースプログラムである変換前ソースを変換ツールに与えて起動した場合のエラーに関する情報のパターンである1以上のエラーパターン情報が格納されるエラーパターン情報格納部と、前記変換前ソースを変換ツールに与えて起動した場合の出力である変換後情報が格納される変換後情報格納部と、にアクセス可能なコンピュータを、変換前のソースプログラムを変換し、新しいソースプログラムを作成するマイグレーションを支援する情報処理装置として機能させるためのプログラムであって、
前記変換後情報格納部に格納されている変換後情報からエラーに関する情報である1以上のエラー情報を取得するエラー情報取得部と、
前記エラーパターン情報格納部に格納されている1以上のエラーパターン情報を用いて、前記エラー情報取得部が取得した1以上の各エラー情報に対応するエラーパターン情報を決定するエラーパターン決定部と、
前記エラーパターン決定部が決定したエラーパターン情報の、各エラーパターン情報毎の出現回数を取得する出現回数取得部と、
前記出現回数取得部が取得したエラーパターン情報毎の出現回数を出力する出現回数出力部として機能させるためのプログラム。
【発明を実施するための形態】
【0019】
以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0020】
(実施の形態)
図1は、本実施の形態における情報処理装置1のブロック図である。情報処理装置1は、エラーパターン情報格納部11、変換後情報格納部12、エラー情報取得部13、エラーパターン決定部14、出現回数取得部15、出現回数出力部16、エラーパターン情報登録部17を備える。
【0021】
エラーパターン情報格納部11には、1または2以上のエラーパターン情報が格納される。エラーパターン情報とは、変換前のソースプログラムである変換前ソースを変換ツールに与えて起動した場合のエラーに関する情報のパターンである。ソースプログラムとは、プログラミング言語の仕様に従って記述されたプログラムである。ソースプログラムは、ソースコードとも呼ばれる。ソースプログラムに用いられるプログラミング言語は問わない。ソースプログラムは、例えば、visual basic(登録商標)言語や、COBOL言語、C言語、perl言語、JAVA(登録商標)言語等で記述されたソースプログラムである。変換ツールとは、例えば、一のソースプログラムを、他のソースプログラムに自動変換するツールである。変換ツールとは、例えば、変換前ソースを、変換前ソースに用いられているプログラミング言語とは仕様が異なるプログラミング言語のソースプログラムに自動変化するためのツールである。変換ツールは、例えば、ソフトウェアとして提供される。仕様が異なるプログラミング言語は、言語が異なるプログラミング言語である。仕様が異なるプログラミング言語とは、例えば、バージョンが異なるプログラミング言語も含む概念である。変換前ソースを変換ツールに与えて起動した場合のエラーに関する情報とは、例えば、一の変換ツールが、変換前ソースを変換した場合に出力したエラーに関する情報である。変換ツールは、通常、変換後のソースプログラム内に、エラーに関する情報を出力するが、変換後のソースプログラム外に、例えば、別ファイル等の情報として、エラーに関する情報を出力しても良い。変換ツールについては、公知の技術であるので、ここでは詳細な説明は省略する。
【0022】
エラーに関する情報を、ここでは、エラー情報と呼ぶ。ここでのエラーとは、例えば、変換後のソースプログラムにおいて、変換ツールで変換前ソースを正常に変換できなかったことによって、変換後のソースプログラムにおいて発生する不具合等である。例えば、エラーは、変換ツールによる変換によって、文法上の誤りが生じたことで発生する不具合や、変換前のソースプログラムにおける動作や機能と同じ動作や機能を実現できないことを意味するものである。エラー情報とは、例えば、エラーが発生することを示す情報である。エラー情報とは、例えば、エラーの内容を示す情報である。エラー情報は、変換前ソースにおけるエラーの対象となる箇所を示す情報である。エラーの対象となる箇所を示す情報は、例えば、変換前ソース内の、エラーの対象となる文字列を示す情報であっても良いし、エラーの対象となる行番号等を示す情報であっても良い。エラー情報は、変換されたソースプログラムにおけるエラーに対応する箇所と対応付けられて出力されても良く、例えば、エラーに対応する箇所を示す情報を有していても良い。また、エラー情報は、エラーの属性や分類等を示す情報を有していても良い。また、エラー情報は、エラーの識別子を有していても良い。エラー情報は、例えば、上記の情報のうちの二以上を有していても良い。エラー情報は、通常、自然言語で示されたエラーメッセージ等の情報であるが、自然言語で示されていなくても良い。エラー情報は、エラーコードや、エラーに対応する箇所の変数名等を有していてもよい。
【0023】
エラーパターン情報は、エラー情報のパターンの情報である。エラーパターン情報格納部11には、例えば、ソースプログラムの変換に用いられる変換ツール(図示せず)が出力しうる1以上のエラー情報にそれぞれ対応するエラーパターン情報が予め格納されている。エラーパターン情報とは、例えば、文字列と変数とを含むパターンである。エラーパターン情報は、例えば、エラー情報と一致するものであっても良い。ここでの一致は、完全一致であっても部分一致であっても良い。例えば、エラーパターン情報は、エラー情報のうちの、エラー情報であることを示す情報を除外した部分が完全一致する情報であっても良い。また、エラーパターン情報は、エラー情報の少なくとも一部を正規表現化した情報であっても良い。正規表現とは、例えば、文字列の集合を一の文字列で表したものである。正規表現とは、例えば、文字列を、文字の属性や、文字数等を表す特殊文字等を用いて、パターン化したものである。文字の属性とは、文字の大文字、小文字等の属性や、日本語、英語等の属性や、数字やカタカナ等の属性である。正規表現化とは、文字列をいわゆるワイルドカード化することと考えても良い。エラー情報のうちの正規表現化する部分とは、例えば、エラー情報のうちの、変数名や、参照するデータ名等である。エラーパターン情報格納部11には、例えば、上述した変換ツールが出力しうる全てのエラー情報に対応したエラーパターン情報が格納されていることが好ましい。エラーパターン情報は、エラーパターン情報を識別する識別子と対応付けられて、エラーパターン情報格納部11に格納されていても良い。
【0024】
エラーパターン情報格納部11には、1以上のエラーパターン情報がグループ分けされて格納されていてもよい。ここでのグループ分けとは、例えば、エラーパターン情報の属性に応じたグループ分けである。属性に応じたグループ分けとは、例えば、エラーパターン情報が示すエラーの種類毎のグループ分けや、エラーの重要度や深刻度等に応じたグループ分けである。また、このグループ分けは、エラーの対応策毎や、エラーの修正に用いられる修正ツール(図示せず)毎のグループ分けであっても良い。修正ツールとは、変換後のソースプログラムのエラーを修正するためのツールであり、通常、プログラムで提供される。また、エラーパターン情報格納部11に格納されている一のエラーパターン情報が、複数のグループに属するようグループ分けされていても良い。エラーパターン情報格納部11に格納されている各エラーパターン情報がグループ分けされているということは、各エラーパターン情報が、それぞれが属するグループ毎に分類されて格納されていることであっても良い。また、各エラーパターン情報がグループ分けされているということは、各エラーパターン情報のエラーパターン識別子が、各エラーパターン情報が属するグループ毎に分類されて管理されていることであっても良い。また、また、各エラーパターン情報がグループ分けされているということは、各エラーパターン情報に、各エラーパターン情報が属するグループの識別子であるグループ識別子が対応付けられていることであっても良い。
【0025】
エラーパターン情報格納部11には、1または2以上の集約情報が更に格納されていても良い。集約情報は、例えば、一のエラーパターン情報に集約される2以上のエラーパターン情報を特定する情報である。各集約情報は、例えば、一のエラーパターン情報に集約される集約対象となる二以上のエラーパターン情報またはそのエラーパターン情報識別子と、これらのエラーパターン情報の集約先となる一のエラーパターン情報またはそのエラーパターン識別子とを有する情報である。集約先のエラーパターン情報は、エラーパターン情報格納部11に格納されているエラーパターン情報であっても良いし、他のエラーパターン情報であっても良い。集約先のエラーパターン情報の代わりに、各集約情報は、更に、集約情報の識別子である集約情報識別子を有していても良い。集約情報が集約情報識別子を有する場合、集約先のエラーパターン情報は省略しても良い。集約情報で集約される二以上のエラーパターン情報は、同じ修正ツール等で修正可能なエラーをそれぞれ示す二以上のエラーパターン情報であることが好ましい。集約情報で集約される集約対象となる二以上のエラーパターン情報および集約先のエラーパターン情報は、一のグループに属するエラーパターン情報であることが好ましい。なお、以下においては、集約情報が、集約対象となる二以上のエラーパターン情報またはそのエラーパターン情報識別子と、集約先となる一のエラーパターン情報またはそのエラーパターン識別子とを有する情報である場合を例に挙げて説明する。
【0026】
エラーパターン情報格納部11は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、他の格納部においても同様である。
【0027】
変換後情報格納部12には、変換後情報が格納される。変換後情報は、変換前ソースを変換ツールに与えて起動した場合の出力である。変換後情報とは、例えば、変換ツールによる変換前ソースの変換後のソースプログラムを有する情報である。また、変換後情報は、変換ツールが変換を行う際に取得したエラー情報を有していても良い。例えば、変換後情報は、変換後のソースプログラムに、エラー情報等を加えた情報である。エラー情報は、例えば、変換後のソースプログラム内の、エラーに関連する箇所、具体的にはエラーが発生する箇所に配置される。また、エラー情報は、例えば、エラー情報であることが、他のソースプログラムの部分に対して識別可能な態様で配置されることが好ましい。例えば、「エラー箇所:」等の予め指定された文字列や、予め指定された文字や制御記号等のエラー箇所を特定する情報が、エラー情報の先頭や、末尾や、両端に配置されていることが好ましい。予め指定された文字は、プログラミング言語では使用されない文字(記号も含む)等であることが好ましい。このようなソースプログラム内におけるエラー情報が配置されている箇所を特定する情報を、ここでは、エラー箇所特定情報と呼ぶ。エラー箇所特定情報と、エラー箇所との位置関係を示す情報とは、例えば、予め図示しない格納部等に格納されていても良いし、後述するエラー情報取得部13が有していても良い。変換後情報は、例えば、テキストで構成される情報である。なお、エラー情報は、変換後のソースプログラム内に配置されていなくても良い。例えば、エラー情報は、変換後のソースプログラムと異なるファイル等として、変換後のソースプログラムと対応付けられて、変換後情報格納部12内に格納されていても良い。この場合、変換後情報は、変換後のソースプログラムと、エラー情報のファイルとを有する情報と考えても良い。
【0028】
変換後情報格納部12に変換後情報が記憶される過程は問わない。例えば、図示しない変換ツール等が変換前ソースを変換して出力した変換後情報が記録媒体や通信回線等を介して、変換後情報格納部12に蓄積されても良い。この場合、情報処理装置1は、変換後情報を受け付けるための受付部や、変換後情報を受信するための受信部等を備えていても良い。また、変換ツール(図示せず)や、変換対象となる変換前ソースが格納されている格納部(図示せず)等が、情報処理装置1内に設けられている場合、この変換ツール等が出力する変換後情報が変換後情報格納部12に蓄積されるようにしても良い。なお、ここでの格納は、一時記憶も含むものと考えても良い。
【0029】
エラー情報取得部13は、変換後情報格納部12に格納されている変換後情報から1以上のエラー情報を取得する。エラー情報取得部13がどのように変換後情報からエラー情報を取得するかは問わない。エラー情報取得部13は、例えば、エラー箇所特定情報を利用してエラー情報を取得する。
【0030】
エラー情報取得部13は、例えば、変換後情報において、上述したエラー箇所特定情報を順次検索し、検出したエラー特定情報に対して予め指定された位置関係にある文字列をエラー情報として取得する。例えば、変換ツールが、各エラー情報の先頭に「WARNING:」という文字列を付与し、末尾に改行コードを付与して、各エラー情報を変換後情報内に配置したとする。この場合、エラー情報取得部13は、例えば、変換後情報内において「WARNING:」というエラー箇所特定情報で始まる行を順次検出し、検出した行の「WARNING:」以降の文字列を、エラー情報として順次取得する。ここでの行は、例えば、改行コードで区切られた文字列である。あるいは、エラー情報取得部13は、例えば、「WARNING:」以降の文字列であって、「。」(句点)が現れるまでの文字列をエラー情報として取得しても良い。
【0031】
また、例えば、変換ツールが出力した変換後情報において、エラー情報が、「<?」と「?>」という二つのエラー特定情報に挟まれて配置されていたとする。この場合、エラー情報取得部13は、「<?」という第一のエラー特定情報を検索し、検出したエラー特定情報の直後の文字列から、次に「?>」という第二のエラー特定情報が現れる直前までの文字列を、エラー情報として順次取得するようにしても良い。また、エラー情報が変換後のソースプログラムと別のファイル等として存在している場合、このエラー情報のファイルから、順次、エラー情報を読み出すようにしても良い。
【0032】
エラー情報取得部13は、通常、MPUやメモリ等から実現され得る。エラー情報取得部13の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0033】
エラーパターン決定部14は、エラー情報取得部13が取得した1以上の各エラー情報に対応するエラーパターン情報を決定する。エラーパターン決定部14は、エラーパターン情報格納部11に格納されている1以上のエラーパターン情報を用いて、各エラー情報に対応するエラーパターン情報を決定する。エラーパターン決定部14は、例えば、エラー情報取得部13が取得した各エラー情報の文字列とエラーパターン情報格納部11に格納されているエラーパターン情報の文字列との比較を行い、各エラー情報に一致するエラーパターン情報を検出する。ここでの一致とは通常は完全一致である。但し、ここでの一致は、部分一致であっても良い。エラーパターン決定部14は、例えば、エラー情報取得部13が取得した各エラー情報とエラーパターン情報格納部11に格納されているエラーパターン情報とのパターンマッチングを行い、各エラー情報に一致するエラーパターン情報を検出する。ここでの一致とは、通常は、パターンが完全に一致していることを指すが、マッチング率が、予め指定された閾値以上(例えば、90%以上等)である場合も一致すると判断しても良い。例えば、エラーパターン情報が正規表現を有するものである場合、エラー情報に対応するエラーパターン情報の検出には、パターンマッチングを利用する。なお、ここでのパターンマッチングは、例えば、変数以外の部分が一致しているか否かを判断する処理等であってもよい。
【0034】
例えば、エラーパターン決定部14は、エラーパターン情報格納部11から一のエラーパターン情報を読み出す。そして、このエラーパターン情報が、正規表現を含むか否かを判断する。正規表現を含まない場合、エラー情報取得部13が取得した一のエラー情報と、読み出したエラーパターン情報とが一致するか否かを判断し、一致する場合、このエラーパターン情報をこの一のエラー情報に対応するエラーパターン情報として決定する。また、正規表現を含む場合、エラーパターン決定部14は、例えば、正規表現も含めてパターンマッチングを行い、パターンが完全にマッチングしている場合、このエラーパターン情報を、一のエラー情報に対応するエラーパターン情報として決定する。
【0035】
エラーパターン情報のパターンマッチングの例について以下に簡単に説明する。一のエラーパターン情報が、例えば、k(kは二以上の整数)個の文字列の間に、k−1個の正規表現が個別に含まれているものであったとする。この場合、エラーパターン決定部14は、一のエラー情報内に、上記の一のエラーパターン情報のk個の文字列と一致する文字列が、それぞれ、エラーパターン情報に含まれている順番通りに含まれているか否かを判断する。ここでの一致は、通常、完全一致である。全てが順番通りに含まれていなければ、一致しないエラーパターン情報であると判断する。順番通りに全て含まれている場合、エラーパターン決定部14は、エラー情報における、一致すると判断された文字列の間に配置されている各文字列が、エラーパターン情報のk−1個の正規表現のうちの、同じ配列順番の各正規表現に対応する文字列であるか否かを判断する。対応する文字列であるか否かの判断は、例えば、正規表現が示す属性等を有する文字列であるか否かによって行われる。そして、全ての文字列が、同じ配列順番の正規表現に対応する文字列である場合、この一のエラーパターン情報を、一のエラー情報に一致するエラーパターン情報として決定する。同じ配列順番の正規表現に対応する文字列でない場合、エラーパターン決定部14は、一致しないエラーパターン情報であると判断する。
【0036】
なお、ここでのパターンマッチングの処理は、一例であり、エラー情報と、エラーパターン情報とのパターンマッチングとしては、どのようなアルゴリズムのパターンマッチング処理を用いても良い。また、エラーパターン決定部14が行うエラー情報とエラーパターン情報とが一致するか否かの判断処理は、パターンマッチングの一形態、例えば、正規表現を用いないパターンマッチングと考えても良い。
【0037】
エラーパターン決定部14は、エラーパターン情報格納部11に格納されている1以上のエラーパターン情報と集約情報とを用いて、エラー情報取得部13が取得した1以上の各エラー情報に対応するエラーパターン情報を決定するようにしても良い。集約情報を用いて、エラーパターン情報を決定するということは、具体的には、各エラー情報が対応するエラーパターン情報の集約先となる一のエラーパターン情報を、集約情報を用いて決定することと考えても良い。
【0038】
例えば、エラーパターン決定部14は、エラーパターン情報格納部11に格納されている1以上のエラーパターン情報を用いて、エラー情報取得部13が取得した1以上の各エラー情報に対応するエラーパターン情報を決定する。そして、エラーパターン決定部14は、このエラーパターン情報を集約対象のエラーパターン情報として有する一の集約情報を検出する。そして、検出した集約情報が集約先のエラーパターン情報として有するエラーパターン情報を、エラー情報取得部13が取得した1以上の各エラー情報に対応するエラーパターン情報として決定する。これにより、一の集約情報が示す二以上のエラーパターン情報に対応するエラー情報を、この集約情報が集約先としてしめす一のエラーパターン情報に対応するエラー情報として決定することができる。
【0039】
エラーパターン決定部14は、更に、エラー情報取得部13が取得した1以上の各エラー情報について、エラーパターン情報格納部11に格納されているいずれのエラーパターン情報にも対応しないエラー情報を検出しても良い。
【0040】
出現回数取得部15は、エラーパターン決定部14が決定したエラーパターン情報の出現回数を取得する。ここでは特に、出現回数取得部15は、各エラーパターン情報毎に出現回数を取得する。例えば、出現回数取得部15は、エラーパターン決定部14が一のエラーパターン情報を検出する毎に、この検出したエラーパターン情報の出現回数の値を1インクリメントする。即ち、出現回数取得部15は、検出したエラーパターン情報の出現回数をカウントする。
【0041】
出現回数取得部15は、さらにグループ毎にエラーパターン情報の出現回数を取得してもよい。即ち、出現回数取得部15は、グループ単位のエラーパターン情報の出現回数を取得してもよい。例えば、出現回数取得部15は、上記で取得した各エラーパターン情報毎の出現回数を、エラーパターン情報が属するグループ毎に集計する。なお、例えば、出現回数取得部15は、エラーパターン決定部14が一のエラーパターン情報を検出する毎に、この検出したエラーパターン情報に対応するグループの出現回数の値を1インクリメントして、グループに属するエラーパターン情報の出現回数を、グループの出現回数としてカウントしても良い。
【0042】
なお、エラーパターン決定部14が一以上の集約情報によって集約されたエラーパターン情報を決定する場合、出現回数取得部15は、各集約情報が集約したエラーパターン情報についての出現回数を取得するようにしても良い。この場合、集約前の各エラーパターン情報については、通常、出現回数を取得しないが、出現回数を取得するようにしても良い。例えば、一の集約情報において、集約対象となっているエラーパターン情報が決定された場合に、出現回数取得部15は、この集約情報が集約先に指定するエラーパターン情報の出現回数をカウントアップする。また、出現回数取得部15は、一の集約情報によって集約される集約対象となる2以上のエラーパターン情報の出現回数を集計した値を、集約先のエラーパターン情報の出現回数として取得しても良い。
【0043】
出現回数出力部16は、出現回数取得部15が取得したエラーパターン情報毎の出現回数を出力する。出現回数出力部16は、グループ毎およびエラーパターン情報毎に、出現回数取得部15が取得した出現回数を出力してもよい。グループ毎およびエラーパターン情報毎に出現回数を出力するということは、例えば、各エラーパターン情報を各エラーパターン情報が属するグループ毎に分類、あるいはソートして出力することと考えても良い。また、出現回数出力部16は、各グループ毎に、各グループに属するエラーパターン情報毎の出現回数の合計を出力してもよい。また、出現回数出力部16は、集約情報により集約されたエラーパターン情報についての出現回数の集計結果を出力しても良い。この場合、出現回数出力部16は、集約前のエラーパターン情報の出現回数も出力するようにしても良いし、出力しないようにしても良い。ここでの出現回数の出力は、出現回数をそのまま出力することであっても良いし、出現回数を指標化した値を出力することであっても良い。また、出現回数の出力は、出現回数の値の属する範囲を示す情報の出力でも良い。
【0044】
ここでの出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【0045】
出現回数出力部16は、ディスプレイやプリンタ等の出力デバイスを含むと考えても含まないと考えても良い。出現回数出力部16は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0046】
エラーパターン情報登録部17は、エラーパターン決定部14がエラーパターン情報格納部11に格納されているいずれのエラーパターン情報にも対応しないと判断したエラー情報に関する情報を、新しいエラーパターン情報として、エラーパターン情報格納部11に蓄積する。ここでの蓄積は、例えばエラーパターン情報の追記である。ここでのエラー情報に関する情報は、エラー情報そのものであっても良いし、エラー情報に、予め指定された文字列等を付与した情報であっても良い。また、ここでのエラー情報に関する情報は、エラー情報の一部を予め指定されたルール等に応じてエラーパターン情報登録部17が正規表現化したものであっても良い。例えば、エラーパターン情報登録部17は、エラー情報のアルファベットで表記されている連続した二以上の文字列を検出し、この部分を二以上のアルファベットを表す正規表現で置き換えたエラーパターン情報を蓄積しても良い。あるいは、予め登録されている一群の文字列のいずれか一つに一致する文字列をエラー情報から検出し、検出したこの文字列を、この文字列の群に対応付けられた正規表現に置き換えたエラーパターン情報を蓄積しても良い。
【0047】
次に、情報処理装置1の動作について
図2のフローチャートを用いて説明する。なお、ここでは、エラーパターン情報格納部11には、変換後情報格納部12に格納されている変換後情報を取得する際に用いた変換ツールが出力するエラー情報に対応するエラーパターン情報が予め格納されているものとする。
【0048】
(ステップS101)情報処理装置1は、図示しない受付部等を介して、変換後情報格納部12に格納されている変換後情報のうちの、エラーパターン情報を検出する処理の対象となる変換後情報を指定する情報を受け付けたか否かを判断する。受け付けた場合、ステップS102に進み、受け付けていない場合、ステップS101に戻る。
【0049】
(ステップS102)出現回数取得部15は、エラーパターン情報格納部11に格納されている各エラーパターン情報に対する出現回数の値を「0」にセットする。この処理は出現回数の値をリセットすることと考えても良い。
【0050】
(ステップS103)エラー情報取得部13は、カウンターmの値に1を代入する。
【0051】
(ステップS104)エラー情報取得部13は、ステップS101で指定された変換後情報から、m番目のエラー情報を検出する処理を行い、m番目のエラー情報が検出できたか否かを判断する。検出できた場合、ステップS105に進み、検出できなかった場合、ステップS118に進む。
【0052】
(ステップS105)エラーパターン決定部14は、カウンターnの値に1を代入する。
【0053】
(ステップS106)エラーパターン決定部14は、エラーパターン情報格納部11にn番目のエラーパターン情報が格納されているか否かを判断する。格納されている場合、ステップS107に進み、格納されていない場合、ステップS113に進む。
【0054】
(ステップS107)エラーパターン決定部14は、n番目のエラーパターン情報を読み出す。
【0055】
(ステップS108)エラーパターン決定部14は、n番目のエラーパターン情報に正規表現が含まれているか否かを判断する。含まれている場合、ステップS109に進み、含まれていない場合、ステップS114に進む。
【0056】
(ステップS109)エラーパターン決定部14は、n番目のエラーパターン情報と、m番目のエラー情報とが一致するか否かの判断を行う。一致した場合、ステップS110に進み、一致していない場合、ステップS116に進む。
【0057】
(ステップS110)エラーパターン決定部14は、n番目のエラーパターン情報に対応する集約情報があるか否かを判断する。具体的には、n番目のエラーパターン情報を、集約対象のエラーパターン情報に指定する集約情報があるか否かを判断する。ある場合、ステップS111に進み、ない場合、ステップS117に進む。
【0058】
(ステップS111)出現回数取得部15は、n番目のエラーパターン情報の出現回数を1インクリメントする。
【0059】
(ステップS112)エラー情報取得部13は、カウンターmの値を1インクリメントする。そして、ステップS104に戻る。
【0060】
(ステップS113)エラーパターン情報登録部17は、m番目のエラー情報に関する情報を、新たなエラーパターン情報としてエラーパターン情報格納部11に蓄積する。そして、ステップS112に戻る。
【0061】
(ステップS114)エラーパターン決定部14は、n番目のエラーパターン情報と、m番目のエラー情報とのパターンマッチングを行う。
【0062】
(ステップS115)エラーパターン決定部14は、ステップS114のパターンマッチングの結果、n番目のエラーパターン情報と、m番目のエラー情報とが一致したか否か判断し、一致した場合、ステップS110に進む。また、一致していない場合、ステップS116に進む。
【0063】
(ステップS116)エラーパターン決定部14は、カウンターnの値に1を代入する。そして、ステップS106に戻る。
【0064】
(ステップS117)出現回数取得部15は、ステップS110で検出した集約情報が示す集約先のエラーパターン情報の出現回数を一インクリメントする。そして、ステップS112に戻る。
【0065】
(ステップS118)出現回数取得部15は、エラーパターン情報の出現回数を、グループ毎に集計する。
【0066】
(ステップS119)出現回数出力部16は、出現回数取得部15が取得したエラーパターン情報毎の出現回数と、グループ毎の出現回数とを出力する。そして、ステップS101に戻る。
【0067】
なお、
図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0068】
以下、本実施の形態における情報処理装置1の具体的な動作について具体例を挙げて説明する。情報処理装置1の概念図は
図1である。
【0069】
図3は、エラーパターン情報格納部11に格納されているエラーパターン情報を管理するエラーパターン管理情報を示す図である。エラーパターン管理情報は、「パターンID」と、「エラーパターン」という属性を有している。「パターンID」は、エラーパターン識別情報である。「エラーパターン」は、エラーパターン情報である。なお、エラーパターン情報内において、ここでは、「"xxx"」および「"yyy"」が、一文字以上の任意の文字列を示す正規表現であるとする。
【0070】
図4は、エラーパターンで構成されるグループを管理するグループ管理情報を示す図である。グループ管理情報は、ここでは、エラーパターン情報格納部11に格納されているものとする。グループ管理情報は、「パターンID」と、「グループID」と、「グループ名」という属性を有している。「パターンID」は、エラーパターン識別情報である。「グループID」は、対応する「パターンID」が示すエラーパターン情報が属するグループのグループ識別情報である。「グループ名」は、グループの名称であり、ここでは、グループを構成するエラーパターン情報がどのようなエラーであるかを分類した分類名をグループの名称として用いている。
【0071】
図5は、集約情報を管理する集約情報管理情報を示す図である。集約情報は、ここでは、エラーパターン情報格納部11に格納されているものとする。集約情報管理情報は、「対象パターンID」と、「集約先パターンID」という属性を有している。「対象パターンID」は、集約の対象となるエラーパターン情報のエラーパターン識別子である。「集約先パターンID」は、集約先のエラーパターン情報のエラーパターン識別子である。ここでは、一の「対象パターンID」と対応付けられたエラーパターン情報と一致するエラー情報が一つ検出された場合、この一の「対象パターンID」に対応付けられた「集約先パターンID」が示すエラーパターン情報の検出数が1インクリメントされる。一の集約情報は、この集約情報管理情報における一の「集約先パターンID」と、この一の「集約先パターンID」と対応付けられた複数の「対象パターンID」とで構成されている。ここでは、一例として、一のエラーパターン情報に集約される複数のエラーパターン情報は、同じ手法や、同じエラー修正ツール(図示せず)等を用いて修正可能なエラー情報に対応するエラーパターン情報であるとする。
【0072】
図6は、変換前ソースの一例を示す図であり、変換前ソースの一部を抜粋して示している。
【0073】
図7は、変換後情報格納部12に格納されている変換後情報の一例を示す図であり、
図6に示した変換前ソースを、一の変換ツール(図示せず)を用いて変換して得られた変換後情報の一部を抜粋して示したものである。この一部は、
図6に表示されている変換前ソースの一部に対応した部分であるとする。この変換後情報は、エラー情報71〜73等を備えている。
図3に示したエラーパターン情報は、この一の変換ツールが出力しうるエラーパターン情報であるとする。
図7に示す変換後情報のファイル名は、「converted.vb」であるとする。
【0074】
なお、本具体例において示す変換前ソースや、変換後情報に含まれる変換後のソースプログラム等は、説明のための便宜上のものであって、必ずしも実際に実行可能なものではなく、また、変換の前後のプログラミング言語の仕様に必ずしも沿ったものではない。
【0075】
まず、ユーザが、キーボード等を操作して、変換後情報格納部12に格納されているファイル名が「converted.vb」であるファイルを指定する操作を行うと、情報処理装置1は、この「converted.vb」というファイルを処理対象に指定する指示を、図示しない受付部等を介して受け付ける。
【0076】
出現回数取得部15は、エラーパターン情報格納部11に格納されている各エラーパターン情報の出現回数の値を「0」に設定する。
【0077】
図8は、エラーパターン情報の出現回数の集計結果を管理するためのパターン集計情報を示す図である。パターン集計情報は、「パターンID」と「集計」という属性を有している。「パターンID」は、エラーパターン識別情報であり、「集計」は、エラーパターン情報の出現回数であり、ここでは、エラーパターン決定部14が決定したエラーパターン情報のカウント数で順次更新される。なお、「パターンID」においては、集約情報で他のエラーパター情報に集約されるエラーパターン情報に対応するエラーパターン識別子は、ここでは、除外されている。ただし、対応するエラーパターン識別子を除外しないようにしても良い。
【0078】
出現回数取得部15は、
図8に示すように、パターン集計情報の「集計」に対応する各属性値を「0」に設定する。
【0079】
エラー情報取得部13は、「converted.vb」という変換後情報のファイルから、1番目のエラー情報を取得する。ここでは、変換後情報を得るために用いた変換ツール(図示せず)が、エラー情報として、文頭が、「'UPGRADE_WARNING:」という文字列(即ち、エラー箇所特定情報)で、文末が「。」(句点)で区切られたデータを出力する仕様であり、更に、その後には、エラー情報をサポートするための情報として、エラー情報の詳細な内容を示す情報のアドレス等を示す情報を出力する仕様であったとする。エラー情報取得部13は、変換後情報の先頭から、検索により、「'UPGRADE_WARNING:」というエラー箇所特定情報と一致する文字列を検出する。そして、エラー情報取得部13は、1番目に検出された「'UPGRADE_WARNING:」という文字列の直後から、最初に現れる「。」(句点)までの文字列を、エラー情報として取得する。ここでは、エラー情報をサポートするための情報は取得しないものとする。
【0080】
ここでエラー情報取得部13が取得した1番目のエラー情報は、例えば、「オブジェクトE_GUAIDPAB()の既定プロパティを解決できませんでした」という文字列であったとする。エラー情報取得部13は、取得したエラー情報を図示しない記憶媒体等に一時記憶する。
【0081】
次に、エラーパターン決定部14は、
図3に示したエラーパターン管理情報から、1番目(ここでは一行目)のエラーパターン情報とエラーパターン識別子とを取得する。ここでは、「パターンID」が「101」である「エラーパターン」の属性値である「固定長文字列のサイズはバッファに合わせる必要があります」と、その「パターンID」の値とを取得する。
【0082】
エラーパターン決定部14は、取得した1番目のエラーパターン情報が、正規表現を含むか否かを判断する。ここでは、1番目のエラーパターン情報が「"xxx"」および「"yyy"」のいずれも含まないため、エラーパターン決定部14は、正規表現を含まないと判断する。このため、エラーパターン決定部14は、エラー情報取得部13が取得した1番目のエラー情報の文字列と、1番目のエラーパターン情報の文字列とを、例えば先頭から一文字ずつ比較していき、1番目のエラー情報の文字列と、1番目のエラーパターン情報の文字列とが一致するか否かを判断する。
【0083】
ここでは、一致しないと判断されたとすると、エラーパターン決定部14は、
図3に示したエラーパターン管理情報から、2番目(ここでは二行目)のエラーパターン情報「オブジェクト"xxx"の既定プロパティを解決できませんでした」を取得する。次に、この2番目のエラーパターン情報が正規表現を含むか否かを判断する。ここでは、「"xxx"」を含むため、エラーパターン決定部14は、正規表現を含むと判断する。このため、エラーパターン決定部14は、1番目のエラー情報と、2番目のエラーパターン情報とのパターンマッチングを行う。
【0084】
具体的には、エラーパターン決定部14は、2番目のエラーパターン情報から、正規表現である「"xxx"」の部分の前の文字列である「オブジェクト」を取り出し、エラー情報の先頭の文字列が、この取り出した文字列「オブジェクト」と一致するか否かを判断する。一致しなければ、エラー情報とエラーパターン情報が一致しないと判断する。ここでは、一致するため、エラーパターン決定部14は、2番目のエラーパターン情報から、正規表現の後の文字列である「の既定プロパティを解決できませんでした」を取り出し、エラー情報の末尾の文字列が、この取り出した文字列と一致するか否かを判断する。一致しなければ、エラー情報とエラーパターン情報が一致しないと判断する。ここでは、一致するため、更に、エラーパターン決定部14は、エラー情報内の、エラーパターン情報の正規表現の前後の文字列と一致すると判断された文字列間の文字列「E_GUAIDPAB()」が、正規表現「"xxx"」に対応する属性の文字列であるか否かを判断する。ここでは、正規表現「"xxx"」が一文字以上の任意の文字列を示すものであるとすると、エラーパターン決定部14は、文字列が正規表現に対応する属性の文字列であると判断する。これにより、エラーパターン決定部14は、1番目のエラー情報と、2番目のエラーパターン情報とが一致すると判断し、1番目のエラー情報に対応するエラーパターン情報として、「パターンID」が「102」である2番目のエラーパターン情報を決定する。なお、文字列が正規表現に対応する属性の文字列でない場合、エラーパターン決定部14は、エラー情報とエラーパターン情報が一致しないと判断する。
【0085】
エラーパターン決定部14が、「パターンID」が「102」である2番目のエラーパターン情報を1番目のエラー情報に対応するエラーパターン情報として決定した。このため、出現回数取得部15は、
図4に示した集約情報管理情報の「対象パターンID」の属性値に、エラーパターン決定部14が決定したエラーパターン情報の「パターンID」である「102」と一致するものがあるか否かを判断する。
【0086】
ここでは、一致するものがないため、出現回数取得部15は、「パターンID」が「102」であるエラーパターン情報の出現回数の値を1インクリメントする。具体的には、
図8に示したパターン集計情報の「パターンID」が「102」であるレコード(行)の「集計」の値に1を加算する。
【0087】
なお、仮に、
図4に示した集約情報管理情報の「対象パターンID」の属性値に、エラーパターン決定部14が決定したエラーパターン情報の「パターンID」である「102」と一致するものがあったとする。この場合、出現回数取得部15は、「対象パターンID」が「102」であるレコード(行)に対応する「集約先パターンID」の属性値を取得し、取得した属性値が示すエラーパターン情報の出現回数の値を1インクリメントする。例えば、取得した「集約先パターンID」が「123」であったとすると、出現回数取得部15は、「パターンID」が「123」であるエラーパターン情報の出現回数の値を1インクリメントする。これにより、例えば、同じエラーを修正するツール等で修正可能なエラー情報等を、一のエラー情報として集約してカウントすることが可能となる。
【0088】
また、仮に、エラーパターン決定部14が、2番目のエラーパターン情報が、1番目のエラー情報に対応するエラーパターン情報でないと判断したとする。この場合、エラーパターン決定部14は、3番目以降のエラーパターン情報についても、同様に、1番目のエラー情報に対応するエラーパターン情報を検出する処理を行う。そして、一致するエラーパターン情報が検出された場合、このエラーパターン情報、もしくはこのエラーパターン情報の集約先となるエラーパターン情報の出現回数を1インクリメントする。
【0089】
また、仮に、1番目のエラー情報に対応するエラーパターン情報が、エラーパターン情報格納部11に格納されているエラーパターン情報の中になかった場合を考える。この場合、エラーパターン情報登録部17は、1番目のエラー情報に関する情報を、新しいエラーパターン情報として登録する。具体的には、エラーパターン情報登録部17は、1番目のエラー情報に関する情報を、エラーパターン情報格納部11に蓄積する。例えば、エラーパターン情報登録部17は、1番目のエラー情報「オブジェクトE_GUAIDPAB()の既定プロパティを解決できませんでした」を、そのまま、新しいエラーパターン情報として登録しても良い。また、エラーパターン情報登録部17は、1番目のエラー情報の予め指定された属性を有する部分、例えば、アルファベットで記載された部分を、正規表現に置き換えて得られた情報を新たなエラーパターン情報として登録しても良い。この場合、登録されるエラーパターン情報は、「パターンID」が「102」であるエラーパターン情報と同じものとなる。なお、新たに登録するエラーパターン情報が属するグループを、エラーパターン情報登録部17が、どのように決定しても良い。例えば、エラーパターン情報登録部17は、新たに登録するエラーパターン情報を、デフォルト等で指定されているグループ(例えば、「新規登録エラー」等)にグループ分けするようにしても良い。また、新たにエラーパターン情報を登録した際に、このエラーパターン情報に対応する出現回数は、例えば、「1」に設定する。
【0090】
1番目のエラー情報に対応するエラーパターン情報の出現回数を1インクリメントする処理、または、1番目のエラー情報に関する情報を新たなエラーパターン情報として登録する処理が終了した場合、情報処理装置1は、ファイル名が「converted.vb」である変換後情報に含まれる2番目以降の各エラー情報についても、上記と同様の処理を行う。
【0091】
そして、ファイル名が「converted.vb」である変換後情報に含まれる全てのエラー情報について上記の処理が終了したとする。
【0092】
図9は、全てのエラー情報について上記の処理が終了した後の、パターン集計情報を示す図である。
【0093】
出現回数取得部15は、
図9に示したパターン集計情報と、
図4に示したグループ管理情報とを用いて、エラーパターン情報の出現回数を、グループ毎に合計する。具体的には、出現回数取得部15は、
図4に示したグループ管理情報から、「グループID」毎に、各「グループID」と対応付けられた1以上の「パターンID」を取得する。そして、出現回数取得部15は、この取得した1以上の「パターンID」のそれぞれと対応付けられた「集計」の属性値(即ちエラーパターン情報の出現回数)を、
図9に示したパターン集計情報から読み出し、集計していく。これにより、出現回数取得部15は、「グループID」毎の集計数を取得する。
【0094】
図10は、出現回数取得部15が、「グループID」毎に取得したエラーパターン情報の出現回数の合計を管理するためのグループ回数管理情報を示す図である。グループ回数管理情報において、「グループID」は、グループ識別情報であり、「回数」は、「グループID」が示すグループに属するエラーパターン情報の出現回数の合計である。
【0095】
出現回数出力部16は、
図9に示したパターン集計情報が示すエラーパターン情報毎の出現回数と、
図10に示したグループ回数管理情報が示すグループ毎のエラーパターン情報の出現回数を出力する。ここでは、一例として、出現回数出力部16は、パターン集計情報が示すエラーパターン情報の出現回数を、各エラーパターン情報が属するグループ毎に分類して並べて出力する。出現回数出力部16は、例えば、
図4に示したグループ管理情報が示すグループ毎に、各グループを構成する各「パターンID」が示す各エラーパターン情報に対応する出現回数の値である「集計」の値を、
図9に示したパターン集計情報から取得する。また、出現回数出力部16は、「集計」の値を取得した各エラーパターン情報を、
図3に示したエラーパターン管理情報から取得する。また、出現回数出力部16は、
図4に示したグループ管理情報が示すグループ毎に、各グループに対応する「グループ名」の属性値を取得するとともに、各グループ毎に各グループに属するエラーパターン情報の出現回数の合計を、
図10に示したグループ回数管理情報から取得する。そして、出現回数出力部16は、各グループに属するエラーパターン情報と、各エラーパターン情報の出現回数とをグループ毎に分類して並べて出力するとともに、各グループに属するエラーパターン情報と対応付けて、グループ毎に取得したエラーパターン情報の出現数の合計と、「グループ名」の属性値とを出力する。ここでは一例として、出現回数出力部16は、これらの情報を、モニタ16aに出力する。
【0096】
図11は、出現回数出力部16が出力するエラーパターン情報の出現回数の表示例を示す図である。このように出力されたエラーパターン情報の出現回数を見ることで、ユーザは、どのようなエラーが存在し、エラーの修正にどのような作業がどの程度の量だけ必要かということ等を正確に見積もることが可能となる。この結果、ソースプログラムのマイグレーションの作業を効率的に行うことが可能となる。
【0097】
以上、本実施の形態によれば、変換後情報におけるエラーパターン情報の出現回数を正確に把握することができ、自動変換したソースプログラムにおいて発生するエラーパターンの出現状況を適切に把握することができる。
これにより、例えば、エラーの修正にかかる作業量の見積や、修正に必要な修正ツール等の要否等を正確に判断することが可能となり、マイグレーション作業の効率化を図ることができる。つまり、本発明は、不完全な変換ツールを補うための技術開発のための技術と捉えることができる。
【0098】
なお、本実施の形態によれば、一の変換後情報についてエラーパターン情報毎の出現回数を取得するようにしたが、本発明においては、複数の変換後情報についてのエラーパターン情報毎の出現回数の集計を行って、複数の変換後情報における各エラーパターン情報の出現回数を取得するようにしても良い。
【0099】
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0100】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
【0101】
また、上記各実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
【0102】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部(例えば、ハードディスクやメモリ等の記録媒体)にアクセスしながらプログラムを実行してもよい。
【0103】
なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、変換前のソースプログラムである変換前ソースを変換ツールに与えて起動した場合のエラーに関する情報のパターンである1以上のエラーパターン情報が格納されるエラーパターン情報格納部と、変換前ソースを変換ツールに与えて起動した場合の出力である変換後情報が格納される変換後情報格納部と、にアクセス可能なコンピュータを、変換前のソースプログラムを変換し、新しいソースプログラムを作成するマイグレーションを支援する情報処理装置として機能させるためのプログラムであって、変換後情報格納部に格納されている変換後情報からエラーに関する情報である1以上のエラー情報を取得するエラー情報取得部と、エラーパターン情報格納部に格納されている1以上のエラーパターン情報を用いて、エラー情報取得部が取得した1以上の各エラー情報に対応するエラーパターン情報を決定するエラーパターン決定部と、エラーパターン決定部が決定したエラーパターン情報の、各エラーパターン情報毎の出現回数を取得する出現回数取得部と、出現回数取得部が取得したエラーパターン情報毎の出現回数を出力する出現回数出力部として機能させるためのプログラムである。
【0104】
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0105】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
【0106】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0107】
図12は、上記プログラムを実行して、上記実施の形態による情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
【0108】
図12において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
【0109】
図13は、コンピュータシステム900の内部構成を示す図である。
図13において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
【0110】
コンピュータシステム900に、上記実施の形態による情報処理装置等の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
【0111】
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
【0112】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。