31
4/6/2001 Nueva arquitectura para Nueva arquitectura para un servidor vocal un servidor vocal telefónico con telefónico con Reconocimiento Reconocimiento Automático de Habla Automático de Habla Autor: Javier López Autor: Javier López García García

Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

  • Upload
    thor

  • View
    38

  • Download
    0

Embed Size (px)

DESCRIPTION

Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla. Autor: Javier López García. ÍNDICE. Objetivos Análisis y diseño de sistemas SW Arquitectura de SERVIVOX: el kernel Reconocimiento: TIDAISL Matrices y evaluador de expresiones Conclusiones - PowerPoint PPT Presentation

Citation preview

Page 1: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

4/6/2001

Nueva arquitectura para un Nueva arquitectura para un servidor vocal telefónico con servidor vocal telefónico con Reconocimiento Automático Reconocimiento Automático

de Hablade Habla

Autor: Javier López GarcíaAutor: Javier López García

Page 2: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

ÍNDICEÍNDICE ObjetivosObjetivos Análisis y diseño de sistemas SWAnálisis y diseño de sistemas SW Arquitectura de SERVIVOX: el kernelArquitectura de SERVIVOX: el kernel Reconocimiento: TIDAISLReconocimiento: TIDAISL Matrices y evaluador de expresionesMatrices y evaluador de expresiones ConclusionesConclusiones Líneas futurasLíneas futuras

Page 3: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

OBJETIVOS DEL PROYECTOOBJETIVOS DEL PROYECTO Diseñar una Diseñar una nueva arquitecturanueva arquitectura para SERVIVOX para SERVIVOX

que le proporcione mayor que le proporcione mayor modularidadmodularidad y y

flexibilidadflexibilidad..

Reestructurar el software de Reestructurar el software de TIDAISLTIDAISL de modo de modo

que se puedan que se puedan integrarintegrar los módulos los módulos

desarrollados en SERVIVOX.desarrollados en SERVIVOX.

Ampliar y mejorarAmpliar y mejorar el LDD.el LDD.

Generar Generar documentacióndocumentación precisa sobre: precisa sobre:– La estructura actual de SERVIVOX.La estructura actual de SERVIVOX.

– Los pasos a seguir para ampliarlo con software de Los pasos a seguir para ampliarlo con software de

TIDAISL.TIDAISL.

Page 4: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

DESARROLLO DE SOFTWAREDESARROLLO DE SOFTWARE FasesFases::

– Análisis (Requisitos, ...)Análisis (Requisitos, ...)– Diseño.Diseño.– Implementación.Implementación.– Pruebas.Pruebas.– Mantenimiento.Mantenimiento.

EstrategiasEstrategias::– Lineal en cascada.Lineal en cascada.– Prototipado-evolutiva.Prototipado-evolutiva.

Metodologías:Metodologías:– Estructurada.Estructurada.– Orientada a objetos.Orientada a objetos.

Page 5: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

ANÁLISIS Y DISEÑOANÁLISIS Y DISEÑO AnálisisAnálisis::

– Consiste en Consiste en descomponer un sistemadescomponer un sistema en los en los elementos que lo integranelementos que lo integran..

– RResponde a la pregunta esponde a la pregunta “qué es el problema”“qué es el problema”,, define define el problema con precisión.el problema con precisión.

– Genera un Genera un modelo conceptualmodelo conceptual del sistema. del sistema. DiseñoDiseño::

– Se realiza Se realiza después del análisisdespués del análisis..– Responde a la pregunta Responde a la pregunta ““cómo se resuelve el cómo se resuelve el

problemaproblema con las herramientas disponibles” con las herramientas disponibles”..– Modifica los modelos generados en el análisis para Modifica los modelos generados en el análisis para

reflejar decisiones relativas al entorno en que el reflejar decisiones relativas al entorno en que el sistema debe funcionar.sistema debe funcionar.

– Genera un Genera un modelo físicomodelo físico del sistema. del sistema.

Page 6: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

ANÁLISIS ORIENTADO A ANÁLISIS ORIENTADO A OBJETOSOBJETOS

El análisis y el diseño orientados a objetos El análisis y el diseño orientados a objetos utilizan los utilizan los objetos como elementos básicosobjetos como elementos básicos para la elaboración de modelos.para la elaboración de modelos.

Objeto:Objeto: podemos definir formalmente un podemos definir formalmente un objeto como una abstracción de algún objeto objeto como una abstracción de algún objeto en el mundo real que en el mundo real que incluye los datos o incluye los datos o propiedades (atributos)propiedades (atributos) que describen el que describen el objeto real, e objeto real, e incluye las operaciones incluye las operaciones (métodos)(métodos) que manipulan estos datos, que son que manipulan estos datos, que son además las únicas autorizadas para hacerlo.además las únicas autorizadas para hacerlo.

Page 7: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

ANÁLISIS PROPUESTOANÁLISIS PROPUESTO Fase inicial:Fase inicial:

– Estudio de documentación previa: PFCs.Estudio de documentación previa: PFCs.

– Reuniones con el cliente: desde gestores a técnicos.Reuniones con el cliente: desde gestores a técnicos.

Componentes:Componentes:– Modelo de requisitosModelo de requisitos:: necesidades de los usuarios. necesidades de los usuarios.

Ámbito del proyecto.Ámbito del proyecto. Diagrama de contexto.Diagrama de contexto. Guiones de casos de uso.Guiones de casos de uso.

– Modelo de objetosModelo de objetos:: Arquitectura.Arquitectura. Diagrama de objetos.Diagrama de objetos.

– Diccionario:Diccionario: define los conceptos utilizados. Se elabora define los conceptos utilizados. Se elabora conjuntamente con los modelos anteriores.conjuntamente con los modelos anteriores.

Page 8: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

ÁMBITO DE SERVIVOXÁMBITO DE SERVIVOX– Un sistema que permita:

editar, compilar, ejecutar, configurar, depurar, crear, analizar y supervisar aplicaciones multimedia que proporcionen un servicio automático de atención al cliente con síntesis y reconocimiento de habla, con acceso a bases de datos y utilidades de correo electrónico.

– El sistema será también una herramienta para los desarrolladores de aplicaciones.

– Será competencia del sistema: proporcionar un lenguaje de descripción de aplicaciones

multimedia, junto con las herramientas necesarias para editar, compilar, ejecutar, etc, dichas aplicaciones.

– No será competencia del sistema: el reconocimiento y la síntesis del habla, el proporcionar un

servidor de “mail” o un servidor de bases de datos, pero sí definir una interfaz que se comunique con estos sistemas.

Page 9: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

SISTEMASERVIVOX

DE APLICACIONESMULTIMEDIA

MÓDULOMAGODE OZ

SUPERVISOR

PROGRAMADOR

OPERADOR(A)TELEFÓNICO

MENSAJESPREGRABADOS

Interfaz Usuario Sistema

DRIVERTELÉFONO

DRIVERAUDIO

SERVIDORAGENTES

ANIMADOS

Interfaz Usuario Servicio

DRIVERIMÁGENES

RPCMOTOR

DE BÚSQUEDA(RENFE)

ODBC( BASES

DE DATOS )

MAIL(POP3)

Backend

PROGRAMASEXTERNOS

EJECUTABLES

MÓDULO DEGENERACIÓN

DE RESPUESTA

MÓDULO DECOMPRENSIÓN NLP

MÓDULO DEACENTOS

DLL DESÍNTESIS

LIBRERÍA DE RECONO

CIMIENTO

Voz

PORTABLE,PROFILE,

FILEHAND

Portable

Configura

Log

Page 10: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

ÍNDICEÍNDICE ObjetivosObjetivos Análisis y diseño de sistemas SWAnálisis y diseño de sistemas SW Arquitectura de SERVIVOX: el kernelArquitectura de SERVIVOX: el kernel Reconocimiento: TIDAISLReconocimiento: TIDAISL MatricesMatrices Evaluador de expresionesEvaluador de expresiones ConclusionesConclusiones Líneas futurasLíneas futuras

Page 11: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

ARQUITECTURA DEL ARQUITECTURA DEL SERVIVOX (I)SERVIVOX (I)

Inspirada en la arquitectura DARPA.Inspirada en la arquitectura DARPA. Estructura cliente-servidorEstructura cliente-servidor::

– El kernel controla la secuencia del diálogo (cliente).El kernel controla la secuencia del diálogo (cliente).

– Toda la funcionalidad reside en los servidores.Toda la funcionalidad reside en los servidores.

Estructura de subsistemas intercambiables:Estructura de subsistemas intercambiables:– Interfaz kernel-servidor normalizada (Interfaz kernel-servidor normalizada (__funciones__funciones).).

– Reparto normalizado de tareas entre los servidores.Reparto normalizado de tareas entre los servidores.

Kernel programableKernel programable: se define el LDD para la : se define el LDD para la descripción de aplicaciones multimedia.descripción de aplicaciones multimedia.

Log centralizadoLog centralizado: seguimiento cronológico de : seguimiento cronológico de la secuencia de trazas generadas por la la secuencia de trazas generadas por la aplicación. aplicación.

Page 12: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

ARQUITECTURA DEL ARQUITECTURA DEL SERVIVOX (II)SERVIVOX (II)

Kernel

Compila Flex

BisonEncript

VozSíntesis

Recono

NLP

Generación

Comprensión

Acentos

BackendMotor

Búsqueda

Mail

ExternasFTP, RPC,Emu 3270

ODBC

Hw Mm&telefónico

Multimediay agentes

Audio

Interfaztelefónico

Interfaz de desarrollo

GrabadorEntornos:

OWL...Operador Supervisión

Magode Oz

supervisión

LogConfig

SISTEMA

Page 13: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

EL KERNELEL KERNEL Núcleo de ejecución del autómata.Núcleo de ejecución del autómata. Lenguaje de alto nivel especializado en Lenguaje de alto nivel especializado en

aplicaciones con interfaces vocales y multimedia aplicaciones con interfaces vocales y multimedia (LDD).(LDD).

Principales objetos del kernel:Principales objetos del kernel:– Autómata y Ejecutar autómata. Autómata y Ejecutar autómata.

– Tabla de funciones.Tabla de funciones.

– Argumentos y Pila de Subrutinas.Argumentos y Pila de Subrutinas.

– Eventos y Errores.Eventos y Errores.

– Variables y Variables iniciales.Variables y Variables iniciales.

– Configuración y Log.Configuración y Log.

– Otros: fechasHoras, strings, ficheros, temporiz, matrices.Otros: fechasHoras, strings, ficheros, temporiz, matrices.

Page 14: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

FUNCIONAMIENTO DEL FUNCIONAMIENTO DEL KERNEL KERNEL

Automata Ejecutor

Tabla Func.

Eventos yerrores

__Funciones Funciones C

1

2

34

Variables

Config y Log

PilaSub y Argumentos

Page 15: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

ÍNDICEÍNDICE ObjetivosObjetivos Análisis y diseño de sistemas SWAnálisis y diseño de sistemas SW Arquitectura de SERVIVOX: el kernelArquitectura de SERVIVOX: el kernel Reconocimiento: TIDAISLReconocimiento: TIDAISL MatricesMatrices Evaluador de expresionesEvaluador de expresiones ConclusionesConclusiones Líneas futurasLíneas futuras

Page 16: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

TIDAISLTIDAISL Plataforma donde se prueban los nuevos Plataforma donde se prueban los nuevos

parametrizadores y reconocedores.parametrizadores y reconocedores.

Mains Mains que integran: que integran: test bench test bench + + recono/paramrecono/param..

Objetivos: Objetivos:

– Separar el test bench del recono/param.Separar el test bench del recono/param.

– Proveer operaciones síncronas en trama.Proveer operaciones síncronas en trama.

– Crear librerías de procesamiento integrables en Crear librerías de procesamiento integrables en

SERVIVOX:SERVIVOX: paramet: rasta, mfcc.paramet: rasta, mfcc.

HMM_SC_DCHMM_SC_DC

lib_comun: configuración, listas...lib_comun: configuración, listas...

Page 17: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

CLASES DE CLASES DE RECONOCIMIENTO (I)RECONOCIMIENTO (I)

Proponer una nueva arquitectura para las Proponer una nueva arquitectura para las

clases de reconocimiento de SERVIVOX. clases de reconocimiento de SERVIVOX.

Reducir la herencia (inclusión).Reducir la herencia (inclusión).

Desposeerlas de la funcionalidad de Desposeerlas de la funcionalidad de

reconocimiento: clases meramente interfaz.reconocimiento: clases meramente interfaz.

Integrar las librerías de TIDAISL disponibles.Integrar las librerías de TIDAISL disponibles.

Realizar de forma práctica un reconocedor de Realizar de forma práctica un reconocedor de

una etapa: TReconoNuevo.una etapa: TReconoNuevo.

Page 18: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

CLASES DE CLASES DE RECONOCIMIENTO (II)RECONOCIMIENTO (II)

TRecoBase(abstracta)

TReco_Dig

TVQuant TOnepassDiscr

TReco_Dicc

TCalcFactor TOnePassCont

TReco_Spell

TCalcFactor2

TOnepassPalTAcclexTVit_sc_dc TVit_cont__dc_spell

TParam_Base(abstracta) TParam_LPC

TParam_rasta

TParam_Old

TWaveReco

TDetector

1

*

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1 *

1

1

TAcclex2

1

Page 19: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

ÍNDICEÍNDICE ObjetivosObjetivos Análisis y diseño de sistemas SWAnálisis y diseño de sistemas SW Arquitectura de SERVIVOX: el kernelArquitectura de SERVIVOX: el kernel Reconocimiento: TIDAISLReconocimiento: TIDAISL MatricesMatrices Evaluador de expresionesEvaluador de expresiones ConclusionesConclusiones Líneas futurasLíneas futuras

Page 20: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

MATRICES DEL LDD (I)MATRICES DEL LDD (I)

Dotar al LDD de arrays multidimensionales Dotar al LDD de arrays multidimensionales

accesibles por índice y por clave.accesibles por índice y por clave.

– Conjunto de pares atributo-valor.Conjunto de pares atributo-valor.

– Aplicaciones más legibles.Aplicaciones más legibles.

Diseño a medida para el módulo matrices.Diseño a medida para el módulo matrices.

Implementación puramente orientada a Implementación puramente orientada a

objetos.objetos.

Programación en C++ haciendo uso de la Programación en C++ haciendo uso de la

librería estándar (STL).librería estándar (STL).

Page 21: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

MATRICES DEL LDD (II)MATRICES DEL LDD (II)

Page 22: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

EVALUADOR DE EVALUADOR DE EXPRESIONESEXPRESIONES

Evaluador de expresiones aritmético-lógicas con Evaluador de expresiones aritmético-lógicas con

variables.variables.

Incorpora:Incorpora:

– Operadores lógicos.Operadores lógicos.

– Paréntesis.Paréntesis.

– Las precedencias habituales en C.Las precedencias habituales en C.

Diseño flexible para poder usarse más allá de la Diseño flexible para poder usarse más allá de la

mera asignación: clase virtual mera asignación: clase virtual TgestorVariablesTgestorVariables..

Ejemplo: “n_var2>(1+n_var)/3.1+2*3”Ejemplo: “n_var2>(1+n_var)/3.1+2*3”

Page 23: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

RESUMENRESUMEN Análisis de alto nivel de SERVIVOX orientado a Análisis de alto nivel de SERVIVOX orientado a

objetos.objetos. Re-diseño del arquitectura y su implementación Re-diseño del arquitectura y su implementación

(prototipado evolutivo).(prototipado evolutivo). Rediseño de parte de TIDAISL y de las clases de Rediseño de parte de TIDAISL y de las clases de

reconocimiento y parametrización de SERVIVOX.reconocimiento y parametrización de SERVIVOX. Funcionalidad añadida al LDD:Funcionalidad añadida al LDD:

– Evaluador de expresiones aritmético-lógicas.Evaluador de expresiones aritmético-lógicas.

– Arrays multidimensionales.Arrays multidimensionales.

– Paso de argumentos a subrutinas.Paso de argumentos a subrutinas.

– Variables locales.Variables locales.

Page 24: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

CONCLUSIONES (I)CONCLUSIONES (I) El análisis orientado a objetos es una herramienta El análisis orientado a objetos es una herramienta

más potente que el análisis estructurado. más potente que el análisis estructurado. El prototipado evolutivo es una estrategia El prototipado evolutivo es una estrategia

adecuada para desarrollar un sistema:adecuada para desarrollar un sistema:– Es más seguro.Es más seguro.– Implica menor coste.Implica menor coste.– Pero se pueden heredar características del sistema Pero se pueden heredar características del sistema

original.original. La importancia de un análisis natural:La importancia de un análisis natural:

– El sistema es más fácilmente comprensible.El sistema es más fácilmente comprensible.– El sistema puede crecer más fácilmente.El sistema puede crecer más fácilmente.

Al integrar TIDAISL y SERVIVOX hay que evitar la Al integrar TIDAISL y SERVIVOX hay que evitar la duplicación del código: usar librerías.duplicación del código: usar librerías.

Page 25: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

CONCLUSIONES (II)CONCLUSIONES (II) Importancia de una buena documentación:Importancia de una buena documentación:

– No sólo documentación de uso (manuales),No sólo documentación de uso (manuales),– sino también documentación interna (desarrolladores).sino también documentación interna (desarrolladores).

Comparación con otros proyectos:Comparación con otros proyectos:– GTH: ahora situación análoga a TIDAISL o síntesis.GTH: ahora situación análoga a TIDAISL o síntesis.– Empresa: hay más separación entre desarrolladores y Empresa: hay más separación entre desarrolladores y

pruebas de sistemas y más documentación interna (pero pruebas de sistemas y más documentación interna (pero puede no ser de calidad porque se hace por cumplir).puede no ser de calidad porque se hace por cumplir).

Logros concretos del proyecto:Logros concretos del proyecto:– Desarrollo de aplicaciones (RENFE) facilitado por la Desarrollo de aplicaciones (RENFE) facilitado por la

ampliación del LDD: variables locales y subrutinas.ampliación del LDD: variables locales y subrutinas.– Añadir una nueva función de reconocimiento es más fácil.Añadir una nueva función de reconocimiento es más fácil.– La incorporación de personal es más sencilla (doc + arq).La incorporación de personal es más sencilla (doc + arq).

Page 26: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

LÍNEAS FUTURASLÍNEAS FUTURAS Ejecución distribuidaEjecución distribuida Re-diseño de otros módulos de reconocimiento Re-diseño de otros módulos de reconocimiento

(dígitos, preselección y deletreo).(dígitos, preselección y deletreo). Registrar cambios en el repositorio de TIDAISL.Registrar cambios en el repositorio de TIDAISL. Incorporación del evaluador a la sintaxis de las Incorporación del evaluador a la sintaxis de las

asignaciones del LDD.asignaciones del LDD. Re-diseño de algunas aplicaciones existentes Re-diseño de algunas aplicaciones existentes

empleando variables locales y paso de empleando variables locales y paso de parámetros.parámetros.

Eliminación del procesamiento en segundo Eliminación del procesamiento en segundo plano por medio de funciones plano por medio de funciones idle.idle.

Page 27: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

¿PREGUNTAS?¿PREGUNTAS?

Page 28: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

LA ARQUITECTURA GALAXY LA ARQUITECTURA GALAXY (I)(I)

Consiste en:Consiste en:– Una estructura cliente-servidor.Una estructura cliente-servidor.

– Reparto normalizado de tareas entre servidores.Reparto normalizado de tareas entre servidores.

– Protocolos de comunicación normalizados.Protocolos de comunicación normalizados.

– Módulo central (Hub) que canaliza las comunicaciones Módulo central (Hub) que canaliza las comunicaciones

controlado por un lenguaje de “script”.controlado por un lenguaje de “script”.

Objetivos:Objetivos:– Favorecer la interoperabilidad de equipos y el Favorecer la interoperabilidad de equipos y el

“plug&play”.“plug&play”.

– Hacer flexible el diálogo, gracias a la configurabilidad Hacer flexible el diálogo, gracias a la configurabilidad

del “hub”.del “hub”.

Page 29: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

LA ARQUITECTURA GALAXY LA ARQUITECTURA GALAXY (II)(II)

Servidor de audio

Conversión texto-voz

Generacióndel lenguaje

Gestor deldiálogo

Back-end dela aplicación

Seguimientodel contexto

“Parsing” del lenguaje

Reconocimientode habla

HUB

Page 30: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

CARACTERÍSTICAS DEL LDDCARACTERÍSTICAS DEL LDD Instrucciones síncronas: aritméticas, strings, arrays.Instrucciones síncronas: aritméticas, strings, arrays.

Instrucciones especializadas: Instrucciones especializadas: – Asíncronas: reco, agentes animados, ...Asíncronas: reco, agentes animados, ...

– Síncronas: mailSíncronas: mail

Excepciones: Excepciones: – colgadocolgado

– timeouttimeout

– fin de intentosfin de intentos

– cadena cortacadena corta

Variables: predefinidas, de usuario, locales.Variables: predefinidas, de usuario, locales. Instrucciones de control: Instrucciones de control: IF, WHILE, SUBRUTINAS, ....IF, WHILE, SUBRUTINAS, ....

Page 31: Nueva arquitectura para un servidor vocal telefónico con Reconocimiento Automático de Habla

Javier López García

Subrutinas y variables localesSubrutinas y variables locales Ejemplo de uso:Ejemplo de uso:

– gosub SINTETIZAR_MENSAJE_LARGO_ARRAY: gosub SINTETIZAR_MENSAJE_LARGO_ARRAY: (n_array_mensaje_largo_dar_timeout, (n_array_mensaje_largo_dar_timeout, 2;n_result);2;n_result);

Ejemplo de subrutinaEjemplo de subrutina::– SUBRUTINA SINTETIZAR_MENSAJE_ARRAY: SUBRUTINA SINTETIZAR_MENSAJE_ARRAY:

(n_sub_array_mensajes, (n_sub_array_mensajes, n_sub_indice_array_mensajes; n_resultado)n_sub_indice_array_mensajes; n_resultado)

– DEF_VAR DEF_VAR – s_mensaje_auxs_mensaje_aux– FIN_VARFIN_VAR– LEE_ARRAY (n_sub_array_mensajes, LEE_ARRAY (n_sub_array_mensajes,

n_sub_indice_array_mensajes; s_mensaje_aux);n_sub_indice_array_mensajes; s_mensaje_aux);– sintetizar (s_mensaje_aux;);sintetizar (s_mensaje_aux;);– n_resultado=0;n_resultado=0;