(57)【要約】  【課題】呼出元処理の改変、中間ファイルの作成や改変をすることなく、呼出先処理の追加や変更などのカスタマイズを行う。  【解決手段】情報処理装置は、呼出元処理部と、インターフェイス部と、一以上の呼出先処理部とを有する。ここで、前記呼出処理部は、前記インターフェイス部を呼び出す。また、前記インターフェイス部は、前記呼出処理部から呼び出されると、所定の命名規則を満たす名称が関連付けられた呼出先処理部を特定し、所定の優先規則に従って、当該特定した呼出先処理部のうち最も優先順位が高い名称が関連付けられた呼出先処理部を選択し、当該選択した呼出先処理部を呼び出す。【選択図】図２
2015005246.tif 000002
【特許請求の範囲】
【請求項１】
呼出元処理部と、
インターフェイス部と、
一以上の呼出先処理部と、
を有し、
前記呼出処理部は、前記インターフェイス部を呼び出し、
前記インターフェイス部は、前記呼出処理部から呼び出されると、所定の命名規則を満たす名称が関連付けられた呼出先処理部を特定し、所定の優先規則に従って、当該特定した呼出先処理部のうち最も優先順位が高い名称が関連付けられた呼出先処理部を選択し、当該選択した呼出先処理部を呼び出す、
ことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記呼出処理部は、前記一以上の呼出処理部に関連付けられた個別名称の総括名称を指定して前記インターフェイス部を呼び出し、
前記インターフェイス部は、前記総括名称を含む個別名称が関連付けられた呼出先処理部を特定し、当該特定した呼出先処理部のうち前記個別名称の前記総括名称以外の記述に基づいて最も優先順位が高い個別名称を特定し、当該特定した個別名称が関連付けられた呼出先処理部を選択する、
ことを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記個別名称は、前記呼出先処理部の名称である、
ことを特徴とする情報処理装置。
【請求項４】
請求項２に記載の情報処理装置であって、
前記個別名称は、前記呼出処理部のそれぞれが格納されるフォルダの名称である、
ことを特徴とする情報処理装置。
【請求項５】
請求項１〜４いずれか一項に記載の情報処理装置であって、
前記インターフェイス部は、
前記呼出元処理部により最初に呼び出される前に、前記所定の命名規則を満たす名称が関連付けられた呼出先処理部を特定し、前記所定の優先規則に従って、当該特定した呼出先処理部のうち最も優先順位が高い名称が関連付けられた呼出先処理部を選択して、記憶しておき、
前記呼出元処理部から呼び出されると、前記記憶しておいた呼出先処理部を呼び出す、
ことを特徴とする情報処理装置。
【請求項６】
情報処理装置の処理呼出方法であって、
前記情報処理装置は、
呼出元処理部と、
インターフェイス部と、
一以上の呼出先処理部と、
を有し、
前記呼出処理部は、前記インターフェイス部を呼び出し、
前記インターフェイス部は、前記呼出処理部から呼び出されると、所定の命名規則を満たす名称が関連付けられた呼出先処理部を特定し、所定の優先規則に従って、当該特定した呼出先処理部のうち最も優先順位が高い名称が関連付けられた呼出先処理部を選択し、当該選択した呼出先処理部を呼び出す、
ことを特徴とする処理呼出方法。
【請求項７】
情報処理装置のプログラムであって、
呼出元処理部と、
インターフェイス部と、
一以上の呼出先処理部として、
前記情報処理装置を機能させ、
前記呼出処理部は、前記インターフェイス部を呼び出し、
前記インターフェイス部は、前記呼出処理部から呼び出されると、所定の命名規則を満たす名称が関連付けられた呼出先処理部を特定し、所定の優先規則に従って、当該特定した呼出先処理部のうち最も優先順位が高い名称が関連付けられた呼出先処理部を選択し、当該選択した呼出先処理部を呼び出す、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、処理呼出方法、及びプログラムに関する。
【背景技術】
【０００２】
従来から、パッケージソフトウェア等のソフトウェアを、顧客の要求等に応じてカスタマイズすることが行われている。
【０００３】
例えば、特許文献１には、呼出元の実行可能ファイルと呼出先の関数との間に、関数の参照を解決するための中間的なＭＥＴＡファイルを作成することで、呼出元の実行可能ファイル及び呼出先の関数に対する改変をすることなく、実行可能ファイルが呼び出す関数を変更する方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００４−５３０１８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の特許文献１の方法をソフトウェアのカスタマイズに使用する場合、下記のような問題がある。
【０００６】
例えば、新しい呼出先関数を追加するようなカスタマイズする際には、当該新しい呼出先関数を作成する以外に、ＭＥＴＡファイルを作成しなければならい。そのため、実質的に、呼出元関数への改変を実施するのと同等の作業が必要となってしまう。また、例えば、ＭＥＴＡファイルを使用してカスタマイズされたソフトウェアをベースとして、さらに、ある呼出元関数の呼出先関数を変更するカスタマイズを行う場合、呼出元関数への改変は発生しないが、ＭＥＴＡファイルへの改変が発生してしまう。
【０００７】
このように、上記の特許文献１の方法では、ソフトウェアに対するカスタマイズを行う場合、ＭＥＴＡファイルの作成や改変などが少なくとも必要であり、カスタマイズの作業が増加する。
【０００８】
そこで、本発明は、呼出元処理の改変、中間ファイルの作成や改変をすることなく、呼出先処理の追加や変更などのカスタマイズを行うことができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。
【００１０】
本発明の第一の態様は、呼出元処理部と、インターフェイス部と、一以上の呼出先処理部と、有し、前記呼出処理部は、前記インターフェイス部を呼び出し、前記インターフェイス部は、前記呼出処理部から呼び出されると、所定の命名規則を満たす名称が関連付けられた呼出先処理部を特定し、所定の優先規則に従って、当該特定した呼出先処理部のうち最も優先順位が高い名称が関連付けられた呼出先処理部を選択し、当該選択した呼出先処理部を呼び出す、ことを特徴とする情報処理装置である。
【００１１】
前記呼出処理部は、前記一以上の呼出処理部に関連付けられた個別名称の総括名称を指定して前記インターフェイス部を呼び出し、前記インターフェイス部は、前記総括名称を含む個別名称が関連付けられた呼出先処理部を特定し、当該特定した呼出先処理部のうち前記個別名称の前記総括名称以外の記述に基づいて最も優先順位が高い個別名称を特定し、当該特定した個別名称が関連付けられた呼出先処理部を選択する、ことを特徴としていてもよい。
【００１２】
前記個別名称は、前記呼出先処理部の名称である、ことを特徴としていてもよい。
【００１３】
前記個別名称は、前記呼出処理部のそれぞれが格納されるフォルダの名称である、ことを特徴としていてもよい。
【００１４】
前記インターフェイス部は、前記呼出元処理部により最初に呼び出される前に、前記所定の命名規則を満たす名称が関連付けられた呼出先処理部を特定し、前記所定の優先規則に従って、当該特定した呼出先処理部のうち最も優先順位が高い名称が関連付けられた呼出先処理部を選択して、記憶しておき、前記呼出元処理部から呼び出されると、前記記憶しておいた呼出先処理部を呼び出す、ことを特徴としていてもよい。
【００１５】
本発明の第二の態様は、情報処理装置の処理呼出方法であって、前記情報処理装置は、呼出元処理部と、インターフェイス部と、一以上の呼出先処理部と、を有し、前記呼出処理部は、前記インターフェイス部を呼び出し、前記インターフェイス部は、前記呼出処理部から呼び出されると、所定の命名規則を満たす名称が関連付けられた呼出先処理部を特定し、所定の優先規則に従って、当該特定した呼出先処理部のうち最も優先順位が高い名称が関連付けられた呼出先処理部を選択し、当該選択した呼出先処理部を呼び出す、ことを特徴とする。
【００１６】
本発明の第三の態様は、情報処理装置のプログラムであって、呼出元処理部と、インターフェイス部と、一以上の呼出先処理部として、前記情報処理装置を機能させ、前記呼出処理部は、前記インターフェイス部を呼び出し、前記インターフェイス部は、前記呼出処理部から呼び出されると、所定の命名規則を満たす名称が関連付けられた呼出先処理部を特定し、所定の優先規則に従って、当該特定した呼出先処理部のうち最も優先順位が高い名称が関連付けられた呼出先処理部を選択し、当該選択した呼出先処理部を呼び出す、ことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、呼出元処理の改変、中間ファイルの作成や改変をすることなく、呼出先処理の追加や変更などのカスタマイズを行うことができる。
【００１８】
上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態に係るソフトウェアのカスタマイズを説明する図である。
【図２】ソフトウェアを実行する情報処理装置の機能構成の一例を示す図である。
【図３】呼出処理の一例を示すフロー図である。
【図４】情報処理装置を実現するコンピューターのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の一実施形態について、図面を参照して説明する。
【００２１】
図１は、本発明の一実施形態に係るソフトウェアのカスタマイズを説明する図である。図１では、ソフトウェアＳＷ１と、ソフトウェアＳＷ１をベースにカスタマイズされたソフトウェアＳＷ２と、ソフトウェアＳＷ２をベースにカスタマイズされたソフトウェアＳＷ３とを例に挙げて説明する。
【００２２】
ソフトウェアＳＷ１〜ＳＷ３にはそれぞれ、呼出元プログラムＰＳと、呼出インターフェイスＩＦとが含まれる。呼出元プログラムＰＳ及び呼出インターフェイスＩＦは、ソフトウェアＳＷ１〜ＳＷ３の間で同じ内容のプログラムである。
【００２３】
ソフトウェアＳＷ１には、呼出先プログラムＰＤ１が含まれる。
【００２４】
ソフトウェアＳＷ２には、呼出先プログラムＰＤ１、及び呼出先プログラムＰＤ２が含まれる。すなわち、ソフトウェアＳＷ２は、ソフトウェアＳＷ１に呼出先プログラムＰＤ２を追加し、呼出先プログラムＰＤ１に替えて呼出先プログラムＰＤ２を使用するカスタマイズがされている。なお、呼出先プログラムＰＤ１は、ソフトウェアＳＷ２から削除されてもよい。
【００２５】
ソフトウェアＳＷ３には、呼出先プログラムＰＤ１、呼出先プログラムＰＤ２、及び呼出先プログラムＰＤ３が含まれる。すなわち、ソフトウェアＳＷ３は、ソフトウェアＳＷ２に呼出先プログラムＰＤ３を追加し、呼出先プログラムＰＤ２に替えて呼出先プログラムＰＤ３を使用するカスタマイズがされている。なお、呼出先プログラムＰＤ１及び呼出先プログラムＰＤ２の少なくとも一方は、ソフトウェアＳＷ３から削除されてもよい。
【００２６】
本実施形態では、例えば最初のバージョンであるソフトウェアＳＷ１を作成する際に、呼出インターフェイスＩＦを用意するとともに、呼出元プログラムＰＳに、呼出インターフェイスＩＦを呼び出すコードを記述しておく。呼出インターフェイスＩＦを呼び出すコードは、例えば呼出先プログラムＰＤの総括名称を、呼出インターフェイスＩＦに渡すように記述される。
【００２７】
呼出インターフェイスＩＦは、呼出元プログラムＰＳから渡された総括名称について予め定めた呼出規則に従って、検索対象の個別名称を決定し、検索対象の個別名称を有する呼出先プログラムＰＤを検索する機能を有する。また、呼出インターフェイスＩＦは、予め定めた呼出規則に従って、検索により発見された呼出先プログラムＰＤのうち、優先順位の最も高い個別名称を有する呼出先プログラムＰＤを選択し、呼び出す。
【００２８】
呼出規則の一例について説明する。例えば、呼出先プログラムＰＤの総括名称を「Ｘ」とし、個別の呼出先プログラムＰＤ１〜ＰＤｎ（ｎは、１以上の自然数。）の個別名称を、総括名称「Ｘ」＋ｎとし（命名規則）、ｎの値が大きいほど優先順位が高いとする（優先規則）、ソフトウェアＳＷを設計又はカスタマイズする際のルールを定める。呼出インターフェイスＩＦは、総括名称「Ｘ」が渡されると、「Ｘ」＋ｎで構成される個別名称を有する呼出先プログラムＰＤを検索する。また、検索により発見された呼出先プログラムＰＤのうち、ｎの値が最も大きい呼出先プログラムＰＤを呼出先として選択する。なお、個別名称は、例えば呼出先プログラムＰＤのファイル名称、呼出先プログラムＰＤのコード内の記述などである。
【００２９】
上記の呼出規則に従うと、図１の例では、ソフトウェアＳＷ１では呼出先プログラムＰＤ１が選択され、ソフトウェアＳＷ２では呼出先プログラムＰＤ２が選択され、ソフトウェアＳＷ３では呼出先プログラムＰＤ３が選択される。
【００３０】
このように、上記のような呼出元プログラムＰＳと呼出インターフェイスＩＦを最初に用意しておけば、ソフトウェアＳＷに対して呼出元プログラムＰＳの呼出先プログラムＰＤを変更するカスタマイズを行う場合に、呼出対象の呼出先プログラムＰＤに規則に従った個別名称（カスタマイズするソフトウェアＳＷの中で最も優先順位が高い個別名称となるように）を付与し、当該呼出先プログラムＰＤをソフトウェアＳＷに追加するだけでカスタマイズを行うことができる。古いバージョンの呼出先プログラムＰＤを削除する必要はない。
【００３１】
なお、上記の例では、説明を分かり易くするため、呼出元プログラムＰＳにより一の総括名称（例えば、Ｘ）を指定して呼出インターフェイスＩＦが呼び出され、呼出インターフェイスＩＦにより当該指定された総括名称を含む個別名称を有する呼出先プログラムＰＤが選択される。しかし、もちろん、呼出元プログラムＰＳにより異なる複数の総括名称（例えば、Ｘ、Ｙ、Ｚ）を指定して呼出インターフェイスＩＦが呼び出され、呼出インターフェイスＩＦにより、当該複数の総括名称それぞれについて、当該指定された総括名称を含む個別名称を有する呼出先プログラムＰＤが選択されるようにしてもよい。また、もちろん、複数の異なる呼出元プログラムＰＳにより、それぞれ一以上の総括名称を指定して呼出インターフェイスＩＦが呼び出されるようにしてもよい。
【００３２】
図２は、ソフトウェアを実行する情報処理装置の機能構成の一例を示す図である。図２では、図１で説明したようなソフトウェアＳＷ１〜ＳＷ３のいずれかが一つが情報処理装置１にインストールされて、実行された場合を説明している。
【００３３】
情報処理装置１は、制御部１０と、記憶部２０とを有する。制御部１０は、呼出元処理部１１と、呼出インターフェイス部１２と、呼出先処理部１３とを有する。記憶部２０には、ソフトウェアＳＷが格納されている。
【００３４】
制御部１０は、ソフトウェアＳＷにより実現される機能全体である。
【００３５】
呼出元処理部１１は、呼出元プログラムＰＳにより実現される機能部である。すなわち、呼出元処理部１１は、呼出インターフェイス部１２を呼び出すとともに、呼出インターフェイス部１２に総括名称を渡す。
【００３６】
呼出インターフェイス部１２は、呼出インターフェイスＩＦにより実現される機能部である。すなわち、呼出インターフェイス部１２は、呼出元処理部１１から渡された総括名称について予め定めた呼出規則に従って、検索対象の個別名称を決定し、検索対象の個別名称を有する呼出先処理部１３を記憶部２０から検索する。また、呼出インターフェイス部１２は、予め定めた呼出規則に従って、検索により記憶部２０から発見された呼出先処理部１３のうち、優先順位の最も高い個別名称を有する呼出先処理部１３を選択し、呼び出す。
【００３７】
呼出先処理部１３は、呼出先プログラムＰＤにより実現される機能部である。呼出先処理部１３は、呼出インターフェイス部１２から呼び出され、処理を実行する。
【００３８】
なお、上記では、呼出インターフェイス部１２が呼出先処理部１３を呼び出すと説明しているが、呼出インターフェイス部１２が選択した呼出先処理部１３を呼出元処理部１１に返し、呼出元処理部１１が呼出先処理部１３を呼び出すようにしてもよい。
【００３９】
上記のソフトウェアＳＷの構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、一般的なソフトウェアが備える構成を排除するものではない。
【００４０】
上記の情報処理装置１の機能構成は、情報処理装置１の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。情報処理装置１の機能構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。また、各構成要素の処理は、１つのプログラムで実現されてもよいし、複数のプログラムで実現されてもよい。
【００４１】
図３は、呼出処理の一例を示すフロー図である。呼出インターフェイス部１２は、呼出元処理部１１から総括名称を指定して呼び出された場合に、図３のフローを開始する。
【００４２】
まず、呼出インターフェイス部１２は、呼出元処理部１１から渡された総括名称を取得する（ステップＳ１）。
【００４３】
それから、呼出インターフェイス部１２は、ステップＳ１で取得した総括名称に関する呼出規則に従って、命名規則を満たす検索対象の個別名称を決定する（ステップＳ２）。上述したように、呼出インターフェイス部１２は、例えば、総括名称「Ｘ」を取得すると、「Ｘ」＋ｎで構成される個別名称を、検索対象として決定する。
【００４４】
それから、呼出インターフェイス部１２は、ステップＳ２で決定した個別名称を有する呼出先処理部１３を記憶部２０から検索する（ステップＳ３）。
【００４５】
それから、呼出インターフェイス部１２は、優先規則に従って、ステップＳ３の検索により特定された呼出先処理部１３のうち、優先順位の最も高い呼出先処理部１３を選択する（ステップＳ４）。上述したように、呼出インターフェイス部１２は、例えば、ｎの値が最も大きい呼出先処理部１３を呼出先として選択する。
【００４６】
それから、呼出インターフェイス部１２は、ステップＳ４で選択された呼出先処理部１３を、呼び出し（ステップＳ５）、本フローに示す処理を終了する。
【００４７】
このようにして、呼出元処理部１１は、呼出インターフェイス部１２を介して、カスタマイズ環境に応じた呼出先処理部１３を特定して実行することができる。
【００４８】
なお、上記の図３のフロー図の各処理単位は、呼出インターフェイス部１２の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。呼出インターフェイス部１２の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、１つの処理単位がさらに多くの処理を含むように分割することもできる。
【００４９】
図４は、情報処理装置を実現するコンピューターのハードウェア構成の一例を示す図である。
【００５０】
上述の情報処理装置１は、例えば、図４に示すような、ＣＰＵ（Central Processing Unit）９１と、メモリー９２と、ＨＤＤ（Hard Disk Drive）等の補助記憶装置９３と、通信回線などに接続するための通信インターフェイス（Ｉ／Ｆ）９４と、マウス、キーボード、タッチセンサーやタッチパネルなどの入力装置９５と、液晶ディスプレイなどの表示装置９６と、ＤＶＤ（Digital Versatile Disk）などの持ち運び可能な記憶媒体に対する情報の読み書きを行うメディアＩ／Ｆ９７と、を備えるコンピューター９０で実現できる。
【００５１】
制御部１０は、例えば、補助記憶装置９３に記憶されている所定のプログラム（ソフトウェアＳＷ）をメモリー９２にロードしてＣＰＵ９１で実行することで実現可能である。記憶部２０は、例えば、ＣＰＵ９１がメモリー９２又は補助記憶装置９３を利用することで実現可能である。
【００５２】
上記の所定のプログラムは、通信Ｉ／Ｆ９４を介してネットワークから、補助記憶装置９３にダウンロードされ、それから、メモリー９２上にロードされてＣＰＵ９１により実行されるようにしてもよい。また、通信Ｉ／Ｆ９４を介してネットワークから、メモリー９２上に直接ロードされ、ＣＰＵ９１により実行されるようにしてもよい。また、コンピューター９０が、メディアＩ／Ｆ９７にセットされた記憶媒体から、上記の所定のプログラムを、補助記憶装置９３あるいはメモリー９２にロードするようにしてもよい。
【００５３】
以上、本発明の一実施形態について説明した。本実施形態によれば、呼出元処理の改変、中間ファイルの作成や改変をすることなく、呼出先処理の追加や変更などのカスタマイズを行うことができる。
【００５４】
なお、以上の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。多くの代替物、修正、変形例は当業者にとって明らかである。
【００５５】
例えば、上記の実施形態の呼出規則では、個別名称のｎに１以上の自然数を設定するようにしているが、ｎにソフトウェアＳＷのバージョン番号などを設定するようにしてもよい。この場合も、ｎの値が大きいほど優先順位が高いものとする。このようにすれば、カスタマイズにより追加する呼出先プログラムＰＤの個別名称のｎと、ソフトウェアＳＷのバージョン番号とを一致させることができ、保守や管理がし易くなる。
【００５６】
例えば、上記の実施形態では、呼出先プログラムＰＤの個別名称を検索するようにしているが、呼出先プログラムＰＤをそれぞれのバージョンの個別名称を有するフォルダに格納し、呼出インターフェイスＩＦは、フォルダの個別名称を検索し、優先順位の最も高いフォルダに格納されている呼出先プログラムＰＤを呼び出すようにしてもよい。このようにしても、バージョン毎のソフトウェアＳＷの保守や管理がし易くなる。なお、呼出先プログラムＰＤの個別名称も、呼出先プログラムＰＤが格納されるフォルダの個別名称も、呼出先プログラムＰＤに関連付けられた名称と呼ぶことが出来る。
【００５７】
例えば、上記の実施形態では、呼出元処理部１１の処理中に呼出インターフェイス部１２を呼び出すタイミングで、呼出先処理部１３の検索および選択が行われる（すなわち、動的制御）。しかし、呼出インターフェイス部１２は、例えばソフトウェアＳＷが起動されたタイミングなど、呼出元処理部１１により最初に呼び出される事前に、呼出先処理部１３の検索および選択を行ってキャッシュしておき、呼出元処理部１１により呼び出されたタイミングでは、当該キャッシュした呼出先処理部１３を呼び出すようにしてもよい（すなわち、静的制御）。このようにすれば、処理を高速化することができる。
【００５８】
例えば、上記の実施形態では、記憶部２０から呼出先を検索しているが、呼出インターフェイスＩＦは、記憶部２０の中のソフトウェアＳＷが配置される特定の格納場所から呼出先を検索するようにしてもよい。このようにすれば、検索範囲が小さくなるため、処理を高速化することができる。
【符号の説明】
【００５９】
ＩＦ：呼出インターフェイス
ＰＳ：呼出元プログラム
ＰＤ：呼出先プログラム
ＳＷ：ソフトウェア
１：情報処理装置
１０：制御部
１１：呼出元処理部
１２：呼出インターフェイス部
１３：呼出先処理部
２０：記憶部
９０：コンピューター
９１：ＣＰＵ
９２：メモリー
９３：補助記憶装置
９４：通信Ｉ／Ｆ
９５：入力装置
９６：表示装置
９７：メディアＩ／Ｆ
【図１】
2015005246.tif 000003
【図２】
2015005246.tif 000004
【図３】
2015005246.tif 000005
【図４】
2015005246.tif 000006