JP2007193435A - 情報処理端末、プログラム - Google Patents
情報処理端末、プログラム Download PDFInfo
- Publication number
- JP2007193435A JP2007193435A JP2006008924A JP2006008924A JP2007193435A JP 2007193435 A JP2007193435 A JP 2007193435A JP 2006008924 A JP2006008924 A JP 2006008924A JP 2006008924 A JP2006008924 A JP 2006008924A JP 2007193435 A JP2007193435 A JP 2007193435A
- Authority
- JP
- Japan
- Prior art keywords
- function
- information
- intermediate code
- program
- class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
Abstract
【課題】Jarファイルの機能情報が記述されたJadファイルからその機能情報を読み出すことなしに、Jarファイルの機能情報を特定することができる情報処理端末、およびJarファイルの機能情報を特定するためのプログラムを提供する。
【解決手段】中間コード解析部3は、Jarファイルを構成する少なくとも1つ以上の中間コードの記述から、クラス名に該当する文字列を検索し、判別情報保存部4に保存している一覧情報を参照して、このクラス名に対応する機能情報を特定する。メニュー表示部5が中間コード解析部3によって特定した機能情報をJavaプログラムの名称(あるいはJavaプログラムを表すマーク、アイコン等)と共に、ディスプレイ10に表示させる。
【選択図】図2
【解決手段】中間コード解析部3は、Jarファイルを構成する少なくとも1つ以上の中間コードの記述から、クラス名に該当する文字列を検索し、判別情報保存部4に保存している一覧情報を参照して、このクラス名に対応する機能情報を特定する。メニュー表示部5が中間コード解析部3によって特定した機能情報をJavaプログラムの名称(あるいはJavaプログラムを表すマーク、アイコン等)と共に、ディスプレイ10に表示させる。
【選択図】図2
Description
本発明は、Java(登録商標)言語で記述されたアプリケーションプログラムを実行する情報処理端末に関し、特に、アプリケーションプログラムを実行することによって実施される機能内容を特定する情報処理端末に関する。
インターフェースの違いを乗り越えるアプリケーションの実行環境として誕生したJavaは、大規模システムから携帯電話に至るさまざまな分野で、アプリケーションを開発する環境にあるいは実行する環境に利用されている。以下、Javaプログラム実行装置がJava言語によって記述されたソースファイルを解釈し、実行するまでの処理の流れを図12に示すJavaプログラムを実行するまでの概念図を参照して簡単に説明する。
Javaはコンパイラ型のコンピュータ言語であり、Java言語によって記述されたソースファイル(人間がその記述を理解することができる形式)をコンパイルするJavaコンパイラは、ソースファイルをCPUが理解できる形式の実行形式のファイルに直接変換するのではなく、ソースファイルにある文法的なエラーを取り除き、ソースファイルを機械が理解しやすいように加工した中間コードに一旦変換する(中間コードは、CPUが理解できる形式の実行形式のファイルではないが、ソースファイルよりは実行形式のファイルに近いため「中間コード」と呼ばれる。このような中間コードを含むデータ構造を「クラスファイル」と称する場合もある)。しかし、CPUは中間コードの記述を理解できないため、Javaでは中間コードを解釈してCPUに実行させる仕組みとして「Javaバーチャルマシン:JVM(Java Virtual Machine)」という方式を採用している。Javaバーチャルマシンとは、Javaコンパイラが生成した中間コードをあたかも実行形式のファイルとして理解し、実行するプログラムのことを指す。従って、CPUやOSの種類ごとにJavaバーチャルマシンを用意すれば、様々なインターフェースであっても同じ中間コードでプログラムを実行することができる(つまり、1つのソースファイルを作成すれば、インターフェースの異なる複数のJavaプログラム実行装置それぞれにそのソースファイルを変換した中間コードを実行させることができる)。
また非特許文献1に開示されている仕様では、Javaを組込んだ携帯端末装置は、1つのJavaアプリケーションプログラムにつき、少なくとも1つ以上の中間コードから構成されるJavaアプリケーション実行ファイル(Jar(Java archive)ファイルと称する)と、Jarファイルの機能情報、例えば各中間コードを実行することにより携帯端末装置によって実施される機能についての情報、各中間コードあるいはJarファイルのデータ容量、Javaアプリケーションプログラムのダウンロード先のURL、各中間コードのバージョン情報、等が記述されたJavaアプリケーション管理ファイル(Jad(Java application descriptor)ファイルと称する)と、を記憶している。
携帯端末装置は、Javaアプリケーションプログラムについての情報を参照する際には、Jadファイルに記述されたデータを読み出すことになる。以下、Jadファイルに記述された情報を、携帯端末装置に備わるディスプレイにより表示する具体例について説明する。図13に、Jadファイルに記述されている、Jarファイルを実行したときにその処理に利用される機能についての機能情報の1例と、携帯端末装置による機能情報の表示例と、を示す。Javaアプリケーションプログラム1に対応するJadファイルには、「IC:使用する」との記述により、Javaアプリケーションプログラム1を実行したときにその処理に利用される携帯端末装置の機能がICカードであるという機能情報が記述されている。Javaアプリケーションプログラム2、3についても、Javaアプリケーションプログラム1と同様に、「電話帳:使用する」、「カメラ:使用する」との記述により、Javaアプリケーションプログラム2、3を実行したときにその処理に利用される携帯端末装置の機能が電話帳、カメラであるという機能情報が記述されている。携帯端末装置は、各Javaアプリケーションプログラム毎に、Jadファイルから機能情報を読み出し、その機能情報に対応するアイコンを表示することになる。このように機能情報を表示することにより、携帯端末装置利用者はJavaアプリケーションプログラムを実行したときにその処理に利用される携帯端末装置の機能を一目で確認することができる。
NTT DoCoMo "作ろうiモードコンテンツ" "iアプリ技術資料のダウンロード" "iアプリコンテンツ開発ガイド for DoJa−4.x iアプリオプション・iアプリ拡張編" "http://www.nttdocomo.co.jp/p_s/imode/make/java/index.html"
NTT DoCoMo "作ろうiモードコンテンツ" "iアプリ技術資料のダウンロード" "iアプリコンテンツ開発ガイド for DoJa−4.x iアプリオプション・iアプリ拡張編" "http://www.nttdocomo.co.jp/p_s/imode/make/java/index.html"
しかしながら、Jadファイルから機能情報を読み出すためには、予めJarファイルの機能情報をJadファイルに記述しておく必要がある。この工程は主に、Javaアプリケーションプログラム作成者によってなされるため、Javaアプリケーションプログラム作成者にとって負担をかけている。さらにはJarファイルを実行してもその処理に利用されない機能情報をそのJarファイルの機能情報として誤ってJadファイルに記述してしまうこともあるため、必ずしもJadファイルにJarファイルの機能情報が正確に記述されているわけではない。また、Javaアプリケーションプログラム作成者によってはJarファイルの機能情報を詳細に記述する人やJarファイルの機能情報のうち主要な機能情報のみをJadファイルに記述する人もいるために、携帯端末装置利用者のニーズに応じた機能情報がJadファイルに記述されているとは限らない。
本発明は、上記事情に鑑みてなされたもので、Jarファイルの機能情報が記述されたJadファイルからその機能情報を読み出すことなしに、Jarファイルの機能情報を特定することができる情報処理端末、およびJarファイルの機能情報を特定するためのプログラムを提供することを目的とする。
本発明の情報処理端末は、オブジェクト指向型プログラムを変換した中間コードに従ってCPUに処理を行なわせる情報処理端末であって、文字列と、中間コードにおける識別子として前記文字列を有する少なくともクラスおよびメソッドの一方に従ってCPUに処理を行なわせたときに当該情報処理端末が実行する機能についての機能情報と、の対応関係を記憶する判別情報保存部と、前記中間コードの記述のうち、少なくともクラスおよびメソッドの一方または両方の識別子を表す文字列を特定し、前記判別情報保存部に記憶した対応関係を参照して、特定した文字列に対応する前記機能情報を特定する中間コード解析部と、を備えた構成を有している。
この構成により、オブジェクト指向型プログラムからその機能情報を読み出すことなしに、オブジェクト指向型プログラムを変換した中間コードの記述からオブジェクト指向型プログラム実行時に携帯端末装置が実施する機能を特定することができるため、従来のようにJavaプログラム作成者が予めオブジェクト指向型プログラムの機能情報をオブジェクト指向型プログラムに記述しておく必要はなくなるため、Javaアプリケーションプログラム作成者にかかる負担を軽減することができる。また、中間コードの記述に従って携帯端末が実施する機能を特定するため、中間コードの記述と一致しない誤った機能が特定されること無く正確に特定することができる。
また、本発明の情報処理端末は、各種情報を表示する表示部を備え、前記表示部は、前記中間コード解析部により特定した前記機能情報を、前記中間コードを表す情報と対応付けて表示する構成を有している。
この構成により、特定した機能情報を、中間コードを表す情報と対応付けて表示することにより、中間コードとその中間コードに対応する機能をひと目で了解することができる。
さらに、本発明のプログラムは、オブジェクト指向型プログラムを変換した中間コードに従ってCPUに処理を行なわせるためのプログラムであって、前記中間コードの記述のうち、少なくともクラスおよびメソッドの一方または両方の識別子を表す文字列を特定する手順と、文字列と、中間コードにおける識別子として前記文字列を有する少なくともクラスおよびメソッドの一方に従ってCPUに処理を行なわせたときに当該情報処理端末が実行する機能についての機能情報と、の対応関係を参照して、特定した文字列に対応する前記機能情報を特定する手順と、を実行させるためのプログラムである。
本発明は、Jarファイルの機能情報が記述されたJadファイルからその機能情報を読み出すことなしに、Jarファイルの機能情報を特定することができるという効果を有する情報処理端末、およびJarファイルの機能情報を特定するためのプログラムを提供することができるものである。
以下、本発明の実施の形態の情報処理端末について説明する前に、まず、Java言語におけるクラスの概念とメソッドの概念について説明する。クラスは、変数(フィールド変数)と、Javaプログラムの基本的な機能(振る舞い)の単位であるメソッドと、によって構成され、Javaプログラムを構成する1つのまとまりの単位である。Javaプログラムは、複数のクラスから成り立っている。図1に、Java言語におけるクラスとメソッドの概念図を示す。図1に示すJavaプログラムの概念図では、クラスAのメソッドA1からプログラムの実行を開始し、その後、クラスB、Cに処理を進めてクラスBのメソッドB1、メソッドB2、クラスCのメソッドC1に記述されたプログラムを実行するものであり、複数のクラス間で各クラスのメソッドを呼び出しあうことで、プログラムを実行していくことになる。なお、クラスA、B、CおよびメソッドA1、B1、B2、C1はそれぞれのクラスおよびメソッドを識別するクラス名およびメソッド名(識別子)を表している。
Javaプログラムが近年の携帯端末装置に搭載される非接触ICカードを利用した機能を制御するためのプログラムである場合の、クラスA、B、CおよびメソッドA1、B1、B2、C1の1例を説明する。クラスAは非接触ICカードによるICカードリーダライタとの無線通信を許可あるいは禁止する制御信号を入出力するためのプログラムのまとまりであり、クラスBは非接触ICカードに記憶されたデータの読み出し、書き込み、削除などのデータ処理するためのプログラムのまとまりであり、クラスCは各種データを基に演算処理を行なうためのプログラムのまとまりである、などが考えられる。クラスA、B、Cの具体的な処理内容はメソッドA1、B1、B2、C1によって規定される。クラスAに記述されたプログラムのうちの、非接触ICカードによる無線通信を許可する制御信号を非接触ICカードに出力するメソッドA1を実行して当該制御信号を出力すると、クラスBに記述されたプログラムのうちの、非接触ICカードに記憶されているデータを読み出すメソッドB1および非接触ICカードにデータを書き込むメソッドB2を実行して、非接触ICカードからデータを読み出しあるいは非接触ICカードへデータを書き込み、クラスCに記述されたプログラムのうちの、非接触ICカードを用いたサービスに利用可能な金額を加減算して非接触ICカードに記憶させるメソッドC1を実行して、メソッドB1、B2の処理によって読み出しあるいは書き込み処理をしたデータを基に当該金額の加減算を行い、非接触ICカードにその金額を記憶させる。このように、Javaプログラムは、クラスによってその処理内容が大別され、メソッドによって各処理内容の詳細が規定されることになる。
なお、Java言語によって記述されたソースファイルから生成されるクラスファイルは、Java言語仕様によってその構造が規定されており、ソースファイルに記述されているクラス名、メソッド名がそのまま文字列として含まれている。これらの文字列を検索することにより、Javaプログラム実行装置は中間コードにおけるクラス名とメソッド名もまた特定することができる。
本発明の実施の形態の情報処理端末は、中間コードにおけるクラス名あるいはメソッド名とを検出し、その検出したクラス名あるいはメソッド名から、このJavaプログラムの処理をCPUに行なわせたときに情報処理端末によって実行される機能を特定するものである。クラス名あるいはメソッド名から情報処理端末によって実行される機能を特定する具体的な方法については、以下の実施形態において詳細に説明する。
(第1実施形態)
以下、本発明の情報処理端末の1例として携帯端末装置を挙げ、本発明の第1実施形態の携帯端末装置について詳細に説明する。図2に、本発明の第1実施形態の携帯端末装置の構成図を示す。
以下、本発明の情報処理端末の1例として携帯端末装置を挙げ、本発明の第1実施形態の携帯端末装置について詳細に説明する。図2に、本発明の第1実施形態の携帯端末装置の構成図を示す。
本発明の第1実施形態の携帯端末装置1では、Javaプログラム(少なくとも1つ以上の中間コードから成るJarファイルと、Jarファイルの機能情報を有するJadファイルと、から構成される)を外部サーバからJavaアプリダウンロード部2によって取得する構成を採用している。なお、外部サーバから取得する構成に限定するものではなく、Javaアプリ保存部にJavaプログラムが保存されていれば良い。
中間コード解析部3は、Jarファイルを構成する少なくとも1つ以上の中間コードの記述から、クラス名に該当する文字列を検索する。中間コード解析部3による具体的な検索手法は、クラス格納領域から逐次クラス名を表す文字列を取得する。
判別情報保存部4は、クラス名と、そのクラスに記述されているプログラムを実行したときに携帯端末装置1が実施する機能についての機能情報と、を対応付けて保存している。図3に、クラス名301と、そのクラスを実行時に携帯端末装置1が実施する機能302と、の一覧情報を示す。図3記載の一覧情報のクラス名により特定されるクラスはカプセル化されたものであり、そのクラス名もJava言語の中で唯一のものである。このため、カプセル化されているクラスのクラス名と、そのクラスに記述されているプログラムを実行時に携帯端末装置が実施する機能と、は1対1に対応する。以下、クラス名と機能情報との具体的な対応関係を、図1の説明の際に例に挙げた、非接触ICカードを利用した機能を制御するためのプログラムであるクラスA、B、Cの名称とその機能情報を例に挙げて説明する。
クラスAの名称はIdentify Classによって表され、非接触ICカードによるICカードリーダライタとの無線通信を許可あるいは禁止する制御信号を入出力する機能(機能情報:認証機能)を携帯端末装置1に実行させる。また、クラスBの名称は図3記載のFelica(登録商標) Classに該当し、非接触ICカードに記憶されたデータの読み出し、書き込み、削除などのデータ処理する機能(機能情報:IC機能)を携帯端末装置1に実行させる。また、クラスCの名称は図3記載のDataFolder Classに該当し、各種データを基に演算処理を行なう機能(機能情報:データフォルダ連携機能)を携帯端末装置1に実行させる。
上述したような文字列によって表されるクラス名を検出した中間コード解析部3は、判別情報保存部4に保存している一覧情報を参照して、このクラス名に対応する機能情報を特定する。
メニュー表示部5は、中間コード解析部3によって特定した機能情報(上述した非接触ICカードを利用した機能を制御するためのプログラムの場合であれば、認証機能、IC機能およびデータフォルダ連携機能)をJavaプログラムの名称(あるいはJavaプログラムを表すマーク、アイコン等)と共に、本発明の携帯端末装置1に備わるディスプレイ10に表示させる。図4に、本発明の第1実施形態の携帯端末装置1による機能情報の表示例を示す。図4の表示例では、Javaアプリケーションプログラムの名称(アプリ名1、2、3、4)のとなりに、そのJavaアプリケーションプログラムを実行時に携帯端末装置1が利用する機能を表すアイコン(ICアイコン、電話帳アイコン、カメラアイコン)を表示している。例えば、Javaアプリケーションプログラムの名称のアプリ名1のとなりに、そのアプリ名1であるJavaアプリケーションプログラムを実行時に携帯端末装置1が利用するIC機能を表すアイコンを表示している。
Javaアプリ保存部6は、Javaアプリダウンロード部2が外部サーバからダウンロードしたJavaアプリケーションプログラム本体や中間コード解析部3によって特定したクラス名及びそのクラス名と対応する機能情報などを保存する。
携帯端末用JVM7は、携帯端末用の中間コードをあたかも実行形式のファイルとして理解し、実行するプログラムである。
CPU8は、携帯端末装置1における各種処理及び制御を行う。
駆動部9は、非接触IC機能やカメラ機能やGPS機能などを駆動する。
上記のように構成される本発明の第1の実施形態の携帯端末装置1の動作について、図5に示すフローチャートに基づいて説明する。ここで、Felica Classに対応する機能を特定し、表示する例を説明する。
まず、Javaアプリケーションダウンロード部2が少なくとも1つ以上の中間コードから成るJarファイルと、Jarファイルの機能情報を有するJadファイルと、から構成されるJavaプログラムを外部サーバから取得する(ステップS501)。例えば、ここでダウンロードしたJavaプログラムに図6に示すクラスが含まれる。
中間コード解析部3は、Jarファイルを構成する少なくとも1つ以上の中間コードを取得し(ステップS502)、取得した中間コードの記述から、クラス名に該当する文字列を検索する(ステップS503)。ここで、図6に示すJavaプログラムにおいて、Felicaクラスは、中間コード中にそのクラスを表す文字列が含まれているため、中間コード解析部3がその文字列Felicaをクラス名として検出する。
中間コード解析部3は、ステップS503で検索し得たクラス名から判別情報保存部4に保存している一覧情報を参照して、このクラス名に対応する機能情報を特定する(ステップS504)。ここで、図3に示す判別情報保存部4に保存している一覧情報を参照して、検出されたFelicaに対応する機能はIC機能であると特定する。
中間コード解析部3は、次のクラス名を検索し(ステップS505)、次のクラス名が存在するかを判断し(ステップS506)、次のクラス名が存在した場合は、ステップS504に戻り、次のクラス名に対応する機能情報を特定する。
一方、ステップS506において、次のクラス名が存在しない場合は、メニュー表示部5は、中間コード解析部3によって特定した機能情報(上述した非接触ICカードを利用した機能を制御するためのプログラムの場合であれば、認証機能、IC機能およびデータフォルダ連携機能)をJavaプログラムの名称(あるいはJavaプログラムを表すマーク、アイコン等)と共に、本発明の携帯端末装置1に備わるディスプレイ9に表示させる(ステップS505)。そして、処理が終了する。
本発明の第1実施形態の携帯端末装置によれば、Jarファイルの機能情報が記述されたJadファイルからその機能情報を読み出すことなしに、Jarファイルを構成する中間コードの記述からJarファイル実行時に携帯端末装置が実施する機能を特定することができるため、従来のようにJavaプログラム作成者が予めJarファイルの機能情報をJadファイルに記述しておく必要はなくなるため、Javaアプリケーションプログラム作成者にかかる負担を軽減することができる。また、中間コードの記述に従って携帯端末が実施する機能を特定するため、中間コードの記述と一致しない誤った機能が特定されること無く正確に特定することができる。
(第2実施形態)
以下、本発明の情報処理端末の1例として携帯端末装置を挙げ、本発明の第2実施形態の携帯端末装置について詳細に説明する。
第1実施形態では、中間コードに記述されたクラス名を検出することによって、そのクラスを実行時に携帯端末装置が実施する機能を特定する構成であったが、第2実施形態では、そのクラスを構成するメソッドの名称(メソッド名)を検出し、そのメソッドを実行時に携帯端末装置が実施する機能を特定する構成について説明する。本発明の第2実施形態の携帯端末装置の構成は、図2と同様であり、中間コード解析部3と判別情報保存部以外の部の処理および機能は第1実施形態と同様であるため説明を省略する。
以下、本発明の情報処理端末の1例として携帯端末装置を挙げ、本発明の第2実施形態の携帯端末装置について詳細に説明する。
第1実施形態では、中間コードに記述されたクラス名を検出することによって、そのクラスを実行時に携帯端末装置が実施する機能を特定する構成であったが、第2実施形態では、そのクラスを構成するメソッドの名称(メソッド名)を検出し、そのメソッドを実行時に携帯端末装置が実施する機能を特定する構成について説明する。本発明の第2実施形態の携帯端末装置の構成は、図2と同様であり、中間コード解析部3と判別情報保存部以外の部の処理および機能は第1実施形態と同様であるため説明を省略する。
中間コード解析部3は、Jarファイルを構成する少なくとも1つ以上の中間コードの記述から、クラス名に該当する文字列を検索した後、そのクラスを構成するメソッドの名称に該当する文字列を検索する。中間コード解析部3による具体的な検索手法は、メソッド格納領域から逐次メソッド名を表す文字列を取得する。
判別情報保存部4は、メソッド名と、そのメソッドに記述されているプログラムを実行したときに携帯端末装置が実施する機能についての機能情報と、を対応付けて保存している。図6に、メソッド名601と、そのメソッドを実行時に携帯端末装置1が実施する機能602と、の一覧情報を示す。図6記載の一覧情報のメソッド名により特定されるメソッドもまたカプセル化されたものであり、そのクラス名もJava言語の中で唯一のものである。このため、カプセル化されているメソッドのメソッド名と、そのメソッドに記述されているプログラムを実行時に携帯端末装置が実施する機能と、は1対1に対応する。以下、メソッド名と機能情報との具体的な対応関係を、図1の説明の際に例に挙げた、非接触ICカードを利用した機能を制御するためのプログラムである、クラスBを構成するメソッドB1、B2の名称とその機能情報を例に挙げて説明する。
メソッドB1の名称は図6記載のreadに該当し、非接触ICカードに記憶されているデータを読み出す機能(機能情報:読み込み可能)を携帯端末装置に実行させる。メソッドB2の名称は図6記載のwriteに該当し、非接触ICカードにデータを書き込む機能(機能情報:書き込み可能)を携帯端末装置に実行させる。
上述したような文字列によって表されるメソッド名を検出した中間コード解析部3は、判別情報保存部4に保存している一覧情報を参照して、このメソッド名に対応する機能情報を特定する。
メニュー表示部5は、中間コード解析部3によって特定した機能情報(上述した非接触ICカードを利用した機能を制御するためのプログラムの場合であれば、認証機能、IC機能およびデータフォルダ連携機能、特にIC機能については読み込み可能かつ書き込み可能であることも)をJavaプログラムの名称(あるいはJavaプログラムを表すマーク、アイコン等)と共に、本発明の携帯端末装置1に備わるディスプレイ10に表示させる。図7に、本発明の第2実施形態の携帯端末装置1による機能情報の表示例を示す。図7の表示例では、Javaアプリケーションプログラムの名称(アプリ名1、2、3、4)のとなりに、そのJavaアプリケーションプログラムを実行時に携帯端末装置1が利用する機能を表すアイコン(ICアイコン、電話帳アイコン、カメラアイコン)を表示し、かつ、ICアイコンには、IC機能が読み込みかつ書き込み処理を行なうことを示す「R/W」のマークをICアイコン右上に合わせて表示している。
上記のように構成される本発明の第2の実施形態の携帯端末装置1の動作について、図8に示すフローチャートに基づいて説明する。
クラス名に対応する機能の情報を特定するまでの動作、すなわち、ステップS501〜504の手順は図5に示す第1の実施形態と同様であるので、説明を省略する。
クラス名に対応する機能の情報を特定するまでの動作、すなわち、ステップS501〜504の手順は図5に示す第1の実施形態と同様であるので、説明を省略する。
クラス名に対応する機能の情報を特定した後、中間コード解析部3は検出したクラスを構成するメソッドの名称に該当する文字列を検索し、メソッドの名称を検出する(ステップS801)。図9はクラスに含まれるメソッドを示す。図9において、メソッド格納領域からreadメソッドを検索し取得する。
中間コード解析部3は引き続き、判別情報保存部に保存している一覧情報を参照して、検出したメソッド名に対応する機能情報を特定する(ステップS802)。ここで、図6に示す判別情報保存部4に保存している一覧情報を参照して、検出されたreadに対応する機能はICの読み込み可能機能であると特定する。
中間コード解析部3は、次のメソッド名を検索し(ステップS803)、次のメソッド名が存在するかを判断し(ステップS804)、次のメソッド名が存在した場合は、ステップS504に戻り、次のメソッド名に対応する機能情報を特定する。例えば、図9において、次のメソッド名として、writeが検出され、そのwriteに対応する書き込み可能機能が特定される。
一方、ステップS804において、次のメソッド名が存在しない場合は、例えば、図9に示す例のような、メソッド名は2つしかないので、三回目の検索ではメソッド名が存在しないと判定した場合、メニュー表示部5は、中間コード解析部3によって特定した機能情報(上述した非接触ICカードを利用した機能を制御するためのプログラムの場合であれば、認証機能、IC機能およびデータフォルダ連携機能、特にIC機能については読み込み可能かつ書き込み可能であることも)をJavaプログラムの名称(あるいはJavaプログラムを表すマーク、アイコン等)と共に、本発明の携帯端末装置1に備わるディスプレイ9に表示させる(ステップS805)。そして、処理が終了する。
本発明の第2実施形態の携帯端末装置によれば、Jarファイルの機能情報が記述されたJadファイルからその機能情報を読み出すことなしに、Jarファイルを構成する中間コードの記述からJarファイル実行時に携帯端末装置が実施する機能を特定することができるため、従来のようにJavaプログラム作成者が予めJarファイルの機能情報をJadファイルに記述しておく必要はなくなるため、Javaアプリケーションプログラム作成者にかかる負担を軽減することができる。また、中間コードの記述に従って携帯端末が実施する機能を特定するため、中間コードの記述と一致しない誤った機能が特定されること無く正確に特定することができる。さらに、クラス名による機能情報の特定し、続いてメソッド名による機能情報を特定するというように、携帯端末装置がJarファイの実行時に実施する機能を段階的に限定して特定することができるため、携帯端末装置利用者が求める機能情報の詳細度合いに応じて機能情報を特定することができる。
(第3実施形態)
以下、本発明の情報処理端末の1例として携帯端末装置を挙げ、本発明の第3実施形態の携帯端末装置について詳細に説明する。
第1及び第2実施形態では、中間コードに記述されたクラス名及びそのクラスを構成するメソッド名を検出することによって、そのクラス及びメソッドを実行時に携帯端末装置が実施する機能を特定する構成であったが、第3実施形態では、中間コードに記述されたクラス名を検出し、携帯端末装置が保持する、自装置が有する機能の一覧情報と、を比較して、特定した機能情報が一覧情報になければ、利用できない恐れがあるとの警告を発する、あるいは特定した機能情報が、所定の機能情報である場合、その機能を装置利用者が利用する前にその機能を利用することによって発生し得る不都合を警告する構成について説明する。
以下、本発明の情報処理端末の1例として携帯端末装置を挙げ、本発明の第3実施形態の携帯端末装置について詳細に説明する。
第1及び第2実施形態では、中間コードに記述されたクラス名及びそのクラスを構成するメソッド名を検出することによって、そのクラス及びメソッドを実行時に携帯端末装置が実施する機能を特定する構成であったが、第3実施形態では、中間コードに記述されたクラス名を検出し、携帯端末装置が保持する、自装置が有する機能の一覧情報と、を比較して、特定した機能情報が一覧情報になければ、利用できない恐れがあるとの警告を発する、あるいは特定した機能情報が、所定の機能情報である場合、その機能を装置利用者が利用する前にその機能を利用することによって発生し得る不都合を警告する構成について説明する。
図10は、本発明の第3実施形態の携帯端末装置の構成を示す。この図10に示す携帯端末装置100は、図2に示す第1の実施形態の構成において、機能一覧情報保存部1001と、機能判断部1002と、警告表示制御部1003とを設けた。なお、図2に示した携帯端末装置1と同一の構成要素には、同一の符号を付してその説明を省略する。
機能一覧情報保存部1001は、携帯端末装置100が保持する、自装置が有する機能の一覧情報を保存する。
機能判断部1002は、中間コード解析部3によって特定された機能情報と機能一覧情報保存部1001が保存している携帯端末装置100自装置が有する機能と比較することにより、特定された機能は携帯端末装置100自装置が有する機能であるかを判断し、特定された機能は携帯端末装置100自装置が有する機能ではないと判断した場合、警告表示制御部1003に通知信号を送出する。また、特定された機能は所定の機能情報であるかを判断し、特定された機能は所定の機能情報であると判定した場合、警告表示制御部1003に通知信号を送出する。
警告表示制御部1003は、機能判断部1002からの通知信号を受け取ると、メニュー表示部5に警告を表示するよう指示する。
上記のように構成される本発明の第3の実施形態の携帯端末装置100の動作について、図11に示すフローチャートに基づいて説明する。
クラス名に対応する機能の情報を特定するまでの動作、すなわち、ステップS501〜504の手順は図5に示す第1の実施形態と同様であるので、説明を省略する。
クラス名に対応する機能の情報を特定するまでの動作、すなわち、ステップS501〜504の手順は図5に示す第1の実施形態と同様であるので、説明を省略する。
クラス名に対応する機能の情報を特定した後、機能情報判断部1002は機能一覧情報保存部1001が保存している自装置が有する機能の一覧情報を参照して、特定した機能情報が自装置が有する機能一覧情報にあるかを判断する(ステップS1101)。
ステップS1101において、特定した機能情報が自装置が有する機能一覧情報にないと判定した場合、警告表示制御部1003に通知信号を送出し、警告表示制御部1003はその通知信号を受け取り、ディスプレイ10に利用できない恐れがあるとの警告を表示させる(ステップS1102)。例えば、カメラ非搭載機種でカメラ機能を使用するアプリケーションを実行した場合、このアプリケーションはカメラ機能を使用しているのでこの端末では私用できない恐れがありますと警告を出すなど。
一方、ステップS1101において、特定した機能情報が自装置が有する機能一覧情報にあると判定した場合、機能情報判断部1002はさらにその特定した機能は所定の機能情報であるかを判断する(ステップS1103)。ここで判断する所定の機能は、例えば、通信機能とPIMを使用しているアプリケーションでは個人情報が流出する恐れがあるので、通信機能を使用しているかどうかなどを所定の機能として判断する。
ステップS1103において、特定した機能は所定の機能情報であると判定した場合、警告表示制御部1003に通知信号を送出し、警告表示制御部1003はその通知信号を受け取り、ステップS1102に進み、ディスプレイ10にその機能を利用することによって発生し得る不都合を警告するとの警告を表示させる。
一方、特定した機能は所定の機能情報ではないと判定した場合、警告を表示せず、ステップS505に説明したような通常表示を行い(ステップS1104)、処理が終了する。
本発明の第3実施形態の携帯端末装置によれば、Jarファイルの機能情報が記述されたJadファイルからその機能情報を読み出すことなしに、Jarファイルを構成する中間コードの記述からJarファイル実行時に携帯端末装置が実施する機能を特定することができるため、従来のようにJavaプログラム作成者が予めJarファイルの機能情報をJadファイルに記述しておく必要はなくなるため、Javaアプリケーションプログラム作成者にかかる負担を軽減することができる。また、中間コードの記述に従って携帯端末が実施する機能を特定するため、中間コードの記述と一致しない誤った機能が特定されること無く正確に特定することができる。さらに、クラス名による機能情報を特定し、続いて特定した機能情報は携帯端末装置が保持する、自装置が有する機能の一覧情報にある機能ではない場合、利用できない恐れがあるとの警告を発するため、利用者に注意を促す。また、特定した機能情報は所定の情報である場合、その機能を利用することによって発生し得る不都合を警告するため、個人情報が流出する恐れがあるなど所定の情報を利用するときのセキュリティ性を向上させることができる。
なお、以上の説明では、情報処理端末の1例として携帯端末装置を例として説明したが、その他のコンピュータなどについても同様に実施可能である。
以上のように、本発明にかかる情報処理端末は、Jarファイルの機能情報が記述されたJadファイルからその機能情報を読み出すことなしに、Jarファイルの機能情報を特定することができるという効果を有し、Java言語によって記述されたソースファイルを変換した中間コードから、このアプリケーションプログラムを実行することによって実施される機能内容を特定する情報処理端末等として有用である。
1、100 携帯端末装置
2 Javaアプリダウンロード部
3 中間コード解析部
4 判別情報保存部
5 メニュー表示部
6 Javaアプリ保存部
7 携帯端末用JVM
8 CPU
9 駆動部
10 ディスプレイ
1001 機能一覧情報保存部
1002 機能判定部
1003 警告表示制御部
2 Javaアプリダウンロード部
3 中間コード解析部
4 判別情報保存部
5 メニュー表示部
6 Javaアプリ保存部
7 携帯端末用JVM
8 CPU
9 駆動部
10 ディスプレイ
1001 機能一覧情報保存部
1002 機能判定部
1003 警告表示制御部
Claims (3)
- オブジェクト指向型プログラムを変換した中間コードに従ってCPUに処理を行なわせる情報処理端末であって、
文字列と、中間コードにおける識別子として前記文字列を有する少なくともクラスおよびメソッドの一方に従ってCPUに処理を行なわせたときに当該情報処理端末が実行する機能についての機能情報と、の対応関係を記憶する判別情報保存部と、
前記中間コードの記述のうち、少なくともクラスおよびメソッドの一方または両方の識別子を表す文字列を特定し、前記判別情報保存部に記憶した対応関係を参照して、特定した文字列に対応する前記機能情報を特定する中間コード解析部と、
を備える情報処理端末。 - 請求項1記載の情報処理端末であって、
各種情報を表示する表示部を備え、
前記表示部は、前記中間コード解析部により特定した前記機能情報を、前記中間コードを表す情報と対応付けて表示する、情報処理端末。 - オブジェクト指向型プログラムを変換した中間コードに従ってCPUに処理を行なわせるためのプログラムであって、
前記中間コードの記述のうち、少なくともクラスおよびメソッドの一方または両方の識別子を表す文字列を特定する手順と、
文字列と、中間コードにおける識別子として前記文字列を有する少なくともクラスおよびメソッドの一方に従ってCPUに処理を行なわせたときに当該情報処理端末が実行する機能についての機能情報と、の対応関係を参照して、特定した文字列に対応する前記機能情報を特定する手順と、
を実行させるためのプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006008924A JP2007193435A (ja) | 2006-01-17 | 2006-01-17 | 情報処理端末、プログラム |
PCT/JP2006/304638 WO2007083399A1 (ja) | 2006-01-17 | 2006-03-09 | 情報処理端末、プログラム |
EP06728855A EP1975781A4 (en) | 2006-01-17 | 2006-03-09 | END DEVICE AND INFORMATION PROGRAM FOR INFORMATION PROCESSING |
US12/094,092 US20090094587A1 (en) | 2006-01-17 | 2006-03-09 | Information processing terminal and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006008924A JP2007193435A (ja) | 2006-01-17 | 2006-01-17 | 情報処理端末、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007193435A true JP2007193435A (ja) | 2007-08-02 |
Family
ID=38287360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006008924A Withdrawn JP2007193435A (ja) | 2006-01-17 | 2006-01-17 | 情報処理端末、プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20090094587A1 (ja) |
EP (1) | EP1975781A4 (ja) |
JP (1) | JP2007193435A (ja) |
WO (1) | WO2007083399A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010102539A (ja) * | 2008-10-24 | 2010-05-06 | Trance Media Gp:Kk | 管理サーバ及び来店確認システム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9575777B2 (en) | 2011-03-08 | 2017-02-21 | Sony Corporation | Information processing device for performing contactless communication with an external device using multiple communication standards |
JP5714560B2 (ja) * | 2012-12-21 | 2015-05-07 | 株式会社オプティム | 自己管理機能の発揮を妨げずに設定を行う携帯端末、端末設定方法、及び携帯端末用プログラム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000020298A (ja) * | 1998-06-29 | 2000-01-21 | Hitachi Ltd | ソフトウェア開発支援装置 |
US6571389B1 (en) * | 1999-04-27 | 2003-05-27 | International Business Machines Corporation | System and method for improving the manageability and usability of a Java environment |
JP2002297483A (ja) * | 2001-04-03 | 2002-10-11 | Kenwood Corp | 移動体通信端末、移動体通信端末の通信方法及びプログラム |
KR100438698B1 (ko) * | 2001-07-07 | 2004-07-05 | 삼성전자주식회사 | 자바어플리케이션간의 커뮤니케이션을 이용한자바어플리케이션 미들렛의 실행방법 |
US7565647B2 (en) * | 2002-03-22 | 2009-07-21 | Sun Microsystems, Inc. | Markup compiler that outputs MIDlets |
KR100548368B1 (ko) * | 2003-07-03 | 2006-02-02 | 엘지전자 주식회사 | 휴대단말기의 동적 자바푸시 장치 및 방법 |
JP2006008924A (ja) | 2004-06-29 | 2006-01-12 | Hoya Healthcare Corp | 異種重合物接合体の製造方法および眼用レンズの製造方法 |
US20060101434A1 (en) * | 2004-09-30 | 2006-05-11 | Adam Lake | Reducing register file bandwidth using bypass logic control |
US8966223B2 (en) * | 2005-05-05 | 2015-02-24 | Icera, Inc. | Apparatus and method for configurable processing |
WO2007067894A2 (en) * | 2005-12-05 | 2007-06-14 | National Instruments Corporation | Implementing a design flow for a programmable hardware element that includes or is coupled to a processor |
-
2006
- 2006-01-17 JP JP2006008924A patent/JP2007193435A/ja not_active Withdrawn
- 2006-03-09 WO PCT/JP2006/304638 patent/WO2007083399A1/ja active Application Filing
- 2006-03-09 EP EP06728855A patent/EP1975781A4/en not_active Withdrawn
- 2006-03-09 US US12/094,092 patent/US20090094587A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010102539A (ja) * | 2008-10-24 | 2010-05-06 | Trance Media Gp:Kk | 管理サーバ及び来店確認システム |
Also Published As
Publication number | Publication date |
---|---|
US20090094587A1 (en) | 2009-04-09 |
WO2007083399A1 (ja) | 2007-07-26 |
EP1975781A1 (en) | 2008-10-01 |
EP1975781A4 (en) | 2009-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10761905B2 (en) | Enhanced code callback | |
US8694981B2 (en) | Shared resource dependencies | |
US8806649B2 (en) | Generating vulnerability reports based on application binary interface/application programming interface usage | |
CN110058850B (zh) | 一种应用的开发方法、装置以及存储介质 | |
WO2015165412A1 (en) | Method for modifying webpage and apparatus for modifying webpage | |
CN106951248B (zh) | 添加代码的方法、装置、可读存储介质和计算设备 | |
CN111291374B (zh) | 一种应用程序的检测方法、装置及设备 | |
JP4927231B1 (ja) | プログラム、情報機器、及び不正アクセス検出方法 | |
EP3151518A1 (en) | Information processing device, information processing method, and information processing program | |
CN112817657B (zh) | 一种应用程序启动项加载方法、装置、系统及存储介质 | |
CN108494762A (zh) | 网页访问方法、装置及计算机可读存储介质、终端 | |
CN103853535A (zh) | 修改中间件的方法和装置 | |
CN112527386B (zh) | 应用程序发布方法及装置 | |
JP2007193435A (ja) | 情報処理端末、プログラム | |
CN112650540B (zh) | 一种启动快应用的方法及相关装置 | |
CN105630987A (zh) | 自适应用户代理的统一资源定位符前缀挖掘方法和装置 | |
CN111158777B (zh) | 组件调用方法、装置及计算机可读存储介质 | |
US20150081269A1 (en) | Language Localization Of Java Applications | |
KR20110097300A (ko) | 모바일 웹 브라우저를 이용한 웹 브라우징 시스템 및 방법과 이에 사용되는 모바일 단말기 | |
CN114610364A (zh) | 应用程序更新、应用程序开发方法、装置及计算机设备 | |
CN112015497B (zh) | 换肤方法及装置 | |
CN114356290A (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
KR20130103239A (ko) | 번역 기능을 구비한 웹 브라우징 서비스 제공 방법, 서버 및 단말 | |
WO2022166410A1 (zh) | 非同名符号的函数跳转方法、装置及计算机可读存储介质 | |
CN114706633B (zh) | 预加载方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071113 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071120 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090407 |