ÍNDICE

 1     Alcance
 2     Referencias normativas
 3     Definiciones y abreviaturas
        3.1     Definiciones
        3.2     Abreviaturas
 4     Generalidades
 5     Conformidad
        5.1     Conformidad de objeto de información
                  5.1.1     Perfiles
                  5.1.2     Codificación
                  5.1.3     Sintaxis
                  5.1.4     Semántica
        5.2     Conformidad de las implementaciones
                  5.2.1     Requisitos de conformidad
                  5.2.2     Documentación de conformidad
        5.3     Conformidad de las aplicaciones
        5.4     Métodos de prueba
 6     Visión de conjunto
        6.1     Metodología de descripción
        6.2     Operaciones de procesamiento de datos
        6.3     Acceso a datos y funciones externos
 7     Relaciones entre MHEG y MHEG-3
        7.1     Entidades MHEG
        7.2     Entidades funcionales
        7.3     Intérprete de guión MHEG-SIR
 8     Elementos de MHEG-SIR
        8.1     Tipos de datos
                  8.1.1     Tipos predefinidos
                  8.1.2     Tipos construidos declarados
        8.2     Datos
                  8.2.1     Valores inmediatos
                  8.2.2     Constantes
                  8.2.3     Variables
        8.3     Funciones
                  8.3.1     Rutinas
                  8.3.2     Servicios
                  8.3.3     Funciones predefinidas
        8.4     Mensajes
                  8.4.1     Excepciones de lote
                  8.4.2     Mensajes predefinidos
        8.5     Instrucciones
        8.6     Identificadores
                  8.6.1     Identificadores de tipos
                  8.6.2     Identificadores de datos
                  8.6.3     Identificadores de funciones
                  8.6.4     Identificadores de mensajes
 9     La máquina virtual MHEG-SIR
        9.1     Estructura de la máquina virtual MHEG-SIR
        9.2     Estructuras y notaciones
                  9.2.1     Tabla
                  9.2.2     Pila
                  9.2.3     Pila de parámetros
                  9.2.4     Cola
                  9.2.5     Representación de datos
        9.3     Áreas de memoria
                  9.3.1     Áreas de memoria de guión mh
                  9.3.2     Areas de memoria de guión rt
        9.4     Estados de los guiones
                  9.4.1     Estados de guión mh
                  9.4.2     Estados de guión rt
        9.5     Unidades de procesamiento
                  9.5.1     Recepción de mensajes
                  9.5.2     Inicialización de guión mh
                  9.5.3     Inicialización de guión rt
                  9.5.4     Unidad de ejecución de guión rt
                  9.5.5     Unidad de ejecución de instrucción MHEG-SIR
10     Disposiciones para el acceso al entorno de ejecución
       10.1     Modelo general
       10.2     Declaración de interfaces IDL
       10.3     Invocación de operaciones externas en un programa MHEG-SIR
       10.4     Tratamiento de excepciones externas en un programa MHEG-SIR
       10.5     Invocación de operaciones externas por un motor MHEG-3
       10.6     Tratamiento de excepciones externas por un motor MHEG-3
       10.7     Especificaciones de correspondencia de plataforma
11     Disposiciones para la manipulación de objetos MHEG
       11.1     Invocación de acciones MHEG
                 11.1.1     Envío de mensajes a otros guiones
                 11.1.2     Intercambio de información con objetos MHEG
       11.2     Recepción de mensajes MHEG
                 11.2.1     Operaciones run de la MHEG-3 API
                 11.2.2     Excepciones MHEG API
12     Declaraciones MHEG-SIR
       12.1     Declaración de tipo
                 12.1.1     Identificador de tipo
                 12.1.2     Descripción de tipo
       12.2     Declaración de constante
                 12.2.1     Identificador de datos
                 12.2.2     Identificador de tipo
                 12.2.3     Valor (de) constante
       12.3     Declaración de variables globales
                 12.3.1     Identificador de datos
                 12.3.2     Identificador de tipo
                 12.3.3     Referencia de constante
       12.4     Declaración de lote
                 12.4.1     Identificador de lote
                 12.4.2     Nombre
                 12.4.3     Descripción de servicio
                 12.4.4     Descripción de excepción
       12.5     Declaración de manejador (handler declaration)
                 12.5.1     Identificador de mensaje
                 12.5.2     Identificador de función
       12.6     Declaración de rutina
                 12.6.1     Identificador de función
                 12.6.2     Identificador de tipo
                 12.6.3     Descripción de parámetro
                 12.6.4     Declaración de variable local
                 12.6.5     Código de programa
13     Instrucciones MHEG-SIR
       13.1     Metodología de presentación
                 13.1.1     Condiciones de error
                 13.1.2     Especificación formal
                 13.1.3     Notación de tabla de datos
                 13.1.4     Notación de instrucción por plantilla
                 13.1.5     Primitivas
       13.2     Clasificación de las instrucciones MHEG-SIR
       13.3     Descripción de las instrucciones
                 13.3.1     Ninguna operación (no operation)
                 13.3.2     Producir (yield)
                 13.3.4     Liberar (free)
                 13.3.5     No (not)
                 13.3.6     O (or)
                 13.3.7     O exclusivo (exclusive or)
                 13.3.8     Y (and)
                 13.3.9     Referencia de igual (equal reference)
                13.3.10     Igual (equal)
                13.3.11     Menor que (less than)
                13.3.12     Mayor que (greater than)
                13.3.13     Sumar (o adicionar) (add)
                13.3.14     Restar (o sustraer) (substract)
                13.3.15     Multiplicar (multiply)
                13.3.16     Dividir (divide)
                13.3.17     Negar (negate)
                13.3.18     Residuo (remainder)
                13.3.19     Repetir (o duplicar) (duplicate)
                13.3.20     Convertir (convert)
                13.3.21     Salto con verdadero (jump on true)
                13.3.22     Salto con falso (jump on false)
                13.3.23     Salto (jump)
                13.3.24     Desplazar (shift)
                13.3.25     Obtener referencia de objeto (get object reference)
                13.3.26     Salto largo con verdadero (long jump on true)
                13.3.27     Salto largo con falso (long jump on false)
                13.3.28     Salto largo (long jump)
                13.3.29     Llamada (call)
                13.3.30     Llamada externa (call)
                13.3.31     Insertar (en una pila) (push)
                13.3.32     Insertar referencia (en una pila) (push reference)
                13.3.33     Insertar valor inmediato (en una pila) (push immediate)
                13.3.34     Sacar (de una pila) (pop)
                13.3.35     Sacar referencia (de una pila) (pop reference)
                13.3.36     Sacar contenido (de una pila) (pop contents)
                13.3.37     Atribuir (allocate)
                13.3.38     Incrementar (increment)
                13.3.39     Decrementar (decrement)
                13.3.40     Obtener (get)
                13.3.41     Obtener contenido (get contents)
                13.3.42     Fijar (set)
                13.3.43     Fijar contenido (set contents)
       13.4     Reglas de conversión de tipo
                 13.4.1     Conversiones reversibles
                 13.4.2     Extensiones sin pérdida de información
                 13.4.3     Extensiones con pérdida de información
                 13.4.4     Truncamiento al tipo boolean
                 13.4.5     Truncamiento entre tipos enteros o entre tipos coma flotante
                 13.4.6     Truncamiento de tipo coma flotante a entero
14     Correspondencia de IDL a MHEG-SIR
       14.1     Especificaciones IDL
       14.2     Interfaces y módulos IDL
       14.3     Operaciones IDL
                 14.3.1     Nombre de operación
                 14.3.2     Parámetros de operación
                 14.3.3     Parámetro implícito
                 14.3.4     Valor de retorno
       14.4     Atributos IDL
                 14.4.1     Accesor
                 14.4.2     Modificador
                 14.4.3     Atributo lectura solamente
       14.5     Operaciones heredadas IDL
       14.6     Excepciones IDL
                 14.6.1     Nombre de excepción
                 14.6.2     Miembros de excepción
                 14.6.3     Miembro implícito
       14.7     Tipos IDL
                 14.7.1     Tipo char
                 14.7.2     Tipo enum
                 14.7.3     Tipos construidos
                 14.7.4     Tipo any
                 14.7.5     Restricciones a los tipos
       14.8     Constantes IDL
15     La MHEG-3 API
       15.1     Objeto ScriptInterpreter
                 15.1.1     Operación kill (eliminar)
                 15.1.2     Operación prepare (preparar)
       15.2     Objeto MhScript
                 15.2.1     Operación destroy (destruir)
                 15.2.2     Operación new (nueva)
       15.3     Objeto RtScript
                 15.3.1     Operación delete (suprimir)
                 15.3.2     Operación setPriority (fijar prioridad)
                 15.3.3     Operación getPriority (obtener prioridad)
                 15.3.4     Operación setData (fijar datos)
                 15.3.5     Operación getData (obtener datos)
                 15.3.6     Operación allocate (atribuir)
                 15.3.7     Operación free (liberar)
                 15.3.8     Operación stop (detener)
                 15.3.9     Operación reInit (reiniciar)
                15.3.10     Operación getRtScriptStatus (obtener estado de guión rt)
                15.3.11     Operación open (abrir)
       15.4     Objeto RoutineInvocation
                 15.4.1     Operación close (cerrar)
                 15.4.2     Atributo routine_id (de lectura solamente)
                 15.4.3     Operación setParameter (fijar parámetro)
                 15.4.4     Operación getPrototype (obtener prototipo)
                 15.4.5     Operación run (ejecutar)
                 15.4.6     Operación reset (reponer)
                 15.4.7     Operación getInvocationStatus (obtener estado de invocación)
Anexo A – Especificación ASN.1 de guiones intercambiados
Anexo B – Representación codificada de guiones intercambiados
        B.1     Codificación para guiones intercambiados
        B.2     Codificación para el código de programa
                  B.2.1     Códigos op de instrucción
                  B.2.2     Operandos de instrucciones
Anexo C – Elementos predefinidos de la MHEG-SIR
        C.1     Tipos predefinidos
                  C.1.1     Tipos primitivos
                  C.1.2     Tipos MHEG API
        C.2     Funciones predefinidas
                  C.2.1     Operaciones MHEG API
                  C.2.2     Operaciones MHEG-3 API
        C.3     Mensajes predefinidos
                  C.3.1     Operaciones MHEG-3 API
                  C.3.2     La excepción InstructionExecutionError
                  C.3.3     Excepciones MHEG-3 API
                  C.3.4     Excepciones MHEG API
Anexo D – Plantilla en IDL para la especificación de correspondencia de plataforma
Anexo E – Proceso de definición de la MHEG API
        E.1     Marco de la definición de MHEG API genérica
                  E.1.1     Elementos MHEG que están presentes a la entrada del proceso de definición de MHEG API
                  E.1.2     Elementos IDL que están presentes a la salida del proceso de definición de MHEG API
                  E.1.3     Requisitos del proceso de definición de MHEG API
                  E.1.4     Estructura general de la MHEG API
                  E.1.5     Definición de tipos de datos no objeto
                  E.1.6     Definición de interfaz IDL
                  E.1.7     Definición de atributo IDL
                  E.1.8     Definición de operación IDL
                  E.1.9     Definición de excepción IDL
        E.2     Correspondencia de MHEG API a MHEG-SIR
Anexo F – Especificación IDL de la MHEG-3 API
Anexo G – Relaciones con otras partes de las Recomendaciones UIT-T de la serie T.170  (y partes de ISO/CEI 13522)
        G.1     Relaciones con la Rec. UIT-T T.171 (e ISO/CEI 13522-1)
        G.2     Relaciones con la Rec. UIT-T T.172 (e ISO/CEI 13522-5)
Apéndice I – Sintaxis MHEG-SIR (notación EBNF)
Apéndice II – Notación textual para guiones MHEG-SIR
Apéndice III – Entidades MHEG
      III.1     Objetos MHEG (MHEG objects)
      III.2     Objetos mh (mh-objects)
      III.3     Objetos rt (rt-objects)
      III.4     Objetos MHEG intercambiados (interchanged MHEG objects)
Apéndice IV – Características principales de MHEG-SIR
       IV.1     Características de las aplicaciones que utilizan la MHEG-SIR
                 IV.1.1     Manipulación de entidades MHEG
                 IV.1.2     Cálculos, tratamiento de variables y estructuras de control
                 IV.1.3     Control de dispositivos externos
                 IV.1.4     Adquisición de datos
                 IV.1.5     Acceso a datos externos
                 IV.1.6     Acceso a cualesquiera servicios externos en la fase de ejecución
       IV.2     Características funcionales
                 IV.2.1     Operaciones de procesamiento de datos
                 IV.2.2     Acceso a datos y funciones externos
       IV.3     Características técnicas
                 IV.3.1     Independencia con respecto al soporte físico
                 IV.3.2     Representación en forma final
                 IV.3.3     Compacidad
                 IV.3.4     Facilidad de implementación
                 IV.3.5     Eficiencia de la interpretación
                 IV.3.6     Calidad de abierta y extensibilidad
                 IV.3.7     No revisabilidad
                 IV.3.8     Disposiciones para intercambio en tiempo real
                 IV.3.9     Validación semántica para fines de calidad de servicio
                IV.3.10     Posibilidad de comprobación de la sintaxis (para evitar riesgos de contaminación)
                IV.3.11     Representación (no privada) no propietaria
                IV.3.12     Procesamiento securizado de los guiones