Migration of different source languages to an execution medium
First Claim
1. A method of migration of a number of programs, written respectively in source languages to which respective execution media are dedicated, to a data processing means, comprising the steps of:
- compiling each program into a respective program expressed in an intermediate language representing a minimum subset of the source languages, providing, in the data processing means, a predetermined execution medium dedicated to the intermediate language, and loading the respective intermediate language program into the data processing means with a respective programming library adapting the predetermined execution medium to the intermediate language in order to execute the intermediate language program in the predetermined execution medium.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention automatically executes, in a single execution medium, a number of programs written in source languages to which respective execution media are dedicated, without constraining a programmer to a single source language for a respective execution medium type. Each program is compiled into a program expressed in an intermediate language representing a minimum subset of the source languages. In a data processing means such as a smart card, an execution medium is dedicated to the intermediate language. The intermediate language program is loaded with a respective programming library adapting the respective source language to the intermediate language in order to execute the intermediate language program in the execution medium.
20 Citations
16 Claims
-
1. A method of migration of a number of programs, written respectively in source languages to which respective execution media are dedicated, to a data processing means, comprising the steps of:
-
compiling each program into a respective program expressed in an intermediate language representing a minimum subset of the source languages, providing, in the data processing means, a predetermined execution medium dedicated to the intermediate language, and loading the respective intermediate language program into the data processing means with a respective programming library adapting the predetermined execution medium to the intermediate language in order to execute the intermediate language program in the predetermined execution medium. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
compiling the program into a compiled program in a machine language to which the respective execution medium is dedicated, and converting the compiled program into the respective program expressed in the intermediate language.
-
-
3. A method according to claim 2, further including the step, before the loading step, of extracting validation information from the respective program in the intermediate language, and the step, after the loading step, of verifying the extracted validation information in the predetermined execution medium.
-
4. A method according to claim 1, in which the predetermined execution medium is one of the execution media.
-
5. A method according to claim 1, in which the intermediate language is extendable.
-
6. A method according to claim 1, in which at least one of the source languages and the intermediate language are object-oriented languages.
-
7. A method according to claim 1, further including the step of reading the characteristics of the predetermined execution medium by a server which then performs the compiling step.
-
8. A method according to claim 1, in which the data processing means is a smart card.
-
9. A method according to claim 8, in which the smart card is a subscriber identity card included in a mobile radiotelephone terminal.
-
10. A method according to claim 1, further including the step, before the loading step, of extracting validation information from the respective program in the intermediate language, and the step, after the loading step, of verifying the extracted validation information in the predetermined execution medium.
-
11. A method for storing multiple application programs for execution in a smart card, comprising the steps of:
-
compiling each of a plurality of application programs, that are respectively written in different source languages, into corresponding programs in an intermediate language that is the same for each of said corresponding programs;
loading each of said corresponding programs into a smart card having an execution medium which supports programs in said intermediate language; and
loading programming libraries into said smart card that are respectively associated with the source languages in which said application programs are written and that adapt the associated source language for execution in the intermediate language. - View Dependent Claims (12, 13, 14, 15, 16)
compiling an application program into a program in a machine language for an execution medium that is associated with the source language of the application program; and
converting the machine-language program into a corresponding program in the intermediate language.
-
-
13. The method of claim 11 wherein said intermediate language is an object-oriented language.
-
14. The method of claim 13 wherein at least one of said source languages is an object-oriented language.
-
15. The method of claim 11 wherein said loading step includes the step of converting a corresponding program in the intermediate language into a binary representation for direct execution by said execution medium.
-
16. The method of claim 15 wherein said loading step further includes the step of verifying the security and typing of the corresponding program.
Specification