JIS X 4346:1999 情報処理技術―マルチメディア・ハイパメディア情報符号化―第6部:拡張対話型応用 | ページ 2

                                                                                              5
X 4346 : 1999 (ISO/IEC 13522-6 : 1998)
3.29 スクリプト言語 (script language)応用プログラムが非専門プログラマによっても簡単にかつ迅速
に設計できるようにしたプログラム言語。
後入れ先出し (LIFO, last-in-first-out) で要素を追加(プッシュ)し削除(ポップ)
3.30 スタック (stack)
することができる情報蓄積機構。
3.31 システムクラス (system class) JVMクラスのうち,その実装が(少なくとも部分的に)システム
依存になって(したがって,機械語で作られて)いることから,VMから使えるように実行時環境に備わ
っていなければならないクラス。
3.32 仮想機械,VM (virtual machine) マイクロプロセッサ及びその振る舞いに対する抽象的な仕様。
備考 VMの実装対象となるプロセッサの機種は,様々である。VMは,どの機種に対しても同じ命
令群を実行できるように実装される。VMと同一の命令群をもったマイクロプロセッサを設計
することも可能である。VM命令語は,ソフトウェアを可搬にするためにも使うことができる。
4. 記号及び短縮形 この規格で用いる主な記号及び短縮形を次に示す。
API Application Programming Interface
ASN.1 Abstract Syntax Notation One
ETSI European Telecommunications Standards Institute(欧州通信規格機関)
IEC International Electrotechnical Commission(国際電気標準会議)
ISO Internationai Organisation for Standardisation(国際標準化機構)
ITU-T International Telecommunication Union, Telecommunication standardisation sector
(国際電気通信連合,電気通信標準化部門)
JVM Java Virtual Machine(Java仮想機械)
HTML HyperText Mark-up Language(ハイパテキストマーク付け言語)
MHEG Multimedia and Hypermedia information coding Expert Group
(マルチメディア・ハイパメディア情報符号化)
VM Virtual Machine(仮想機械)
WWW World Wide Web
5. 適合性の要件 この規格は,次の事項に対する適合性要件を定義する。
− 情報オブジェクト。すなわち,MHEG-6オブジェクト。
− 実装。すなわち,MHEG-6エンジンの実装。
5.1 情報オブジェクトの適合性 適合したMHEG-6オブジェクトは,次のすべての基準を満たさなけれ
ばならない。
− オブジェクトの符号化及び構文は,5.1.1の規定に適合しなければならない。
− オブジェクトの意味は,5.1.2の規定に適合しなければならない。
情報オブジェクトの適合性は,端末において実行されることを目的として交換される情報オブジェクト
に対して調べられる。
5.1.1 符号化及び構文 適合したMHEG-6オブジェクトは,附属書Aに定義した符号化規則及び構文,
又は附属書Bに定義した符号化規則及び構文のいずれかに従って符号化しなければならない。さらに,適
合したMHEG-6交換プログラムオブジェクトの属性は,7.1の構文及び符号化の規定に従わなければなら
ない。
5.1.2 意味 適合したMHEG-6オブジェクトの構成要素は,JIS X 4345及びこの規格の7.12.に定義す
る意味規則に合致しなければならない。
5.1.3 プロファイル この規格は,いかなるプロファイルも定義しない。

――――― [JIS X 4346 pdf 6] ―――――

6
X 4346 : 1999 (ISO/IEC 13522-6 : 1998)
5.2 実装の適合性 この規格の実装は,MHEG-6エンジンとする。
この規格は,MHEG-6オブジェクトの意味を定義する。これは,情報オブジェクトではなく,MHEG-6
エンジンの振る舞いに関する適合性の要件にほかならない。
5.2.1 適合性の要件 MHEG-6エンジンの適合性は,JIS X 4345の4.に定義されるように,応用領域の定
義に照らしてはじめて判断できる。
JIS X 4345の4.に列挙された必す(須)のクラスのすべてに加え,いかなるMHEG-6エンジンも,次の
クラスのすべての属性と内部振る舞いとを解釈できなければならない。
− 交換プログラム
− オクテット型変数,整数型変数,論理型変数,コンテント参照型変数及びオブジェクト参照型変数
いかなる適合したMHEG-6エンジンも,応用領域の定義に含まれる任意のMHEG-6適合のオブジ
ェクトの解釈を行えなければならない。特に,MHEG-6適合のエンジンは,次の基準に合致しなけれ
ばならない。
− JIS X 4345に適合する。
− 7.に定義するMHEG-5交換プログラムオブジェクトに関する意味の規定を解釈する。
− アプレットクラスが応用領域の定義に含まれる場合,MHEG-6適合のエンジンは,MHEG-6のアプレ
ットクラスを,8.に定義する属性,事象,内部振る舞い,及び基本操作とともに解釈する。
− 9.に定義するとおりに,JVMコードを実行する。
− JVMコードから10.に定義するカーネルAPIに対する完全なアクセスを可能にする。
− JVMコードから11.及び附属書Cに定義するMHEG-5 APIの全体又はその一部に対してアクセスする
ことが可能である。
− 12.に定義するMHEG-5とJVMとの相互動作を可能にする。
5.2.2 適合性宣言文書 この規格に対する適合性を主張するには,次の情報をもつ適合性記述文書を用意
しなければならない。この適合性宣言文書は,次の基準のすべてを満たさなければならない。
− この規格及びJIS X 4345で要求される必ず機能に,適切な箇条番号及び細別符号を付けて列挙する。
− 適用する規格の正式名称,規格番号及び発効年を示す。
− この規格及びJIS X 4345に定義された任意選択機能のうち,いずれの機能が実装されているかを記す。
この目的で,JIS X 4345の4.に規定されるように,応用領域に依存する機能のすべてを記載する。
− この規格及びJIS X 4345に定義される実装依存機能のすべてに対して,実装の振る舞いを記述する。
この要件を満たすためには,それらの機能を列挙し,更に,システムの文書に対する参照又はそれら
の機能に関する完全な構文と意味とを与えなければならない。適合性宣言文書は,この規格又はJIS X
4345で実装依存としている機能,又はこれらの規格で未定義若しくは未記述と認められる機能に対し
ては,実装の動作を示してもよい。
5.3 応用の適合性 適合したMHEG-6応用(3.17参照)に含まれる任意の交換プログラムオブジェクト
は,適合したMHEG-6交換プログラムオブジェクトでなくてはならない。さらに,適合したMHEG-6応
用のすべてのオブジェクトは,附属書A又は附属書Bのいずれかに定義する表記法に従い,同一の表記法
で符号化しなければならない。
6. この規格の構成 MHEG-6の仕様は,次の事項で構成する。
a) 交換単位としてのMHEG-5オブジェクトに関する事項
1) IS X 4345の構文及び意味への適合。

――――― [JIS X 4346 pdf 7] ―――――

                                                                                              7
X 4346 : 1999 (ISO/IEC 13522-6 : 1998)
2) 交換プログラムオブジェクトヘの構文制限及び意味拡張(7.参照)。
3) アプレットクラス及びInvoke基本操作の新設(8.参照)。
4) 符号化表現(附属書A参照)。JIS X 4345附属書Aの符号化表現の拡張版。
5) 符号化表現(附属書B参照)。JIS X 4345附属書Bの符号化表現の拡張版。オブジェクトは,4)又
は5)のいずれかの表現をとる。
b) 交換様式としてのJVM命令語列に関する事項 これらは,交換プログラムオブジェクトの
OriginalContent属性の交換に用いる。
1) VMの命令語表現及び意味(9.参照)。
2) カーネルAPI(Java. lang,Java. util及びJava. ioの各パッケージ,10.参照)。常駐して,必要な機能
をJVM命令語列に提供する。
3) HEG-5 API(iso. mheg5パッケージ,11.及び附属書C参照)。MHEG-5オブジェクトの取扱い機能
及びMHEG-5振る舞いの制御機能をJVM命令語列に提供する。
4) 協調実行に関する要件(12.参照)。MHEG-5オブジェクトからJVMのメソッドの駆動及びJVMク
ラスからのMHEG-5基本操作の駆動の意味を与える。
7. MHEG-6交換プログラムクラス 交換プログラムクラス及びその下位クラスに適用する意味拡張及
び構文制限,並びにこれらのクラスに関する基本操作を規定する。
7.1 交換プログラムオブジェクトの構文 MHEG-6オブジェクトは,7.1で特に規定する場合を除き,JIS
X 4345の規定によるMHEG-5クラスの構文に従わなければならない。7.1では,MHEG-6オブジェクトの
適合要件として,MHEG-5オブジェクトの構文に対する制限(値,任意選択機能又はその組合せ)を規定
する。
7.1.1 交換プログラムクラスの構文 MHEG-6交換プログラムオブジェクトは,1個以上のJVMクラス
をカプセル化するのに使う。カプセル化するJVMクラスは,交換プログラムオブジェクトに直接含めるか,
そこから参照しておくかする。
7.1.1.1 Name属性 MHEG-6交換プログラムオブジェクトのName属性は,空文字 (NUL) で終端した
UTF-8符号での文字列を並べた列として符号化しなければならない。それぞれの文字列は,交換プログラ
ムオブジェクトがカプセル化するJVMクラスの名前を表す。
備考 文字列のUTF-8符号による表現は,9.2で引用するJVMクラスのファイル形式によって定まる。
それは,JIS X 0221 (UCS) 文字の可変長列であり,空文字以外のすべての基本ラテン文字を1
バイトだけで表す。
7.1.1.2 OriginalContent属性 MHEG-6交換プログラムオブジェクトのOriginalContent属性は,次のとお
りに符号化しなければならない。
a) riginalContent属性がIncludedContent型である場合,そのOctetString値は,12.1に規定するプログラ
ムコンテンツ交換形式で定まる構文に従わなければならない。
b) riginalContent属性がReferenceContent型である場合,そのContentReference要素は,次のいずれかで
なければならない。
1) 空文字で終端したJIS X 0201の表1の符号化による文字列を並べた列。それぞれの文字列は,JVM
クラスのデータを収めたファイルの名前を表す。この列は,Name属性の列と同じ要素数をもち,
Name属性に並んだクラスの順に対応するファイル名を並べていなければならない。
2) 空の文字列1個。この場合,(Name属性に並べられた)JVMクラスの名前には,処理系依存の対応

――――― [JIS X 4346 pdf 8] ―――――

8
X 4346 : 1999 (ISO/IEC 13522-6 : 1998)
規則に従ってファイルの名前が対応付けられる。
7.1.1.3 ContentHook属性 MHEG-6交換プログラムオブジェクトのContentHook属性は,0に設定する。
この値は,JVM命令語で符号化されたプログラムを意味する。
7.1.1.4 Shared属性 Applicationオブジェクトの一部として交換対象となるMHEG-6交換プログラムオ
ブジェクト(応用全体が有効範囲)のShared属性は,Trueに設定する。
7.1.2 交換プログラムオブジェクトに適用する基本操作の構文 MHEG-6交換プログラムオブジェクト
を対象とするCall基本操作及びFork基本操作は,その引数Parametersの中に,GenericInteger型の第1引
数Class及びGenericOctetString型の第2引数Methodをもっていなければならない。
第1引数Classは,InterchangedProgramオブジェクトのName属性に与えられたJVMクラスの列の要素
番号(1から始める。)を表す。
第2引数Methodは,UTF-8符号による文字列として,第1引数Classが示すクラスがもつ静的メソッド
の名前を表す。
このCall基本操作又はFork基本操作のActivation振る舞いは,Classで指定されたクラスのMethodが示
すメソッドを,その基本操作へのParametersとして与えられた残りの引数を(値渡しで)引数として与え
て駆動することを意味する。
備考 Call基本操作又はFork基本操作へのParametersに,そのプログラムの入力引数又は出力引数の
意味でMHEG-5変数(GenericObjectReference型として)を使うこともできる。出力引数として
使う場合は,プログラムの中で,MHEG-5 API VariableクラスのSetVariable操作を用いて明示的
に値を入れる必要がある。
7.2 交換プログラムオブジェクトの意味 ここでは,MHEG-5の用語を用いて,MHEG-5オブジェクト
の振る舞いの記述に対する意味の拡張について示す。
7.2.1 InitiallyAvailable属性 あるMHEG-6交換プログラムオブジェクトのInitiallyAvailable属性がTrue
である場合,その交換プログラムオブジェクトのPreparation振る舞いは,その交換オブジェクトが附属し
ているMHEG-5のグループ(シーン又はアプリケーション)オブジェクトのPreparation振る舞いによって
引き起こされなければならない。
7.2.2 交換プログラムオプジェクトの有効範囲 要素クラスのサブクラスの1実体として,任意の
MHEG-5交換プログラムオブジェクトは,シーンオブジェクト又はアプリケーションオブジェクトに附属
する。
MHEG-6交換プログラムオブジェクトの有効範囲は,その交換プログラムオブジェクトが附属する
MHEG-5のグループ(シーン又はアプリケーション)オブジェクトとする。MHEG-6交換プログラムオブ
ジェクトのクラスによってメソッドが起動される任意のJVMクラスは,次のいずれかに該当するものでな
くてはならない。
− システムクラス(3.31参照)であり,カーネルAPIのような標準的なパッケージによって提供される
もの。
− アプリケーションクラス(3.2参照)であり,MHEG-6交換プログラムオブジェクト呼出しの適用範
囲内であり,あるMHEG-6交換プログラムオブジェクトによって交換されるもの。
備考 言い換えると,交換プログラム1のクラスが交換プログラム2のクラスを呼び出す場合,
− 交換プログラム1がシーンの一部である場合には,交換プログラム2は同じシーンの一部であるか,
そのシーンを含むアプリケーションの一部でなくてはならない。
− 交換プログラム1がアプリケーションの一部である場合には,交換プログラム2は同じアプリケーシ

――――― [JIS X 4346 pdf 9] ―――――

                                                                                              9
X 4346 : 1999 (ISO/IEC 13522-6 : 1998)
ョンの一部でなくてはならない。
適合したMHEG-6アプリケーションオブジェクトは,適用範囲外のアプリケーションクラスのメソ
ッドに対する呼出しを含むJavaクラスの交換プログラムオブジェクトを包含してはならない。
備考 非適合のオブジェクトがエンジンにもたらされた場合,そのエンジンの振る舞いについては規
定しない。
MHEG-6準拠のアプリケーションオブジェクト全体に対し,交換プログラムによって包含又は参照され
るJVMクラスは,すべて相異なるクラス名をもたなければならない。
7.2.3 交換プログラムオブジェクトに適用可能な基本操作の効果
7.2.3.1 Preparation振る舞い 任意のMHEG-6交換プログラムオブジェクトを対象としてPreload基本操
作を実行することで,その交換プログラムオブジェクトの内容を取得する。それがカプセル化しているJava
クラス又はそれが参照しているJavaクラスが,MHEGエンジンによってVMにロードされる。このロー
ディングは非同期に実施される。すなわち,このローディングはActivation振る舞いが始まるまでの任意
の時点に行えばよい。
あるクラスの名前がすでにVMにロードされたクラスと同じ名前である場合,新しいクラスは無視され
なければならない。
7.2.3.2 Activation振る舞い MHEG-6交換プログラムオブジェクトのActivation振る舞いは,そのオブ
ジェクトに対してCall基本操作又はFork基本操作が実行されたときに引き起こされる。Activation振る舞
いの主な効果は,次のとおりに,クラスのメソッドを起動することにある。
− クラスは,Call基本操作又はFork基本操作のParameters引数の中の,最初のParameterで指定する。
その値で,交換プログラムオブジェクトのName属性の中での,そのクラスのインデックスを示す。
− メソッドは,Call基本操作又はFork基本操作のParameters引数の中の,2番目のParameterで指定す
る。その値で,そのメソッドの名前を示す。
− メソッドヘの引数は,(必要であるならば)Call基本操作又はFork基本操作のParameters引数の中の
以後のParameterで指定する。すなわち,3番目のParameterがそのメソッドヘの第1引数となり,以
後,同様に対応する。
次に示すすべての場合,Call基本操作又はFork基本操作の結果の変数(CallSucceeded引数又は
ForkSucceeded引数)をActivation振る舞いの一部としてFalseに設定したうえで,Activation振る舞い
を終了しなければならない。
− Parametersの中のParameterの個数が2個未満である場合
− 最初のParameter又は2番目のParameterの型が,7.1.2の規定に照らして正しくない場合
− 最初のParameterがName属性の中の正当なインデックス(1からリストの長さまでの整数)を示して
いない場合
− 2番目のParameterが示す名前のメソッドが,指定されたJVMクラスにない場合
− 指定されたJVMクラスのメソッドが静的メソッドでない場合
− 指定されたJVMクラスのメソッドがParameters引数と(JVMの型一致規則を用いて)型解決可能な
シグネチャをもっていない場合,すなわち,そのメソッドの引数の型とParametersの中の(3番目以
降の)Parameterの型とを順に型一致させることができない場合
− 交換プログラムオブジェクトがすでに活性化している場合
MHEG-5引数の型は,表1のとおりにJVMの型に対応させる。
例 [{ : interchgprg 100 : name "Prog"}]

――――― [JIS X 4346 pdf 10] ―――――

次のページ PDF 11

JIS X 4346:1999の引用国際規格 ISO 一覧

  • ISO/IEC 13522-6:1998(IDT)

JIS X 4346:1999の国際規格 ICS 分類一覧

JIS X 4346:1999の関連規格と引用規格一覧