Information technology — Coding of multimedia and hypermedia information — Part 6: Support for enhanced interactive applications

Technologies de l'information — Codage de l'information multimédia et hypermédia — Partie 6: Support pour les applications interactives améliorées

General Information

Status
Published
Publication Date
21-Oct-1998
Current Stage
9060 - Close of review
Completion Date
04-Jun-2030
Ref Project

Relations

Standard
ISO/IEC 13522-6:1998 - Information technology -- Coding of multimedia and hypermedia information
English language
87 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


INTERNATIONAL ISO/IEC
STANDARD 13522-6
First edition
1998-10-15
Information technology — Coding of
multimedia and hypermedia information —
Part 6:
Support for enhanced interactive applications
Technologies de l'information — Codage de l'information multimédia et
hypermédia —
Partie 6: Support pour les applications interactives améliorées
Reference number
B C
Contents
1 Scope .1
1.1 Context of the scope .1
1.2 Scope of this part of ISO/IEC 13522.1
2 Normative references .2
2.1 International standards.2
2.2 Referenced specifications.3
3 Terms and definitions .3
3.1 applet .3
3.2 application class.3
3.3 application programming interface (API).3
3.4 attribute .3
3.5 class.3
3.6 exception.3
3.7 hypermedia, adj.3
3.8 instance.3
3.9 interface .4
3.10 Java™ Virtual Machine (JVM).4
3.11 method .4
3.12 MHEG-5 API .4
3.13 MHEG-5 InterchangedProgram object.4
3.14 MHEG-5 object.4
3.15 MHEG-6, adj. .4
3.16 MHEG-6 Applet object .4
3.17 MHEG-6 application .4
3.18 MHEG-6 engine .4
3.19 MHEG-6 InterchangedProgram object.4
3.20 MHEG-6 object.4
3.21 MHEG-6 profile .4
3.22 MHEG-6 program.4
3.23 multimedia, adj.5
3.24 multimedia and hypermedia application.5
3.25 multimedia application.5
3.26 operation .5
3.27 program.5
3.28 Program content interchange format .5
3.29 scripting language .5
3.30 stack.5
3.31 system class.5
3.32 virtual machine (VM) .5
©  ISO/IEC 1998
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced
or utilized in any form or by any means, electronic or mechanical, including photocopying and
microfilm, without permission in writing from the publisher.
ISO/IEC Copyright Office • Case postale 56 • CH-1211 Genève 20 • Switzerland
Printed in Switzerland
ii
© ISO/IEC ISO/IEC 13522-6:1998 (E)
4 Symbols and abbreviations .5
5 Conformance requirements.6
5.1 Information object conformance .6
5.1.1 Encoding and syntax .6
5.1.2 Semantics.6
5.1.3 Profiles .6
5.2 Implementation conformance .6
5.2.1 Conformance requirements.6
5.2.2 Conformance documentation.7
5.3 Application conformance .7
6 Structure of this part of ISO/IEC 13522.8
7 MHEG-6 InterchangedProgram class .9
7.1 InterchangedProgram object syntax .9
7.1.1 Syntax of InterchangedProgram class .9
7.1.1.1 Name attribute .9
7.1.1.2 OriginalContent attribute.9
7.1.1.3 ContentHook attribute.9
7.1.1.4 Shared attribute .9
7.1.2 Syntax of elementary actions applicable to InterchangedProgram objects.10
7.2 InterchangedProgram object semantics .10
7.2.1 InitiallyAvailable attribute .10
7.2.2 Scope of InterchangedProgram objects.10
7.2.3 Effect of elementary actions applicable to InterchangedProgram objects .11
7.2.3.1 Preparation behaviour .11
7.2.3.2 Activation behaviour .11
7.2.3.3 Deactivation behaviour .12
7.2.3.4 Destruction behaviour.12
8 Applet class.13
8.1 Attributes.13
8.1.1 Inherited attributes.13
8.1.2 Own exchanged attributes.13
8.1.3 Own internal MHEG-5 attributes .13
8.2 Events.14
8.3 Internal behaviours .14
8.4 Effect of MHEG-5 elementary actions .15
8.5 Formal description .17
9 Virtual machine.18
9.1 VM instruction set .18
9.2 VM interchange format .18
10 Kernel API .19
10.1 Specification of the kernel API.19
10.2 Syntax requirement.19
10.3 Semantics requirement.19
10.4 Pragmatics requirement.19
11 MHEG-5 API.20
11.1 Specification of the MHEG-5 API. 20
11.1.1 Design principles .20
11.1.2 Grades.20
11.2 Syntax requirement.21
11.3 Semantics requirement.21
11.4 Pragmatics requirement.21
11.5 Interworking considerations .21
iii
12 MHEG-5/JVM interworking provisions.22
12.1 Program content interchange format .22
12.2 Semantics of elementary actions .22
12.2.1 Call.22
12.2.2 Fork .23
12.2.3 Invoke .23
12.2.4 Stop .23
12.2.5 MHEG-5 API operations .23
12.3 Execution semantics .23
12.3.1 Engine bootstrapping.24
12.3.2 ClassMapper initialisation.24
12.3.3 Program preparation.25
12.3.4 Program activation.25
12.3.5 Program deactivation.25
12.3.6 Program destruction .25
12.3.7 ClassMapper for Applet .26
Annex A (normative) ASN.1 notation .27
Annex B (normative) Textual notation .45
Annex C (normative) MHEG-5 API .60
Annex D (informative) Mapping elementary actions to MHEG-5 API operations.77
Annex E (informative) Relationships between MHEG-6 Applets and World Wide Web applets .81
Annex F (informative) Main features .82
Annex G (informative) IPR issues.87
iv
© ISO/IEC ISO/IEC 13522-6:1998 (E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialised system for worldwide standardisation. National bodies that are members
of ISO or IEC participate in the development of International Standards through technical committees
established by the respective organisation to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organisations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work.
In the field of Information technology, ISO and IEC have established a joint technical committee, ISO/IEC
JTC 1. Draft International Standards adopted by the joint technical committee are circulated to national
bodies for voting. Publication as an International Standard requires approval by at least 75 % of the national
bodies casting a vote.
International Standard ISO/IEC 13522-6 was prepared by Joint Technical Committee ISO/IEC JTC 1,
Information technology, Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia
information.
ISO/IEC 13522 consists of the following parts, under the general title Information technology - Coding of
multimedia and hypermedia information:
- Part 1: MHEG object representation - Base notation (ASN.1)
- Part 3: MHEG script interchange representation
- Part 4: MHEG registration procedure
- Part 5: Support for base-level interactive applications
- Part 6: Support for enhanced interactive applications
- Part 7: Interoperability and conformance testing for ISO/IEC 13522-5
Annexes A to C form an integral part of this part of ISO/IEC 13522. Annexes D to G are for information only.
v
INTERNATIONAL STANDARD © ISO/IEC ISO/IEC 13522-6:1998 (E)
Information technology – Coding of multimedia and
hypermedia information –
Part 6: Support for enhanced interactive applications
1 Scope
1.1 Context of the scope
ISO/IEC 13522 specifies the coded representation of multimedia/hypermedia information objects (MHEG
objects) for interchange as final form units within or across services and applications, by any means of
interchange including local area networks, wide area telecommunication or broadcast networks, storage
media, etc.
MHEG objects can be produced by computer tools taking as source form multimedia applications designed
using multimedia scripting languages. In this context, the MHEG script (or program) classes are intended to
complement the other MHEG classes in expressing the functionality commonly supported by scripting
languages. Script (or program) objects express more powerful control mechanisms and describe more
complex relationships among MHEG objects than can be expressed by MHEG action and link objects alone.
Furthermore, script (or program) objects express access to and interaction with external services provided by
the run-time environment.
ISO/IEC 13522-5 defines the MHEG object classes for interchange and use in base-level applications
intended to be run on limited resource terminals such as set-top-boxes in such contexts as interactive
broadband services.
ISO/IEC 13522-5 defines the coded representation for program objects in an open manner so that program
objects may encapsulate either standardised or proprietary program code. ISO/IEC 13522-5 allows program
objects to include or reference programs that may be encoded in any encoding format as defined by the
application domain.
1.2 Scope of this part of ISO/IEC 13522
The scope of this part of ISO/IEC 13522 is to define the semantics and final-form coded representation for
the interchange of enhanced interactive multimedia applications.
These applications extend applications covered by ISO/IEC 13522-5 in incorporating functionality such as
computing (data processing) and extended communication with the external environment, including servers,
local devices, etc.
These applications may be exploited in any communication environment including broadcast-only mode,
interactive client-server or peer-to-peer (conversational). However, the main focus is on interactive retrieval
(client-server) applications running on limited resource set-top-units involving asymmetrical data interchange
with real-time audiovisuals on the downstream channel.
The coded representation defined by this part of ISO/IEC 13522 specialises the coded representation defined
by ISO/IEC 13522-5. Especially, this part of ISO/IEC 13522 defines the coded representation for the
OriginalContent attribute of the MHEG-5 InterchangedProgram class. In addition, this part of ISO/IEC 13522
defines the Applet class; this subclass of InterchangedProgram features the ability to manage its own display
and interaction, by delegation from the engine.
The resulting coded representation is
- compatible with that defined by ISO/IEC 13522-5;
- appropriate for execution on a set-top-unit with the same minimal resource constraints as expressed
by ISO/IEC 13522-5.
This part of ISO/IEC 13522 specifies
- the interchange format for the OriginalContent attribute of the MHEG-5 InterchangedProgram class;
- the semantics of this coded representation;
- the coded representation and semantics of the Applet class;
- the semantic extensions to the MHEG-5 engine behaviour described by ISO/IEC 13522-5;
- the semantic restrictions on the MHEG-5 interchange format described by ISO/IEC 13522-5;
- the MHEG-5 API, which allows the code of an InterchangedProgram object to call upon the MHEG-5
engine's presentation functionality;
- the provisions for interworking between the MHEG-5 engine execution model and the execution model
that underlies the program content interchange format.
MHEG engines are system or application components that handle, interpret and present MHEG objects. This
part of ISO/IEC 13522 specifies the semantics of the MHEG-6 coded representation. These semantics are
defined in terms of minimum requirements on the behaviour of MHEG-6 engines.
This part of ISO/IEC 13522 is applicable to all applications that interchange multimedia and hypermedia
information.
2 Normative references
2.1 International standards
The following standards contain provisions which, through reference in this text, constitute provisions of this
part of ISO/IEC 13522. At the time of publication, the editions indicated were valid. All standards are subject
to revision, and parties to agreements based on this part of ISO/IEC 13522 are encouraged to investigate the
possibility of applying the most recent editions of the standards indicated below. Members of ISO and IEC
maintain registers of currently valid International Standards.
ISO/IEC 646:1991, Information technology - ISO 7-bit coded character set for information interchange.
ISO/IEC 8824-1:1995, Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic
notation.
ISO/IEC 8825-1:1995, Information technology - ASN.1 encoding rules: Specification of Basic Encoding Rules
(BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER).
ISO/IEC 10646-1:1993, Information technology - Universal Multiple-Octet Coded Character Set (UCS) -
Part 1: Architecture and Basic Multilingual Plane.
© ISO/IEC ISO/IEC 13522-6:1998 (E)
ISO/IEC 13522-5:1997, Information technology - Coding of multimedia and hypermedia information - Part 5:
Support for base-level interactive applications.
2.2 Referenced specifications
All references in this subclause were correct at the time of approval of this part of ISO/IEC 13522. The
provisions of the referenced specifications, as identified in this subclause, are valid within the context of this
part of ISO/IEC 13522. The reference to a specification within this part of ISO/IEC 13522 does not give it any
further status within ISO/IEC; in particular, it does not give the referenced specification the status of an
International Standard.
Lindholm, Tim and Yellin, Frank (September 1996), The Java™ Virtual machine specification. ISBN: 0-201-
63452-X, Addison-Wesley Publishing Co.: Reading, Massachussets.
Gosling, James, Yellin, Frank and the Java team (May 1996), The Java™ Application Programming Interface,
Volume 1: Core Packages. ISBN: 0-201-63453-8, Addison-Wesley Publishing Co.: Reading, Massachussets.
3 Terms and definitions
For the purposes of this part of ISO/IEC 13522, the terms and definitions given in ISO/IEC 13522-5 and the
following terms and definitions apply.
3.1 applet
autonomous program that can be run only within a host framework
3.2 application class
JVM class entirely implemented in JVM code and interchanged as part of an MHEG-6 application
3.3 application programming interface (API)
boundary across which a software application uses facilities of programming languages to invoke software
services
3.4 attribute
named, typed association between an object and a value, declared as part of the interface of a class:
a) MHEG-5 attribute (see ISO/IEC 13522-5);
b) attribute of a JVM class (see 2.2)
3.5 class
abstract definition of the data (attributes) and behaviours common to a set of interchanged information
objects:
a) MHEG-5 class (see ISO/IEC 13522-5);
b) JVM class (see 2.2)
3.6 exception
signal that is raised when an exceptional condition occurs during the performance of the request to an
operation; especially, JVM exception (see 2.2)
3.7 hypermedia, adj.
featuring access to monomedia and multimedia information by interaction with explicit links
3.8 instance
object that features the attributes and behaviours of a specified class
3.9 interface
description of a set of operations that a client may request of an object:
a) application programming interface;
b) JVM interface (see 2.2)
3.10 Java™ Virtual Machine (JVM)
the virtual machine defined by The Java™ Virtual machine specification (see 2.2), used as the interchange
representation and execution model for the OriginalContent attribute of MHEG-6 InterchangedProgram
objects
3.11 method
operation defined by a class; especially, JVM method (see 2.2)
3.12 MHEG-5 API
the API that defines the byte codes used by the OriginalContent of an MHEG-6 InterchangedProgram to
access the attributes and control the behaviour of MHEG-5 objects
3.13 MHEG-5 InterchangedProgram object
MHEG-5 object that provides means to invoke a processing unit represented as interpreted or executable
code consisting of sequences of instructions
3.14 MHEG-5 object
coded representation of an instance of an MHEG-5 class
3.15 MHEG-6, adj.
conforming to the provisions of this part of ISO/IEC 13522
3.16 MHEG-6 Applet object
instance of the Applet class defined in Clause 8
3.17 MHEG-6 application
application that involves the interchange, within itself or with another application, of MHEG-5 objects and of
programs as the OriginalContent attribute of MHEG-5 InterchangedProgram objects, according to the
representation defined by this part of ISO/IEC 13522
3.18 MHEG-6 engine
process or set of processes that can interpret MHEG-6 objects (including JVM programs) according to the
provisions of this part of ISO/IEC 13522
3.19 MHEG-6 InterchangedProgram object
MHEG-5 InterchangedProgram object that conforms to the provisions of this part of ISO/IEC 13522
3.20 MHEG-6 object
MHEG-5 object that conforms to the semantic extensions defined by Clause 7, or object of the Applet class
defined by Clause 8
3.21 MHEG-6 profile
profile of this part of ISO/IEC 13522
3.22 MHEG-6 program
list of JVM classes that are included or referenced by the OriginalContent attribute of an MHEG-6
InterchangedProgram object
Java is a trademark owned by Sun Microsystems, Inc.
© ISO/IEC ISO/IEC 13522-6:1998 (E)
3.23 multimedia, adj.
that handles several types of representation media
3.24 multimedia and hypermedia application
application that features presentation of multimedia information to the user and interactive navigation across
this information by the user
3.25 multimedia application
application that features presentation of multimedia information to the user
3.26 operation
service that can be requested and is provided by an object; it is defined within an interface by a name, a
signature which defines the type of its parameters and return value, and the list of exceptions that its
invocation may raise
3.27 program
sequence of binary codes that express computing behaviour and that can be run in an appropriate computer
environment to effect this behaviour
3.28 Program content interchange format
the syntax and encoding for the OriginalContent attribute (when of the IncludedContent type) of an MHEG-6
InterchangedProgram, as defined in 12.1
3.29 scripting language
programming language intended for easy and rapid design of applications by non-professional programmers
3.30 stack
collection of elements that are inserted (pushed) and removed (popped) in last-in first-out (LIFO) order
3.31 system class
JVM class whose implementation is (at least partly) system-dependent (so consists of native code) and
therefore must be available within the runtime environment for use by the VM
3.32 virtual machine (VM)
abstract specification of a micro-processor and its behaviour
NOTE A VM may be implemented on different hardware processors. A VM therefore implements the
mechanism for all these processors to execute the same instruction set. It is also possible for a
micro-processor to be designed so that its instruction set is identical to that of a VM. VM code can
be used to make software portable.
4 Symbols and abbreviations
For the purposes of this part of ISO/IEC 13522, the following symbols and abbreviations apply.
API Application Programming Interface
ASN.1 Abstract Syntax Notation One
ETSI European Telecommunications Standards Institute
IEC International Electrotechnical Commission
ISO International Organisation for Standardisation
ITU-T International Telecommunication Union, Telecommunication standardisation sector
JVM Java™ Virtual Machine
HTML HyperText Mark-up Language
MHEG Multimedia and Hypermedia information coding Experts Group
VM Virtual Machine
WWW WorldWide Web
5 Conformance requirements
This part of ISO/IEC 13522 defines conformance requirements
- on information objects, i.e. MHEG-6 objects;
- on implementations, i.e. MHEG-6 engine implementations.
5.1 Information object conformance
A conforming MHEG-6 object shall meet all of the following criteria:
- its encoding and syntax shall conform to the provisions referred to by 5.1.1;
- its semantics shall conform to the provisions referred to by 5.1.2.
The information object conformance is evaluated on the information objects that are interchanged for the
purpose of their execution on a terminal.
5.1.1 Encoding and syntax
A conforming MHEG-6 object shall be encoded according to either the encoding rules and the syntax defined
by Annex A, or those defined by Annex B.
Moreover, the attributes of a conforming MHEG-6 InterchangedProgram object shall follow the syntax and
encoding provisions specified by 7.1.
5.1.2 Semantics
A conforming MHEG-6 object shall only include semantically valid constructs as defined by ISO/IEC 13522-5
and by Clauses 7 to 12 of this part of ISO/IEC 13522.
5.1.3 Profiles
This part of ISO/IEC 13522 defines no profiles.
5.2 Implementation conformance
An implementation of this part of ISO/IEC 13522 is an MHEG-6 engine.
This part of ISO/IEC 13522 defines the semantics of MHEG-6 objects. This implies conformance
requirements not on information objects, but on the behaviour of MHEG-6 engines.
5.2.1 Conformance requirements
Conformance of MHEG-6 engines can only be measured with regard to an application domain definition, as
defined by Clause 4 of ISO/IEC 13522-5.
In addition to all of the mandatory classes listed in Clause 4 of ISO/IEC 13522-5, any MHEG-6 engine shall
interpret the following classes together with all of their attributes, events and internal behaviours:
- InterchangedProgram
- OctetStringVariable, IntegerVariable, BooleanVariable, ContentRefVariable, ObjectRefVariable
© ISO/IEC ISO/IEC 13522-6:1998 (E)
Any conforming MHEG-6 engine shall support the interpretation of any conforming MHEG-6 object whose
class belongs to the application domain definition. Especially, a conforming MHEG-6 engine shall meet all of
the following criteria:
- it shall conform to ISO/IEC 13522-5;
- it shall support the semantic provisions regarding MHEG-5 InterchangedProgram objects defined in
Clause 7;
- if the Applet class is included in the application domain definition, then a conforming MHEG-6 engine
shall support interpretation of MHEG-6 Applet objects, together with all of their attributes, events,
internal behaviours and elementary actions, as defined in Clause 8;
- it shall support execution of JVM code as defined in Clause 9;
- it shall provide JVM code with full access to the kernel API defined in Clause 10;
- it shall provide JVM code with access to the MHEG-5 API defined in Clause 11 and Annex C, in either
its reduced grade or its complete grade;
- it shall support the MHEG-5/JVM interworking provisions defined in Clause 12.
5.2.2 Conformance documentation
A conformance document with the following information shall be available for an implementation claiming
conformance to this part of ISO/IEC 13522. The conformance document shall meet all of the following
criteria:
- it shall list all the mandatory features required by this part of ISO/IEC 13522 or in ISO/IEC 13522-5,
with reference to the appropriate Clauses and subclauses;
- it shall contain a statement that indicates the full names, numbers, and dates of the standards that
apply;
- it shall state which of the optional features defined in this part of ISO/IEC 13522 or in ISO/IEC 13522-5
are supported by the implementation; for this purpose, it shall document all the application domain-
dependent features as specified in Clause 4 of ISO/IEC 13522-5;
- it shall describe the behaviour of the implementation for all implementation-dependent features defined
in this part of ISO/IEC 13522 or in ISO/IEC 13522-5. This requirement shall be met by listing these
features and by providing either a specific reference to the system documentation or full syntax and
semantics of these features. The conformance document may specify the behaviour of the
implementation for those features where this part of ISO/IEC 13522 or ISO/IEC 13522-5 states that
implementations may vary or where features are identified as undefined or unspecified.
5.3 Application conformance
Any InterchangedProgram object interchanged within a conforming MHEG-6 application (see 3.16) shall be a
conforming MHEG-6 InterchangedProgram object. In addition, all objects of a conforming MHEG-6
application shall be encoded according to the same notation, either that defined by Annex A or that defined by
Annex B.
6 Structure of this part of ISO/IEC 13522
The MHEG-6 specification consists of the following elements:
a) MHEG-5 objects as interchange units:
1) complying with the structure and semantics defined by ISO/IEC 13522-5;

2) specialised by syntax restrictions and semantic extensions on the InterchangedProgram class (see
Clause 7);
3) extended by the new Applet class and the new Invoke action (see Clause 8);

4) with the coded representation defined by Annex A, that extends Annex A of ISO/IEC 13522-5 in a
fully compatible way;
5) or with the coded representation defined by Annex B, that extends Annex B of ISO/IEC 13522-5 in a
fully compatible way;
b) JVM code as the interchange format of the OriginalContent attribute of InterchangedProgram objects:
1) complying with the JVM coded representation and semantics (see Clause 9);

2) together with a kernel API (the java.lang, java.util and java.io packages) that provides JVM code
with the required resident functionality (see Clause 10);

3) augmented by an MHEG-5 API (the iso.mheg5 package) that provides JVM code with access to
MHEG-5 objects and control of MHEG-5 behaviour (see Clause 11 and Annex C);

4) completed by a set of provisions that express the interworking execution semantics, both regarding
invocation of JVM methods from MHEG-5 objects and invocation of MHEG-5 elementary actions
from JVM classes (see Clause 12).
© ISO/IEC ISO/IEC 13522-6:1998 (E)
7 MHEG-6 InterchangedProgram class
This Clause lists the semantic extensions and syntax restrictions applicable to the InterchangedProgram
class and its subclasses, as well as the elementary actions that affect them.
7.1 InterchangedProgram object syntax
Unless otherwise specified in this subclause, any MHEG-6 object shall follow the MHEG-5 class syntax
specified by ISO/IEC 13522-5.
This subclause specifies the restrictions on the syntax of MHEG-5 classes, i.e. the values, options or
combinations with which MHEG-6 objects shall comply.
7.1.1 Syntax of InterchangedProgram class
Any MHEG-6 InterchangedProgram object is used to encapsulate one or several JVM classes, whose data
are either included in the object or referenced by it.
7.1.1.1 Name attribute
The Name attribute of any MHEG-6 InterchangedProgram object shall be encoded as a sequence of null-
terminated UTF-8 encoded strings. Each string shall represent the name of a JVM class encapsulated by the
InterchangedProgram object.
NOTE The UTF-8 format for string encoding is defined by the JVM class file format referenced in 9.2. It
features variable-length encoding of ISO/IEC 10646 (UCS) characters, so that all non-null ASCII
characters are encoded using only one byte.
7.1.1.2 OriginalContent attribute
The OriginalContent attribute of any MHEG-6 InterchangedProgram object shall be encoded as follows:
a) if the OriginalContent attribute is of the IncludedContent type, its OctetString value shall follow the
syntax defined by the Program content interchange format defined in 12.1.
b) if the OriginalContent attribute is of the ReferencedContent type, its ContentReference component
shall consist of either of the following:
1) a sequence of null-terminated ASCII encoded strings: each string shall represent the name of
the file in which the data of the JVM class is stored. This sequence shall consist of the same
number of strings as the Name attribute, and its file names shall be listed in the same order as
the corresponding class names in the Name attribute; or
2) a null string: in this case, the JVM class names (as expressed by the Name attribute) shall be
mapped to local files using platform-dependent mapping rules.
7.1.1.3 ContentHook attribute
The ContentHook attribute of any MHEG-6 InterchangedProgram object shall be set to 0, the reserved value
for programs encoded in JVM code.
7.1.1.4 Shared attribute
The Shared attribute of any MHEG-6 InterchangedProgram object that is interchanged as part of an
Application object (i.e. has application-wide scope) shall be set to True.
7.1.2 Syntax of elementary actions applicable to InterchangedProgram objects
Any Call or Fork elementary action that is targeted at an MHEG-6 InterchangedProgram object shall have,
within its Parameters argument, a first parameter Class of the GenericInteger type and a second parameter
Method of the GenericOctetString type.
The Class parameter shall represent the index of a JVM class in the list of JVM classes defined by the Name
attribute of the InterchangedProgram object, with 1 being the first index.
The Method parameter shall represent the UTF-8 encoded name of a static method of the class indicated by
the Class parameter.
The Activation effect of the Call or Fork elementary action shall be to invoke the method indicated by Method
on the class indicated by Class with the other parameters of the action passed (by value) as parameters to
the method.
NOTE Any Parameter component of a Call or Fork elementary action that references an MHEG-5 variable
(i.e. of the GenericObjectReference type) may be used by the program with input and/or output
parameter semantics. If it is used as an output parameter, it need be set explicitly by the program
using the SetVariable operation of the MHEG-5 API Variable class.
7.2 InterchangedProgram object semantics
This subclause describes in MHEG-5 terms the semantic extensions to the description of the MHEG-5 object
behaviour.
7.2.1 InitiallyAvailable attribute
When the InitiallyAvailable attribute of an MHEG-6 InterchangedProgram object is set to True, the
preparation behaviour of the InterchangedProgram object shall be triggered by the preparation of the MHEG-
5 Group (Scene or Application) object to which the InterchangedProgram object is attached.
7.2.2 Scope of InterchangedProgram objects
As an instance of a subclass of the Ingredient class, any MHEG-5 InterchangedProgram object is attached to
either a Scene or an Application object.
The scope of an MHEG-6 InterchangedProgram object is the MHEG-5 Group (i.e. Scene or Application)
object to which it is attached. Any JVM class whose methods are invoked by a class of an MHEG-6
InterchangedProgram object shall be either of the following:
- a system class (see 3.31), provided by a standard package such as the kernel API;
- an application class (see 3.1), interchanged within an MHEG-6 InterchangedProgram object within the
scope of the calling MHEG-6 InterchangedProgram object.
NOTE 1 In other terms, if a class of InterchangedProgram 1 calls a class of InterchangedProgram 2, then
- either InterchangedProgram 1 is part of a Scene, then InterchangedProgram 2 must be either
part of the same Scene or part of the embedding Application;
- or InterchangedProgram 1 is part of an Application, then InterchangedProgram 2 must be part of
the same Application.
A conforming MHEG-6 Application object shall not include any MHEG-6 InterchangedProgram object whose
Java classes contain calls to methods of application classes that are out of scope.
© ISO/IEC ISO/IEC 13522-6:1998 (E)
NOTE 2 When non-conforming objects are provided to the engine, the behaviour of the engine is not
specified.
Throughout a conforming MHEG-6 Application object, JVM classes included or referenced by
InterchangedProgram objects shall all have distinct class names.
7.2.3 Effect of elementary actions applicable to InterchangedProgram objects
7.2.3.1 Preparation behaviour
When the Preload elementary action is targeted at any MHEG-6 InterchangedProgram object, the content of
this InterchangedProgram object shall be retrieved.
The Java classes that this content encapsulates or references shall then be loaded into the VM by the
MHEG-6 engine. This loading is performed asynchronously, i.e. may occur at any time before the activation
behaviour starts.
If one such class has the same name as a class already loaded in the VM, the new class shall be ignored.
7.2.3.2 Activation behaviour
The Activation behaviour of an MHEG-6 InterchangedProgram object is triggered by a Call or Fork
elementary action targeted at the object.
The main effect of the Activation behaviour shall be to invoke a method of a class, where
- the class is indicated by the first Parameter component of the Call or Fork elementary action, with the
value of this parameter being the index of the class within the Name attribute of the
InterchangedProgram object;
- the method is indicated by the second Parameter component of the Call or Fork elementary action,
with the value of this parameter being the name of the method.
- the parameters of the method (if any) are indicated by the subsequent Parameter components of the
Call or Fork elementary action, i.e. the first parameter of the method corresponds to the third
Parameter component of the elementary action, and so on.
As part of the Activation behaviour, the result variable of the Call or Fork action (respectively the
CallSucceeded or ForkSucceeded component) shall be automatically set to False and the action shall be
terminated in all of the following cases:
- there are less than two Parameter components;
- the first parameter or the second parameter is not of a valid type as defined in 7.1.2;
- the first parameter does not refer to a val
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...