TABLE DES MATIÈRES

 1     Domaine
 2     Références normatives
 3     Définitions
        3.1     Définitions
        3.2     Abréviations
 4     Généralités
 5     Conformité
        5.1     Conformité d’un objet d’information
                  5.1.1     Profils
                  5.1.2     Codage
                  5.1.3     Syntaxe
                  5.1.4     Sémantique
        5.2     Conformité d’implémentation
                  5.2.1     Requêtes de conformité
                  5.2.2     Documentation de conformité
        5.3     Conformité d’application
        5.4     Méthodes des test
 6     Aperçu général
        6.1     Méthodologie de description
        6.2     Opérations de traitement de données
        6.3     Accès aux données et fonctions externes
 7     Relations entre MHEG et MHEG-3
        7.1     Entités MHEG
        7.2     Entités fonctionnelles
        7.3     Interpréteur de représentation d’échange de script (SIR MHEG)
 8     Composants de la représentation de script pour les échanges MHEG (SIR MHEG)
        8.1     Types de données
                  8.1.1     Types prédéfinis
                  8.1.2     Types construits déclarés
        8.2     Données
                  8.2.1     Valeurs immédiates
                  8.2.2     Constantes
                  8.2.3     Variables
        8.3     Fonctions
                  8.3.1     Routines
                  8.3.2     Services
                  8.3.3     Fonctions prédéfinies
        8.4     Messages
                  8.4.1     Exceptions de bloc
                  8.4.2     Messages prédéfinis
        8.5     Instructions
        8.6     Identificateurs
                  8.6.1     Identificateurs de type
                  8.6.2     Identificateurs de données
                  8.6.3     Identificateurs de fonctions
                  8.6.4     Identificateurs de messages
 9     La machine virtuelle SIR MHEG
        9.1     Structure de la machine virtuelle SIR MHEG
        9.2     Structures et notations
                  9.2.1     Table
                  9.2.2     Pile
                  9.2.3     Pile de paramètres
                  9.2.4     File d’attente
                  9.2.5     Représentation des données
        9.3     Zones de mémoire
                  9.3.1     Zone de mémoire de mh-script
                  9.3.2     Zones de mémoire du rt-script
        9.4     Etats des scripts
                  9.4.1     Etat d’un mh-script
                  9.4.2     Etats d’un rt-script
        9.5     Unités de traitement
                  9.5.1     Réception de message
                  9.5.2     Initialisation de mh-script
                  9.5.3     Initialisation de rt-script
                  9.5.4     Unité d’exécution de rt-script
                  9.5.5     Unité d’exécution d’instructions SIR MHEG
10     Dispositions pour l’accès à un environnement d’exécution
       10.1     Modèle général
       10.2     Déclaration des interfaces IDL
       10.3     Invocation d’opérations externes dans un programme SIR MHEG
       10.4     Manipulation d’exceptions externes dans un programme SIR MHEG
       10.5     Invocation d’opérations externes par un moteur MHEG-3
       10.6     Manipulation des exceptions externes par un moteur MHEG-3
11     Dispositions pour la manipulation d’objets MHEG
       11.1     Invocation d’action MHEG
                 11.1.1     Envoi de messages à d’autres scripts
                 11.1.2     Echange d’information avec des objets MHEG
       11.2     Réception de messages MHEG
                 11.2.1     Opération run de l’API MHEG-3
                 11.2.2     Exceptions de l’API MHEG
12     Déclarations de la SIR MHEG
       12.1     Déclaration de type
                 12.1.1     Identificateur de type
                 12.1.2     Description de type
       12.2     Déclaration de constante
                 12.2.1     Identificateur de donnée
                 12.2.2     Identificateur de type
                 12.2.3     Valeur de constante
       12.3     Déclaration de variable globale
                 12.3.1     Identificateur de donnée
                 12.3.2     Identificateur de type
                 12.3.3     Référence à constante
       12.4     Déclaration de bloc
                 12.4.1     Identificateur de bloc
                 12.4.2     Nom
                 12.4.3     Description de service
                 12.4.4     Description d’exception
       12.5     Déclaration de filet
                 12.5.1     Identificateur de message
                 12.5.2     Identificateur de fonction
       12.6     Déclaration de routine
                 12.6.1     Identificateur de fonction
                 12.6.2     Identificateur de type
                 12.6.3     Description de paramètre
                 12.6.4     Déclaration de variable locale
                 12.6.5     Code programme
13     Instructions de la SIR MHEG
       13.1     Méthodologie de présentation
                 13.1.1     Conditions d’erreur
                 13.1.2     Spécification formelle
                 13.1.3     Notation de table de données (data table)
                 13.1.4     Notation d’instruction générique
                 13.1.5     Primitives
       13.2     Classification des instructions de la SIR MHEG
       13.3     Description des instructions
                 13.3.1     Pas d'opération (no operation)
                 13.3.2     Remise (Yield)
                 13.3.3     Retour (Return)
                 13.3.4     Libération (Free)
                 13.3.5     Non (Not)
                 13.3.6     Ou (Or)
                 13.3.7      Ou exclusif (Exclusive or)
                 13.3.8     Et (And)
                 13.3.9      Egalité de référence (Equal reference)
                13.3.10     Egal (Equal)
                13.3.11     Inférieur à (Less than)
                13.3.12     Supérieur à (Greater than)
                13.3.13     Addition (Add)
                13.3.14     Soustraction (Subtract)
                13.3.15     Multiplication (Multiply)
                13.3.16     Division (Divide)
                13.3.17     Négation (Negate)
                13.3.18     Reste (Remainder)
                13.3.19     Duplication (Duplicate)
                13.3.20     Conversion (Convert)
                13.3.21     Saut sur condition vraie (Jump on true)
                13.3.22     Saut sur condition fausse (Jump on false)
                13.3.23     Saut (Jump)
                13.3.24     Décalage (Shift)
                13.3.25     Extraction de références à objet (Get object reference)
                13.3.26     Saut long sur condition vraie (Long jump on true)
                13.3.27     Saut long sur condition fausse (Long jump on false)
                13.3.28     Saut long (Long jump)
                13.3.29     Appel (Call)
                13.3.30     Appel externe (External call)
                13.3.31     Empiler (Push)
                13.3.32     Empiler référence (Push reference)
                13.3.33     Empiler valeur immédiate (Push immediate)
                13.3.34     Dépiler (Pop)
                13.3.35     Dépiler référence (Pop reference)
                13.3.36     Dépiler contenus (Pop contents)
                13.3.37     Allocation (Allocate)
                13.3.38     Incrément (Increment)
                13.3.39     Décrément (Decrement)
                13.3.40     Extraction (Get)
                13.3.41     Extraction de contenus (Get contents)
                13.3.42     Affectation (Set)
                13.3.43     Affectation de contenus (Set contents)
       13.4     Règles de conversion de types
                 13.4.1     Conversions réversibles
                 13.4.2     Extensions sans perte
                 13.4.3     Extensions avec perte
                 13.4.4     Troncations vers booléens
                 13.4.5     Troncations entre types entiers ou flottants
                 13.4.6     Troncations de valeur flottante à entier
       14.1     Spécifications IDL
       14.2     Modules et interfaces IDL
       14.3     Opérations IDL
                 14.3.1     Nom d’opération
                 14.3.2     Paramètres d’opération
                 14.3.3     Paramètre implicite
                 14.3.4     Valeur de retour
       14.4     Attributs IDL
                 14.4.1     Accesseur (Accessor)
                 14.4.2     Modificateur (Modifier)
                 14.4.3     Attribut en lecture seule
       14.5     Opérations IDL héritées
       14.6     Exceptions IDL
                 14.6.1     Nom d’exception
                 14.6.2     Membres d’une exception
                 14.6.3     Membre implicite
       14.7     Types IDL
                 14.7.1     Type char
                 14.7.2     Type enum
                 14.7.3     Types construits
                 14.7.4     Type any
                 14.7.5     Restrictions sur les types
       14.8     Constantes IDL
15     L’API MHEG-3
       15.1     Objet interpréteur de script (ScriptInterpreter)
                 15.1.1     Opération Détruire (kill)
                 15.1.2     Opération Préparer (prepare)
       15.2     Objet MhScript
                 15.2.1     Opération détruire (destroy)
                 15.2.2     Opération new
       15.3     Object RtScript
                 15.3.1     Opération Détruire (delete)
                 15.3.2     Opération Affectation de priorité (setPriority)
                 15.3.3     Opération Extraction de priorité (getPriority)
                 15.3.4     Opération Affectation de donnée (setData)
                 15.3.5     Opération Extraction de donnée (getData)
                 15.3.6     Opération Allouer (Allocate)
                 15.3.7     Opération Libérer (free)
                 15.3.8      Opération Arrêter (stop)
                 15.3.9     Opération Réinitialisation (reInit)
                15.3.10     Opération Extraction de statut de RtScript (getRtScriptStatus)
                15.3.11      Opération Ouvrir (open)
       15.4     Objet Invocation de routine (RoutineInvocation)
                 15.4.1     Opération Fermer (close)
                 15.4.2     Attribut en lecture seule Identificateur de routine (routine_id)
                 15.4.3      Opération Affectation de paramètre (setParameter)
                 15.4.4     Opération Extraction de prototype (getPrototype)
                 15.4.5     Opération Fonctionner (run)
                 15.4.6     Opération Remise à zéro (reset)
                 15.4.7     Opération Extraction du statut d’invocation (getInvocationStatus)
Annexe A – Spécification ASN.1 des scripts échangés
Annexe B – Représentation codée des scripts échangés
        B.1     Codage des scripts échangés
        B.2     Codage du code programme
                  B.2.1     Instructions code opérateur
                  B.2.2     Instructions opérande
Annexe C – Eléments prédéfinis de la SIR MHEG
        C.1     Types prédéfinis
                  C.1.1     Types primitifs
                  C.1.2     Types de l’API MHEG
        C.2     Fonctions prédéfinies
                  C.2.1     Opérations de l’API MHEG
                  C.2.2     Opérations de l’API MHEG-3
        C.3     Messages prédéfinis
                  C.3.1     Opérations de l’API MHEG-3
                  C.3.2     L’exception InstructionExecutionError (erreur d’exécution d’instruction)
                  C.3.3     Exceptions de l’API MHEG-3
                  C.3.4     Exceptions de l’API MHEG
Annexe E – Processus de définition de l’API MHEG
        E.1     Cadre de définition de l’API générique
                  E.1.1     Eléments MHEG en entrée du processus de définition de l’API MHEG
                  E.1.2     Eléments IDL en sortie du processus de définition de l’API MHEG
                  E.1.3     Contraintes vis-à-vis du processus de définition de l’API MHEG
                  E.1.4     Structure générale de l’API MHEG
                  E.1.5     Définition de types de données IDL non objets
                  E.1.6     Définition d’interface IDL
                  E.1.7     Définition d’attribut IDL
                  E.1.8     Définition d’opération IDL
                  E.1.9     Définition d’exception IDL
Annexe F – Spécification IDL de l’API MHEG-3
Annexe G – Relations avec les autres parties des Recommandations UIT-T de la série T.170  (et parties de l'ISO/CEI 13522)
        G.1     Relations avec la Rec. UIT-T T.171 (et l'ISO/CEI 13522‑1)
        G.2     Relations avec la Rec. UIT-T T.172 (et l'ISO/CEI 13522‑5)
Appendice I – Syntaxe de la SIR MHEG (notation EBNF)
Appendice II – Notation textuelle des scripts de la SIR MHEG
Appendice III – Entités MHEG
      III.1     Objets MHEG
      III.2     Mh-objects
      III.3     Rt-objects
      III.4     Objets MHEG échangés
Appendice IV – Principales caractéristiques de la SIR MHEG
       IV.1     Caractéristiques des applications utilisatrices
                 IV.1.1     Manipulation d’entités MHEG
                 IV.1.2     Calcul, manipulation de variables et contrôle de structure
                 IV.1.3     Contrôle de dispositifs externes
                 IV.1.4     Acquisition de données
                 IV.1.5     Accès à des données externes
                 IV.1.6     Accès à des services externes d’exécution arbitraires
       IV.2     Caractéristiques fonctionnelles
                 IV.2.1     Opérations de traitement de données
                 IV.2.2     Accès à des fonctions et données externes
       IV.3     Caractéristiques techniques
                 IV.3.1     Indépendance vis-à-vis du matériel
                 IV.3.2     Représentation sous forme définitive
                 IV.3.3     Compacité
                 IV.3.4     Facilité d’implémentation
                 IV.3.5     Efficacité dans l’interprétation
                 IV.3.6     Ouverture et extensibilité
                 IV.3.7     Caractère non révisable
                 IV.3.8     Dispositions pour l’échange temps-réel
                 IV.3.9     Validation sémantique à des fins de qualité de service
                IV.3.10     Caractère vérifiable de la syntaxe (en relation avec les dangers de contamination)
                IV.3.11     Représentation non propriétaire
                IV.3.12     Traitement de script sécurisé