Method and apparatus for sharing data files among runtime environment applets in an integrated circuit card
First Claim
Patent Images
1. A method for compiling a runtime environment applet for an integrated circuit card (ICC), the method comprising:
- receiving source code for the applet;
translating the received source code to an intermediate level representation;
separating data objects from the intermediate level representation;
separating executable bytecode from the intermediate level representation;
saving the executable bytecode in a discrete code file and saving the data objects in a discrete data file, wherein different discrete code and data files are generated from the respective separating processes, and included in a binary image for use with a transmitted file enumerating their availability for execution on the ICC, the discrete code file and the discrete data file further configured to initialize and configure a runtime environment applet when compiled on the ICC;
generating the binary image of a file system, including at least the discrete code file and the discrete data file; and
storing the binary image in non-volatile memory on the ICC, the discrete code file configured to be initiated for execution by a controller on the ICC with different discrete data files stored in non-volatile memory on the ICC to implement different runtime environment applets, and the discrete data file configured to be initiated for execution by the controller on the ICC with different discrete code files stored in non-volatile memory on the ICC to implement the different runtime environment applets.
1 Assignment
0 Petitions
Accused Products
Abstract
An integrated circuit card includes a storage device to store one or more code files and one or more data files, and control logic. The control logic implements an ICC runtime environment that executes an applet in response to a command identifying both a code file and a data file received from a host system.
-
Citations
13 Claims
-
1. A method for compiling a runtime environment applet for an integrated circuit card (ICC), the method comprising:
-
receiving source code for the applet; translating the received source code to an intermediate level representation; separating data objects from the intermediate level representation; separating executable bytecode from the intermediate level representation; saving the executable bytecode in a discrete code file and saving the data objects in a discrete data file, wherein different discrete code and data files are generated from the respective separating processes, and included in a binary image for use with a transmitted file enumerating their availability for execution on the ICC, the discrete code file and the discrete data file further configured to initialize and configure a runtime environment applet when compiled on the ICC; generating the binary image of a file system, including at least the discrete code file and the discrete data file; and storing the binary image in non-volatile memory on the ICC, the discrete code file configured to be initiated for execution by a controller on the ICC with different discrete data files stored in non-volatile memory on the ICC to implement different runtime environment applets, and the discrete data file configured to be initiated for execution by the controller on the ICC with different discrete code files stored in non-volatile memory on the ICC to implement the different runtime environment applets. - View Dependent Claims (2, 3)
-
-
4. A method for developing a runtime environment applet for execution by an integrated circuit card (ICC), the method comprising:
-
receiving source code that is a high-level representation of the applet; compiling the received source code into at least a discrete code file and a discrete data file, wherein said compiling comprises; translating the received source code to at least an intermediate level representation; analyzing the received source code in the at least intermediate level representation; parsing executable bytecodes from the at least intermediate level representation; parsing data objects from the at least intermediate level representation; storing the executable bytecodes in the discrete code file and the data objects in the discrete data file, wherein different discrete code and data files are generated from the respective parsing processes, and included in a binary image for use with a transmitted file enumerating their availability for execution on the ICC, the discrete code file and the discrete data file further configured to initialize and configure a runtime environment applet when compiled on the ICC; and translating the discrete code file and the discrete data file from the intermediate level representation to a lower level language that is executable by control logic of the ICC; generating the binary image of a file system, including at least the discrete code file and the discrete data file; and storing the binary image in non-volatile memory on the ICC, the discrete code file configured to be initiated for execution by a controller on the ICC with different discrete data files stored in non-volatile memory on the ICC to implement different runtime environment applets, and the discrete data file configured to be initiated for execution by the controller on the ICC with different discrete code files stored in non-volatile memory on the ICC to implement the different runtime environment applets. - View Dependent Claims (5, 6, 7, 8, 9, 10)
-
-
11. A storage medium having stored thereon a plurality of executable instructions which, when executed, implement a compiler configured to receive source code for a runtime environment applet in a high-level language from a development tool, the compiler further configured to:
-
translate the received source code to at least an intermediate level representation; parse executable bytecodes from the intermediate level representation; and parse data objects from the intermediate level representation store the executable bytecodes in a discrete code file and the data objects in a discrete data file, wherein different discrete code and data files are generated from respective parsing processes, and included in a binary image for use with a transmitted file enumerating their availability for execution on the ICC, the discrete code file and the discrete data file further configured to initialize and configure the runtime environment applet when compiled on the ICC; generate the binary image of a file system, including at least the discrete code file and the discrete data file; and storing the binary image in non-volatile memory on the ICC, the discrete code file configured to be initiated for execution by a controller on the ICC with different discrete data files stored in non-volatile memory on the ICC to implement different runtime environment applets, and the discrete data file configured to be initiated for execution by the controller on the ICC with different discrete code files stored in non-volatile memory on the ICC to implement the different runtime environment applets. - View Dependent Claims (12)
-
-
13. A development system comprising:
a storage medium having stored thereon a plurality of executable instructions which, when executed, implement; an application development tool; and a compiler configured to; receive source code for a runtime environment applet in a high-level language from the development tool; translate the received source code to at least an intermediate level representation; parse executable bytecodes from the intermediate level representation; parse data objects from the intermediate level representation store the executable bytecodes in a discrete code file and the data objects in a discrete data file, wherein different discrete code and data files are generated from respective parsing processes, and included in a binary image for use with a transmitted file enumerating their availability for execution on the ICC, the discrete code file and the discrete data file further configured to initialize and configure a runtime environment applet when compiled on the ICC; a file system builder configured to generate the binary image of a file system, including at least the discrete code file and the discrete data file; and storing the binary image in non-volatile memory on the ICC, the discrete code file configured to be initiated for execution by a controller on the ICC with different discrete data files stored in non-volatile memory on the ICC to implement different runtime environment applets, and the discrete data file configured to be initiated for execution by the controller on the ICC with different discrete code files stored in non-volatile memory on the ICC to implement the different runtime environment applets.
Specification