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

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

MODELOS ORIENTADOS A OBJETOS
Fundamentos de Diseño de Software INFT.1
UNIX COMP 240.
Sistema operativo Componentes de un sistema operativo
Prototipo de compilador didáctico del lenguaje LC99
METRICAS DE PROCESO Y PROYECTO
Introducción a la Programación
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
Herramientas CASE.
Presentado por: Lenin Isaías Escobar Mendoza
Musitec.
Módulo Local. Logo: Correo Electrónico: Slogan: Producir Software de alto nivel Misión: Desarrollar software de calidad para la satisfacción.
Javier López García OBJETIVOS DEL PROYECTO Diseñar una nueva arquitectura para SERVIVOX que le proporcione mayor modularidad y flexibilidad. Reestructurar.
Ingeniería del Software
Evaluación de Productos
CICLO DE VIDA DE UN PROYECTO DE SOFTWARE
M.S.C. Ivette Hernández Dávila
Introducción al Software
HERRAMIENTAS CASE.
 El termino OO, significa que el software es organizado como una colección de objetos. Un objeto es un paquete de software que contiene datos y procedimientos.
1. Introducción El objetivo final del proyecto piloto es probar el uso de la tecnología XBRL para el intercambio de información financiera entre el Banco.
Propuesta de una metodología para el desarrollo de proyectos informáticos empleando la herramienta para el diseño automatizado GeneXus Autor: Dipl.-Ing.
Diseño del Software Diseño de datos Diseño arquitectónico
Ingeniería de Software
Arquitectura de una aplicación
ACIDE A C onfigurable I ntegrated D evelopment E nvironment (Un entorno integrado de desarrollo configurable)
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
Las etapas de un proyecto
Ciclo de Vida del Software Paradigmas de Desarrollo
5.3 APROXIMACIONES AL DISEÑO
Metodología para el desarrollo de Software educativo POO
Comunicación y Multimedia
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
CONCEPTOS BÁSICOS Diseño de Sistemas.
Plan de Sistemas de Información (PSI)
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Diseño: Fundamento y Documentación ISF5501 Ingeniería de Software Semana 13/2.
ADAPTACIÓN DEL SISTEMA TELEFÓNICO MULTILÍNEA AL ESTÁNDAR TAPI Y ACCESO A BASE DE DATOS REMOTA MEDIANTE LLAMADAS RPC.
Metodología para la construcción de programas
Mensajería cliente-servidor en Flex y Java
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
Importancia en la efectividad del:
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Desarrollo de Software Orientado a Objetos (deficiencias)
HERRAMIENTAS CASE.
Facultad de Ingeniería
TEMA: DESARROLLO DE UN SISTEMA INFORMÁTICO PARA EL CONTROL DE USO Y EL MANTENIMIENTO DE VEHÍCULOS DE UNA INSTITUCIÓN PÚBLICA AUTOR: EDISON GUAMAN   DIRECTOR:
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
Ingeniería de Requisitos
Roles de Open UP.
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Unidad 3 MODELO DE ANALISIS.
Actividades en el Proceso de desarrollo de Software
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Naime Cecilia del Toro Alvarez
Gestión de proyectos fin de carrera
Tecnicas del Mantenimiento del Software
FACULTAD DE CIENCIAS COMPUTACIONALES Y TELECOMUNICACIONES ASIGNATURA:
Técnica: es un procedimiento o conjunto de procedimientos, (reglas normas o protocolos), que tienen como objetivo obtener un resultado determinado, ya.
Proceso de desarrollo de Software
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
Software de Comunicaciones
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
Entregables del Proyecto
Transcripción de la presentación:

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

Javier López García ÍNDICE n Objetivos n Análisis y diseño de sistemas SW n Arquitectura de SERVIVOX: el kernel n Reconocimiento: TIDAISL n Matrices y evaluador de expresiones n Conclusiones n Líneas futuras

Javier López García OBJETIVOS DEL PROYECTO n Diseñar una nueva arquitectura para SERVIVOX que le proporcione mayor modularidad y flexibilidad. n Reestructurar el software de TIDAISL de modo que se puedan integrar los módulos desarrollados en SERVIVOX. n Ampliar y mejorar el LDD. n Generar documentación precisa sobre: –La estructura actual de SERVIVOX. –Los pasos a seguir para ampliarlo con software de TIDAISL.

Javier López García DESARROLLO DE SOFTWARE n Fases: –Análisis (Requisitos,...) –Diseño. –Implementación. –Pruebas. –Mantenimiento. n Estrategias: –Lineal en cascada. –Prototipado-evolutiva. n Metodologías: –Estructurada. –Orientada a objetos.

Javier López García ANÁLISIS Y DISEÑO n Análisis: –Consiste en descomponer un sistema en los elementos que lo integran. –Responde a la pregunta qué es el problema, define el problema con precisión. –Genera un modelo conceptual del sistema. n Diseño: –Se realiza después del análisis. –Responde a la pregunta cómo se resuelve el problema con las herramientas disponibles. –Modifica los modelos generados en el análisis para reflejar decisiones relativas al entorno en que el sistema debe funcionar. –Genera un modelo físico del sistema.

Javier López García ANÁLISIS ORIENTADO A OBJETOS n El análisis y el diseño orientados a objetos utilizan los objetos como elementos básicos para la elaboración de modelos. n Objeto: podemos definir formalmente un objeto como una abstracción de algún objeto en el mundo real que incluye los datos o propiedades (atributos) que describen el objeto real, e incluye las operaciones (métodos) que manipulan estos datos, que son además las únicas autorizadas para hacerlo.

Javier López García ANÁLISIS PROPUESTO n Fase inicial: –Estudio de documentación previa: PFCs. –Reuniones con el cliente: desde gestores a técnicos. n Componentes: –Modelo de requisitos: necesidades de los usuarios. n Ámbito del proyecto. n Diagrama de contexto. n Guiones de casos de uso. –Modelo de objetos: n Arquitectura. n Diagrama de objetos. –Diccionario: define los conceptos utilizados. Se elabora conjuntamente con los modelos anteriores.

Javier López García ÁMBITO DE SERVIVOX – –Un sistema que permita: n n 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: n n 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: n n 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.

SISTEMA SERVIVOX DE APLICACIONES MULTIMEDIA MÓDULO MAGO DE OZ SUPERVISOR PROGRAMADOR OPERADOR(A) TELEFÓNICO MENSAJES PREGRABADOS Interfaz Usuario Sistema DRIVER TELÉFONO DRIVER AUDIO SERVIDOR AGENTES ANIMADOS Interfaz Usuario Servicio DRIVER IMÁGENES RPC MOTOR DE BÚSQUEDA (RENFE) ODBC ( BASES DE DATOS ) MAIL (POP3) Backend PROGRAMAS EXTERNOS EJECUTABLES MÓDULO DE GENERACIÓN DE RESPUESTA MÓDULO DE COMPRENSIÓN NLP MÓDULO DE ACENTOS DLL DE SÍNTESIS LIBRERÍA DE RECONO CIMIENTO Voz PORTABLE, PROFILE, FILEHAND Portable Configura Log

Javier López García ÍNDICE n Objetivos n Análisis y diseño de sistemas SW n Arquitectura de SERVIVOX: el kernel n Reconocimiento: TIDAISL n Matrices n Evaluador de expresiones n Conclusiones n Líneas futuras

Javier López García ARQUITECTURA DEL SERVIVOX (I) n Inspirada en la arquitectura DARPA. n Estructura cliente-servidor: –El kernel controla la secuencia del diálogo (cliente). –Toda la funcionalidad reside en los servidores. n Estructura de subsistemas intercambiables: –Interfaz kernel-servidor normalizada (__funciones). –Reparto normalizado de tareas entre los servidores. n Kernel programable: se define el LDD para la descripción de aplicaciones multimedia. n Log centralizado: seguimiento cronológico de la secuencia de trazas generadas por la aplicación.

Javier López García ARQUITECTURA DEL SERVIVOX (II)

Javier López García EL KERNEL n Núcleo de ejecución del autómata. n Lenguaje de alto nivel especializado en aplicaciones con interfaces vocales y multimedia (LDD). n Principales objetos del kernel: –Autómata y Ejecutar autómata. –Tabla de funciones. –Argumentos y Pila de Subrutinas. –Eventos y Errores. –Variables y Variables iniciales. –Configuración y Log. –Otros: fechasHoras, strings, ficheros, temporiz, matrices.

Javier López García FUNCIONAMIENTO DEL KERNEL AutomataEjecutor Tabla Func. Eventos y errores __Funciones Funciones C Variables Config y Log PilaSub y Argumentos

Javier López García ÍNDICE n Objetivos n Análisis y diseño de sistemas SW n Arquitectura de SERVIVOX: el kernel n Reconocimiento: TIDAISL n Matrices n Evaluador de expresiones n Conclusiones n Líneas futuras

Javier López García TIDAISL n Plataforma donde se prueban los nuevos parametrizadores y reconocedores. n Mains que integran: test bench + recono/param. n Objetivos: –Separar el test bench del recono/param. –Proveer operaciones síncronas en trama. –Crear librerías de procesamiento integrables en SERVIVOX: n paramet: rasta, mfcc. n HMM_SC_DC n lib_comun: configuración, listas...

Javier López García CLASES DE RECONOCIMIENTO (I) n Proponer una nueva arquitectura para las clases de reconocimiento de SERVIVOX. n Reducir la herencia (inclusión). n Desposeerlas de la funcionalidad de reconocimiento: clases meramente interfaz. n Integrar las librerías de TIDAISL disponibles. n Realizar de forma práctica un reconocedor de una etapa: TReconoNuevo.

Javier López García CLASES DE RECONOCIMIENTO (II)

Javier López García ÍNDICE n Objetivos n Análisis y diseño de sistemas SW n Arquitectura de SERVIVOX: el kernel n Reconocimiento: TIDAISL n Matrices n Evaluador de expresiones n Conclusiones n Líneas futuras

Javier López García MATRICES DEL LDD (I) n Dotar al LDD de arrays multidimensionales accesibles por índice y por clave. –Conjunto de pares atributo-valor. –Aplicaciones más legibles. n Diseño a medida para el módulo matrices. n Implementación puramente orientada a objetos. n Programación en C++ haciendo uso de la librería estándar (STL).

Javier López García MATRICES DEL LDD (II)

Javier López García EVALUADOR DE EXPRESIONES n Evaluador de expresiones aritmético-lógicas con variables. n Incorpora: –Operadores lógicos. –Paréntesis. –Las precedencias habituales en C. n Diseño flexible para poder usarse más allá de la mera asignación: clase virtual TgestorVariables. n Ejemplo: n_var2>(1+n_var)/3.1+2*3

Javier López García RESUMEN n Análisis de alto nivel de SERVIVOX orientado a objetos. n Re-diseño del arquitectura y su implementación (prototipado evolutivo). n Rediseño de parte de TIDAISL y de las clases de reconocimiento y parametrización de SERVIVOX. n Funcionalidad añadida al LDD: –Evaluador de expresiones aritmético-lógicas. –Arrays multidimensionales. –Paso de argumentos a subrutinas. –Variables locales.

Javier López García CONCLUSIONES (I) n El análisis orientado a objetos es una herramienta más potente que el análisis estructurado. n El prototipado evolutivo es una estrategia adecuada para desarrollar un sistema: –Es más seguro. –Implica menor coste. –Pero se pueden heredar características del sistema original. n La importancia de un análisis natural: –El sistema es más fácilmente comprensible. –El sistema puede crecer más fácilmente. n Al integrar TIDAISL y SERVIVOX hay que evitar la duplicación del código: usar librerías.

Javier López García CONCLUSIONES (II) n Importancia de una buena documentación: –No sólo documentación de uso (manuales), –sino también documentación interna (desarrolladores). n Comparación con otros proyectos: –GTH: ahora situación análoga a TIDAISL o síntesis. –Empresa: hay más separación entre desarrolladores y pruebas de sistemas y más documentación interna (pero puede no ser de calidad porque se hace por cumplir). n Logros concretos del proyecto: –Desarrollo de aplicaciones (RENFE) facilitado por la ampliación del LDD: variables locales y subrutinas. –Añadir una nueva función de reconocimiento es más fácil. –La incorporación de personal es más sencilla (doc + arq).

Javier López García LÍNEAS FUTURAS n Ejecución distribuida n Re-diseño de otros módulos de reconocimiento (dígitos, preselección y deletreo). n Registrar cambios en el repositorio de TIDAISL. n Incorporación del evaluador a la sintaxis de las asignaciones del LDD. n Re-diseño de algunas aplicaciones existentes empleando variables locales y paso de parámetros. n Eliminación del procesamiento en segundo plano por medio de funciones idle.

Javier López García ¿PREGUNTAS?

LA ARQUITECTURA GALAXY (I) n Consiste en: –Una estructura cliente-servidor. –Reparto normalizado de tareas entre servidores. –Protocolos de comunicación normalizados. –Módulo central (Hub) que canaliza las comunicaciones controlado por un lenguaje de script. n Objetivos: –Favorecer la interoperabilidad de equipos y el plug&play. –Hacer flexible el diálogo, gracias a la configurabilidad del hub.

Javier López García LA ARQUITECTURA GALAXY (II) Servidor de audio Conversión texto-voz Generación del lenguaje Gestor del diálogo Back-end de la aplicación Seguimiento del contexto Parsing del lenguaje Reconocimiento de habla HUB

Javier López García CARACTERÍSTICAS DEL LDD n Instrucciones síncronas: aritméticas, strings, arrays. n Instrucciones especializadas: –Asíncronas: reco, agentes animados,... –Síncronas: mail n Excepciones: –colgado –timeout –fin de intentos –cadena corta n Variables: predefinidas, de usuario, locales. n Instrucciones de control: IF, WHILE, SUBRUTINAS,....

Javier López García Subrutinas y variables locales n Ejemplo de uso: –gosub SINTETIZAR_MENSAJE_LARGO_ARRAY: (n_array_mensaje_largo_dar_timeout, 2;n_result); n Ejemplo de subrutina : –SUBRUTINA SINTETIZAR_MENSAJE_ARRAY: (n_sub_array_mensajes, n_sub_indice_array_mensajes; n_resultado) –DEF_VAR – s_mensaje_aux –FIN_VAR – LEE_ARRAY (n_sub_array_mensajes, n_sub_indice_array_mensajes; s_mensaje_aux); – sintetizar (s_mensaje_aux;); – n_resultado=0;