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