JP2003501741A - 様々なソース言語の実行メディアへの移植 - Google Patents

様々なソース言語の実行メディアへの移植

Info

Publication number
JP2003501741A
JP2003501741A JP2001501983A JP2001501983A JP2003501741A JP 2003501741 A JP2003501741 A JP 2003501741A JP 2001501983 A JP2001501983 A JP 2001501983A JP 2001501983 A JP2001501983 A JP 2001501983A JP 2003501741 A JP2003501741 A JP 2003501741A
Authority
JP
Japan
Prior art keywords
language
program
execution
intermediate language
source
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.)
Granted
Application number
JP2001501983A
Other languages
English (en)
Other versions
JP3706065B2 (ja
Inventor
グリモ,ジル
ヴァンドワル,ジャン−ジャック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gemplus SA
Original Assignee
Gemplus SA
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 Gemplus SA filed Critical Gemplus SA
Publication of JP2003501741A publication Critical patent/JP2003501741A/ja
Application granted granted Critical
Publication of JP3706065B2 publication Critical patent/JP3706065B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/47Retargetable compilers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/52Binary to binary

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 本発明は、それぞれの実行メディア(SE1,SEN)に専用のソース言語(LS1,LSN)で書かれた複数のプログラム(P1,PN)を単一の実行メディア内で自動的に実行するものであり、しかも、その際に、それぞれの一つのタイプの実行メディアについて唯一のソース言語に一人のプログラマを張り付けるようなことはしない。それぞれのプログラムは、ソース言語の最小のサブセットを表す中間言語(LI)で表現されたそれぞれのプログラムにコンパイル(E1,E2;E12)される。チップカード(CU;CS)のようなデータ処理手段の内部では、一つの実行メディア(SEU;SES)が中間言語に専用である。中間言語でのプログラムは、それぞれのソース言語を中間言語に適合させる、それぞれのプログラミング・ライブラリ(BPn)と共にロードされ、それによって、中間言語でのプログラムが実行メディア(SEU;SES)の中で実行される。

Description

【発明の詳細な説明】
【0001】 本発明は、マイクロプロセッサ式カードとも呼ばれるチップカードに関するも
のであり、更に一般的には、高水準プログラム言語で書かれたアプリケーション
によりロードされる、マイクロプロセッサ式のプログラム可能なオープン・デー
タの処理手段に関するものである。
【0002】 更に詳細には、本発明は、一つの特定の言語でアプリケーションを書くことが
できず、かつそれをプログラム可能なデータのいかなる処理手段によっても実行
させることができないという、これらの様々な言語の不均一性を対象とするもの
である。従って、本発明は、データ処理手段の開放をも対象としている。本発明
は、JAVA(登録商標)カード、SMARTカード用WINDOWS(登録商
標)、MultOS(出願商標)等のようなプログラム可能なデータ処理手段用
に書かれたアプリケーションの操作互換性に関するものである。操作互換性はセ
キュリティの面で、制約を伴うものである。
【0003】 プログラム可能なチップカードの分野では、カードにロードされることになる
アプリケーションを書く為に用いられるプログラミングの各ソース言語は、一つ
の特定の実行メディアに必然的に関連づけられており、該実行メディアは、一般
的に仮想マシンのようなソフトウェア的性格のみならず、マイクロプロセッサの
ようなハードウェア的性格も有している。
【0004】 一つのプログラムをチップカードにロードできるようにする為には、所定のソ
ース言語で書かれたプログラムをコンパイルし、次に、それを、所定のソース言
語で書かれたプログラムを受け入れるような特別の仕様のチップカードにロード
する。カードは、コンパイル済プログラムを受け入れ、特殊な実行メディアによ
ってそれを実行するが、実行メディアは、所定のソース言語で最初に書かれたプ
ログラムの実行に専用のものである。
【0005】 図1に示すように、チップカードCnのそれぞれの中にある各実行メディアS
Enは、他のチップカードC1〜CNの実行メディアSE1〜SENとは異なっ
ているが、ここでnは1を含む整数であり、大文字のNはソース言語LS1〜L
SNの所定の数を示すものであって、該チップカードCnは、それらがそれぞれ
のソース言語LSnでプログラムされている場合にのみ、アプリケーション・プ
ログラムPnを実行することができる。ロードするプログラムをコンパイルする
前にそれをコード・チェックにかけ、ロードされるプログラムがソース言語LS
nに結びついた実行メディアSEnによって与えられるセキュリティのプロパテ
ィに違反していないことを検査する。
【0006】 実際、そのようなカードのセットにおいては、所定のソース言語LSnで開発
されたプログラムPnは、以下の理由から、目的実行メディアSEnに密接に結
びついている: 1)ソース言語LSnによって供給されるデータ構造とオペレーションとは、ソ
ース言語LSn専用の実行メディアSEn用に、最適なサイズと速度で最適化さ
れた表現にコンパイルされるように特殊化される。 2)ソース言語LSnで供給されるプログラミング・ライブラリBPnは、一般
的にソース言語と相互関係を有し、しかも、ソース言語専用の実行メディアSE
n用に最適化されている。 3)カードCnにロードされる前のプログラムPnのチェックは、セキュリティ
のプロパティに密接に関連するものであり、目的実行メディアSEnにより確保
される。
【0007】 ソース言語LSnとその実行メディアSEnとの間の強いこの関連性は、検証
、コンパイル、そしてロードの一連の工程CVCCnで実現されていく。この工
程は、高級ソース言語で書かれたプログラムPnを、コンパクトで、かつソース
言語LSn専用の実行メディアSEnによって効率的に実行されるに適した形式
に変換するのを管理する。
【0008】 本発明の始まりにおける一般的な問題は、様々なソース言語LS1〜LSNで
書かれたプログラムを、それがどの言語で書かれたかにかかわらず、様々な実行
メディアSE1〜SEMに関連づけるということであり、ここでMは整数Nと等
しいか、又は異なる任意の整数である。この一般的な問題は、以下のような三つ
のサブ問題に分解できる。
【0009】 第一のサブ問題SP1によれば、例えば、所定のソース言語LSm専用の実行
メディアSEm上で、ソース言語LSnで書かれたプログラムPを実行させるこ
とであるが、ここでmは1からMの間に含まれるサフィックスである。
【0010】 第二のサブ問題SP2は、様々のソース言語LS1〜LSNでそれぞれ書かれ
たプログラムP1〜PNを、共通の実行メディアSEmにロードすることに関す
るものであり、該実行メディアは、これらの様々なプログラムに、メモリサイズ
、実行速度、それらのプログラミング・ライブラリBP1〜BPM、そしてそれ
らのセキュリティのプロパティの点で有効な環境を与えることができるものであ
る。
【0011】 第三のサブ問題SP3は、様々なソース言語LS1〜LSNでそれぞれ書かれ
たプログラムP1〜PNを、共通の実行メディアSEmの内部で共存させること
を目指すものである。第三のサブ問題については、様々なプログラミング環境か
ら生じ、同一の物理メディア内に置かれたプログラムのセキュリティP1〜PN
を、処理することを推奨する。
【0012】 三つのサブ問題SP1、SP2及びSP3は、結局のところ、例えばプログラ
ム可能なチップカード用に書かれた様々なアプリケーションの操作互換性の問題
を、セキュリティと保護及び相互作用のメカニズムを保ちつつ、解決するという
ことに尽きるのであり、解決するために当業者なら、次のような三種類の解決法
を検討することはできるが、それは余り満足のいくものではない。
【0013】 第一の解決法は、最も単純で、最もよく使われるものであるが、図2の書き込
みオペレーションW1及びWMで示されるように、チップカードCnに移植され
た実行メディアSEn専用のソース言語LSnで書かれたプログラムPnを、例
えばチップカードC1及びCMに移植される実行メディアSE1及びSEM専用
のソース言語LS1〜LSMでそれぞれ書かれるプログラムPn1及びPnMに
リライトすることである。
【0014】 第一の解決法の主な欠点は、プログラマが手作業で引き受けなければならない
、重い負担のある退屈な作業で、それが、プログラムPnのアルゴリズムをプロ
グラムPn1,PnMにリライトすることからなり、しかも該リライトは、新し
いソース言語LS1,LSMの為のデータ構造と、異なるプログラミング・ライ
ブラリBP1,BPMに適合させなければならない。更にその上、新しい実行メ
ディアSE1とSEMのそれぞれが供給するセキュリティのメカニズムは、リラ
イトされたプログラムPn1,PnMのコードを再認証する必要がある。
【0015】 第一の解決法は、サブ問題SP1だけしか取り扱わず、従って、プログラムの
操作互換性の問題の非常に限られた部分しか解決しない。更に、実行メディアS
E1,SEn及びSEM以外の実行メディアに関連した他のソース言語が、新し
いカードの中に出現する場合には、前記他のソース言語でリライトする為に、最
初のソース言語LSnで書かれた古いプログラムの全てをやり直さなければなら
ない。
【0016】 第二の解決法は、交差コンパイルである。
【0017】 図3を参照すると、例えば二つのプログラムP1とP2はそれぞれのソース言
語LS1とLS2で書かれており、しかも、該それぞれのソース言語は、二枚の
チップカードC1及びC2の中のそれぞれの実行メディアSE1及びSE2にも
ともと専用のものであるが、検証、コンパイル、そしてロードの工程CVCC1
及びCVCC2でのコンパイルを経てから、それぞれを従来のように実行メディ
アSE1及びSE2内で実行することが可能となる。しかしながら、プログラム
P1とP2の実行は、それぞれメディアSE2及びSE1内で実行されなければ
ならず、しかも両方が、第三のチップカードC3に保存され、かつ第三のソース
言語LS3に専用の第三の実行メディアSE3内で実行されなければならない。
【0018】 最初のソース言語LS1またはLS2専用の、目的実行メディアSE1または
SE2とは別の、目的実行メディアメディアSE2及びSE3、またはSE1及
びSE3内でプログラムP1、またはP2を実行する為には、プログラムP1、
またはP2は、検証、コンパイル、そしてロードの追加の工程CVCC21及び
CVCC31,またはCVCC12及びCVCC32においてコンパイルされる
【0019】 第一の解決法と比較すると、第二の解決法では、プログラマが手作業でプログ
ラムのリライトを行う必要はもはやないが、非常に数多くの、検証、コンパイル
、そしてロードの工程CVCC12,CVCC21,CVCC31,CVCC3
2に従わなければならない。更に一般的には、N個のソース言語LS1〜LSN
とM個の実行メディアSE1〜SEMのためには、検証、コンパイル、そしてロ
ードの工程がN*M本必要となる。これらの工程は、それらの数といい、それら
の複雑さといい、ハード面、ソフト面そして人的側面での相当の投資を伴うもの
である。
【0020】 このような主な欠点の他にも、第二の解決法には次のような欠点がある; −プログラムの実行される実行メディアが、データ構造や、オペレーション、及
びこれらのプログラムを書くために用いられるソース言語LS1とLS2のプロ
グラミング・ライブラリに、きちんと前もって適合されていないため、メモリサ
イズとこのように生成されるプログラムの実行速度の点で性能が悪い。 −検証、コンパイル、そしてロードの工程は、新しいソース言語が一つ現れる場
合には、現在の目的実行メディアSE1〜SEMと同じ数だけ、また、逆に、新
しい実行メディアが一つ現れる場合には、現在のソース言語LS1〜LSNと同
じ数だけ作りだされることになる。 −プログラムを展開するためには、様々な実行メディアSE1〜SEMごとにコ
ンパイルされ証明されたコードを付与したプログラムを、全ての遠隔ロードサイ
トに予めロードしておかなければならず、それが第二の解決法を更に複雑で費用
のかかるものにしてしまう。
【0021】 第二の解決法は取り扱うのはサブ問題SP1だけであるが、第一の解決法と比
べると、自動的に取り扱うのであり、従って、プログラムの操作互換性の問題の
非常に限られた部分しか解決しない。更に、実行メディアSE1〜SEM以外の
他の実行メディアに関連した他のソース言語が、新しいカードの中に現われる場
合には、最初のプログラムの全てP1〜PNを、検証、コンパイル、そしてロー
ドの新しい工程を通過させ、前記他の実行メディアの為に証明されたコードを生
成しなければならない。
【0022】 第三の解決法で提案されるチップカードCPは、それぞれの中に、複数の実行
メディア、例えば、図4で示されるような、三つの実行メディアSE1,SE2
及びSE3を有している。従って、様々なソース言語LS1,LS2及びLS3
でそれぞれ書かれたプログラムP1,P2及びP3は、それぞれに検証、コンパ
イル、そしてロードの工程CVCC1,CVCC2及びCVCC3を経て、カー
ドCPにロードすることができる。カードCPは、各プログラムP1,P2,P
3に、それぞれのソース言語LS1,LS2,LS3専用の実行メディアSE1
,SE2,SE3しか有さない一枚のカードに個別にロードされた場合と全く同
じ機能を持たすことができる。
【0023】 第三の解決法は、ソース言語LS1,LS2及びLS3にそれぞれ関連した検
証、コンパイル、そしてロードの工程CVCC1,CVCC2及びCVCC3を
忠実に好適に保全しつつ、しかもサブ問題SP2も解決できるものである。
【0024】 にもかかわらず、第三の解決法には大きな欠点があり、それはカードに、移植
される様々な実行メディアは、それぞれが大量のコードを記述しており、それら
の実行メディアの数が大きくなるので、それだけに事実上実現不可能になってし
まうということである。この大きな欠点は、Bertil Foliot並びに
Ian Piumarta著の「Virtual Virtual Machi
nes」(1997年9月)、もしくは同じ著者の「A Dymically
Configurable Multi−language Executio
n Platform」(1998年)という文献に記載されたVVMタイプの
アーキテクチャにも存在する。このタイプのアーキテクチャ(VVM)には、メ
モリに複数の実行メディアが存在し、実行メディアはそれら自体が、低レベルの
原始的なシステムの補足的な抽象要素に基礎をおいている。このタイプの解決法
に必要なメモリは、実際にはチップカードの中では考えられぬほどのものであり
、実用的には、例えば更に多くのデータとプログラムを記憶する為にさらに有益
に利用できるはずのものである。
【0025】 本発明の主な目的は、一つのタイプの実行メディアごとにそれぞれ唯一となる
ソース言語に、プログラマを拘束させることなく、単一の実行メディアの中で様
々なソース言語で書き込まれた複数のプログラムを自動に実行する為の方法を提
供することである。この主な目的は、結局のところ、上記に定義された三つのサ
ブ問題SP1,SP2及びSP3を解決することであり、つまりは、上記の三つ
の解決法のいずれも完全には解決していない、様々なソース言語でのプログラム
の操作互換性の問題を解決することなのである。
【0026】 この目的の為に、各実行メディアに専用のソース言語でそれぞれ書かれた複数
のプログラムを、データ処理手段の方に移植させる方法は、以下のような過程か
ら成ることを特徴とする。 −ソース言語の最小のサブセットを表す中間言語で表現されたそれぞれのプログ
ラムに各プログラムをコンパイルし、 −中間言語専用の所定の実行メディアを、データ処理手段に供給し、そして、 −それぞれのソース言語を中間言語に適合させるそれぞれのプログラミング・ラ
イブラリと共に、中間言語でのそれぞれのプログラムを、データ処理手段にロー
ドし、中間言語でのプログラムを所定の実行メディア内で実行する。
【0027】 本発明は実行メディアの研究に基礎をおくものであって、該実行メディアは、
所定のマイクロプロセッサ式データ処理手段の実行メディア内に存在する最初の
最小の共通点である。例えば、実行メディアは、周知の様々なタイプのチップカ
ードの中に保存されており、つまり、それらのプログラムは、様々なソース言語
で書かれている。従って、本発明は、前述で示した第三の解決法の利点を、提供
するものであり、存在し得る全ての実行メディア全体を、マイクロプロセッサ式
データ処理手段の中に設置することを提案する。しかしながら、本発明は、相当
なメモリサイズ、つまりは実現不能なメモリサイズを必要としないで、一つの最
小限の中間言語専用の、小型化されてはいるが柔軟な実行メディアを一つしか、
チップカードのような各データ処理手段内に移植しないものである。そのような
場合には、その中間言語は、どの特定のソース言語とも結びついておらず、また
複数のソース言語の目的として役立つための基本言語として役割を果たしている
。従って、その中間言語を移植する為に必要なメモリは小さくなり、ゆえに、一
つのプログラムの実行は上記に提案された第三の解決法による場合よりも速くな
る。
【0028】 従って、本発明は次のようなものを組み合わせを活用する。 −様々な言語から生じるプログラムは勿論のこと、プログラミング・ライブラリ
や、それらが良好に機能する為に必要な特殊なセキュリティのプロパティをも表
現することができる中間言語と、 −その中間言語専用実行メディアではあるが、作業環境面は勿論のこと、アプリ
ケーションのセキュリティ面での各言語の制約によりよく適合する為に再構成も
行える実行メディア。
【0029】 本発明の変形によれば、コンパイルの過程は以下の過程が含まれていてもよい
。 −プログラムを、それぞれの実行メディアに専用の機械語でコンパイル済プログ
ラムに、コンパイルし、そして −そのコンパイル済プログラムを中間言語で表現されたそれぞれのプログラムに
変換する。
【0030】 この変形は、一つのプログラムのコンパイルされた結果からプログラムを開発
する人にとって、中間言語でコードを生成するために、有益なものとなりうる。
このオペレーションを可能にするツールは、変換器である。そのソース言語にそ
れぞれ結びついた実行メディアの命令は、中間言語で書かれたオペレーションで
置き換えられることになる。
【0031】 本発明のもう一つの側面によれば、本方法の過程は、ロードする過程の前に、
中間言語でのそれぞれのプログラムから有効化情報を抽出する為の一つの過程と
、ロードする過程の後に、抽出された有効化情報を所定の実行メディア内で検証
する過程を一つ含むことができる。
【0032】 もう一つの変形によれば、所定の実行メディアは、それらの実行メディアのう
ちの一つと類似したものにすることもできる。本発明の基礎的な実施例に比べる
と全体として有利さが劣るものではあるが、ソース言語が、類似の高水準で修正
された言語である場合には、この変形も有益なものとなりうる。
【0033】 所定の実行メディアが拡張可能であろうと拡張不可能であろうと、中間言語は
拡張可能なものであることが好ましい。少なくともソース言語の一つと中間言語
は、オブジェクト指向言語であるのが好適である。
【0034】 実際上は、本方法は、所定の実行メディアの特性をサーバーにより読み込む過程
を一つ含んでもよく、該サーバーは、その後、コンパイルする過程を実行する。
【0035】 データ処理手段は、例えばチップカードである。そのチップカードは、移動無
線電話端末に内蔵される加入者識別カードであってもよい。
【0036】 本発明の他の特徴と利点は、本発明の望ましい複数の実施例についての以下の
説明を、対応する添付図面を参照しつつ、読むことで更に明らかになっていく。 −図1は、既に説明を加えているが、それぞれの実行メディア用の様々なソース
言語でそれぞれ書かれた複数のプログラムの生成と実行のダイアグラムである。 −図2、3及び4は、既に説明を加えているが、第一、第二、及び第三の解決法
のダイアグラムであり、該解決法は、それぞれ先行技術で提案されたものであり
、様々な言語でのプログラムの操作互換性の問題を部分的に解決するものである
。 −図5は、本発明の好ましい実施例とその変形例に従う、様々なソース言語で書
かれた複数のプログラムの生成と実行のダイアグラムであり、一つの中間言語専
用で、かつ一枚のマイクロプロセッサ式カードに保存された一つの実行メディア
内で実行される。 −図6は、既知の言語で書かれた一つのプログラムを、本発明による中間言語に
コンパイルし変換する過程を示している。 −図7は、図6のプログラムに類似の、既知の言語で書かれた一つのプログラム
を中間言語に、直接コンパイルする過程である。 −図8は、第一の実施例による実行の前に、中間言語での一つのシーケンスを適
合させる過程を示している。 −図9と10は、仮想マシン言語で書かれた一つのシーケンスを、複数のシーケ
ンスに変換する際に、中間言語の拡張がある場合と無い場合とをそれぞれ示して
いる。 −図11は、実行前に、本発明の変形により、中間言語での一つのシーケンスを
適合させるところを示している。
【0037】 図5を参照すると、N個のアプリケーション・プログラムP1〜PNは、アプ
リケーション・サーバーSER内での一見して異なるソース言語LS1〜LSN
でそれぞれ書かれる可能性がある。ソース言語は「高水準言語」や、「高級言語
」と呼ばれることがある。
【0038】 本発明の好ましい実施例によると、本移植方法の目的は、本発明の汎用実行メ
ディアSEUにそれぞれのソース言語LSnで書かれた任意のプログラムPnを
、移植させることであり、該汎用実行メディアは、後述する「汎用」プログラム
可能チップカードCUのような、対応するデータ処理手段に保存されている。
【0039】 図5の左に示されているように、本移植方法は、1≦n≦Nでの、それぞれの
ソース言語LSnでの一つのプログラムPnの開発と供給の最初の過程E0の後
に、基本的に四つの過程E1〜E4を含む。
【0040】 プログラムP1〜Pnは、カードCUを保存する端末TEに遠隔通信ネットワ
ークRESを介して接続されたサーバーSER内で開発されたものである。例え
ば、端末TEは、ネットワークRESの賃貸線または専用線でサーバーに接続さ
れた銀行端末である。もう一つの例では、端末TEは、GSMタイプの移動無線
電話端末であり、デジタルセルラー無線電話ネットワークRESによってサーバ
ーSERに接続されており、サーバーは、無線電話ネットワークの信号ネットワ
ークを介して移動サービス交換局(MSC)に接続され、カードCUは、端末T
Eから取り外し可能なSIM(加入者識別モジュール)タイプの加入者識別カー
ドである。
【0041】 過程E1では、サーバーSERは、カードCU内の実行メディアSEUに問い
合わせて、その実行メディアの既に提示された特性をそこから読み取って登録す
る。次に、ソース言語LSnでのプログラムPnは、各目的実行メディアSEn
に専用の機械語で表現されたコンパイル済プログラムPCnにコンパイルされる
。過程E1を行うコンパイラは、サーバーSERにインストールされた一つのプ
ログラムである。次に、過程E2では、コンパイル済プログラムPCnを、本発
明による中間言語LIに変換する。コンパイラと同様に、言語の変換器も、サー
バーSERにインプリメンテーションされた一つのプログラムであり、過程E2
を実行する。
【0042】 中間言語LIには、特に次のような二つのプロパティを有する。 −拡張可能性:言語LIは、基本コマンドフィールドを質的に向上させることが
でき、他の言語から生じたプログラムを効率的に表現することができる。 −強度の類型化:既に知られているように、類型化によるコードのセキュリティ
のメカニズムはセキュリティチェックの為の可能な限りのきめの細かさを構成す
るものである。その場合、各言語のセキュリティのプロパティはカードの中にあ
る最初のモデルに基づいて明示されるものである。中間言語LIにより、オブジ
ェクト言語のタイプとクラスに合わせて拡張可能な類型化による検査が可能にな
る。
【0043】 中間言語LIの中には、非常に限られた数の命令しか含まれておらず、該命令
は、様々な実行メディアSE1〜SENの機械語を表す最小限のサブセットであ
る。追加のプログラミング・ライブラリは、過程E2で言語変換器によって使用
されて、実行システムSEn用の基本的な各オペレーションが、汎用実行メディ
アSEU用の一つの命令セットでは置き換えられなくなるというような事態を回
避している。このような予防をすることにより、カードCUにロードされるプロ
グラムのメモリ容量が大きくなる危険が限られる。
【0044】 図6が第一の例によって示している過程E1とE2は、ソース言語でのプログ
ラム用の過程であり、該プログラムは、サーバーSERが伝送するメッセージを
カード内に受信することに関して、オブジェクト指向のソース言語JAVA(登
録商標)で表現されたコードのセグメントPJのようなものである。
【0045】 過程E1では、従来のように、セグメントPJを擬似コード(バイト・コード
)と呼ばれる形式で、コンパイルされるバイナリプログラムPJCにコンパイル
するが、該擬似コードは、実行メディアSEJ、つまり仮想マシンの概念JAV
A(登録商標)がインプリメンテーションされたマイクロ・コンピュータの下で
機能することができる。従来は、JAVA(登録商標)言語の下での各命令によ
り、仮想マシンの言語の複数命令が生み出されてきた。
【0046】 次に過程E2では、変換のメカニズムは、各命令ごとに一つ一つJAVA(登
録商標)の擬似コードを、中間言語LIの擬似コードにより置き換えることにと
どまるものではなく、例えば、関数の呼出しの引数を決定しつつ、コンパイル済
プログラムPJC内の基本的なオペレーション・シーケンスを中間言語での異な
るシーケンスPJLIに変換するものである。この変換は、カードCUの外で行
われるので、コンパイラで用いられる最適化と変換の技術を移植することが可能
である。過程E2での変換により、どのようなソース言語を使うかにかかわらず
、カードに伝送される言語LIでのコードは、確実に有効なものになる。更に、
言語の変換は、カードCUがプログラムの実現可能性を検査する為に用いる言語
LIが、うまく機能していることを示す証拠要素を生成するのに寄与する。過程
E2の後で、言語変換器は、そのカードがそのプログラムの実現可能性を検証す
るのに役立つ類型化の情報を提供する。
【0047】 第二の例によれば、図7は、図6で示されたJAVA(登録商標)言語でのコ
ードのセグメントPJに関するのと同様に、C言語で表現され、かつ作業テーブ
ルの宣言に対応するコードのセグメントPCを示している。C言語でのプログラ
ムを実行することのできる機械語専用の実行メディア用のセグメントPCを、従
来のようにコンパイルする為のコンパイル過程E1の後で、過程E2は、機械語
での対応するセグメントを中間言語LIで表現されたシーケンスPCLIに変換
する。
【0048】 中間言語LIでは、シーケンスPCLIとシーケンスPJLIは同じである。
それらは、同じ変数と定数を含み、並びに同じように表現されたコマンドとオペ
レーションを含んでいるが、最初のソース言語に固有のシーケンスの終わりの、
一つの例外起動の書き込みは別である。
【0049】 本発明による中間言語LIは、このように適応性のあるものである。図6と7
に示された例によれば、全てのオペレーションまたはコマンドを一つのオブジェ
クトに適用されるメッセージの形式で表現されている。既に知られたオブジェク
ト指向言語と同様に、中間言語での新しいメッセージは、いつでも定義すること
ができる。
【0050】 図5は、第一の実施例の第二の変形を示しており、上と右に点線で示している
のは、例えば最初はソース言語LSNで表現されたプログラムPNの生成に関す
るものである。この第二の変形については、コンパイルと変換の過程E1とE2
は、コンパイル過程E12で置き換えられ、該手順E12は、ソース言語LSN
でのプログラムPNを、中間言語LIで直接表現されたコンパイル済プログラム
にコンパイルし、該コンパイル済プログラムは次に、検証されて、過程E3でチ
ップカードCUにロードされる。
【0051】 図7で示された例によれば、過程12は、C言語でのセグメントPCを、言語
LIでのシーケンスPCLIに直接変換するものである。
【0052】 次に、図5での過程E3に戻ると、中間言語LIで表現されたプログラムは、
検証とロードの工程CVCを経て、目的のチップカードCUの中に検証されて遠
隔ロードされる。工程CVCは、少なくともその一部、好ましくはその全部をカ
ードCUにインストールされる。工程CVCの他の部分は、特に、中間言語での
プログラムの実行を動的に検証することに関するものであり、サーバーSER内
か、あるいはそのカードを受け入れる端末TE内にインストールされる。
【0053】 過程E3でカードCUの中での検証及び/または適合化を行うメカニズムは、
カード内に受信し、かつ中間言語LIで表現されたコードを、中間言語で直接実
行可能なバイナリプログラムの形式に変換する。特にそのセキュリティ、類型化
、そして封じ込めに関しての、中間言語でのプログラムの有効性の情報は、過程
E3の際に、そのプログラムから抽出されて端末TEに設定されることができ、
カードの中にそのプログラムをロードした後で、そのカードによって検証される
ものである。検証が失敗すると、プログラムは無効化される。この検証により、
プログラムをサブ問題SP2と同調させて、使用する環境が有効であることが確
実になる。
【0054】 過程E3でのロードの際に行われる変換は僅かなものにすることが可能であり
、チップカードの環境に固有な関連性のエディットのメカニズムに帰着させるこ
とができる。
【0055】 過程E3の目的は、過程E1及びE2または過程E12で行われる作業を、カ
ード内で本来の場所に補完することである。検証及び/又は適合化のメカニズム
は、受信したコードを完全に変換し、それをカード内での汎用実行メディアSE
Uによって、実行可能なプログラムに変換する。この変換の目的は、セキュリテ
ィ・チェックを動的に行う場合、プログラムの実行時間の点で、大いに不利益に
なってしまうが、セキュリティについてはそれを静的に行うことにより、コード
をより有効なものにすることである。実際上は、カードCUに搭載された適合化
のメカニズムにより、実行メディアSEU、つまりカードの中にあるマイクロプ
ロセッサにより直接実行されるプログラムを生成するという重要な仕事を行うこ
とができる。図8は、適合化されたシーケンスPADを供給する為のシーケンス
PJLI,PCLIに類似した中間言語PLIでのシーケンスから、過程E3で
適合化メカニズムにより実行される処理の一例を示している。
【0056】 過程E4では、中間言語LIでのプログラムは、中間言語LIを直接サポート
する為のカードCUの中にインストールされている。カードSUは特有の適合化
メカニズムを有している。
【0057】 チップカードCUはプログラム可能であり、つまり該カードは、その寿命の全
期間にわたってプログラムを受け入れるということであり、その中には中間言語
LI専用の実行メディアSEUがある。従って、多様なソース言語LS1〜LS
Nで書かれたプログラムP1〜PNは、同一のカードCUの中で共存しており、
該カードCU自体は、特にソース言語LS1〜LSNのいずれか一つ専用という
わけではなくて、様々なソース言語で書かれた様々なプログラムを収容すること
ができ、それが、サブ問題SP2を解決する。
【0058】 汎用実行メディアSEUの中には、最初のプログラムP1〜PNの実行メディ
アSE1〜SENの限定的なサブセットが一つあるだけである。過程E3では、
中間言語LIでの各プログラムと同時にプログラミング・ライブラリBPnをロ
ードし、過程E4で、ソース言語LSnを中間言語に適合させ、そうして最初の
プログラムPnを中間言語で実行する。その中間言語に特有のセキュリティのプ
ロパティは汎用実行メディアSEUの中に存在するものに「上書き」するかたち
でインポートする。カードCU内の汎用実行メディアSEUのアーキテクチャで
は、この側面は、セキュリティのプロパティを維持しつつ、メモリサイズと実行
速度の面で、搭載されたプログラムにとって効率的な環境を供給するものと考え
られており、それが、サブ問題SP3を解決する。
【0059】 カードCUに設置され、中間言語LIの実行をサポートする汎用実行メディア
SEUは、 −サポートされたそれぞれの新しいソース言語につき新しいプログラミング・ラ
イブラリを受け入れて、そのソフトウェア環境の中で新しい言語で最初に書かれ
たプログラムを実行するのに適しており、 −プログラムによって処理されるタイプのチェックでセキュリティのメカニズム
を確実にサポートし、また、新しいタイプの定義も確実に受け入れて、新しいプ
ログラミング・ライブラリをロードする際に、関連したセキュリティのメカニズ
ムを記述するのに適している。
【0060】 過程E4において、プログラムの先進的なインタープリタのメカニズムは実行
メディアそれ自体を対象にしている。サブ問題SP2とSP3の問題に対応する
為に、実行可能な各プログラムの生成の為の目的として、ソフトウェア及び/ま
たはハードウェアの実行メディアSEUを用いる。最初に活用されるものとは異
なった命令セットが、その実行メディアSEUに含まれることが望ましい。この
機能により、絶対的に、実行メディアSEUの完全な再定義が可能になり、特定
の言語から生じるコードを直接、解釈することができるようになる。過程E4で
目指す拡張のメカニズムは、例えば所定の言語から生じるコードの複数の部分に
とって有益であり、特に、カードCUの最初の汎用実行メディアSEUによって
供給されるセマンティックとは異なるセマンティックを定義するオペレーション
を移植することが可能になる。
【0061】 拡張のメカニズムは、例えば、一つのテーブルにアクセスする基本命令に関す
るものであり、それがテーブルの限界からはみ出るものである場合は、JAVA
(登録商標)言語では一つの例外を起動するが、その一方で、中間言語L1を最
初に移植する際には、基本命令により、そのテーブルのいずれかのセルへのアク
セスが可能になる。図9に示されているように、単純な解決法は、オペレーショ
ンOPJをJAVA(登録商標)言語に変換して、中間言語LIでのオペレーシ
ョン・シーケンスOPLIaで、それを拡張することなく、一つのテーブルにア
クセスすることにある。コードが無用に膨れ上がることは、カード内部では不利
になり、それを避ける為に、JAVA(登録商標)の擬似コード(バイト・コー
ド)と同等のセマンティックを正確に実現する基本的命令を、図10の一つのオ
ペレーション・シーケンスOPLIb内で線7〜10で示されているように、汎
用実行メディアSEUの中で定義される。
【0062】 本発明の一つの変形によれば、過程E3とE4は、図5の右に示される過程E
3dとE4dに置き換えられる。目指す目的は、特殊化された実行メディアSE
Sであり、例えばハードウェアのアーキテクチャと、場合によっては、ソース言
語LS1〜LSN専用の最初の実行メディアSE1〜SENの一つに類似した既
に知られているソフトウェアのアーキテクチャがある。
【0063】 過程E3dでは検証とロードの工程CVCdを質的に向上させるのは、最適化
メカニズムOPTであり、それは、そのカードの外部で最適な効率的なネイティ
ブの最終コードを生成するものである。セキュリティの束縛は、できれば緩める
のが望ましいが、それはプログラムを作るのが特定のチップカードCSの為であ
ることがはっきりしており、業界で知られた信頼性の検査を通過するものだから
である。
【0064】 図11は過程E3dでの、中間言語LIでのシーケンスPCIdと適合化され
たシーケンスPAdとの間の適合化を示している。
【0065】 過程E4dでは、プログラミング・ライブラリBPn,BPdnのセットを、
実行メディアSESに搭載し、ソース言語LSnでのプログラムPnから生じる
プログラムがその環境で機能するようにする。
【0066】 この変形による実行メディアSESには検証とロードの工程がM本必要であり
、従って、新しい工程CVCの書き込みは新しい言語で機能する。
【0067】 この変形例は「汎用」実行メディアSEUでの実施例よりは利点の少ないもの
である。実行メディアSESは所定の実行メディアSEnに依存したままである
し、ソース言語LSnのプログラミング・ライブラリBPnと最初は別の言語の
為にプログラムされた実行メディアSESについて予想されるプログラミング・
ライブラリとの間の不適合により、更に大きなメモリの容量が必要となり、効率
も落ちることになる。
【図面の簡単な説明】
【図1】 それぞれの実行メディア用の様々なソース言語でそれぞれ書かれた複数のプロ
グラムの生成と実行のダイアグラムである。
【図2】 第一、第二、及び第三の解決法のダイアグラムであり、該解決法は、それぞれ
先行技術で提案されたものであり、様々な言語でのプログラムの操作互換性の問
題を部分的に解決するものである。
【図3】 第一、第二、及び第三の解決法のダイアグラムであり、該解決法は、それぞれ
先行技術で提案されたものであり、様々な言語でのプログラムの操作互換性の問
題を部分的に解決するものである。
【図4】 第一、第二、及び第三の解決法のダイアグラムであり、該解決法は、それぞれ
先行技術で提案されたものであり、様々な言語でのプログラムの操作互換性の問
題を部分的に解決するものである。
【図5】 本発明の好ましい実施例とその変形例に従う、様々なソース言語で書かれた複
数のプログラムの生成と実行のダイアグラムであり、一つの中間言語専用で、か
つ一枚のマイクロプロセッサ式カードに保存された一つの実行メディア内で実行
される。
【図6】 既知の言語で書かれた一つのプログラムを、本発明による中間言語にコンパイ
ルし変換する過程を示している。
【図7】 図6のプログラムに類似の、既知の言語で書かれた一つのプログラムを中間言
語に、直接コンパイルする過程である。
【図8】 第一の実施例による実行の前に、中間言語での一つのシーケンスを適合させる
過程を示している。
【図9】 仮想マシン言語で書かれた一つのシーケンスを、複数のシーケンスに変換する
際に、中間言語の拡張がある場合と無い場合とをそれぞれ示している。
【図10】 仮想マシン言語で書かれた一つのシーケンスを、複数のシーケンスに変換する
際に、中間言語の拡張がある場合と無い場合とをそれぞれ示している。
【図11】 実行前に、本発明の変形により、中間言語での一つのシーケンスを適合させる
ところを示している。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,MZ,SD,SL,SZ,TZ,UG ,ZW),EA(AM,AZ,BY,KG,KZ,MD, RU,TJ,TM),AE,AG,AL,AM,AT, AU,AZ,BA,BB,BG,BR,BY,CA,C H,CN,CR,CU,CZ,DE,DK,DM,DZ ,EE,ES,FI,GB,GD,GE,GH,GM, HR,HU,ID,IL,IN,IS,JP,KE,K G,KP,KR,KZ,LC,LK,LR,LS,LT ,LU,LV,MA,MD,MG,MK,MN,MW, MX,NO,NZ,PL,PT,RO,RU,SD,S E,SG,SI,SK,SL,TJ,TM,TR,TT ,TZ,UA,UG,UZ,VN,YU,ZA,ZW Fターム(参考) 5B035 AA06 BB09 CA11 5B081 CC16 CC41

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】それぞれの実行メディア(SE1〜SEN)に専用のソース言
    語(LS1〜LSN)でそれぞれ書かれた複数のプログラム(P1〜PN)を、
    一つのデータ処理手段に移植させる方法であって、以下の過程を含むことを特徴
    とする方法。 −ソース言語の最小のサブセットを表す中間言語(LI)で表現されたそれぞれ
    のプログラムに各プログラム(Pn)をコンパイルし(E1,E2;E12)、
    −中間言語専用の所定の実行メディア(SEU;SES)を、データ処理手段(
    CU;CS)に供給し(E4)、 −それぞれのソース言語(LSn)を中間言語(LI)に適合させるそれぞれの
    プログラミング・ライブラリ(BPn)と共に、中間言語でのそれぞれのプログ
    ラムを、データ処理手段にロードし(E3)、中間言語でプログラムを所定の実
    行メディア(SEU;SES)内で実行する。
  2. 【請求項2】コンパイルする過程は以下の過程を含む、請求項1に記載の方
    法。 −プログラム(Pn)を、それぞれの実行メディア(SEn)に専用の機械語で
    済プログラム(PCn)にコンパイルし、そして −コンパイル済プログラム(PCn)を中間言語(LI)で表現されたそれぞれ
    のプログラムに変換する。
  3. 【請求項3】ロードする過程(E3)の前に、中間言語(LI)でのそれぞ
    れのプログラムから有効化情報を抽出する為の一つの過程と、ロードする過程の
    後に、抽出された有効化情報を所定の実行メディア(SEU;SES)で検証す
    る為の一つの過程(E3)を含む、請求項1または2に記載の方法。
  4. 【請求項4】所定の実行メディア(SES)は、実行メディア(SE1〜S
    EN)のうちの一つに類似したものである、請求項1から3のいずれか一つに記
    載の方法。
  5. 【請求項5】所定の実行メディア(SEU;SES)の特性を、サーバー(
    SER)により読込む一つの過程を含み、該サーバーは、次にコンパイルする過
    程(E1,E2;E12)を実行する、請求項1から4のいずれか一つに記載の
    方法。
  6. 【請求項6】データ処理手段は、チップカード(CU,CS)である、請求
    項1から5のいずれか一つに記載の方法。
  7. 【請求項7】チップカードは,移動無線電話端末(TE)に内蔵された加入
    者識別カードである、請求項6に記載の方法。
JP2001501983A 1999-06-04 2000-06-02 様々なソース言語の実行メディアへの移植 Expired - Fee Related JP3706065B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9907239A FR2794543B1 (fr) 1999-06-04 1999-06-04 Migration de differents langages sources vers un support d'execution
FR99/07239 1999-06-04
PCT/FR2000/001528 WO2000075776A1 (fr) 1999-06-04 2000-06-02 Migration de differents langages sources vers un support d'execution

Publications (2)

Publication Number Publication Date
JP2003501741A true JP2003501741A (ja) 2003-01-14
JP3706065B2 JP3706065B2 (ja) 2005-10-12

Family

ID=9546536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001501983A Expired - Fee Related JP3706065B2 (ja) 1999-06-04 2000-06-02 様々なソース言語の実行メディアへの移植

Country Status (10)

Country Link
US (1) US6810518B1 (ja)
EP (1) EP1192537B1 (ja)
JP (1) JP3706065B2 (ja)
CN (1) CN1367895A (ja)
AU (1) AU5229800A (ja)
DE (1) DE60001118T2 (ja)
ES (1) ES2190415T3 (ja)
FR (1) FR2794543B1 (ja)
MX (1) MXPA01012308A (ja)
WO (1) WO2000075776A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2795835B1 (fr) * 1999-07-01 2001-10-05 Bull Cp8 Procede de verification de transformateurs de codes pour un systeme embarque, notamment sur une carte a puce
US20100174717A1 (en) * 2002-02-28 2010-07-08 Olivier Fambon Interative serialisation procedure for structured software objects
US8010405B1 (en) 2002-07-26 2011-08-30 Visa Usa Inc. Multi-application smart card device software solution for smart cardholder reward selection and redemption
US8015060B2 (en) 2002-09-13 2011-09-06 Visa Usa, Inc. Method and system for managing limited use coupon and coupon prioritization
US8626577B2 (en) 2002-09-13 2014-01-07 Visa U.S.A Network centric loyalty system
US7121456B2 (en) 2002-09-13 2006-10-17 Visa U.S.A. Inc. Method and system for managing token image replacement
US9852437B2 (en) 2002-09-13 2017-12-26 Visa U.S.A. Inc. Opt-in/opt-out in loyalty system
US7827077B2 (en) 2003-05-02 2010-11-02 Visa U.S.A. Inc. Method and apparatus for management of electronic receipts on portable devices
US7380242B2 (en) * 2003-05-14 2008-05-27 Mainsoft Israel Ltd. Compiler and software product for compiling intermediate language bytecodes into Java bytecodes
US8554610B1 (en) 2003-08-29 2013-10-08 Visa U.S.A. Inc. Method and system for providing reward status
US7104446B2 (en) 2003-09-03 2006-09-12 Visa U.S.A., Inc. Method, system and portable consumer device using wildcard values
US7051923B2 (en) 2003-09-12 2006-05-30 Visa U.S.A., Inc. Method and system for providing interactive cardholder rewards image replacement
US8407083B2 (en) 2003-09-30 2013-03-26 Visa U.S.A., Inc. Method and system for managing reward reversal after posting
US8005763B2 (en) 2003-09-30 2011-08-23 Visa U.S.A. Inc. Method and system for providing a distributed adaptive rules based dynamic pricing system
US7653602B2 (en) 2003-11-06 2010-01-26 Visa U.S.A. Inc. Centralized electronic commerce card transactions
DE102005033597A1 (de) * 2005-07-19 2007-02-01 Giesecke & Devrient Gmbh Erzeugung und Ausführung von Programmen
CN101256612B (zh) * 2008-04-01 2010-11-03 北京飞天诚信科技有限公司 基于.Net卡的程序保护方法和系统
US8473897B2 (en) * 2008-10-03 2013-06-25 Microsoft Corporation Common intermediate representation for data scripting language
US7992781B2 (en) 2009-12-16 2011-08-09 Visa International Service Association Merchant alerts incorporating receipt data
US8429048B2 (en) 2009-12-28 2013-04-23 Visa International Service Association System and method for processing payment transaction receipts
US11163560B1 (en) * 2020-04-09 2021-11-02 Capital One Services, Llc Methods and arrangements to process comments

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2539385B2 (ja) * 1986-08-08 1996-10-02 株式会社日立製作所 情報処理装置
JP3602857B2 (ja) * 1991-04-23 2004-12-15 株式会社日立製作所 多機種対応型情報処理システム、および、方法
US6138140A (en) * 1995-07-14 2000-10-24 Sony Corporation Data processing method and device
US5794164A (en) * 1995-11-29 1998-08-11 Microsoft Corporation Vehicle computer system
US5732074A (en) * 1996-01-16 1998-03-24 Cellport Labs, Inc. Mobile portable wireless communication system
US5960200A (en) * 1996-05-03 1999-09-28 I-Cube System to transition an enterprise to a distributed infrastructure
ES2184066T3 (es) * 1996-10-25 2003-04-01 Schlumberger Systems & Service Uso de un lenguaje de programacion de alto nivel con microcontrolador.
US6321376B1 (en) * 1997-10-27 2001-11-20 Ftl Systems, Inc. Apparatus and method for semi-automated generation and application of language conformity tests
US6199128B1 (en) * 1998-03-26 2001-03-06 Gemplus, S.C.A. Smart card system for use with peripheral devices

Also Published As

Publication number Publication date
DE60001118T2 (de) 2003-10-16
AU5229800A (en) 2000-12-28
FR2794543A1 (fr) 2000-12-08
US6810518B1 (en) 2004-10-26
JP3706065B2 (ja) 2005-10-12
EP1192537B1 (fr) 2003-01-02
ES2190415T3 (es) 2003-08-01
CN1367895A (zh) 2002-09-04
MXPA01012308A (es) 2002-08-12
FR2794543B1 (fr) 2001-08-24
EP1192537A1 (fr) 2002-04-03
WO2000075776A1 (fr) 2000-12-14
DE60001118D1 (de) 2003-02-06

Similar Documents

Publication Publication Date Title
JP2003501741A (ja) 様々なソース言語の実行メディアへの移植
US5675804A (en) System and method for enabling a compiled computer program to invoke an interpretive computer program
US5038025A (en) Method of receiving program down-loaded to IC card and IC card thereof
CN111176791B (zh) 一种基于多虚拟机区块链平台跨虚拟机调用方法
US8001518B2 (en) Configuring a shared library to accommodate relocatable data in a pervasive device
CN109739508B (zh) 源代码编译方法、装置、系统及存储介质
CN108139921A (zh) 仿真器的性能优化
US7181732B2 (en) Method and apparatus for facilitating lazy type tagging for compiled activations
US7581216B2 (en) Preserving platform independence with native accelerators for performance critical program objects
CN108229148A (zh) 一种基于Android虚拟机的沙箱脱壳方法及系统
CN114115990A (zh) 动静结合二进制翻译的程序迁移方法、系统及存储介质
US7197600B2 (en) Transferring data along with code for program overlays
US20080127034A1 (en) Distributed resource understanding tool management
US7051323B2 (en) Method and apparatus for initializing romized system classes at virtual machine build time
US6901591B1 (en) Frameworks for invoking methods in virtual machines
CN115705194A (zh) 一种硬件内存序架构下的代码处理方法及相应装置
CN114840195B (zh) 一种针对iOS SDK静态库的私有化方法
CN116107578A (zh) 一种执行智能合约的方法、装置、电子设备和存储介质
CN110990018B (zh) 一种嵌入式系统的编译方法及编译系统
CN112650512A (zh) 硬件驱动方法及装置、终端、存储介质
CN111880803A (zh) 一种应用于多平台的软件构建方法及装置
JP3682050B2 (ja) 組込みソフトウェア開発装置
CN112783502A (zh) 一个面向移动端区块链节点的访问方法及系统
EP1306757A2 (en) Transferring data along with code for program overlays
KR100703285B1 (ko) 메시르를 이용한 교환 시스템의 동적 서비스를 지원하는방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041124

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050223

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050524

A524 Written submission of copy of amendment under section 19 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20050524

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050727

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100805

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110805

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees