WO2007083399A1 - 情報処理端末、プログラム - Google Patents

情報処理端末、プログラム Download PDF

Info

Publication number
WO2007083399A1
WO2007083399A1 PCT/JP2006/304638 JP2006304638W WO2007083399A1 WO 2007083399 A1 WO2007083399 A1 WO 2007083399A1 JP 2006304638 W JP2006304638 W JP 2006304638W WO 2007083399 A1 WO2007083399 A1 WO 2007083399A1
Authority
WO
WIPO (PCT)
Prior art keywords
function
information
intermediate code
class
program
Prior art date
Application number
PCT/JP2006/304638
Other languages
English (en)
French (fr)
Inventor
Yuuji Kawai
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to US12/094,092 priority Critical patent/US20090094587A1/en
Priority to EP06728855A priority patent/EP1975781A4/en
Publication of WO2007083399A1 publication Critical patent/WO2007083399A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation

Definitions

  • the present invention relates to an information processing terminal that executes an application program written in Java (registered trademark) language, and more particularly to an information processing terminal that specifies the content of a function performed by executing the application program. .
  • Java was born as an execution environment for applications that overcome the difference in interface ⁇ Java has been used in various fields ranging from large-scale system capabilities to mobile phones as well as environments for developing applications or executing them. The following is a brief explanation of the process flow from interpreting and executing a source file written in the Java language with reference to the conceptual diagram up to executing the Java program shown in Fig. 12.
  • Java is a compiler-type computer language, and a Java compiler that compiles a source file written in the Java language (a format that allows humans to understand the description) is a format that allows the CPU to understand the source file. Instead of converting directly into an executable file, remove the grammatical error in the source file and convert it to intermediate code that is easy to understand for the machine. Although it is not an executable file in a format that the CPU can understand, it is called an “intermediate code” because it is closer to an executable file than a source file, and the data structure that contains such intermediate code is called a “class file”. Sometimes called).
  • Java adopts a method called “Java Virtual Machine (JVM)” as a mechanism for interpreting the intermediate code and causing the CPU to execute it.
  • JVM Java Virtual Machine
  • a Java partial machine is a program that understands the intermediate code generated by the Java compiler as an executable file and executes it. Therefore, if a Java virtual machine is prepared for each type of CPU and OS, programs can be executed with the same intermediate code even with various interfaces (that is, if a single source file is created, Multiple Java program execution devices with different interfaces can each execute intermediate code converted from its source file).
  • a mobile terminal device incorporating Java is a Java application execution file that is composed of one Java application program and at least one intermediate code power.
  • Jar Java archive
  • Jar file function information for example, information on functions performed by the mobile terminal device by executing each intermediate code, each intermediate code or It stores the data capacity of the file, the URL to download the Java application program, purge information for each intermediate code, etc.
  • Jad Java application descriptor
  • a mobile terminal device refers to information about a Java application program
  • the mobile terminal device reads data described in a Jad file.
  • the following describes a specific example of displaying the information described in the Jad file on the display of the mobile terminal device.
  • Figure 13 shows one example of function information about the functions used for processing when executing the Jar file described in the Jad file, and a display example of the function information by the mobile terminal device.
  • the Jad file corresponding to the Java application program 1 has a function that the function of the portable terminal device used for processing when the Java application program 1 is executed is an IC card by the description “IC: Use”. Information is described.
  • Java application programs 2 and 3 are also executed when Java application programs 2 and 3 are executed by the description of “phone book: use” and “camera: use”. Functional information is described that the functions of the mobile terminal device used for the processing are a phone book and a camera. For each Java application program, the mobile terminal device reads the Jad file power function information and displays an icon corresponding to the function information. By displaying the function information in this way, it is possible to confirm at a glance the functions of the mobile terminal device used for the processing when the mobile terminal device user Wava application program is executed.
  • Non-Patent Document 1 NTT DoCoMo “Let's make i-mode content” “Download i- ⁇ ppli technical data” “i- ⁇ ppli content development guide for DoJa-4. Pre-expansion Hen "// http:. //Www.nttdocomo co.jp/ p_s / imode / disclosure of the make / java / index.htm / invention
  • the present invention has been made in view of the above circumstances.
  • the function information of a Jar file is described.
  • ⁇ Jad file power The function information of a Jar file can be specified without reading the function information.
  • the purpose is to provide an information processing terminal and a program for specifying the function information of the Jar file. Means for solving the problem
  • An information processing terminal is an information processing terminal that causes a CPU to perform processing according to an intermediate code obtained by converting an object-oriented program, and uses the character string as an identifier in the intermediate code.
  • a discriminating information storage unit for storing correspondence information between the function information executed by the information processing terminal when the CPU performs processing according to at least one of the class and the method, and the description of the intermediate code
  • An intermediate for specifying the function information corresponding to the specified character string by specifying a character string representing at least one of the class and method identifiers and referring to the correspondence stored in the discrimination information storage unit And a code analysis unit.
  • the object-oriented program power The ability to write intermediate code converted from an object-oriented program without reading its function information Since it is possible to specify the functions performed by the mobile terminal device when executing the bidirectional program, it is necessary for the Java program creator to previously describe the function information of the object-oriented program in the object-oriented program as in the past. This eliminates the burden on the creator of the Java application program. In addition, since the function performed by the mobile terminal is specified according to the description of the intermediate code, it is possible to specify accurately without specifying an incorrect function that does not match the description of the intermediate code.
  • the information processing terminal of the present invention includes a display unit that displays various types of information, and the display unit associates the function information specified by the intermediate code analysis unit with information representing the intermediate code. It has a configuration to display!
  • the program of the present invention is a program for causing a CPU to perform processing according to an intermediate code obtained by converting an object-oriented program, and includes at least one of a class and a method among the descriptions of the intermediate code.
  • the information processing terminal causes the CPU to perform processing according to at least one of a class and a method having a procedure for identifying a character string representing both identifiers, a character string, and the character string as an identifier in an intermediate code
  • the present invention provides an information processing terminal having the effect that the function information of the Jar file is described without the function information of the Jar file being described and without reading the function information. It is possible to provide a program for specifying the function information of a Jar file.
  • FIG. 2 is a diagram showing the configuration of the mobile terminal device according to the first embodiment of the present invention.
  • FIG.3 A diagram showing list information of class names and functions performed by the mobile terminal device when executing the classes.
  • FIG. 4 is a diagram showing a display example of functional information by the mobile terminal device of the first embodiment of the present invention.
  • FIG. 5 is a flowchart showing the operation of the mobile terminal device of the first embodiment of the present invention.
  • FIG.6 Diagram showing list information of method names and functions performed by the mobile terminal device when executing the method
  • FIG. 7 shows a display example of function information by the mobile terminal device according to the second embodiment of the present invention.
  • FIG. 8 is a flowchart showing the operation of the mobile terminal device according to the second embodiment of the present invention.
  • FIG. 10 is a diagram showing a configuration of a mobile terminal device according to a third embodiment of the present invention.
  • FIG. 11 is a flowchart showing the operation of the mobile terminal device according to the third embodiment of the present invention.
  • Figure 13 shows an example of function information about the functions used for processing when executing the Jar file described in the ad file, and a display example of the function information on the mobile terminal device
  • a class is made up of variables (field variables) and methods that are the basic functions of a Java program (behavior! / ⁇ ). It is a unit of a Java program. is there. Java programs also have multiple class capabilities.
  • Figure 1 shows a conceptual diagram of classes and methods in the Java language. In the conceptual diagram of the Java program shown in Figure 1, program execution starts from method A1 of class A, and then processing proceeds to classes B and C, so that method B of class B, method B2, and class C The program described in the method C1 is executed, and the program is executed by calling the method of each class between a plurality of classes.
  • Classes A, B, and C and methods Al, Bl, B2, and CI represent class names and method names (identifiers) that identify the respective classes and methods.
  • Classes A, B, and C and methods Al, Bl, B2, and CI when a Java program is a program for controlling functions using a contactless IC card mounted on a recent mobile terminal device explain one example.
  • Class A is a set of programs for inputting and outputting control signals that allow or prohibit wireless communication with IC card readers / writers using contactless IC cards.
  • Class B reads data stored in contactless IC cards.
  • a group of programs for data processing such as writing and deleting
  • class C is a group of programs for performing arithmetic processing based on various data. Specific processing contents of classes A, B, and C are defined by methods Al, Bl, B2, and CI.
  • the structure of a class file generated from a source file described in the Java language is defined by the Java language specification, and the class name and method name described in the source file are directly used as character strings. include. By searching for these character strings, the Java program execution device can also identify the class name and method name in the intermediate code.
  • the information processing terminal detects the class name or method name in the intermediate code, and causes the CPU to perform processing of the Java program from the detected class name or method name. Function to be executed by the information processing terminal when A specific method for specifying the function executed by the information processing terminal such as the class name or the method name will be described in detail in the following embodiment.
  • FIG. 2 shows a configuration diagram of the mobile terminal device according to the first embodiment of the present invention.
  • the Java program (the Jar file including at least one intermediate code card, the Jad file having the function information of the Jar file, and the force is also configured).
  • a configuration is adopted in which the Java application download unit 2 acquires the URL from an external server. It is not limited to the configuration acquired from an external Sano, but it is good if the Java program is stored in the Java application storage unit!
  • Intermediate code analysis unit 3 searches for a character string corresponding to the class name from the description of at least one or more intermediate codes constituting the Jar file. The specific search method by the intermediate code analysis unit 3 obtains a character string representing the class storage area power and the class name sequentially.
  • the discrimination information storage unit 4 stores the class name and the function information about the function performed by the mobile terminal device 1 when the program described in the class is executed in association with each other. ing.
  • FIG. 3 shows list information of the class name 301 and the function 302 performed by the mobile terminal device 1 when the class is executed.
  • the class specified by the class name in the list information shown in Fig. 3 is encapsulated, and the class name is also unique in the Java language. For this reason, there is a one-to-one correspondence between the class name of the encapsulated class and the function implemented by the mobile terminal device when executing the program described in that class.
  • classes A and B are programs for controlling functions using non-contact IC force.
  • the name of Class A is represented by Identify Class, and it has a function (function information: authentication function) to input / output a control signal that permits or prohibits wireless communication with an IC card reader / writer using a contactless IC card.
  • the mobile terminal device 1 is caused to execute.
  • the name of class B corresponds to Fel ica (registered trademark) class shown in Fig. 3, and functions for data processing such as reading, writing, and deletion of data stored in contactless IC cards (function information: IC Function) is executed by the mobile terminal device 1.
  • the name of class C corresponds to DataFolder Class shown in FIG. 3, and causes mobile terminal device 1 to execute a function (function information: data folder linkage function) for performing arithmetic processing based on various data.
  • the intermediate code analysis unit 3 that has detected the class name represented by the character string as described above refers to the list information stored in the discrimination information storage unit 4 and functions corresponding to this class name. Identify information.
  • the menu display unit 5 displays the function information specified by the intermediate code analysis unit 3 (in the case of the program for controlling the above-described function using the non-contact IC card, the authentication function, the IC function, and the data folder).
  • the link function is displayed on the display 10 of the portable terminal device 1 of the present invention together with the name of the Java program (a mark indicating a certain ava program, an icon, etc.).
  • FIG. 4 shows a display example of functional information by the mobile terminal device 1 according to the first embodiment of the present invention.
  • an icon (IC icon) representing the function used by the mobile terminal device 1 when the Java application program is executed next to the name of the Java application program (application names 1, 2, 3, 4) , Phone book icon, camera icon).
  • the name of the Java application program is app name 1.
  • the mobile terminal device when the Java application program with the application name 1 is executed, the mobile terminal device
  • FIG. 1 shows icons representing the IC functions used.
  • Java application storage unit 6 Java application download unit 2 is downloaded by an external server
  • the portable terminal JVM 7 is a program that understands and executes the intermediate code for the portable terminal as an executable file.
  • the CPU 8 performs various processes and controls in the mobile terminal device 1.
  • the drive unit 9 drives a non-contact IC function, a camera function, a GPS function, and the like.
  • the Java application download unit 2 acquires a Jar file composed of at least one or more intermediate codes, a Jad file having function information of the Jar file, and a Java program that also includes power from an external server (step S501). For example, if you download here, the Java program includes the classes shown in Figure 6.
  • the intermediate code analysis unit 3 obtains at least one or more intermediate codes constituting the Jar file (step S502), and searches the character string corresponding to the class name from the description of the obtained intermediate code (Ste S503).
  • the Felica class contains a character string representing the class in the intermediate code.
  • the intermediate code analysis unit 3 stores the class name retrieved in step S503 in the discrimination information storage unit 4 and refers to the list information to identify the function information corresponding to this class name. (Step S504).
  • the function corresponding to the detected Felica is identified as the IC function.
  • Intermediate code analysis unit 3 searches for the next class name (step S505), determines whether the next class name exists (step S506), and if the next class name exists, Returning to S504, the function information corresponding to the next class name is specified. On the other hand, if the next class name does not exist in step S506, the menu display unit 5 controls the function information specified by the intermediate code analysis unit 3 (controls the function using the above-described contactless IC card). In the case of the program for the authentication, the IC function and the data folder linkage function) are provided in the portable terminal device 1 of the present invention together with the name of the Java program (or the icon representing the ava program). Display on display 9 (step S505). Then, the process ends.
  • the function information of the Jar file is described, and without reading the function information from the ad file, the intermediate code of the Jar file is configured. Since it is possible to specify the function that the mobile terminal device performs when executing the j ar file from the description, it is no longer necessary for the Java program creator to previously describe the function information of the Jar file in the J ad file as before. Therefore, the burden on the Java application program creator can be reduced. Moreover, since the function performed by the mobile terminal is specified according to the description of the intermediate code, it is possible to specify accurately without specifying an incorrect function that does not match the description of the intermediate code.
  • a mobile terminal device will be described as an example of the information processing terminal of the present invention, and the mobile terminal device of the second embodiment of the present invention will be described in detail.
  • the class name described in the intermediate code is detected to identify the function performed by the mobile terminal device when the class is executed.
  • the class is specified.
  • a configuration for detecting the name of a method (method name) that configures the function and specifying the function performed by the mobile terminal device when the method is executed will be described.
  • the configuration of the mobile terminal device of the second embodiment of the present invention is the same as that of FIG. 2, and the processing and functions of the units other than the intermediate code analysis unit 3 and the discrimination information storage unit are the same as those of the first embodiment. The explanation is omitted.
  • the intermediate code analysis unit 3 searches the character string corresponding to the class name from the description of at least one or more intermediate codes constituting the Jar file, and then corresponds to the name of the method constituting the class. Search for the character string you want.
  • the concrete search method by the intermediate code analysis unit 3 obtains a character string indicating the method storage area power sequentially.
  • the discrimination information storage unit 4 stores the method name and the function information about the function performed by the mobile terminal device when the program described in the method is executed in association with each other.
  • FIG. 6 shows list information of the method name 601 and the function 602 performed by the mobile terminal device 1 when the method is executed. The method specified by the method name in the list information shown in Fig.
  • class B which is a program for controlling functions using a non-contact IC card, whose concrete correspondence between method names and function information was given as an example in the explanation of Fig. 1 is configured.
  • the names of methods B1 and B2 and their function information will be described as examples.
  • the name of the method B1 corresponds to the read shown in FIG. 6, and causes the portable terminal device to execute a function of reading data stored in the non-contact IC card (function information: readable).
  • the name of the method B2 corresponds to “write” shown in FIG. 6 and causes the mobile terminal device to execute the function of writing data to the contactless IC card (function information: writable).
  • the intermediate code analysis unit 3 that has detected the method name represented by the character string as described above refers to the list information stored in the discrimination information storage unit 4 and functions corresponding to this method name. Identify information.
  • the menu display unit 5 displays the function information specified by the intermediate code analysis unit 3 (in the case of the program for controlling the function using the non-contact IC card described above, the authentication function, the IC function, and the data folder).
  • the linkage function, especially the IC function may be readable and writable) together with the name of the Java program (or 3 ⁇ 4 a mark, icon, etc. representing the Java program) and the display 10 provided in the mobile terminal device 1 of the present invention 10 To display.
  • FIG. 7 shows a display example of functional information by the mobile terminal device 1 according to the second embodiment of the present invention. In the display example of FIG.
  • an icon indicating a function used by the mobile terminal device 1 when executing the Java application program is executed next to the name of the Java application program (application names 1, 2, 3, 4).
  • (Book icon, camera icon) is displayed, and the IC icon is displayed with the “RZW” mark indicating that the IC function performs reading and writing processing in alignment with the upper right corner of the IC icon.
  • the intermediate code analysis unit 3 After specifying the function information corresponding to the class name, the intermediate code analysis unit 3 searches the character string corresponding to the name of the method constituting the detected class, and detects the name of the method (step S801). ).
  • Figure 9 shows the methods included in the class. In Figure 9, retrieve and retrieve the read method from the method storage area.
  • the intermediate code analysis unit 3 continues to refer to the list information stored in the discrimination information storage unit and identifies function information corresponding to the detected method name (step S802).
  • the function corresponding to the detected read is specified as the IC readable function.
  • Intermediate code analysis unit 3 searches for the next method name (step S803), determines whether the next method name exists (step S804), and if the next method name exists, step S5 Return to 04 and specify the function information corresponding to the next method name. For example, in Fig. 9, write is detected as the next method name, and the writable function corresponding to the write is specified.
  • step S804 if the next method name does not exist, there are only two method names as in the example shown in FIG. 9, for example, so the method name does not exist in the third search. If not, the menu display unit 5 displays the function information specified by the intermediate code analysis unit 3 (in the case of the program for controlling the function using the above-described contactless IC card, the authentication function, the IC function And the data folder linkage function (especially the IC function may be readable and writable) together with the name of the Java program (there is a mark representing the ava program, an icon, etc.) provided in the portable terminal device 1 of the present invention It is displayed on the display 9 (step S805). Then, the process ends.
  • the intermediate code analysis unit 3 in the case of the program for controlling the function using the above-described contactless IC card, the authentication function, the IC function And the data folder linkage function (especially the IC function may be readable and writable
  • the function information of the Jar file is described, and the intermediate code constituting the Jar file is read without reading the function information from the ad file. From the description, specify the function that the mobile terminal device performs when executing the j ar file. Therefore, it is no longer necessary for the Java program creator to previously describe the function information of the Jar file in the J ad file as before, so the burden on the Java application program creator can be reduced. Moreover, since the function performed by the mobile terminal is specified according to the description of the intermediate code, it is possible to specify accurately without specifying an incorrect function that does not match the description of the intermediate code.
  • the function information by class name is specified and then the function information by method name is specified, it is possible to specify the functions that the mobile terminal device performs at the time of executing the Jar Fire step by step.
  • the function information can be specified according to the degree of detail of the function information required by the user of the mobile terminal device.
  • a mobile terminal device will be described as an example of the information processing terminal of the present invention, and the mobile terminal device of the third embodiment of the present invention will be described in detail.
  • the configuration that identifies the function that the mobile terminal device performs when executing the class and method by detecting the class name described in the intermediate code and the method name that configures the class, the configuration that identifies the function that the mobile terminal device performs when executing the class and method.
  • the class name described in the intermediate code is detected, and the function information identified by comparing the list of functions held by the own device with the portable terminal device is compared. If it is not in the list information, a warning is issued that there is a possibility that it cannot be used, or if the specified function information is specified function information, that function is used before the device user uses it. A configuration that warns of inconveniences that may occur is described.
  • FIG. 10 shows the configuration of the mobile terminal device according to the third embodiment of the present invention.
  • the mobile terminal device 100 shown in FIG. 10 includes a function list information storage unit 1001, a function determination unit 1002, and a warning display control unit 1003 in the configuration of the first embodiment shown in FIG. Note that the same components as those of the mobile terminal device 1 shown in FIG. 2 are denoted by the same reference numerals and description thereof is omitted.
  • the function list information storage unit 1001 stores function list information held by the mobile terminal device 100 and possessed by the device itself.
  • the function determination unit 1002 includes the function information and function list specified by the intermediate code analysis unit 3.
  • the portable terminal device 100 stored in the information storage unit 1001 is compared with the function of the device itself to determine whether the identified function is the function of the device itself, and the identified function When it is determined that the mobile terminal device 100 is not a function possessed by itself, it sends a notification signal to the warning display control unit 1003. Further, it is determined whether or not the specified function is predetermined function information. When it is determined that the specified function is predetermined function information, a notification signal is transmitted to the warning display control unit 1003.
  • the warning display control unit 1003 When the warning display control unit 1003 receives the notification signal from the function determination unit 1002, the warning display control unit 1003 instructs the menu display unit 5 to display a warning.
  • the function information determination unit 1002 After identifying the function information corresponding to the class name, the function information determination unit 1002 refers to the function list information stored in the function list information storage unit 1001 of the own device, and identifies the identified function information. Is in the function list information of the device itself (step S 1101
  • step SI 101 If it is determined in step SI 101 that the specified function information is not the function list information of the own device, a notification signal is sent to the warning display control unit 1003, and the warning display control unit 1003 A notification signal is received, and a warning that there is a risk of being unavailable on the display 10 is displayed (step S1102). For example, if an application that uses the camera function is executed on a model that does not have a camera installed, a warning is issued that this application uses the camera function and may not be used privately on this terminal.
  • step S1101 when it is determined in step S1101 that the specified function information is in the function list information of the own device, function information determination unit 1002 further determines whether the specified function is predetermined function information.
  • the predetermined function to be judged here is, for example, that personal information may be leaked in an application using the communication function and PIM, so whether or not the communication function is used is determined as the predetermined function.
  • step S1103 When it is determined in step S1103 that the specified function is predetermined function information
  • the warning display control unit 1003 sends a notification signal, the warning display control unit 1003 receives the notification signal, proceeds to step S1102, and warns the display 10 of the inconvenience that may occur by using the function. Display a warning.
  • step S1104 A normal display as described in step S505 is performed without displaying a warning (step S1104), and the process ends. .
  • the function information of the Jar file is described, and the intermediate code constituting the Jar file is read without reading the function information from the ad file. Since it is possible to specify the function that the mobile terminal device performs when executing the j ar file from the description, it is no longer necessary for the Java program creator to previously describe the function information of the Jar file in the J ad file as before. Therefore, the burden on the Java application program creator can be reduced. Moreover, since the function performed by the mobile terminal is specified according to the description of the intermediate code, it is possible to specify accurately without specifying an incorrect function that does not match the description of the intermediate code.
  • the function information by the class name is specified, and subsequently the function information specified is warned that there is a possibility that it cannot be used if it is not a function held in the list of functions held by the mobile terminal device. Call out to the user for attention.
  • the specified function information is the specified information, the security of using the specified information such as personal information may be leaked to warn of inconvenience that may occur by using the function. Can be improved.
  • the information processing terminal useful for the present invention describes the function information of the Jar file.
  • This ad program has the effect of being able to identify the function information of a Jar file without reading its function information, and this application program from intermediate code converted from a source file written in the Java language. It is useful as an information processing terminal that specifies the function content to be executed by executing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

 Jarファイルの機能情報が記述されたJadファイルからその機能情報を読み出すことなしに、Jarファイルの機能情報を特定することができる情報処理端末、およびJarファイルの機能情報を特定するためのプログラムを提供する。  中間コード解析部3は、Jarファイルを構成する少なくとも1つ以上の中間コードの記述から、クラス名に該当する文字列を検索し、判別情報保存部4に保存している一覧情報を参照して、このクラス名に対応する機能情報を特定する。メニュー表示部5が中間コード解析部3によって特定した機能情報をJavaプログラムの名称(あるいはJavaプログラムを表すマーク、アイコン等)と共に、ディスプレイ10に表示させる。

Description

明 細 書
情報処理端末、プログラム
技術分野
[0001] 本発明は、 Java (登録商標)言語で記述されたアプリケーションプログラムを実行す る情報処理端末に関し、特に、アプリケーションプログラムを実行することによって実 施される機能内容を特定する情報処理端末に関する。
背景技術
[0002] インターフェースの違 、を乗り越えるアプリケーションの実行環境として誕生し^ Jav aは、大規模システム力も携帯電話に至るさまざまな分野で、アプリケーションを開発 する環境にあるいは実行する環境に利用されている。以下、 Javaプログラム実行装 置力java言語によって記述されたソースファイルを解釈し、実行するまでの処理の流 れを図 12に示す Javaプログラムを実行するまでの概念図を参照して簡単に説明する
[0003] Javaはコンパイラ型のコンピュータ言語であり、 Java言語によって記述されたソース ファイル (人間がその記述を理解することができる形式)をコンパイルする Javaコンパ イラは、ソースファイルを CPUが理解できる形式の実行形式のファイルに直接変換す るのではなぐソースファイルにある文法的なエラーを取り除き、ソースファイルを機械 が理解しやすいようにカ卩ェした中間コードにー且変換する(中間コードは、 CPUが理 解できる形式の実行形式のファイルではな 、が、ソースファイルよりは実行形式のフ アイルに近いため「中間コード」と呼ばれる。このような中間コードを含むデータ構造を 「クラスファイル」と称する場合もある)。しかし、 CPUは中間コードの記述を理解でき ないため、 Javaでは中間コードを解釈して CPUに実行させる仕組みとして「Javaバー チャルマシン: JVM (Java Virtual Machine)」という方式を採用している。 Javaパーチ ャルマシンとは、 Javaコンパイラが生成した中間コードをあた力も実行形式のファイル として理解し、実行するプログラムのことを指す。従って、 CPUや OSの種類ごとに Jav aバーチャルマシンを用意すれば、様々なインターフェースであっても同じ中間コード でプログラムを実行することができる(つまり、 1つのソースファイルを作成すれば、ィ ンターフェースの異なる複数の Javaプログラム実行装置それぞれにそのソースフアイ ルを変換した中間コードを実行させることができる)。
[0004] また非特許文献 1に開示されて ヽる仕様では、 Javaを組込んだ携帯端末装置は、 1 つの Javaアプリケーションプログラムにっき、少なくとも 1つ以上の中間コード力も構 成される Javaアプリケーション実行ファイル (Jar (Java archive)ファイルと称する)と、 J arファイルの機能情報、例えば各中間コードを実行することにより携帯端末装置によ つて実施される機能についての情報、各中間コードあるい ίお arファイルのデータ容 量、 Javaアプリケーションプログラムのダウンロード先の URL、各中間コードのパージ ヨン情報、等が記述され^ Javaアプリケーション管理ファイル (Jad (Java application d escriptor)ファイルと称する)と、を記憶して 、る。
[0005] 携帯端末装置は、 Javaアプリケーションプログラムについての情報を参照する際に は、 Jadファイルに記述されたデータを読み出すことになる。以下、 Jadファイルに記述 された情報を、携帯端末装置に備わるディスプレイにより表示する具体例について説 明する。図 13に、 Jadファイルに記述されている、 Jarファイルを実行したときにその処 理に利用される機能についての機能情報の 1例と、携帯端末装置による機能情報の 表示例と、を示す。 Javaアプリケーションプログラム 1に対応する Jadファイルには、「I C :使用する」との記述により、 Javaアプリケーションプログラム 1を実行したときにその 処理に利用される携帯端末装置の機能が ICカードであるという機能情報が記述され ている。 Javaアプリケーションプログラム 2、 3についても、 Javaアプリケーションプログ ラム 1と同様に、「電話帳:使用する」、「カメラ:使用する」との記述により、 Javaアプリ ケーシヨンプログラム 2、 3を実行したときにその処理に利用される携帯端末装置の機 能が電話帳、カメラであるという機能情報が記述されている。携帯端末装置は、各 Jav aアプリケーションプログラム毎に、 Jadファイル力 機能情報を読み出し、その機能情 報に対応するアイコンを表示することになる。このように機能情報を表示することによ り、携帯端末装置利用者 Wavaアプリケーションプログラムを実行したときにその処 理に利用される携帯端末装置の機能を一目で確認することができる。
非特許文献 1 : NTT DoCoMo 〃作ろう iモードコンテンツ〃 "iアプリ技術資料のダ ゥンロード" "iアプリコンテンツ開発ガイド for DoJa-4. x iアプリオプション 'iァ プリ拡張編" //http://www.nttdocomo. co.jp/ p_s/imode/ make/ java/index.htm / 発明の開示
発明が解決しょうとする課題
[0006] し力しながら、 Jadファイルから機能情報を読み出すためには、予め Jarファイルの機 能情報を Jadファイルに記述しておく必要がある。この工程は主に、 Javaアプリケーシ ヨンプログラム作成者によってなされるため、 Javaアプリケーションプログラム作成者 にとつて負担をかけている。さらに ¾Jarファイルを実行してもその処理に利用されな い機能情報をその Jarファイルの機能情報として誤って Jadファイルに記述してしまうこ ともあるため、必ずしも Jadファイルに Jarファイルの機能情報が正確に記述されて 、る わけではな!/、。また、 Javaアプリケーションプログラム作成者によって ίお arファイルの 機能情報を詳細に記述する人や Jarファイルの機能情報のうち主要な機能情報のみ を Jadファイルに記述する人もいるために、携帯端末装置利用者のニーズに応じた機 能情報力 Sjadファイルに記述されて 、るとは限らな!/、。
[0007] 本発明は、上記事情に鑑みてなされたもので、 Jarファイルの機能情報が記述され ^Jadファイル力 その機能情報を読み出すことなしに、 Jarファイルの機能情報を特 定することができる情報処理端末、および Jarファイルの機能情報を特定するための プログラムを提供することを目的とする。 課題を解決するための手段
[0008] 本発明の情報処理端末は、オブジェクト指向型プログラムを変換した中間コードに 従って CPUに処理を行なわせる情報処理端末であって、文字列と、中間コードにお ける識別子として前記文字列を有する少なくともクラスおよびメソッドの一方に従って CPUに処理を行なわせたときに当該情報処理端末が実行する機能についての機能 情報と、の対応関係を記憶する判別情報保存部と、前記中間コードの記述のうち、少 なくともクラスおよびメソッドの一方または両方の識別子を表す文字列を特定し、前記 判別情報保存部に記憶した対応関係を参照して、特定した文字列に対応する前記 機能情報を特定する中間コード解析部と、を備えた構成を有して ヽる。
[0009] この構成により、オブジェクト指向型プログラム力 その機能情報を読み出すことな しに、オブジェクト指向型プログラムを変換した中間コードの記述力もオブジェクト指 向型プログラム実行時に携帯端末装置が実施する機能を特定することができるため 、従来のように Javaプログラム作成者が予めオブジェクト指向型プログラムの機能情 報をオブジェクト指向型プログラムに記述しておく必要はなくなるため、 Javaアプリケ ーシヨンプログラム作成者に力かる負担を軽減することができる。また、中間コードの 記述に従って携帯端末が実施する機能を特定するため、中間コードの記述と一致し ない誤った機能が特定されること無く正確に特定することができる。
[0010] また、本発明の情報処理端末は、各種情報を表示する表示部を備え、前記表示部 は、前記中間コード解析部により特定した前記機能情報を、前記中間コードを表す 情報と対応付けて表示する構成を有して!/ヽる。
[0011] この構成により、特定した機能情報を、中間コードを表す情報と対応付けて表示す ることにより、中間コードとその中間コードに対応する機能をひと目で了解することが できる。
[0012] さらに、本発明のプログラムは、オブジェクト指向型プログラムを変換した中間コード に従って CPUに処理を行なわせるためのプログラムであって、前記中間コードの記 述のうち、少なくともクラスおよびメソッドの一方または両方の識別子を表す文字列を 特定する手順と、文字列と、中間コードにおける識別子として前記文字列を有する少 なくともクラスおよびメソッドの一方に従って CPUに処理を行なわせたときに当該情報 処理端末が実行する機能についての機能情報と、の対応関係を参照して、特定した 文字列に対応する前記機能情報を特定する手順と、を実行させるためのプログラム である。
発明の効果
[0013] 本発明は、 Jarファイルの機能情報が記述され^ Jadファイル力 その機能情報を読 み出すことなしに、 Jarファイルの機能情報を特定することができるという効果を有する 情報処理端末、および Jarファイルの機能情報を特定するためのプログラムを提供す ることができるものである。
図面の簡単な説明
[0014] [図 lHava言語におけるクラスとメソッドの概念図
[図 2]本発明の第 1実施形態の携帯端末装置の構成を示す図 [図 3]クラス名と、そのクラスを実行時に携帯端末装置が実施する機能と、の一覧情報 を示す図
圆 4]本発明の第 1実施形態の携帯端末装置による機能情報の表示例を示す図 [図 5]本発明の第 1実施形態の携帯端末装置の動作を示すフローチャート図
[図 6]メソッド名と、そのメソッドを実行時に携帯端末装置が実施する機能と、の一覧 情報を示す図
[図 7]本発明の第 2実施形態の携帯端末装置による機能情報の表示例を示す
[図 8]本発明の第 2実施形態の携帯端末装置の動作を示すフローチャート図
[図 9]メソッドの例を示す図
[図 10]本発明の第 3実施形態の携帯端末装置の構成を示す図
[図 11]本発明の第 3実施形態の携帯端末装置の動作を示すフローチャート図
[図 12 avaプログラムを実行するまでの概念図
[図 13 adファイルに記述されている、 Jarファイルを実行したときにその処理に利用さ れる機能についての機能情報の 1例と、携帯端末装置による機能情報の表示例とを 示す図
符号の説明
1、 100 携帯端末装置
2 Javaアプリダウンロード部
3 中間コード解析部
4 判別情報保存部
5 メニュー表示部
6 Javaアプリ保存部
7 携帯端末用 JVM
8 CPU
9 駆動部
10 ディスプレイ
1001 機能一覧情報保存部
1002 機能判定部 1003 警告表示制御部
発明を実施するための最良の形態
[0016] 以下、本発明の実施の形態の情報処理端末について説明する前に、まず、 Java言 語におけるクラスの概念とメソッドの概念について説明する。クラスは、変数 (フィール ド変数)と、 Javaプログラムの基本的な機能 (振る舞!/ヽ)の単位であるメソッドと、によつ て構成され、 Javaプログラムを構成する 1つのまとまりの単位である。 Javaプログラム は、複数のクラス力も成り立つている。図 1に、 Java言語におけるクラスとメソッドの概 念図を示す。図 1に示す Javaプログラムの概念図では、クラス Aのメソッド A1からプロ グラムの実行を開始し、その後、クラス B、 Cに処理を進めてクラス Bのメソッド Bl、メソ ッド B2、クラス Cのメソッド C1に記述されたプログラムを実行するものであり、複数のク ラス間で各クラスのメソッドを呼び出しあうことで、プログラムを実行して 、くことになる 。なお、クラス A、 B、 Cおよびメソッド Al、 Bl、 B2、 CIはそれぞれのクラスおよびメソ ッドを識別するクラス名およびメソッド名(識別子)を表して!/ヽる。
[0017] Javaプログラムが近年の携帯端末装置に搭載される非接触 ICカードを利用した機 能を制御するためのプログラムである場合の、クラス A、 B、 Cおよびメソッド Al、 Bl、 B2、 CIの 1例を説明する。クラス Aは非接触 ICカードによる ICカードリーダライタとの 無線通信を許可あるいは禁止する制御信号を入出力するためのプログラムのまとまり であり、クラス Bは非接触 ICカードに記憶されたデータの読み出し、書き込み、削除 などのデータ処理するためのプログラムのまとまりであり、クラス Cは各種データを基 に演算処理を行なうためのプログラムのまとまりである、などが考えられる。クラス A、 B 、 Cの具体的な処理内容はメソッド Al、 Bl、 B2、 CIによって規定される。クラス Aに 記述されたプログラムのうちの、非接触 ICカードによる無線通信を許可する制御信号 を非接触 ICカードに出力するメソッド A1を実行して当該制御信号を出力すると、クラ ス Bに記述されたプログラムのうちの、非接触 ICカードに記憶されているデータを読 み出すメソッド B1および非接触 ICカードにデータを書き込むメソッド B2を実行して、 非接触 ICカードからデータを読み出しあるいは非接触 ICカードへデータを書き込み 、クラス Cに記述されたプログラムのうちの、非接触 ICカードを用いたサービスに利用 可能な金額を加減算して非接触 ICカードに記憶させるメソッド C 1を実行して、メソッド B 1、 B2の処理によって読み出しあるいは書き込み処理をしたデータを基に当該金 額の加減算を行い、非接触 ICカードにその金額を記憶させる。このように、 Javaプロ グラムは、クラスによってその処理内容が大別され、メソッドによって各処理内容の詳 細が規定されることになる。
[0018] なお、 Java言語によって記述されたソースファイルから生成されるクラスファイルは、 Java言語仕様によってその構造が規定されており、ソースファイルに記述されている クラス名、メソッド名がそのまま文字列として含まれている。これらの文字列を検索する ことにより、 Javaプログラム実行装置は中間コードにおけるクラス名とメソッド名もまた 特定することができる。
[0019] 本発明の実施の形態の情報処理端末は、中間コードにおけるクラス名あるいはメソ ッド名とを検出し、その検出したクラス名あるいはメソッド名から、この Javaプログラム の処理を CPUに行なわせたときに情報処理端末によって実行される機能を特定する ものである。クラス名あるいはメソッド名カゝら情報処理端末によって実行される機能を 特定する具体的な方法については、以下の実施形態において詳細に説明する。
[0020] (第 1実施形態)
以下、本発明の情報処理端末の 1例として携帯端末装置を挙げ、本発明の第 1実 施形態の携帯端末装置について詳細に説明する。図 2に、本発明の第 1実施形態の 携帯端末装置の構成図を示す。
[0021] 本発明の第 1実施形態の携帯端末装置 1では、 Javaプログラム (少なくとも 1つ以上 の中間コードカゝら成る Jarファイルと、 Jarファイルの機能情報を有する Jadファイルと、 力も構成される)を外部サーバから Javaアプリダウンロード部 2によって取得する構成 を採用している。なお、外部サーノ から取得する構成に限定するものではなく、 Java アプリ保存部に Javaプログラムが保存されて!、れば良!、。
[0022] 中間コード解析部 3は、 Jarファイルを構成する少なくとも 1つ以上の中間コードの記 述から、クラス名に該当する文字列を検索する。中間コード解析部 3による具体的な 検索手法は、クラス格納領域力 逐次クラス名を表す文字列を取得する。
[0023] 判別情報保存部 4は、クラス名と、そのクラスに記述されて 、るプログラムを実行した ときに携帯端末装置 1が実施する機能についての機能情報と、を対応付けて保存し ている。図 3に、クラス名 301と、そのクラスを実行時に携帯端末装置 1が実施する機 能 302と、の一覧情報を示す。図 3記載の一覧情報のクラス名により特定されるクラス はカプセル化されたものであり、そのクラス名も Java言語の中で唯一のものである。こ のため、カプセル化されているクラスのクラス名と、そのクラスに記述されているプログ ラムを実行時に携帯端末装置が実施する機能と、は 1対 1に対応する。以下、クラス 名と機能情報との具体的な対応関係を、図 1の説明の際に例に挙げた、非接触 IC力 ードを利用した機能を制御するためのプログラムであるクラス A、 B、 Cの名称とその 機能情報を例に挙げて説明する。
[0024] クラス Aの名称は Identify Classによって表され、非接触 ICカードによる ICカードリー ダライタとの無線通信を許可ある 、は禁止する制御信号を入出力する機能 (機能情 報:認証機能)を携帯端末装置 1に実行させる。また、クラス Bの名称は図 3記載の Fel ica (登録商標) Classに該当し、非接触 ICカードに記憶されたデータの読み出し、書 き込み、削除などのデータ処理する機能 (機能情報: IC機能)を携帯端末装置 1に実 行させる。また、クラス Cの名称は図 3記載の DataFolder Classに該当し、各種データ を基に演算処理を行なう機能 (機能情報:データフォルダ連携機能)を携帯端末装置 1に実行させる。
[0025] 上述したような文字列によって表されるクラス名を検出した中間コード解析部 3は、 判別情報保存部 4に保存している一覧情報を参照して、このクラス名に対応する機 能情報を特定する。
[0026] メニュー表示部 5は、中間コード解析部 3によって特定した機能情報 (上述した非接 触 ICカードを利用した機能を制御するためのプログラムの場合であれば、認証機能 、 IC機能およびデータフォルダ連携機能)を Javaプログラムの名称 (ある ヽ〖お avaプ ログラムを表すマーク、アイコン等)と共に、本発明の携帯端末装置 1に備わるデイス プレイ 10に表示させる。図 4に、本発明の第 1実施形態の携帯端末装置 1による機能 情報の表示例を示す。図 4の表示例では、 Javaアプリケーションプログラムの名称 (ァ プリ名 1、 2、 3、 4)のとなりに、その Javaアプリケーションプログラムを実行時に携帯端 末装置 1が利用する機能を表すアイコン (ICアイコン、電話帳アイコン、カメラアイコン )を表示している。例えば、 Javaアプリケーションプログラムの名称のアプリ名 1のとな りに、そのアプリ名 1である Javaアプリケーションプログラムを実行時に携帯端末装置
1が利用する IC機能を表すアイコンを表示している。
[0027] Javaアプリ保存部 6は、 Javaアプリダウンロード部 2が外部サーバ力 ダウンロードし
^Javaアプリケーションプログラム本体や中間コード解析部 3によって特定したクラス 名及びそのクラス名と対応する機能情報などを保存する。
[0028] 携帯端末用 JVM7は、携帯端末用の中間コードをあた力も実行形式のファイルとし て理解し、実行するプログラムである。
[0029] CPU8は、携帯端末装置 1における各種処理及び制御を行う。
[0030] 駆動部 9は、非接触 IC機能やカメラ機能や GPS機能などを駆動する。
[0031] 上記のように構成される本発明の第 1の実施形態の携帯端末装置 1の動作につい て、図 5に示すフローチャートに基づいて説明する。ここで、 Felica Classに対応する 機能を特定し、表示する例を説明する。
[0032] まず、 Javaアプリケーションダウンロード部 2が少なくとも 1つ以上の中間コードから 成る Jarファイルと、 Jarファイルの機能情報を有する Jadファイルと、力も構成される Jav aプログラムを外部サーバから取得する(ステップ S501)。例えば、ここでダウンロード し^ Javaプログラムに図 6に示すクラスが含まれる。
[0033] 中間コード解析部 3は、 Jarファイルを構成する少なくとも 1つ以上の中間コードを取 得し (ステップ S502)、取得した中間コードの記述から、クラス名に該当する文字列を 検索する(ステップ S503)。ここで、図 6に示す Javaプログラムにおいて、 Felicaクラス は、中間コード中にそのクラスを表す文字列が含まれているため、中間コード解析部
3がその文字列 Felicaをクラス名として検出する。
[0034] 中間コード解析部 3は、ステップ S 503で検索し得たクラス名から判別情報保存部 4 に保存して 、る一覧情報を参照して、このクラス名に対応する機能情報を特定する( ステップ S504)。ここで、図 3に示す判別情報保存部 4に保存している一覧情報を参 照して、検出された Felicaに対応する機能は IC機能であると特定する。
[0035] 中間コード解析部 3は、次のクラス名を検索し (ステップ S505)、次のクラス名が存 在するかを判断し (ステップ S506)、次のクラス名が存在した場合は、ステップ S504 に戻り、次のクラス名に対応する機能情報を特定する。 [0036] 一方、ステップ S506において、次のクラス名が存在しない場合は、メニュー表示部 5は、中間コード解析部 3によって特定した機能情報 (上述した非接触 ICカードを利 用した機能を制御するためのプログラムの場合であれば、認証機能、 IC機能および データフォルダ連携機能)を Javaプログラムの名称 (あるい〖お avaプログラムを表すマ →、アイコン等)と共に、本発明の携帯端末装置 1に備わるディスプレイ 9に表示さ せる(ステップ S505)。そして、処理が終了する。
[0037] 本発明の第 1実施形態の携帯端末装置によれば、 Jarファイルの機能情報が記述さ れ adファイルカゝらその機能情報を読み出すことなしに、 Jarファイルを構成する中 間コードの記述から jarファイル実行時に携帯端末装置が実施する機能を特定するこ とができるため、従来のように Javaプログラム作成者が予め Jarファイルの機能情報を J adファイルに記述しておく必要はなくなるため、 Javaアプリケーションプログラム作成 者に力かる負担を軽減することができる。また、中間コードの記述に従って携帯端末 が実施する機能を特定するため、中間コードの記述と一致しない誤った機能が特定 されること無く正確に特定することができる。
[0038] (第 2実施形態)
以下、本発明の情報処理端末の 1例として携帯端末装置を挙げ、本発明の第 2実 施形態の携帯端末装置について詳細に説明する。
第 1実施形態では、中間コードに記述されたクラス名を検出することによって、その クラスを実行時に携帯端末装置が実施する機能を特定する構成であつたが、第 2実 施形態では、そのクラスを構成するメソッドの名称 (メソッド名)を検出し、そのメソッド を実行時に携帯端末装置が実施する機能を特定する構成について説明する。本発 明の第 2実施形態の携帯端末装置の構成は、図 2と同様であり、中間コード解析部 3 と判別情報保存部以外の部の処理および機能は第 1実施形態と同様であるため説 明を省略する。
[0039] 中間コード解析部 3は、 Jarファイルを構成する少なくとも 1つ以上の中間コードの記 述から、クラス名に該当する文字列を検索した後、そのクラスを構成するメソッドの名 称に該当する文字列を検索する。中間コード解析部 3による具体的な検索手法は、メ ソッド格納領域力も逐次メソッド名を表す文字列を取得する。 [0040] 判別情報保存部 4は、メソッド名と、そのメソッドに記述されて 、るプログラムを実行 したときに携帯端末装置が実施する機能についての機能情報と、を対応付けて保存 している。図 6に、メソッド名 601と、そのメソッドを実行時に携帯端末装置 1が実施す る機能 602と、の一覧情報を示す。図 6記載の一覧情報のメソッド名により特定される メソッドもまたカプセル化されたものであり、そのクラス名も Java言語の中で唯一のも のである。このため、カプセル化されているメソッドのメソッド名と、そのメソッドに記述 されているプログラムを実行時に携帯端末装置が実施する機能と、は 1対 1に対応す る。以下、メソッド名と機能情報との具体的な対応関係を、図 1の説明の際に例に挙 げた、非接触 ICカードを利用した機能を制御するためのプログラムである、クラス Bを 構成するメソッド B1、B2の名称とその機能情報を例に挙げて説明する。
[0041] メソッド B1の名称は図 6記載の readに該当し、非接触 ICカードに記憶されているデ ータを読み出す機能 (機能情報:読み込み可能)を携帯端末装置に実行させる。メソ ッド B2の名称は図 6記載の writeに該当し、非接触 ICカードにデータを書き込む機能 (機能情報:書き込み可能)を携帯端末装置に実行させる。
[0042] 上述したような文字列によって表されるメソッド名を検出した中間コード解析部 3は、 判別情報保存部 4に保存している一覧情報を参照して、このメソッド名に対応する機 能情報を特定する。
[0043] メニュー表示部 5は、中間コード解析部 3によって特定した機能情報 (上述した非接 触 ICカードを利用した機能を制御するためのプログラムの場合であれば、認証機能 、 IC機能およびデータフォルダ連携機能、特に IC機能については読み込み可能か つ書き込み可能であることも)を Javaプログラムの名称 (あるい ¾Javaプログラムを表 すマーク、アイコン等)と共に、本発明の携帯端末装置 1に備わるディスプレイ 10に 表示させる。図 7に、本発明の第 2実施形態の携帯端末装置 1による機能情報の表 示例を示す。図 7の表示例では、 Javaアプリケーションプログラムの名称(アプリ名 1、 2、 3、 4)のとなりに、その Javaアプリケーションプログラムを実行時に携帯端末装置 1 が利用する機能を表すアイコン (ICアイコン、電話帳アイコン、カメラアイコン)を表示 し、かつ、 ICアイコンには、 IC機能が読み込みかつ書き込み処理を行なうことを示す 「RZW」のマークを ICアイコン右上に合わせて表示して!/、る。 [0044] 上記のように構成される本発明の第 2の実施形態の携帯端末装置 1の動作につい て、図 8に示すフローチャートに基づいて説明する。
クラス名に対応する機能の情報を特定するまでの動作、すなわち、ステップ S501 〜 504の手順は図 5に示す第 1の実施形態と同様であるので、説明を省略する。
[0045] クラス名に対応する機能の情報を特定した後、中間コード解析部 3は検出したクラ スを構成するメソッドの名称に該当する文字列を検索し、メソッドの名称を検出する( ステップ S801)。図 9はクラスに含まれるメソッドを示す。図 9において、メソッド格納領 域から readメソッドを検索し取得する。
[0046] 中間コード解析部 3は引き続き、判別情報保存部に保存している一覧情報を参照 して、検出したメソッド名に対応する機能情報を特定する (ステップ S802)。ここで、 図 6に示す判別情報保存部 4に保存している一覧情報を参照して、検出された read に対応する機能は ICの読み込み可能機能であると特定する。
[0047] 中間コード解析部 3は、次のメソッド名を検索し (ステップ S803)、次のメソッド名が 存在するかを判断し (ステップ S804)、次のメソッド名が存在した場合は、ステップ S5 04に戻り、次のメソッド名に対応する機能情報を特定する。例えば、図 9において、 次のメソッド名として、 writeが検出され、その writeに対応する書き込み可能機能が特 定される。
[0048] 一方、ステップ S804において、次のメソッド名が存在しない場合は、例えば、図 9に 示す例のような、メソッド名は 2つしかな 、ので、三回目の検索ではメソッド名が存在し ないと判定した場合、メニュー表示部 5は、中間コード解析部 3によって特定した機能 情報 (上述した非接触 ICカードを利用した機能を制御するためのプログラムの場合 であれば、認証機能、 IC機能およびデータフォルダ連携機能、特に IC機能について は読み込み可能かつ書き込み可能であることも)を Javaプログラムの名称 (ある 、【お avaプログラムを表すマーク、アイコン等)と共に、本発明の携帯端末装置 1に備わる ディスプレイ 9に表示させる(ステップ S805)。そして、処理が終了する。
[0049] 本発明の第 2実施形態の携帯端末装置によれば、 Jarファイルの機能情報が記述さ れ adファイルカゝらその機能情報を読み出すことなしに、 Jarファイルを構成する中 間コードの記述から jarファイル実行時に携帯端末装置が実施する機能を特定するこ とができるため、従来のように Javaプログラム作成者が予め Jarファイルの機能情報を J adファイルに記述しておく必要はなくなるため、 Javaアプリケーションプログラム作成 者に力かる負担を軽減することができる。また、中間コードの記述に従って携帯端末 が実施する機能を特定するため、中間コードの記述と一致しない誤った機能が特定 されること無く正確に特定することができる。さらに、クラス名による機能情報の特定し 、続いてメソッド名による機能情報を特定するというように、携帯端末装置が Jarフアイ の実行時に実施する機能を段階的に限定して特定することができるため、携帯端末 装置利用者が求める機能情報の詳細度合いに応じて機能情報を特定することがで きる。
[0050] (第 3実施形態)
以下、本発明の情報処理端末の 1例として携帯端末装置を挙げ、本発明の第 3実 施形態の携帯端末装置について詳細に説明する。
第 1及び第 2実施形態では、中間コードに記述されたクラス名及びそのクラスを構成 するメソッド名を検出することによって、そのクラス及びメソッドを実行時に携帯端末装 置が実施する機能を特定する構成であつたが、第 3実施形態では、中間コードに記 述されたクラス名を検出し、携帯端末装置が保持する、自装置が有する機能の一覧 情報と、を比較して、特定した機能情報が一覧情報になければ、利用できない恐れ 力あるとの警告を発する、あるいは特定した機能情報が、所定の機能情報である場 合、その機能を装置利用者が利用する前にその機能を利用することによって発生し 得る不都合を警告する構成について説明する。
[0051] 図 10は、本発明の第 3実施形態の携帯端末装置の構成を示す。この図 10に示す 携帯端末装置 100は、図 2に示す第 1の実施形態の構成において、機能一覧情報 保存部 1001と、機能判断部 1002と、警告表示制御部 1003とを設けた。なお、図 2 に示した携帯端末装置 1と同一の構成要素には、同一の符号を付してその説明を省 略する。
[0052] 機能一覧情報保存部 1001は、携帯端末装置 100が保持する、自装置が有する機 能の一覧情報を保存する。
[0053] 機能判断部 1002は、中間コード解析部 3によって特定された機能情報と機能一覧 情報保存部 1001が保存している携帯端末装置 100自装置が有する機能と比較する ことにより、特定された機能は携帯端末装置 100自装置が有する機能であるかを判 断し、特定された機能は携帯端末装置 100自装置が有する機能ではな!/、と判断した 場合、警告表示制御部 1003に通知信号を送出する。また、特定された機能は所定 の機能情報であるかを判断し、特定された機能は所定の機能情報であると判定した 場合、警告表示制御部 1003に通知信号を送出する。
[0054] 警告表示制御部 1003は、機能判断部 1002からの通知信号を受け取ると、メ-ュ 一表示部 5に警告を表示するよう指示する。
[0055] 上記のように構成される本発明の第 3の実施形態の携帯端末装置 100の動作につ いて、図 11に示すフローチャートに基づ 、て説明する。
クラス名に対応する機能の情報を特定するまでの動作、すなわち、ステップ S501 〜 504の手順は図 5に示す第 1の実施形態と同様であるので、説明を省略する。
[0056] クラス名に対応する機能の情報を特定した後、機能情報判断部 1002は機能一覧 情報保存部 1001が保存している自装置が有する機能の一覧情報を参照して、特定 した機能情報が自装置が有する機能一覧情報にあるかを判断する (ステップ S 1101
) o
[0057] ステップ SI 101にお 、て、特定した機能情報が自装置が有する機能一覧情報にな いと判定した場合、警告表示制御部 1003に通知信号を送出し、警告表示制御部 1 003はその通知信号を受け取り、ディスプレイ 10に利用できな 、恐れがあるとの警告 を表示させる (ステップ S1102)。例えば、カメラ非搭載機種でカメラ機能を使用する アプリケーションを実行した場合、このアプリケーションはカメラ機能を使用しているの でこの端末では私用できない恐れがありますと警告を出すなど。
[0058] 一方、ステップ S1101において、特定した機能情報が自装置が有する機能一覧情 報にあると判定した場合、機能情報判断部 1002はさらにその特定した機能は所定 の機能情報であるかを判断する (ステップ S1103)。ここで判断する所定の機能は、 例えば、通信機能と PIMを使用しているアプリケーションでは個人情報が流出する恐 れがあるので、通信機能を使用しているかどうかなどを所定の機能として判断する。
[0059] ステップ S1103にお 、て、特定した機能は所定の機能情報であると判定した場合 、警告表示制御部 1003に通知信号を送出し、警告表示制御部 1003はその通知信 号を受け取り、ステップ S 1102に進み、ディスプレイ 10にその機能を利用することに よって発生し得る不都合を警告するとの警告を表示させる。
[0060] 一方、特定した機能は所定の機能情報ではな!/、と判定した場合、警告を表示せず 、ステップ S505に説明したような通常表示を行い (ステップ S1104)、処理が終了す る。
[0061] 本発明の第 3実施形態の携帯端末装置によれば、 Jarファイルの機能情報が記述さ れ adファイルカゝらその機能情報を読み出すことなしに、 Jarファイルを構成する中 間コードの記述から jarファイル実行時に携帯端末装置が実施する機能を特定するこ とができるため、従来のように Javaプログラム作成者が予め Jarファイルの機能情報を J adファイルに記述しておく必要はなくなるため、 Javaアプリケーションプログラム作成 者に力かる負担を軽減することができる。また、中間コードの記述に従って携帯端末 が実施する機能を特定するため、中間コードの記述と一致しない誤った機能が特定 されること無く正確に特定することができる。さらに、クラス名による機能情報を特定し 、続いて特定した機能情報は携帯端末装置が保持する、自装置が有する機能の一 覧情報にある機能ではない場合、利用できない恐れがあるとの警告を発するため、 利用者に注意を促す。また、特定した機能情報は所定の情報である場合、その機能 を利用することによって発生し得る不都合を警告するため、個人情報が流出する恐 れがあるなど所定の情報を利用するときのセキュリティ性を向上させることができる。
[0062] なお、以上の説明では、情報処理端末の 1例として携帯端末装置を例として説明し た力 その他のコンピュータなどについても同様に実施可能である。
[0063] 本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲 を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明ら かである。
[0064] 本出願は、 2006年 1月 17日出願の日本特許出願 (特願 2006— 008924)に基づくも のであり、その内容はここに参照として取り込まれる。
産業上の利用可能性
[0065] 以上のように、本発明に力かる情報処理端末は、 Jarファイルの機能情報が記述さ れ adファイル力 その機能情報を読み出すことなしに、 Jarファイルの機能情報を 特定することができると 、う効果を有し、 Java言語によって記述されたソースファイル を変換した中間コードから、このアプリケーションプログラムを実行することによって実 施される機能内容を特定する情報処理端末等として有用である。

Claims

請求の範囲
[1] オブジェクト指向型プログラムを変換した中間コードに従って CPUに処理を行なわ せる情報処理端末であって、
文字列と、中間コードにおける識別子として前記文字列を有する少なくともクラスお よびメソッドの一方に従って CPUに処理を行なわせたときに当該情報処理端末が実 行する機能にっ 、ての機能情報と、の対応関係を記憶する判別情報保存部と、 前記中間コードの記述のうち、少なくともクラスおよびメソッドの一方または両方の識 別子を表す文字列を特定し、前記判別情報保存部に記憶した対応関係を参照して 、特定した文字列に対応する前記機能情報を特定する中間コード解析部と、 を備える情報処理端末。
[2] 請求項 1記載の情報処理端末であって、
各種情報を表示する表示部を備え、
前記表示部は、前記中間コード解析部により特定した前記機能情報を、前記中間 コードを表す情報と対応付けて表示する、情報処理端末。
[3] オブジェクト指向型プログラムを変換した中間コードに従って CPUに処理を行なわ せるためのプログラムであって、
前記中間コードの記述のうち、少なくともクラスおよびメソッドの一方または両方の識 別子を表す文字列を特定する手順と、
文字列と、中間コードにおける識別子として前記文字列を有する少なくともクラスお よびメソッドの一方に従って CPUに処理を行なわせたときに当該情報処理端末が実 行する機能についての機能情報と、の対応関係を参照して、特定した文字列に対応 する前記機能情報を特定する手順と、
を実行させるためのプログラム。
PCT/JP2006/304638 2006-01-17 2006-03-09 情報処理端末、プログラム WO2007083399A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/094,092 US20090094587A1 (en) 2006-01-17 2006-03-09 Information processing terminal and program
EP06728855A EP1975781A4 (en) 2006-01-17 2006-03-09 END DEVICE AND INFORMATION PROGRAM FOR INFORMATION PROCESSING

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-008924 2006-01-17
JP2006008924A JP2007193435A (ja) 2006-01-17 2006-01-17 情報処理端末、プログラム

Publications (1)

Publication Number Publication Date
WO2007083399A1 true WO2007083399A1 (ja) 2007-07-26

Family

ID=38287360

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/304638 WO2007083399A1 (ja) 2006-01-17 2006-03-09 情報処理端末、プログラム

Country Status (4)

Country Link
US (1) US20090094587A1 (ja)
EP (1) EP1975781A4 (ja)
JP (1) JP2007193435A (ja)
WO (1) WO2007083399A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102539A (ja) * 2008-10-24 2010-05-06 Trance Media Gp:Kk 管理サーバ及び来店確認システム
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 株式会社オプティム 自己管理機能の発揮を妨げずに設定を行う携帯端末、端末設定方法、及び携帯端末用プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020298A (ja) * 1998-06-29 2000-01-21 Hitachi Ltd ソフトウェア開発支援装置
JP2000353078A (ja) * 1999-04-27 2000-12-19 Internatl Business Mach Corp <Ibm> Java(登録商標)環境の管理可能性及び有用性を改善するシステム、方法及び記憶媒体
JP2002297483A (ja) * 2001-04-03 2002-10-11 Kenwood Corp 移動体通信端末、移動体通信端末の通信方法及びプログラム
JP2006008924A (ja) 2004-06-29 2006-01-12 Hoya Healthcare Corp 異種重合物接合体の製造方法および眼用レンズの製造方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 엘지전자 주식회사 휴대단말기의 동적 자바푸시 장치 및 방법
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
EP1971944B1 (en) * 2005-12-05 2018-06-27 National Instruments Corporation Implementing a design flow for a programmable hardware element that includes or is coupled to a processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020298A (ja) * 1998-06-29 2000-01-21 Hitachi Ltd ソフトウェア開発支援装置
JP2000353078A (ja) * 1999-04-27 2000-12-19 Internatl Business Mach Corp <Ibm> Java(登録商標)環境の管理可能性及び有用性を改善するシステム、方法及び記憶媒体
JP2002297483A (ja) * 2001-04-03 2002-10-11 Kenwood Corp 移動体通信端末、移動体通信端末の通信方法及びプログラム
JP2006008924A (ja) 2004-06-29 2006-01-12 Hoya Healthcare Corp 異種重合物接合体の製造方法および眼用レンズの製造方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1975781A4

Also Published As

Publication number Publication date
JP2007193435A (ja) 2007-08-02
EP1975781A4 (en) 2009-04-29
US20090094587A1 (en) 2009-04-09
EP1975781A1 (en) 2008-10-01

Similar Documents

Publication Publication Date Title
US8694981B2 (en) Shared resource dependencies
US9871903B2 (en) Mobile computing terminal with more than one lock screen and method of using the same
US9727348B2 (en) Providing a context-aware help content using a transparent overlay on a touch sensitive screen
US9021427B2 (en) Conversion methods of applications of mobile devices and mobile devices and systems using the same
US9092239B2 (en) Configuring user interfaces in electronic devices
EP2498054A1 (en) Information terminal device, information terminal management system, and storage medium in which program is stored
JP2011192296A (ja) ヘルプユーティリティアプリケーションプログラム
KR20110052521A (ko) 정보 처리 장치, 통신 시스템, 컴퓨터 판독 가능 매체 및 정보 처리 방법
KR20140061002A (ko) 모바일 어플리케이션을 통한 바탕화면에 바로가기 설치 방법 및 그 시스템
EP3151518A1 (en) Information processing device, information processing method, and information processing program
CN107589888B (zh) 信息处理方法和信息处理装置
JP2006048645A (ja) ドキュメントにコンテキスト情報を埋め込むための方法およびシステム
US20130081010A1 (en) Template and server content download using protocol handlers
WO2007083399A1 (ja) 情報処理端末、プログラム
CN105630987A (zh) 自适应用户代理的统一资源定位符前缀挖掘方法和装置
CN112650540B (zh) 一种启动快应用的方法及相关装置
CN111158777B (zh) 组件调用方法、装置及计算机可读存储介质
US20050197157A1 (en) System enabling easy application development on mobile devices
JP5299625B2 (ja) 操作支援装置、操作支援方法、及びプログラム
JP2008158882A (ja) 情報処理装置およびポップアップウィンドウ表示制御方法およびプログラムおよび記録媒体
KR100948472B1 (ko) 데이터 언어에서 변수들의 자동 업데이팅
JP6536007B2 (ja) 情報処理装置、その制御方法とプログラム
US7702890B2 (en) Information processing apparatus and program
CN114706633B (zh) 预加载方法、电子设备及存储介质
WO2022166410A1 (zh) 非同名符号的函数跳转方法、装置及计算机可读存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006728855

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12094092

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE