(57)【要約】【課題】Ｊａｒファイルの機能情報が記述されたＪａｄファイルからその機能情報を読み出すことなしに、Ｊａｒファイルの機能情報を特定することができる情報処理端末、およびＪａｒファイルの機能情報を特定するためのプログラムを提供する。【解決手段】中間コード解析部３は、Ｊａｒファイルを構成する少なくとも１つ以上の中間コードの記述から、クラス名に該当する文字列を検索し、判別情報保存部４に保存している一覧情報を参照して、このクラス名に対応する機能情報を特定する。メニュー表示部５が中間コード解析部３によって特定した機能情報をＪａｖａプログラムの名称（あるいはＪａｖａプログラムを表すマーク、アイコン等）と共に、ディスプレイ１０に表示させる。【選択図】図２
2007193435.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト指向型プログラムを変換した中間コードに従ってＣＰＵに処理を行なわせる情報処理端末であって、
文字列と、中間コードにおける識別子として前記文字列を有する少なくともクラスおよびメソッドの一方に従ってＣＰＵに処理を行なわせたときに当該情報処理端末が実行する機能についての機能情報と、の対応関係を記憶する判別情報保存部と、
前記中間コードの記述のうち、少なくともクラスおよびメソッドの一方または両方の識別子を表す文字列を特定し、前記判別情報保存部に記憶した対応関係を参照して、特定した文字列に対応する前記機能情報を特定する中間コード解析部と、
を備える情報処理端末。
【請求項２】
請求項１記載の情報処理端末であって、
各種情報を表示する表示部を備え、
前記表示部は、前記中間コード解析部により特定した前記機能情報を、前記中間コードを表す情報と対応付けて表示する、情報処理端末。
【請求項３】
オブジェクト指向型プログラムを変換した中間コードに従ってＣＰＵに処理を行なわせるためのプログラムであって、
前記中間コードの記述のうち、少なくともクラスおよびメソッドの一方または両方の識別子を表す文字列を特定する手順と、
文字列と、中間コードにおける識別子として前記文字列を有する少なくともクラスおよびメソッドの一方に従ってＣＰＵに処理を行なわせたときに当該情報処理端末が実行する機能についての機能情報と、の対応関係を参照して、特定した文字列に対応する前記機能情報を特定する手順と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｊａｖａ（登録商標）言語で記述されたアプリケーションプログラムを実行する情報処理端末に関し、特に、アプリケーションプログラムを実行することによって実施される機能内容を特定する情報処理端末に関する。
【背景技術】
【０００２】
インターフェースの違いを乗り越えるアプリケーションの実行環境として誕生したＪａｖａは、大規模システムから携帯電話に至るさまざまな分野で、アプリケーションを開発する環境にあるいは実行する環境に利用されている。以下、Ｊａｖａプログラム実行装置がＪａｖａ言語によって記述されたソースファイルを解釈し、実行するまでの処理の流れを図１２に示すＪａｖａプログラムを実行するまでの概念図を参照して簡単に説明する。
【０００３】
Ｊａｖａはコンパイラ型のコンピュータ言語であり、Ｊａｖａ言語によって記述されたソースファイル（人間がその記述を理解することができる形式）をコンパイルするＪａｖａコンパイラは、ソースファイルをＣＰＵが理解できる形式の実行形式のファイルに直接変換するのではなく、ソースファイルにある文法的なエラーを取り除き、ソースファイルを機械が理解しやすいように加工した中間コードに一旦変換する（中間コードは、ＣＰＵが理解できる形式の実行形式のファイルではないが、ソースファイルよりは実行形式のファイルに近いため「中間コード」と呼ばれる。このような中間コードを含むデータ構造を「クラスファイル」と称する場合もある）。しかし、ＣＰＵは中間コードの記述を理解できないため、Ｊａｖａでは中間コードを解釈してＣＰＵに実行させる仕組みとして「Ｊａｖａバーチャルマシン：ＪＶＭ（Java Virtual Machine）」という方式を採用している。Ｊａｖａバーチャルマシンとは、Ｊａｖａコンパイラが生成した中間コードをあたかも実行形式のファイルとして理解し、実行するプログラムのことを指す。従って、ＣＰＵやＯＳの種類ごとにＪａｖａバーチャルマシンを用意すれば、様々なインターフェースであっても同じ中間コードでプログラムを実行することができる（つまり、１つのソースファイルを作成すれば、インターフェースの異なる複数のＪａｖａプログラム実行装置それぞれにそのソースファイルを変換した中間コードを実行させることができる）。
【０００４】
また非特許文献１に開示されている仕様では、Ｊａｖａを組込んだ携帯端末装置は、１つのＪａｖａアプリケーションプログラムにつき、少なくとも１つ以上の中間コードから構成されるＪａｖａアプリケーション実行ファイル（Ｊａｒ（Java archive）ファイルと称する）と、Ｊａｒファイルの機能情報、例えば各中間コードを実行することにより携帯端末装置によって実施される機能についての情報、各中間コードあるいはＪａｒファイルのデータ容量、Ｊａｖａアプリケーションプログラムのダウンロード先のＵＲＬ、各中間コードのバージョン情報、等が記述されたＪａｖａアプリケーション管理ファイル（Ｊａｄ（Java application descriptor）ファイルと称する）と、を記憶している。
【０００５】
携帯端末装置は、Ｊａｖａアプリケーションプログラムについての情報を参照する際には、Ｊａｄファイルに記述されたデータを読み出すことになる。以下、Ｊａｄファイルに記述された情報を、携帯端末装置に備わるディスプレイにより表示する具体例について説明する。図１３に、Ｊａｄファイルに記述されている、Ｊａｒファイルを実行したときにその処理に利用される機能についての機能情報の１例と、携帯端末装置による機能情報の表示例と、を示す。Ｊａｖａアプリケーションプログラム１に対応するＪａｄファイルには、「ＩＣ：使用する」との記述により、Ｊａｖａアプリケーションプログラム１を実行したときにその処理に利用される携帯端末装置の機能がＩＣカードであるという機能情報が記述されている。Ｊａｖａアプリケーションプログラム２、３についても、Ｊａｖａアプリケーションプログラム１と同様に、「電話帳：使用する」、「カメラ：使用する」との記述により、Ｊａｖａアプリケーションプログラム２、３を実行したときにその処理に利用される携帯端末装置の機能が電話帳、カメラであるという機能情報が記述されている。携帯端末装置は、各Ｊａｖａアプリケーションプログラム毎に、Ｊａｄファイルから機能情報を読み出し、その機能情報に対応するアイコンを表示することになる。このように機能情報を表示することにより、携帯端末装置利用者はＪａｖａアプリケーションプログラムを実行したときにその処理に利用される携帯端末装置の機能を一目で確認することができる。
【非特許文献１】ＮＴＴ  ＤｏＣｏＭｏ  “作ろうｉモードコンテンツ”  “ｉアプリ技術資料のダウンロード”  “ｉアプリコンテンツ開発ガイド  ｆｏｒ  ＤｏＪａ−４．ｘ  ｉアプリオプション・ｉアプリ拡張編”  “http://www.nttdocomo.co.jp/p_s/imode/make/java/index.html”
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、Ｊａｄファイルから機能情報を読み出すためには、予めＪａｒファイルの機能情報をＪａｄファイルに記述しておく必要がある。この工程は主に、Ｊａｖａアプリケーションプログラム作成者によってなされるため、Ｊａｖａアプリケーションプログラム作成者にとって負担をかけている。さらにはＪａｒファイルを実行してもその処理に利用されない機能情報をそのＪａｒファイルの機能情報として誤ってＪａｄファイルに記述してしまうこともあるため、必ずしもＪａｄファイルにＪａｒファイルの機能情報が正確に記述されているわけではない。また、Ｊａｖａアプリケーションプログラム作成者によってはＪａｒファイルの機能情報を詳細に記述する人やＪａｒファイルの機能情報のうち主要な機能情報のみをＪａｄファイルに記述する人もいるために、携帯端末装置利用者のニーズに応じた機能情報がＪａｄファイルに記述されているとは限らない。
【０００７】
本発明は、上記事情に鑑みてなされたもので、Ｊａｒファイルの機能情報が記述されたＪａｄファイルからその機能情報を読み出すことなしに、Ｊａｒファイルの機能情報を特定することができる情報処理端末、およびＪａｒファイルの機能情報を特定するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の情報処理端末は、オブジェクト指向型プログラムを変換した中間コードに従ってＣＰＵに処理を行なわせる情報処理端末であって、文字列と、中間コードにおける識別子として前記文字列を有する少なくともクラスおよびメソッドの一方に従ってＣＰＵに処理を行なわせたときに当該情報処理端末が実行する機能についての機能情報と、の対応関係を記憶する判別情報保存部と、前記中間コードの記述のうち、少なくともクラスおよびメソッドの一方または両方の識別子を表す文字列を特定し、前記判別情報保存部に記憶した対応関係を参照して、特定した文字列に対応する前記機能情報を特定する中間コード解析部と、を備えた構成を有している。
【０００９】
この構成により、オブジェクト指向型プログラムからその機能情報を読み出すことなしに、オブジェクト指向型プログラムを変換した中間コードの記述からオブジェクト指向型プログラム実行時に携帯端末装置が実施する機能を特定することができるため、従来のようにＪａｖａプログラム作成者が予めオブジェクト指向型プログラムの機能情報をオブジェクト指向型プログラムに記述しておく必要はなくなるため、Ｊａｖａアプリケーションプログラム作成者にかかる負担を軽減することができる。また、中間コードの記述に従って携帯端末が実施する機能を特定するため、中間コードの記述と一致しない誤った機能が特定されること無く正確に特定することができる。
【００１０】
また、本発明の情報処理端末は、各種情報を表示する表示部を備え、前記表示部は、前記中間コード解析部により特定した前記機能情報を、前記中間コードを表す情報と対応付けて表示する構成を有している。
【００１１】
この構成により、特定した機能情報を、中間コードを表す情報と対応付けて表示することにより、中間コードとその中間コードに対応する機能をひと目で了解することができる。
【００１２】
さらに、本発明のプログラムは、オブジェクト指向型プログラムを変換した中間コードに従ってＣＰＵに処理を行なわせるためのプログラムであって、前記中間コードの記述のうち、少なくともクラスおよびメソッドの一方または両方の識別子を表す文字列を特定する手順と、文字列と、中間コードにおける識別子として前記文字列を有する少なくともクラスおよびメソッドの一方に従ってＣＰＵに処理を行なわせたときに当該情報処理端末が実行する機能についての機能情報と、の対応関係を参照して、特定した文字列に対応する前記機能情報を特定する手順と、を実行させるためのプログラムである。
【発明の効果】
【００１３】
本発明は、Ｊａｒファイルの機能情報が記述されたＪａｄファイルからその機能情報を読み出すことなしに、Ｊａｒファイルの機能情報を特定することができるという効果を有する情報処理端末、およびＪａｒファイルの機能情報を特定するためのプログラムを提供することができるものである。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態の情報処理端末について説明する前に、まず、Ｊａｖａ言語におけるクラスの概念とメソッドの概念について説明する。クラスは、変数（フィールド変数）と、Ｊａｖａプログラムの基本的な機能（振る舞い）の単位であるメソッドと、によって構成され、Ｊａｖａプログラムを構成する１つのまとまりの単位である。Ｊａｖａプログラムは、複数のクラスから成り立っている。図１に、Ｊａｖａ言語におけるクラスとメソッドの概念図を示す。図１に示すＪａｖａプログラムの概念図では、クラスＡのメソッドＡ１からプログラムの実行を開始し、その後、クラスＢ、Ｃに処理を進めてクラスＢのメソッドＢ１、メソッドＢ２、クラスＣのメソッドＣ１に記述されたプログラムを実行するものであり、複数のクラス間で各クラスのメソッドを呼び出しあうことで、プログラムを実行していくことになる。なお、クラスＡ、Ｂ、ＣおよびメソッドＡ１、Ｂ１、Ｂ２、Ｃ１はそれぞれのクラスおよびメソッドを識別するクラス名およびメソッド名（識別子）を表している。
【００１５】
Ｊａｖａプログラムが近年の携帯端末装置に搭載される非接触ＩＣカードを利用した機能を制御するためのプログラムである場合の、クラスＡ、Ｂ、ＣおよびメソッドＡ１、Ｂ１、Ｂ２、Ｃ１の１例を説明する。クラスＡは非接触ＩＣカードによるＩＣカードリーダライタとの無線通信を許可あるいは禁止する制御信号を入出力するためのプログラムのまとまりであり、クラスＢは非接触ＩＣカードに記憶されたデータの読み出し、書き込み、削除などのデータ処理するためのプログラムのまとまりであり、クラスＣは各種データを基に演算処理を行なうためのプログラムのまとまりである、などが考えられる。クラスＡ、Ｂ、Ｃの具体的な処理内容はメソッドＡ１、Ｂ１、Ｂ２、Ｃ１によって規定される。クラスＡに記述されたプログラムのうちの、非接触ＩＣカードによる無線通信を許可する制御信号を非接触ＩＣカードに出力するメソッドＡ１を実行して当該制御信号を出力すると、クラスＢに記述されたプログラムのうちの、非接触ＩＣカードに記憶されているデータを読み出すメソッドＢ１および非接触ＩＣカードにデータを書き込むメソッドＢ２を実行して、非接触ＩＣカードからデータを読み出しあるいは非接触ＩＣカードへデータを書き込み、クラスＣに記述されたプログラムのうちの、非接触ＩＣカードを用いたサービスに利用可能な金額を加減算して非接触ＩＣカードに記憶させるメソッドＣ１を実行して、メソッドＢ１、Ｂ２の処理によって読み出しあるいは書き込み処理をしたデータを基に当該金額の加減算を行い、非接触ＩＣカードにその金額を記憶させる。このように、Ｊａｖａプログラムは、クラスによってその処理内容が大別され、メソッドによって各処理内容の詳細が規定されることになる。
【００１６】
なお、Ｊａｖａ言語によって記述されたソースファイルから生成されるクラスファイルは、Ｊａｖａ言語仕様によってその構造が規定されており、ソースファイルに記述されているクラス名、メソッド名がそのまま文字列として含まれている。これらの文字列を検索することにより、Ｊａｖａプログラム実行装置は中間コードにおけるクラス名とメソッド名もまた特定することができる。
【００１７】
本発明の実施の形態の情報処理端末は、中間コードにおけるクラス名あるいはメソッド名とを検出し、その検出したクラス名あるいはメソッド名から、このＪａｖａプログラムの処理をＣＰＵに行なわせたときに情報処理端末によって実行される機能を特定するものである。クラス名あるいはメソッド名から情報処理端末によって実行される機能を特定する具体的な方法については、以下の実施形態において詳細に説明する。
【００１８】
（第１実施形態）
以下、本発明の情報処理端末の１例として携帯端末装置を挙げ、本発明の第１実施形態の携帯端末装置について詳細に説明する。図２に、本発明の第１実施形態の携帯端末装置の構成図を示す。
【００１９】
本発明の第１実施形態の携帯端末装置１では、Ｊａｖａプログラム（少なくとも１つ以上の中間コードから成るＪａｒファイルと、Ｊａｒファイルの機能情報を有するＪａｄファイルと、から構成される）を外部サーバからＪａｖａアプリダウンロード部２によって取得する構成を採用している。なお、外部サーバから取得する構成に限定するものではなく、Ｊａｖａアプリ保存部にＪａｖａプログラムが保存されていれば良い。
【００２０】
中間コード解析部３は、Ｊａｒファイルを構成する少なくとも１つ以上の中間コードの記述から、クラス名に該当する文字列を検索する。中間コード解析部３による具体的な検索手法は、クラス格納領域から逐次クラス名を表す文字列を取得する。
【００２１】
判別情報保存部４は、クラス名と、そのクラスに記述されているプログラムを実行したときに携帯端末装置１が実施する機能についての機能情報と、を対応付けて保存している。図３に、クラス名３０１と、そのクラスを実行時に携帯端末装置１が実施する機能３０２と、の一覧情報を示す。図３記載の一覧情報のクラス名により特定されるクラスはカプセル化されたものであり、そのクラス名もＪａｖａ言語の中で唯一のものである。このため、カプセル化されているクラスのクラス名と、そのクラスに記述されているプログラムを実行時に携帯端末装置が実施する機能と、は１対１に対応する。以下、クラス名と機能情報との具体的な対応関係を、図１の説明の際に例に挙げた、非接触ＩＣカードを利用した機能を制御するためのプログラムであるクラスＡ、Ｂ、Ｃの名称とその機能情報を例に挙げて説明する。
【００２２】
クラスＡの名称はIdentify Classによって表され、非接触ＩＣカードによるＩＣカードリーダライタとの無線通信を許可あるいは禁止する制御信号を入出力する機能（機能情報：認証機能）を携帯端末装置１に実行させる。また、クラスＢの名称は図３記載のFelica（登録商標） Classに該当し、非接触ＩＣカードに記憶されたデータの読み出し、書き込み、削除などのデータ処理する機能（機能情報：ＩＣ機能）を携帯端末装置１に実行させる。また、クラスＣの名称は図３記載のDataFolder Classに該当し、各種データを基に演算処理を行なう機能（機能情報：データフォルダ連携機能）を携帯端末装置１に実行させる。
【００２３】
上述したような文字列によって表されるクラス名を検出した中間コード解析部３は、判別情報保存部４に保存している一覧情報を参照して、このクラス名に対応する機能情報を特定する。
【００２４】
メニュー表示部５は、中間コード解析部３によって特定した機能情報（上述した非接触ＩＣカードを利用した機能を制御するためのプログラムの場合であれば、認証機能、ＩＣ機能およびデータフォルダ連携機能）をＪａｖａプログラムの名称（あるいはＪａｖａプログラムを表すマーク、アイコン等）と共に、本発明の携帯端末装置１に備わるディスプレイ１０に表示させる。図４に、本発明の第１実施形態の携帯端末装置１による機能情報の表示例を示す。図４の表示例では、Ｊａｖａアプリケーションプログラムの名称（アプリ名１、２、３、４）のとなりに、そのＪａｖａアプリケーションプログラムを実行時に携帯端末装置１が利用する機能を表すアイコン（ＩＣアイコン、電話帳アイコン、カメラアイコン）を表示している。例えば、Ｊａｖａアプリケーションプログラムの名称のアプリ名１のとなりに、そのアプリ名１であるＪａｖａアプリケーションプログラムを実行時に携帯端末装置１が利用するＩＣ機能を表すアイコンを表示している。
【００２５】
Ｊａｖａアプリ保存部６は、Ｊａｖａアプリダウンロード部２が外部サーバからダウンロードしたＪａｖａアプリケーションプログラム本体や中間コード解析部３によって特定したクラス名及びそのクラス名と対応する機能情報などを保存する。
【００２６】
携帯端末用ＪＶＭ７は、携帯端末用の中間コードをあたかも実行形式のファイルとして理解し、実行するプログラムである。
【００２７】
ＣＰＵ８は、携帯端末装置１における各種処理及び制御を行う。
【００２８】
駆動部９は、非接触ＩＣ機能やカメラ機能やＧＰＳ機能などを駆動する。
【００２９】
上記のように構成される本発明の第１の実施形態の携帯端末装置１の動作について、図５に示すフローチャートに基づいて説明する。ここで、Felica Classに対応する機能を特定し、表示する例を説明する。
【００３０】
まず、Ｊａｖａアプリケーションダウンロード部２が少なくとも１つ以上の中間コードから成るＪａｒファイルと、Ｊａｒファイルの機能情報を有するＪａｄファイルと、から構成されるＪａｖａプログラムを外部サーバから取得する（ステップＳ５０１）。例えば、ここでダウンロードしたＪａｖａプログラムに図６に示すクラスが含まれる。
【００３１】
中間コード解析部３は、Ｊａｒファイルを構成する少なくとも１つ以上の中間コードを取得し（ステップＳ５０２）、取得した中間コードの記述から、クラス名に該当する文字列を検索する（ステップＳ５０３）。ここで、図６に示すＪａｖａプログラムにおいて、Felicaクラスは、中間コード中にそのクラスを表す文字列が含まれているため、中間コード解析部３がその文字列Felicaをクラス名として検出する。
【００３２】
中間コード解析部３は、ステップＳ５０３で検索し得たクラス名から判別情報保存部４に保存している一覧情報を参照して、このクラス名に対応する機能情報を特定する（ステップＳ５０４）。ここで、図３に示す判別情報保存部４に保存している一覧情報を参照して、検出されたFelicaに対応する機能はＩＣ機能であると特定する。
【００３３】
中間コード解析部３は、次のクラス名を検索し（ステップＳ５０５）、次のクラス名が存在するかを判断し（ステップＳ５０６）、次のクラス名が存在した場合は、ステップＳ５０４に戻り、次のクラス名に対応する機能情報を特定する。
【００３４】
一方、ステップＳ５０６において、次のクラス名が存在しない場合は、メニュー表示部５は、中間コード解析部３によって特定した機能情報（上述した非接触ＩＣカードを利用した機能を制御するためのプログラムの場合であれば、認証機能、ＩＣ機能およびデータフォルダ連携機能）をＪａｖａプログラムの名称（あるいはＪａｖａプログラムを表すマーク、アイコン等）と共に、本発明の携帯端末装置１に備わるディスプレイ９に表示させる（ステップＳ５０５）。そして、処理が終了する。
【００３５】
本発明の第１実施形態の携帯端末装置によれば、Ｊａｒファイルの機能情報が記述されたＪａｄファイルからその機能情報を読み出すことなしに、Ｊａｒファイルを構成する中間コードの記述からＪａｒファイル実行時に携帯端末装置が実施する機能を特定することができるため、従来のようにＪａｖａプログラム作成者が予めＪａｒファイルの機能情報をＪａｄファイルに記述しておく必要はなくなるため、Ｊａｖａアプリケーションプログラム作成者にかかる負担を軽減することができる。また、中間コードの記述に従って携帯端末が実施する機能を特定するため、中間コードの記述と一致しない誤った機能が特定されること無く正確に特定することができる。
【００３６】
（第２実施形態）
以下、本発明の情報処理端末の１例として携帯端末装置を挙げ、本発明の第２実施形態の携帯端末装置について詳細に説明する。
第１実施形態では、中間コードに記述されたクラス名を検出することによって、そのクラスを実行時に携帯端末装置が実施する機能を特定する構成であったが、第２実施形態では、そのクラスを構成するメソッドの名称（メソッド名）を検出し、そのメソッドを実行時に携帯端末装置が実施する機能を特定する構成について説明する。本発明の第２実施形態の携帯端末装置の構成は、図２と同様であり、中間コード解析部３と判別情報保存部以外の部の処理および機能は第１実施形態と同様であるため説明を省略する。
【００３７】
中間コード解析部３は、Ｊａｒファイルを構成する少なくとも１つ以上の中間コードの記述から、クラス名に該当する文字列を検索した後、そのクラスを構成するメソッドの名称に該当する文字列を検索する。中間コード解析部３による具体的な検索手法は、メソッド格納領域から逐次メソッド名を表す文字列を取得する。
【００３８】
判別情報保存部４は、メソッド名と、そのメソッドに記述されているプログラムを実行したときに携帯端末装置が実施する機能についての機能情報と、を対応付けて保存している。図６に、メソッド名６０１と、そのメソッドを実行時に携帯端末装置１が実施する機能６０２と、の一覧情報を示す。図６記載の一覧情報のメソッド名により特定されるメソッドもまたカプセル化されたものであり、そのクラス名もＪａｖａ言語の中で唯一のものである。このため、カプセル化されているメソッドのメソッド名と、そのメソッドに記述されているプログラムを実行時に携帯端末装置が実施する機能と、は１対１に対応する。以下、メソッド名と機能情報との具体的な対応関係を、図１の説明の際に例に挙げた、非接触ＩＣカードを利用した機能を制御するためのプログラムである、クラスＢを構成するメソッドＢ１、Ｂ２の名称とその機能情報を例に挙げて説明する。
【００３９】
メソッドＢ１の名称は図６記載のreadに該当し、非接触ＩＣカードに記憶されているデータを読み出す機能（機能情報：読み込み可能）を携帯端末装置に実行させる。メソッドＢ２の名称は図６記載のwriteに該当し、非接触ＩＣカードにデータを書き込む機能（機能情報：書き込み可能）を携帯端末装置に実行させる。
【００４０】
上述したような文字列によって表されるメソッド名を検出した中間コード解析部３は、判別情報保存部４に保存している一覧情報を参照して、このメソッド名に対応する機能情報を特定する。
【００４１】
メニュー表示部５は、中間コード解析部３によって特定した機能情報（上述した非接触ＩＣカードを利用した機能を制御するためのプログラムの場合であれば、認証機能、ＩＣ機能およびデータフォルダ連携機能、特にＩＣ機能については読み込み可能かつ書き込み可能であることも）をＪａｖａプログラムの名称（あるいはＪａｖａプログラムを表すマーク、アイコン等）と共に、本発明の携帯端末装置１に備わるディスプレイ１０に表示させる。図７に、本発明の第２実施形態の携帯端末装置１による機能情報の表示例を示す。図７の表示例では、Ｊａｖａアプリケーションプログラムの名称（アプリ名１、２、３、４）のとなりに、そのＪａｖａアプリケーションプログラムを実行時に携帯端末装置１が利用する機能を表すアイコン（ＩＣアイコン、電話帳アイコン、カメラアイコン）を表示し、かつ、ＩＣアイコンには、ＩＣ機能が読み込みかつ書き込み処理を行なうことを示す「Ｒ／Ｗ」のマークをＩＣアイコン右上に合わせて表示している。
【００４２】
上記のように構成される本発明の第２の実施形態の携帯端末装置１の動作について、図８に示すフローチャートに基づいて説明する。
クラス名に対応する機能の情報を特定するまでの動作、すなわち、ステップＳ５０１〜５０４の手順は図５に示す第１の実施形態と同様であるので、説明を省略する。
【００４３】
クラス名に対応する機能の情報を特定した後、中間コード解析部３は検出したクラスを構成するメソッドの名称に該当する文字列を検索し、メソッドの名称を検出する（ステップＳ８０１）。図９はクラスに含まれるメソッドを示す。図９において、メソッド格納領域からreadメソッドを検索し取得する。
【００４４】
中間コード解析部３は引き続き、判別情報保存部に保存している一覧情報を参照して、検出したメソッド名に対応する機能情報を特定する（ステップＳ８０２）。ここで、図６に示す判別情報保存部４に保存している一覧情報を参照して、検出されたreadに対応する機能はＩＣの読み込み可能機能であると特定する。
【００４５】
中間コード解析部３は、次のメソッド名を検索し（ステップＳ８０３）、次のメソッド名が存在するかを判断し（ステップＳ８０４）、次のメソッド名が存在した場合は、ステップＳ５０４に戻り、次のメソッド名に対応する機能情報を特定する。例えば、図９において、次のメソッド名として、writeが検出され、そのwriteに対応する書き込み可能機能が特定される。
【００４６】
一方、ステップＳ８０４において、次のメソッド名が存在しない場合は、例えば、図９に示す例のような、メソッド名は２つしかないので、三回目の検索ではメソッド名が存在しないと判定した場合、メニュー表示部５は、中間コード解析部３によって特定した機能情報（上述した非接触ＩＣカードを利用した機能を制御するためのプログラムの場合であれば、認証機能、ＩＣ機能およびデータフォルダ連携機能、特にＩＣ機能については読み込み可能かつ書き込み可能であることも）をＪａｖａプログラムの名称（あるいはＪａｖａプログラムを表すマーク、アイコン等）と共に、本発明の携帯端末装置１に備わるディスプレイ９に表示させる（ステップＳ８０５）。そして、処理が終了する。
【００４７】
本発明の第２実施形態の携帯端末装置によれば、Ｊａｒファイルの機能情報が記述されたＪａｄファイルからその機能情報を読み出すことなしに、Ｊａｒファイルを構成する中間コードの記述からＪａｒファイル実行時に携帯端末装置が実施する機能を特定することができるため、従来のようにＪａｖａプログラム作成者が予めＪａｒファイルの機能情報をＪａｄファイルに記述しておく必要はなくなるため、Ｊａｖａアプリケーションプログラム作成者にかかる負担を軽減することができる。また、中間コードの記述に従って携帯端末が実施する機能を特定するため、中間コードの記述と一致しない誤った機能が特定されること無く正確に特定することができる。さらに、クラス名による機能情報の特定し、続いてメソッド名による機能情報を特定するというように、携帯端末装置がＪａｒファイの実行時に実施する機能を段階的に限定して特定することができるため、携帯端末装置利用者が求める機能情報の詳細度合いに応じて機能情報を特定することができる。
【００４８】
（第３実施形態）
以下、本発明の情報処理端末の１例として携帯端末装置を挙げ、本発明の第３実施形態の携帯端末装置について詳細に説明する。
第１及び第２実施形態では、中間コードに記述されたクラス名及びそのクラスを構成するメソッド名を検出することによって、そのクラス及びメソッドを実行時に携帯端末装置が実施する機能を特定する構成であったが、第３実施形態では、中間コードに記述されたクラス名を検出し、携帯端末装置が保持する、自装置が有する機能の一覧情報と、を比較して、特定した機能情報が一覧情報になければ、利用できない恐れがあるとの警告を発する、あるいは特定した機能情報が、所定の機能情報である場合、その機能を装置利用者が利用する前にその機能を利用することによって発生し得る不都合を警告する構成について説明する。
【００４９】
図１０は、本発明の第３実施形態の携帯端末装置の構成を示す。この図１０に示す携帯端末装置１００は、図２に示す第１の実施形態の構成において、機能一覧情報保存部１００１と、機能判断部１００２と、警告表示制御部１００３とを設けた。なお、図２に示した携帯端末装置１と同一の構成要素には、同一の符号を付してその説明を省略する。
【００５０】
機能一覧情報保存部１００１は、携帯端末装置１００が保持する、自装置が有する機能の一覧情報を保存する。
【００５１】
機能判断部１００２は、中間コード解析部３によって特定された機能情報と機能一覧情報保存部１００１が保存している携帯端末装置１００自装置が有する機能と比較することにより、特定された機能は携帯端末装置１００自装置が有する機能であるかを判断し、特定された機能は携帯端末装置１００自装置が有する機能ではないと判断した場合、警告表示制御部１００３に通知信号を送出する。また、特定された機能は所定の機能情報であるかを判断し、特定された機能は所定の機能情報であると判定した場合、警告表示制御部１００３に通知信号を送出する。
【００５２】
警告表示制御部１００３は、機能判断部１００２からの通知信号を受け取ると、メニュー表示部５に警告を表示するよう指示する。
【００５３】
上記のように構成される本発明の第３の実施形態の携帯端末装置１００の動作について、図１１に示すフローチャートに基づいて説明する。
クラス名に対応する機能の情報を特定するまでの動作、すなわち、ステップＳ５０１〜５０４の手順は図５に示す第１の実施形態と同様であるので、説明を省略する。
【００５４】
クラス名に対応する機能の情報を特定した後、機能情報判断部１００２は機能一覧情報保存部１００１が保存している自装置が有する機能の一覧情報を参照して、特定した機能情報が自装置が有する機能一覧情報にあるかを判断する（ステップＳ１１０１）。
【００５５】
ステップＳ１１０１において、特定した機能情報が自装置が有する機能一覧情報にないと判定した場合、警告表示制御部１００３に通知信号を送出し、警告表示制御部１００３はその通知信号を受け取り、ディスプレイ１０に利用できない恐れがあるとの警告を表示させる（ステップＳ１１０２）。例えば、カメラ非搭載機種でカメラ機能を使用するアプリケーションを実行した場合、このアプリケーションはカメラ機能を使用しているのでこの端末では私用できない恐れがありますと警告を出すなど。
【００５６】
一方、ステップＳ１１０１において、特定した機能情報が自装置が有する機能一覧情報にあると判定した場合、機能情報判断部１００２はさらにその特定した機能は所定の機能情報であるかを判断する（ステップＳ１１０３）。ここで判断する所定の機能は、例えば、通信機能とＰＩＭを使用しているアプリケーションでは個人情報が流出する恐れがあるので、通信機能を使用しているかどうかなどを所定の機能として判断する。
【００５７】
ステップＳ１１０３において、特定した機能は所定の機能情報であると判定した場合、警告表示制御部１００３に通知信号を送出し、警告表示制御部１００３はその通知信号を受け取り、ステップＳ１１０２に進み、ディスプレイ１０にその機能を利用することによって発生し得る不都合を警告するとの警告を表示させる。
【００５８】
一方、特定した機能は所定の機能情報ではないと判定した場合、警告を表示せず、ステップＳ５０５に説明したような通常表示を行い（ステップＳ１１０４）、処理が終了する。
【００５９】
本発明の第３実施形態の携帯端末装置によれば、Ｊａｒファイルの機能情報が記述されたＪａｄファイルからその機能情報を読み出すことなしに、Ｊａｒファイルを構成する中間コードの記述からＪａｒファイル実行時に携帯端末装置が実施する機能を特定することができるため、従来のようにＪａｖａプログラム作成者が予めＪａｒファイルの機能情報をＪａｄファイルに記述しておく必要はなくなるため、Ｊａｖａアプリケーションプログラム作成者にかかる負担を軽減することができる。また、中間コードの記述に従って携帯端末が実施する機能を特定するため、中間コードの記述と一致しない誤った機能が特定されること無く正確に特定することができる。さらに、クラス名による機能情報を特定し、続いて特定した機能情報は携帯端末装置が保持する、自装置が有する機能の一覧情報にある機能ではない場合、利用できない恐れがあるとの警告を発するため、利用者に注意を促す。また、特定した機能情報は所定の情報である場合、その機能を利用することによって発生し得る不都合を警告するため、個人情報が流出する恐れがあるなど所定の情報を利用するときのセキュリティ性を向上させることができる。
【００６０】
なお、以上の説明では、情報処理端末の１例として携帯端末装置を例として説明したが、その他のコンピュータなどについても同様に実施可能である。
【産業上の利用可能性】
【００６１】
以上のように、本発明にかかる情報処理端末は、Ｊａｒファイルの機能情報が記述されたＪａｄファイルからその機能情報を読み出すことなしに、Ｊａｒファイルの機能情報を特定することができるという効果を有し、Ｊａｖａ言語によって記述されたソースファイルを変換した中間コードから、このアプリケーションプログラムを実行することによって実施される機能内容を特定する情報処理端末等として有用である。
【図面の簡単な説明】
【００６２】
【図１】Ｊａｖａ言語におけるクラスとメソッドの概念図
【図２】本発明の第１実施形態の携帯端末装置の構成を示す図
【図３】クラス名と、そのクラスを実行時に携帯端末装置が実施する機能と、の一覧情報を示す図
【図４】本発明の第１実施形態の携帯端末装置による機能情報の表示例を示す図
【図５】本発明の第１実施形態の携帯端末装置の動作を示すフローチャート図
【図６】メソッド名と、そのメソッドを実行時に携帯端末装置が実施する機能と、の一覧情報を示す図
【図７】本発明の第２実施形態の携帯端末装置による機能情報の表示例を示す
【図８】本発明の第２実施形態の携帯端末装置の動作を示すフローチャート図
【図９】メソッドの例を示す図
【図１０】本発明の第３実施形態の携帯端末装置の構成を示す図
【図１１】本発明の第３実施形態の携帯端末装置の動作を示すフローチャート図
【図１２】Ｊａｖａプログラムを実行するまでの概念図
【図１３】Ｊａｄファイルに記述されている、Ｊａｒファイルを実行したときにその処理に利用される機能についての機能情報の１例と、携帯端末装置による機能情報の表示例とを示す図
【符号の説明】
【００６３】
１、１００  携帯端末装置
２  Ｊａｖａアプリダウンロード部
３  中間コード解析部
４  判別情報保存部
５  メニュー表示部
６  Ｊａｖａアプリ保存部
７  携帯端末用ＪＶＭ
８  ＣＰＵ
９  駆動部
１０  ディスプレイ
１００１  機能一覧情報保存部
１００２  機能判定部
１００３  警告表示制御部  
【図１】
2007193435.tif 000003
【図２】
2007193435.tif 000004
【図３】
2007193435.tif 000005
【図４】
2007193435.tif 000006
【図５】
2007193435.tif 000007
【図６】
2007193435.tif 000008
【図７】
2007193435.tif 000009
【図８】
2007193435.tif 000010
【図９】
2007193435.tif 000011
【図１０】
2007193435.tif 000012
【図１１】
2007193435.tif 000013
【図１２】
2007193435.tif 000014
【図１３】
2007193435.tif 000015