Los mejores cursos, masters y postgrados...
...en los centros más prestigiosos
|
|
CAMP/DAOP: MODELO Y PLATAFORMA BASADOS EN COMPONENTES Y ASPECTOS.Autor: PINTO ALARCÓN MÓNICA. Año: 2003. Universidad: MÁLAGA [ www.uma.es]. Centro de lectura: ETSI INFORMÁTICA. Centro de realización: UNIVERSIDAD DE MÁLAGA. Resumen: Los continuos avances tecnológicos, tanto de los sistemas hardware como de las tecnologías de las comunicaciones, han propiciado un aumento del desarrollo de sistemas distribuidos heterogéneos y abiertos, siendo necesario la adopción de nuevas tecnologías software. Dos de estas tecnologías son el Desarrollo de Software Basado en Componentes (DSBC) y el Desarrollo de Software Orientado a Aspectos (DSOA), que han surgido con el propósito de mejorar la modularidad y evolucióon de los sistemas software mediante el ensamblado de cantidades indpendientes y reutilizables. El DSBC y el DSOA son tecnologías complementarias, basadas ambas en la aplicación del principio de separación avanzada de conceptos desde una perspectiva diferntes, y en consecuencia, serí muy útil tener modelos que combinaran estas tecnologías para obtener de forma conjunta todos sus beneficios. El objetivo principal de esta tesis es el de integrar los principios del DSBC y del DSOA mediante la definición d eun modelo, un lenguaje y una plataforma de componentes y aspectos. El modelo CAM (Component-Aspect Model) tiene como objetivo solucinar las limitaciones de las plataformas de componentes y de los sistemas de aspectos actuales, definiendo los componentes y los aspectos como entidades de primer orden, junto a un mecanismo de composición de componentes y aspecto son intrusivo. Además, el modelo CAM permite definir como aspectos tanto los servicios comunes delas aplicaciones distribuidas como cualquier otro tipo de código replicado o enmarañado, definiendo un modelo homogéneo de composición. Una vez definido el modelo CAM, otra característica muy importante de CAM/DAOP es que la información sobre la arquitectura de la aplicación no está distribuida entre los componentes y los aspectos de la aplicación, como es usual. En su lugar, esta información se definie de forma explícita utilizando un lenguaje de descripción de arquitectura llamado DAOP-ADL. De forma similar a otros LDAs, este lenguaje es usado par analizar y comprobar la corrección de un cierto diseño, siendo posible razonar sobre la estructura del sistema y evaluar diferentes opciones de diseño, incluso antes de su implementación. DAOP-ADL se ha descrito utilizando esquemas XML, lo que permiten que la información proporcionada con el lenguaje pueda ser directamente interpretada y usada por la plataforma DAOP. La plataforma DAOP (Dynamic Aspect-Oriented Platform) es la infraestructura sobre la que se ejecutarán los componentes y aspectos CAM. El servicio más importante ofrecido por la plataforma DAOP es el de componer los componentes y los aspectos, o de tejerlos si usamos la terminología de aspectos, de forma dinámica en tiempos de ejecución. Para establecer las conexiones entre los componentes y los aspectos, la plataforma DAOP consulta la información ddescrita anterioremtne con DAOP-ADL, la cual estará almacenada en sus estructuras internas. De esta forma, es posible adaptar el número y tipo de aspectos tejidos con un componente determinado, incluso en tiempo de ejecución, mejorando la flexibilidad y adaptabilidad de la aplicación final.
ESPECIFICACIÓN DE SISTEMAS CONCURRENTES USANDO CONCEPTOS DE TEORÍA ECONÓMICA: SINTAXIS, SEMÁNTICA, APLICACIONES Y EXTENSIONES DEL LENGUAJE FORMAL PAMRAutor: RODRÍGUEZ LAGUNA ISMAEL. Año: 2003. Universidad: COMPLUTENSE DE MADRID [ www.ucm.es]. Centro de lectura: FACULTAD DE INFORMÁTICA. Centro de realización: FACULTAD DE INFORMÁTICA. Resumen: El problema de la distribución de recursos computacionales entre las entidades concurrentes presentes en un sistema distribuido es complejo debido a varias razones. Por una parte, neceistamos satisfacer, en la medida de lo posible, diferentes objetivos que pueden ser dispares e incompatibles. Por otra parte, necesitamos obtener distribuciones adecuadas utilizando un reducido número de mensajes que no sobrecargue las comunicaciones del sistema. La ciencia económica provee los conceptos necesarios para tratar entornos donde una serie de agentes pugnan por el uso de ciertos recursos escasos que pueden tener usos alternativos, por lo que su aplicación a dicho problema resulta adecuada. Por otro lado, los métodos formales llevan años proveyendo mecanismos a abstracción adecuados para analizar las propiedades de los sistemas computacionales. En concreto, los lenguajes de especificación formales para sistemas concurrentes permiten la definición de los sistemas distribuidos y el posterior estudios de sus propiedades de una manera formal. En la presente tesis se construye el lenguaje formal PAMR (Process Algebra for the Management of Resources), que permite especificar sistemas concurrentes en los que la disponibilidad de los recursos entre los distintos procesos juega un papel importante. La definición de las características relevantes de los sistemas se realiza haciendo uso de conceptos de Microeconomía, lo que permite utilizar técnica de ésta en el análisis de dichos sistemas. Además, el lenguaje se extiende de manera incremental para incluir factores que tienen una fuerte interdependencia con la cantidad de recursos disponibles. Tal es el caso del tiempo, cuya influencia en el comportamiento de los sistemas se analiza tanto en su versión determinista (es decir, podemos definir el tiempo que tardará cada tarea en función de los recursos disponibles) como en su versión probabilista (es decir, conocemos la probabilidad de que una tarea tarde un tiempo determinado con los recursos disponibles). Por otra parte, el manejo de los conceptos económicos de nuestro lenguaje resultará adecuado para su utilización en un ámbito de la Informática diferente, el comercio electrónico. Si bien en dicho área los recursos disponibles deberán distribuirse entre usuarios finales humanos en lugar de entre entidades computacionales, las técnicas necesarias para la descripción formal de dichos entornos en términos económicos resultarán similares a ls que usáraos en la descripción de sistemas distribuidos. Una nueva extensión de nuestro lenguaje permite la descripción y análisis formal de dicho tipo de sistemas. Tanto en el caso de esta extensión como en el caso de aquellas que tratan la introducción del tiempo, nuestro lenguaje formal permite inferir de manera sistemática a aquellos comportamientos que serán conformes con la especificación de un sistema dado, y distinguirlos de aquellos comportamientos que no lo son. Para dichas extensiones presentamos metodologíasde testeo que proveen técnicas sistemáticas para comprobar si una determinada implementación cumple el comportamiento definido por una especificación. La descripción explícita de la dependencia de los recursos obligará a la construcción de metodologías que tengan en cuenta dicha influencia en el comportamiento de los sistemas. COFRE: ENTORNO FORMAL PARA LA ESPECIFICACIÓN VALIDACIÓN Y DESARROLLO DE SISTEMAS COORDINADOS.Autor: SANCHEZ ALONSO M. SOLEDAD. Año: 2003. Universidad: EXTREMADURA [ www.unex.es]. Centro de lectura: ESCUELA POLITÉCNICA. Centro de realización: ESCUELA POLITECNICA. Resumen: En esta tesis se presenta (OFRE Coordinativa Formal Requirenets Encinooment), un entorno para el desarrollo de entornos coordinados basados en componentes donde los aspectos funcionales y de coordinación se contemplan de forma separada desde los primeras fases. El entorno que se propone se basa en el -- del lenguaje formal manda como base para la especificacción y desarrollo de parte de las herramientas del entorno , y es uso del lenguaje exógeno de coordinación Coordenate al Poles. UN ENFOQUE BASADO EN ESTÁNDARES PARA LA INTEGRACIÓN DE TÉCNICAS Y HERRAMIENTAS DE INGENIERÍA DE PROTOCOLOSAutor: MARTÍNEZ CRUZ JESÚS. Año: 2004. Universidad: MÁLAGA [ www.uma.es]. Centro de lectura: ETSI INFORMATICA. Centro de realización: E.T.S.I. INFORMATICA. Resumen: En este trabajo de tesis se aborda el uso de tecnologías XML y MDA para la integración de herramientas de análisis de portocolos.El núcleo de la propuesta la constituye un lenguaje XML para especificar protocolos denominado PiXL(Protocol Interchange With an XML Language), que ha permitido la implementación con relativa facilidad de aplicaciones de verificación automática a través de la comprobación de modelos abstracta, reutilizando completamente herramientas de model checking y añadiendo módulos para abstracción de datos y eventos.El lenguaje y las metodologías propuestas son aplicables también a la extensión de tipos de análisis.En concreto , los conceptos introducidos se aplican también a la posibilidad de integrar análisis de rendimiento de protocolos en el contexto de las Redes Activas.
MALACA: UNA ARQUITECTURA PARA EL DESARROLLO DE AGENTES SOFTWARE BASADOS EN COMPONENTES Y ASPECTOSAutor: AMOR PINILLA M. DE LAS MERCEDES. Año: 2004. Universidad: MÁLAGA [ www.uma.es]. Centro de lectura: E.T.S.I. INFORMÁTICA. Centro de realización: E.T.S.I. INFORMÁTICA. Resumen: La principal aportación del modelo de agente Málaga es la simplificación del proceso de desarrollo de agentes software, dando solución a las limitaciones que afectan a las APLs y marcos de trabajo Orientados a Objetos existentes para la construcción de Sistemas Multi-Agente (SMA). Estas limitaciones se derivan del uso de diseños OO poco flexibles y la presencia de problemas, como el código enmarañado y la replicación de código, en diversos componentes de la arquitectura interna del agente. Estos problemas afectan a la reutilización y a la adaptabilidad de la estructura interna de los agentes, complicando su construcción y obstaculizando su posterior evolución. La principal contribución de esta tesis ha sido combinar los principios del Desarrollo de Software Basado en Componentes y del Desarrollo de Software Orientado a Aspectos en la definición de Malaca, un modelo y una arquitectura de agente software cuyo objetivo es mejorar el desarrollo y evolución de los SMA resolviendo las limitaciones antes comentadas. Dentro de la arquitectura de un agente software y aplicando el DSBCla funcionalidad dependiente de un dominio de aplicación es proporcionada por componentes COTS. De esta forma se fomenta la reutilización y se evita el desarrollo de agentes software desde cero reduciendo el coste, tiempo y esfuerzo dedicado al proceso de implementación. La aplicación del DSOA nos permite obtener una mejor descomposicíon funcional dela arquitectura interna del agente. Para ello identificamos y separamos en entidades independientes dentro de la arquitectura cualquier propiedad perteneciente a la comunicación del agente, que es modelada como un aspecto. Esta identificación nos ha llevado a separar y modelar como aspectos la coordinación de acuerdo a un protocolo de interacción, la codificación de los mensajes ACL en diferentes representaciones y la distribución de los mensajes a través de los servicios proporcionados por una plataforma de agentes. En general los agentes resultantes son más extensibles, reutilizables y adaptables debido a que su arquitectura interna permite agregar, eliminar, o sustituir componentes y aspectos sin que el resto de componentes y aspectos del agente se vea afectado. Esta característica proporciona importantes beneficios, como el entrenamiento de nuevos protocolos en tiempo de ejecución y el acceso, incluso de forma simultánea, a diferentes plataformas de agentes FIPA para comunicarse. Éstas y otras interesantes contribuciones derivadas de las características del modelo se ilustran a lo largo de la memoria. Junto con el modelo se han definido dos lenguajes específicos de dominio cuyo objetivo es simplificar y facilitar el desarrollo y evolución de los agentes construidos sobre la arquitectura Malaca. Para la descripción dela coordinación de los agentes se ha definido ProtDL, un lenguaje para especificación de protocolos de interacción entre agentes basado en XML. De esta forma, los protocolos de interacción soportados por un agente se representa explícitamente, facilitando su incorporación y modificación. Asimismo, para la descripción de nuevos agentes se ha definido MaDL, un lenguajes para la descripción de arquitecturas de agentes basadas en componentes y aspectos. De esta forma, el desarrollador sólo debe proporcionar una descripción de los componentes que serán ensamblados en el agente, una descripción explícita de los protocolos de interacción soportados en ProtDL, e información acerca de la configuración y despliegue de otros aspectos del agente en un documento XML. Finalmente, otra contribución de esta tesis es la integración del modelo Malaca en el proceso de desarrollo propuesto por metodología orientadas a agentes mediante la aplicación e MDA. El modelo Malaca se integra en un proceso de desarrollo guiado por modelos caracterizado por promover el uso de cualquier metodología de agentes. La aplicación de MDA reduce el "salto" entre diseño e implementación y permite resolver la diversidad de metodologías, facilitand 8 o inclus 1c4 o la automatización de último paso del desarrollo. DESARROLLO DE UN MODELO DE AUTÓMATA PROGRAMABLE BASADO EN RTOS BAJO CRITERIOS DE CALIDAD: DE LA GESTIÓN A LA IMPLEMENTACIÓN.Autor: PLAZA GARCIA INMACULADA. Año: 2004. Universidad: ZARAGOZA [ www.unizar.es]. Centro de lectura: E.U. DE INGE. TEC. INDUSTRIAL. Centro de realización: CENTRO POLITECNICO SUPERIOR. Resumen: Esta tesis tiene como objetivo genérico el desarrollo de un autómata programable (PLC) basado en sistemas operativos de tiempo real (RTOS) bajo criterios de calidad. Un estudio previo de los productos comerciales permite contemplar algunas tendencias, como la búsqueda de calidad y de estandarización. En concreto, los fabricantes mencionan la norma IEC 61131-3:2003 que describe los lenguajes de programación de este tipo de dispositivos. Sin embargo, un estudio del estado del arte nos permite descubrir lagunas en este campo. En concreto, falta una descripción técnica de la norma - aclarando puntos ambiguos o imprecisos-, y una herramienta libre para compilación. Por otro lado, trabajar siguiendo criterios de calidad requiere no centramos solamente en el producto, sino abordar también aspectos del propio proceso de desarrollo. Intentando dar respuesta a estas necesidades se ha planteado una división de la tesis en dos grandes bloques: - Bloque Calidad: en él se analiza la conveniencia de implantar un sistema de gestión de la calidad en el grupo universitario de I+D+i en el que se va a desarrollar el trabajo de tesis. Ante la respuesta positiva, se estudian diferentes normativas aplicables, diseñando finalmente un sistema de gestión de calidad adecuado para este tipo de organización. Su implantación en el grupo ha permitido definir así mismo una nueva línea de trabajo que hemos denominado "Calidad en Educación", consistente en aplicar los conceptos aprendidos sobre calidad en nuestra labor docente. - Bloque Modelo Autómata: en el que se analiza la norma IEC anteriormente citada, indicando puntos ambiguos y propuestas de mejora. Una vez aclarados los conceptos teóricos se propone una implementación del Modelo de Software IEC 61131-3 con RTOS. Así mismo, se presenta la implementación de un traductor de lenguaje Lista de Instrucciones (uno de los descritos en la norma) a C, desarrollado bajo las pautas del sistema de gestión de la calidad definido en el anterior bloque. El modelo implementado ha sido desarrollado en plataforma PC, utilizando como sistema operativo RTLinux. Como características destacamos que amplía las posibilidades de usuario respecto a los PLC comerciales. Así mismo, los tiempos de ejecución son comparables a los de otros PLC basados en plataforma PC que puedan encontrarse en el mercado. Como ventajas adicionales, señalaremos que el software desarrollado favorece una programación estructurada, permite un fuerte tipado de datos y el control de la ejecución, da soporte para datos estructurados y favorece también una independencia del vendedor. Estas cualidades han sido remarcadas en la literatura como características que debería tener un software de PLC para considerarse de calidad. Finalmente, señalaremos que la herramienta desarrollada es independiente (no necesita integrarse en otras aplicaciones de desarrollo de software), permite la entrada en un fichero editable con cualquier editor de texto, no hace uso de ninguna instrucción específica de un fabricante concreto y está completamente basada en software libre COMPONENTES SOFTWARE PARA SISTEMAS DISTRIBUIDOS DE TIEMPO REALAutor: GARRIDO MÁRQUEZ DANIEL. Año: 2005. Universidad: MÁLAGA [ www.uma.es]. Centro de lectura: E.T.S.I. INFORMÁTICA. Centro de realización: E.T.S.I. INFORMÁTICA. Resumen: El trabajo de la tesis se ha centrado en la integración de tres elementos: componentes software, middleware y análisis de planificabilidad. Estos tres elementos combinados permiten la creación de sistemas distribuidos de tiempo real, esto es, sistemas distribuidos predecibles y analizables. Se ha creado un modelo de componentes software adecuado para los sistemas de tiempo real. Este modelo supera las carencias de los modelos estándares de componentes. Las dos principales ventajas del modelo sobre otras aproximaciones son, la obtención de un modelo abstracto SDL del componente y la utilización de anotaciones para el cálculo de los tiempos peores de ejecución. La combinación de estos dos elementos permite obtener independencia de plataforma. La segunda parte del trabajo de la tesis se ha centrado en la distribución del modelo de componentes sobre una plataforma de ejecución predecible. Entre las múltiples posibilidades, se ha decidido la utilización de RT-CORBA por las numerosas ventajas que este middleware aporta para la realización de aplicaciones distribuidas de tiempo real. El tercer elemento ha consistido en la creación de una metodología para la realización del análisis de planificabilidad de las aplicaciones basadas en este modelo de componentes y sobre esta plataforma de comunicaciones predecible. En último lugar, uno de los principales objetivos perseguidos es la aplicación en sistemas reales. Se han utilizado las propuestas realizadas en prototipos de simuladores de centrales nucleares, comprobando la idoneidad de tales propuestas. UN MODELO DE EVALUACIÓN COGNITIVA BASADO EN TESTS ADAPTATIVOS INFORMATIZADOS PARA EL DIAGNÓSTICO EN SISTEMAS TUTORES INTELIGENTESAutor: GUZMÁN DE LOS RISCOS EDUARDO. Año: 2005. Universidad: MÁLAGA [ www.uma.es]. Centro de lectura: E.T.S.I INFORMÁTICA. Centro de realización: E.T.S.I. INFORMÁTICA.
Resumen: Los Sistemas Tutores Inteligentes (STI), son herramientas para la enseñanza que aplican técnicas de Inteligencia Artificial para guiar al estudiante durante el proceso de instrucción. Utilizan un modelo del alumno que representa lo que éste conoce y lo que no conoce del dominio sobre el que está siendo instruido. Este modelo se actualiza durante el proceso de instrucción y es fundamental para determinar en cada momento qué acción debe llevarse a cabo. La estructura que almacena el estado de conocimiento del alumno es propiamente el modelo del alumno, mientras que el proceso de razonamiento que actualiza este modelo se denomina diagnóstico del alumno. La importancia de un diagnóstico certero y riguroso es vital para el buen funcionamiento de un STI. Un test es un instrumento de evaluación diseñado para inferir una medida de las capacidades de los sujetos, a través de sus respuestas a un conjunto de preguntas (o ítems). Dentro del diagnóstico en STI, los tests se han popularizado gracias a las ventajas que supone su utilización. Entre éstas destaca el hecho de que son aplicables, en mayor o menor grado, en casi todos los dominios. Sin embargo, tanto el modo en el que se construyen como la forma en la que se aplican suelen ser, por regla general, incorrectos, o cuando menos poco rigurosos. Como a cualquier otro instrumento de medida, se le deben exigir ciertas características, a través de las cuales se pueda verificar su idoneidad. Los Tests Adaptativos Informatizados (TAI), tienen tras de sí un sólido fundamento teórico que garantiza la validez, fiabilidad y objetividad de las evaluación que realizan. A través de un TAI se obtiene como resultado la estimación del nivel de conocimiento del alumno. Requieren un menor número de preguntas por test con respecto a los tests convencionales. Esto es debido a que cada pregunta es seleccionada en función dela estimación que hasta ese momento ha realizado el test del conocimiento del alumno. Los TAI se basan en aplicar un algoritmo de evaluación, el cual se sustenta principalmente en una teoría piscométrica denominada Teoría de Respuesta al Ítem (TRI). Según ésta, la respuesta que un examinado da a una pregunta, está relacionada con el nivel de conocimiento que éste posee. Esta relación se cuantifica mediante una o más funciones de densidad denominadas curvas características. A pesar de su idoneidad para el diagnóstico del conocimiento, los TAI presentan un conjunto de inconvenientes. El primero de ellos es que sólo pueden ofrecer como resultado, en cada test, una única valoración del conocimiento del alumno. Además, en aquellos tests en los que se ven involucradas preguntas sobre distintos conceptos, los criterios de selección suelen recurrir a heurísticos, lo que pone en tela de juicio el rigor de los resultados. Otro problema de los TAI es que son muy costosos, en cuanto al tiempo de desarrollo. Antes de que un TAI esté operativo, es necesario calibrar las curvas características de cada pregunta. En general, los procedimientos que existen con este fin son muy costosos, puesto que requieren disponer de una muestra poblacional e examinados de tamaño considerable. En el ámbito de los STI, existen diversas propuestas en las que se hace uso de los TAI pero, en general, no aprovechan adecuadamente las características y ventajas que éstos pueden ofrecer al diagnóstico del conocimiento. Los modelos de diagnóstico cognitivo persiguen un objetivo más ambicioso que los TAI, puesto que intentan proporcionar un conjunto de inferencias más sofisticado que la simple estimación numérica del conocimiento del alumno es un único concepto que proporciona un TAI. La solución propuesta en esta tesis se basa en la definición de un modelo de respuesta basado en la TRI y de otro de diagnóstico cognitivo, cuya herramienta de evaluación son los TAI. La propuesta incluye diversas características que permiten solventar los problemas de los TAI con respecto al diagnóstico en los STI. Asimismo, el modelo de r 8 espuesta 3f0 definido proporciona un fundamento teórico al de diagnóstico. Permite combinar en un mismo test diferentes tipos de preguntas, e incluye un algoritmo para la calibración de éstas, que economiza los requisitos iniciales que este tipo de algoritmos necesitan para poder ser aplicados. Tanto el modelo de respuesta como el de diagnóstico han sido implementados en un sistema Web, SIETTE, que es capaz de operar como una herramienta de evaluación independiente, o bien como un módulo de diagnóstico dentro de la arquitectura de un STI, gracias a un conjunto de protocolos que se han implementado con este fin. XDS: NUEVO SISTEMA PARA LA INTEGRACIÓN DE FUENTES HETEROGENEAS DE INFORMACIÓN CON XMLAutor: BERJÓN GALLINAS ROBERTO. Año: 2005. Universidad: DEUSTO [ www.deusto.es]. Centro de lectura: FACULTAD DE INGENIERIA. Centro de realización: FACULTAD DE INGENIERIA. Resumen: Debido a la necesidad que tienen las empresas no sólo de intercambiar su información entre sí, sino también de hacerla accesible al mayor número de clientes posibles, por ejemplo a través de la Web o de terminales móviles, es imperativo codificar dicha información siguiendo una serie de pautas. Por una parte, la codificación debe ser compatible con todos los sistemas informáticos para garantizar su legibilidad. Además debe ser verificable para comprobar que su estructura sea correcta. Por otra parte, no debe haber una pérdida semántica, es decir del significado de la información. Por último, debe ser fácilmente transformable, con el objeto de poder convertirla a otros formatos. Todos estos requisitos han hecho de XML un estándar para la codificación de la información, ya que cumple con todas estas necesidades. Por ello, las empresas requieren cada vez más, que su información se represente en este formato. Este es el motivo por el que recientemente han surgido nuevos modelos de bases de datos que complementando a los ficheros XML y a las tradicionales bases de datos relacionales, permiten ya el almacenamiento de información en XML: las bases nativas XML y las bases de datos relacionales habilitadas para XML. Actualmente, las empresas se encuentran con su información distribuida entre diferentes fuentes heterogéneas, que por supuesto utilizan distintos lenguajes de acceso y están en diversos formatos. Todo esto dificulta enormemente no sólo la consulta de la información, sino también su obtención en formato XML. Existen numerosos trabajos y estudios que proponen soluciones a este problema: la consulta y obtención de información en formato XML. Sin embargo, dichos trabajos se centran exclusivamente en la transformación a XML de la información residente en bases de datos relacionales. Como anteriormente se ha expuesto, esto no es suficiente. Se requiere integrar datos de distintas fuentes, teniendo en cuenta que pueden ser de distinto tipo. Así, el objetivo de esta tesis es precisamente este: integrar información procedente de fuentes de datos heterogéneas a través de XML. Esto lo consigue mediante un novedoso sistema que permite la consulta de distintos tipos de fuentes de información empleando el lenguaje nativo de cada una y la obtención del resultado finla en formato XML. Además, destacar que la estructura XML del resultado la define el usuario, pudiendo incluso englobar datos de otras fuentes. MEDIDAS DE USABILIDAD PARA COMPONENTES SOFTWAREAutor: FERNÁNDEZ BERTOA MANUEL. Año: 2005. Universidad: MÁLAGA [ www.uma.es]. Centro de lectura: E.T.S.I. INFORMÁTICA. Centro de realización: E.T.S.I. INFORMÁTICA. Resumen: La última década ha marcado el primer intento real de convertir el desarrollo software en una ingeniería usando los conceptos de Desarrollo Software Basado en Componentes (DSBC) y de Componentes COTS (Comercial Of-The-Shelf) cuyo objetivo es crear elementos de alta calidad que se puedan ensamblar para construir un sistema funcional. Uno de los procesos críticos dentro del DSBC es la selección de los componentes que, cumpliendo los requisitos de funcionalidad definidos por el usuario, formarán parte del producto software final. Sin embargo, existe una falta de modelos de calidad y de medidas que ayuden en la evaluación de las características de calidad de los componentes software durante este proceso de selección. Esta tesis presenta un conjunto de medidas para valorar una característica de calidad de los componentes software, la usabilidad. Partiendo de un modelo de calidad específico para componentes (COTS-QM) y del estudio de la información que ofrecen los vendedores de componentes COTS, se definen formalmente un conjunto de medidas para la usabilidad de los componentes software. Además, se realiza la validación empírica de estas medidas mediante el desarrollo de una familia de experimentos cuyo proceso y análisis se describe en la memoria. Como resultado final se proponen una serie de indicadores para la comprensibilidad, aprendibilidad y operabilidad de un componentes software que están validados y se pueden calcular de forma objetiva y automática mediante una herramienta informática de análisis de la documentación y de inspección de los componentes software. COMPONENTES REUTILIZABLES PARA SOFTWARE ROBUSTO Y COOPERATIVOAutor: HERNÁNDEZ ACOSTA LUIS MIGUEL. Año: 2005. Universidad: LAS PALMAS DE GRAN CANARIA [ www.ulpgc.es]. Centro de lectura: DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA. Centro de realización: E.T.S. DE INGENIEROS DE TELECOMUNICACIÓN.
Resumen: El desarrollo de componentes reutilizables que pueden ser interconectados y facilita el desarrollo de aplicaciones distribuidas. En esta tesis se aplica una Metodología para Automatizar el Desarrollo de Aplicaciones Robustas y Cooperativas (MADARC). Esta metodología facilita la construcción de software robusto a partir de componentes no robustos disponibles. Un requisito indispensable para aplicar MADARC es disponer de un servicio de comunicación que entienda de grupos de procesos. Aunque podemos utilizar JGroups para aplicar MADARC, el servicio de grupos cerrados que ofrecen limita ciertos aspectos de diseño ya que los mensajes de radiado llegan a todos los procesos del grupo. Como consecuencia, el aumento de clientes en una aplicación baja el rendimiento de la misma. En esta tesis se desarrolló un componente que, utilizando JGroups, ofrece una interfaz de grupos abiertos y disminuye el número de mensajes. Aparte de grupos cerrados, JGroups no ofrece ningún soporte para comunicación N-a-1 o N-a-M. Sin embargo, un grupo de procesos puede necesitar la comunicación con otros procesos o grupos de procesos de la aplicación. En esta tesis se desarrollaron dos componentes que ofrecen soporte para comunicación N-a-1 y N-a-M con JGroups. El paso de estado es un requisito fundamental en aplicaciones de alta disponibilidad. En este contexto generalmente se requiere la reconfiguración de un grupo de procesos sin interrumpir el servicio proporcionado. Para ello se ha desarrollado un componente que, utilizado JGroups, ofrece soporta para transferencia cooperativa de estado. Es decir, cada miembro del grupo puede enviar parte de su estado al nuevo miembro. MADARC y los componentes descritos anteriormente se han aplicado a RMI y JDBC para desarrollar una extensión de estas APls de Java que facilitan la construcción de aplicaciones robustas mediante reclinación. Las nuevas APls ofrecen la misma interfaz pero, además, dan soporte para las siguientes características: comunicación N-a-1 y N-a-M, incorporación dinámica de nuevos servidores a un grupo de servidores y reparto de cara en la transferencia del estado. Finalmente, los nuevos componentes desarrollados en esta tesis se han reutilizado para escribir un nuevo módulo de detección de fallos. Este módulo ha sido integrado dentro de la pila de protocolos de JGroups como una nueva capa. RECONSTRUCTORES. MECANISMO DE RECUPERABILIDAD PARA EL MANTENIMIENTO DE LA CONSISTENCIA DE LOS OBJETOS DE DOMINIO EN SOFTWARE ORIENTADO A OBJETOSAutor: FERNANDEZ LANVIN DANIEL. Año: 2006. Universidad: OVIEDO [ www.uniovi.es]. Centro de lectura: E.U. INGENIERIA TECNICA INFORMATICA. Centro de realización: DEPARTAMENTO DE INFORMATICA. Resumen: En este documento se analiza el mecanismo que los lenguajes orientados a objetos modernos ponen a disposición del desarrollador para el mantenimiento de la consistencia del sistema. La solidez del software se define como el grado en el que un sistema o componente puede funcionar correctamente en presencia de entradas de información inválidas o condiciones ambientales con altos niveles de estrés. La forma de abordar o prevenir estas cisrcunstancias en los lenguajes orientados a objetos es generalmente por medio de un mecanismo de tratamiento de excepciones. El tratamiento de excepciones es una herramienta eficaz para gestionar los errores provocados por un problema en el sistema, pero hay determinados escenarios en los que resulta poco eficiente para la recuperación de su consistencia. El presente trabajo realiza un estudio de las técnicas y recursos tecnológicos existentes orientados a mantener la consistencia del sistema ante la ocurrencia de un error, especialmente cuando el mecanismo de tratamiento de excepciones no basta para la recuperación. En base a las conclusiones obtenidas tras la evaluación, se propone una extensión semántica dirigida por anotaciones y aplicable a los lenguajes orientados a objetos más populares. La extensión complementa el tratamiento de excepciones para evitar la implementación de ciertas tareas que pueden ser automatizadas, ahorrando esfuerzo de desarrollo y reduciendo la complejidad del código fuente final. Con el fin de probar su aplicabilidad, se ha desarrollado la herramienta piloto Ariadna, que procesa el código fuente enriquecido y, en base a las anotaciones asociadas a atributos y métodos, genera automáticamente el código necesario para la instanciación y gestión de reconstructores, componentes especializados en la restauración de la consistencia de una parte específica del modelo. Tras aplicar la herramienta sobre un conjunto de escenarios modelo, se han comprobado los beneficios de la solución diseñada, abriéndose a partir de la misma varias posibles líneas de trabajo que lleven el mecanismo de recuperabilidad propuesto a cotas más ambiciosas de cobertura. Finalmente, se ha aplicado la herramienta sobre PREMOSGAMES, una herramienta de simulación de plantas superiores desarrollada en el marco de un proyecto de investigación real cuyas características la confirman como el tipo de aplicación objetivo de los reconstructores. POLY-CONTROLLED PARTIAL EVALUATION AND ITS APLLICATION TO RESOURCE-AWARE PROGRAM SPECIALIZATION (EVALUACIÓN PARCIAL POICONTROLADA Y SU APLICACIÓN A LA ESPECIALIZACIÓN DE PROGRAMAS CONSICIENTE DE LOS RECURSOSAutor: OCHOA CLAUDIO J. G.. Año: 2006. Universidad: POLITÉCNICA DE MADRID [ www.upm.es]. Centro de lectura: FACULTAD DE INFORMATICA. Centro de realización: FACLUTAD DE INFORMATICA. Resumen: La principal contribucion de esta tesis es el desarrollo de la Evaluacion Parcial Policontrolada, un novedoso entorno para la evaluacion parcial de programas logicos, el cual es policontrolado en el sentido de que pude tomar en cuenta conjuntos de reglas de control global y local, en lugar de emplear una unica combinacion predeterminada (como es el caso de la evaluacion parcial tradicional). Este entorno es mas flexible que los enfoques existentes, ya que permite asignar difererentes reglas de control local y global a diferentes patrones de llamada. De este modo, es posible obtener programas especializados que no pueden ser generados usando evaluacion parcila tradicional. Este entorno es consciente de los recursos en el sentido de que cada una de la soluciones obtenidas a traves de la evaluacion parcial policontrolada es valorada utilizando funciones de adecuacion. Este entorno de evaluacion parcial policontrolada ha sido implementado en el sistema CiaoPP y evaluado con numerosos programas de prueba. Los resultados experimentales obtienen en muchos casos mejores especializaciones que aquellas generadas usando la evaluacion parcial tradicional. Otra de las contribuciones de esta tesis es la presentacion de una vision unificada de la eliminacion de la polivarianza superflua en la evaluacion parcial y en la especializacion abstracta multiple, a traves del uso de un paso de minimizacion que agrupa versiones equivalentes de predicados. DEBUGGING TECHNIQUES FOR DECLARATIVE LANGUAGES: PROFILING, PROGRAM SLICING AND ALGORITHMIC DEBUGGING.Autor: SILVA GALIANA JOSEP FRANCESC. Año: 2006. Universidad: POLITÉCNICA DE VALENCIA [ www.upv.es]. Centro de lectura: Dep. Sistemas Informaticos y Computacion.. Centro de realización: Universidad Politécnica de Valencia. Resumen: La depuración de programas puede ser una tarea ardua. Esto se debe fundamentalmente a que los errores pueden ser evidentes al primer vistazo, o pueden estar escondidos en las zonas más profundas y ocultas de nuestros programas. Sin embargo, sorprendentemente, la depuración es uno de los procesos software que ha sido menos tratado por la comunidad científica; de hecho, las mismas técnicas de depuración que se usaban hace veinte años, continúan utilizándose en la actualidad. La situación no es diferente en el contexto de los lenguajes declarativos. O es incluso peor, porque estos lenguajes suelen presentar dificultades adicionales a la hora de depurarlos debido, por ejemplo, al mecanismo de evaluación perezosa. En esta tesis se revisan los métodos actuales de depuración para lenguajes declarativos y se desarrollan nuevos métodos y técnicas basadas en el cómputo de costes, la fragmentación de programas y la depuración algorítmica. Brevemente, las principales contribuciones de la tesis son: - La definición de un esquema de cómputo de costes para programas lógico funcionales que está basado en el uso de centros de coste y que permite medir diferentes tipos de costes simbólicos. - La formulación de una nueva técnica de fragmentación dinámica de programas basada en redex trails, su aplicación a la depuración y su adaptación para la especialización de programas declarativos multi-paradigma modernos. - La introducción de un nuevo esquema de depuración algorítmica que combina la depuración algorítmica convencional con la fragmentación de programas. - La definición de tres nuevas estrategias para depuración algorítmica. - El desarrollo de un estudio comparativo y una posterior clasificación de técnicas de fragmentación de programas y estrategias de depuración algorítmica. EXTRACCIÓN Y CONTEXTUALIZACIÓN DE REGLAS COMPRENSIBLES A PARTIR DE MODELOS DE "CAJA NEGRA".Autor: BLANCO VEGA RICARDO. Año: 2006. Universidad: POLITÉCNICA DE VALENCIA [ www.upv.es]. Centro de lectura: Dep. Sistemas Informaticos y Computacion. Centro de realización: Universidad Politécnica de Valencia. Resumen: En esta tesis se abordan estos problemas a través del método mimético, el cual puede verse como una forma general de extraer una explicación (en forma de árboles de decisión o sistemas de reglas) de cualquier modelo existente sin considerar ningún mecanismo interno del mismo (esto es, considerándolo una caja negra). La técnica mimética puede verse como un "re-aprendizaje", donde se generan datos, que al etiquetarse por el modelo existente, sirven para aprender un "nuevo" modelo que imita o "mimetiza" el original. En primer lugar, estudiamos teóricamente el comportamiento del método mimético usando como herramienta las curvas de aprendizaje, analizamos el efecto de usar o no el conjunto de entrenamiento del modelo original, caracterizamos los escenarios en los que la técnica es beneficiosa, atendiendo a la precisión del modelo mimético, etc.. En segundo lugar, realizamos una evaluación experimental de la técnica usando conjuntos de datos del repositorio UCI y considerando dos casos generales de estudio: incluyendo o no el conjunto de datos originales. Dentro de esta evaluación experimental, estudiamos algunos de los factores que influyen en el método, como por ejemplo, el nivel de poda, el nivel de confianza, el tamaño de los datos inventados, etc., así como su influencia combinada. El objetivo del estudio de estos factores ha sido encontrar un ajuste de los mismos para obtener un compromiso entre comprensibilidad y precisión, que ha permitido establecer "procedimientos" para aplicar el método mimético de una manera óptima. En tercer lugar, y como aportación más novedosa de la tesis, ampliamos las fronteras de aplicación del método mimético a la contextualización de modelos. La contextualización o adaptación es necesaria en la vida de todo modelo y pretende alargar la vida útil del mismo. Los cambios de contexto se pueden presentar de diferentes maneras, como por ejemplo, la aparición de nuevos datos que anteriormente no existían o no eran importantes, el cambio de formato de los datos cuando aparecen o desaparecen atributos o valores de clase, la modificación de los costes de los errores, etc.. Si tomamos como base que la técnica mimética es un proceso de aprendizaje, en esta tesis mostramos que cualquier técnica de aprendizaje computacional se puede utilizar como método general de revisión y de adaptación de modelos, independientemente de cómo el modelo fue generado y sin usar los datos originales o la distribución de los mismos.De manera transversal y con la vista en las aplicaciones, se ha extendido, respecto a trabajos anteriores, el uso del método mimético a diferentes tipos de modelos de "caja negra": multiclasificadores, redes neuronales, naive bayes, expertos humanos, etc.. Hemos perseguido mejorar la técnica para aplicaciones en áreas donde es necesaria al mismo tiempo la comprensibilidad y una buena precisión.Los diferentes resultados y contribuciones de la tesis pueden ser aplicados a diferentes áreas: minería de datos, ingeniería inversa (por ej. dado un modelo existente obtener un modelo que imite al antiguo, el cual tenga las características de nuestro interés: mayor precisión, mejor comprensibilidad o un equilibrio entre ambas), revisión y actualización de modelos, adquisición y gestión de conocimiento, ayudando a la obtención de conocimiento para sistemas expertos. |
|
|