35 resultados para ANTLR, Framework .NET, ingegneria del software, FormulaG, interpreti, linguaggi formali, WPF
em Repositorio Institucional de la Universidad de Málaga
Resumo:
El objetivo del TFG es ejectuar y documentar el proceso de actualizaci on de un sistema software real de car acter empresarial, perteneciente a la empresa dedicada a las transacciones de divisas Foreign Exchange Solutions SL. El sistema est a implementado en Python 2.7 usando el framework de desarrollo r apido de aplicaciones web Django que, comenzando por su versi on 1.3.1, terminar a al nal del proyecto en la versi on 1.4.10, lo que nos llevar a a tener que actualizar todas las librer as relacionadas, adem as de mejorar la calidad del c odigo e incluso cambiar la estructura del proyecto, prestando adem as especial atenci on a la pruebas unitarias y de regresi on para comprobar el correcto funcionamiento del sistema a lo largo del desarrollo. Todo esto con el n de conseguir las nuevas funcionalidades y caracter sticas que una versi on m as nueva nos ofrece, adem as de mejorar la calidad de la aplicaci on -aumentar la reutilizaci on del c odigo y reducir futuros errores gracias a un c odigo m as sencillo y legible-, aumentar el rendimiento, y obtener una buena cobertura de pruebas. Usaremos adem as la metodolog a agil Scrum, el SGBD PostgreSQL, adem as de otras herramientas como Solr, ElasticSearch, Redis, Celery o Mercurial para el control de versiones.
Resumo:
Este trabajo hace un estudio de algunas de las herramientas de seguridad disponibles en .Net Framework así como la forma de usarlas en un desarrollo web bajo la metodología de desarrollo de ASP.NET siguiendo el modelo Vista-Controlador y usando como entorno de desarrollo Visual Studio. Además de repasar las herramientas disponibles y la forma de uso se ha desarrollado también una aplicación de ejemplo: ItemCoteca-Web; en la que se demuestra cómo resolver el registro de usuarios, la autenticación y autorización de forma segura. En paralelo se ha implementado un cliente Android: Itemcoteca-app que realiza autenticación, registro y dispone de un chat seguro de incidencias para hablar con administradores OnlineEste trabajo no solo presenta las APIs disponibles sino también las buenas prácticas que define Microsoft para el uso de sus herramientas. En particular nos centramos en los tres tipos de controladores que podemos encontrar en una aplicación web Asp.net que son Controllers, WebApi y SignalR, comentando sus diferencias y su uso para clientes Web y móviles.
Resumo:
Iniciación a la creación y diseño de un portfolio digital a través del software Adobe Muse y el Estudio de caso de varios sitios web de reconocidos artistas visuales.
Resumo:
La tecnología conocida como Microsoft Visual Studio Tools for Office (VSTO) ofrece la posibilidad de integrar Office con la plataforma .NET de forma que podamos implementar aplicaciones .NET con la apariencia de documentos de Microsoft Office. La utilización de la tecnología VSTO con hojas de cálculo para la creación de herramientas de simulación es un campo interesante por la familiaridad que las hojas de cálculo ofrecen a cualquier usuario. Cuando se desarrolla un complemento para un simulador, dicho complemento suele ser muy específico de un simulador concreto, por lo que los elementos desarrollados en estos proyectos no es posible reutilizarlos con otro simulador. Esta es la motivación que lleva a crear este proyecto: facilitar la creación de extensiones para Excel adaptables a distintos tipos de simulador, de manera que sea posible reutilizar las extensiones y sus elementos constituyentes.Para eso, se ha desarrollado un framework para la creación de extensiones Excel con VSTO que puedan ser fácilmente adaptables a diferentes tipos de simuladores. Los principales puntos que toca este framework son: - Elementos comunes a todo proyecto de simuladores. Se han ofrecido precargados un conjunto de elementos que son comunes en el desarrollo de estas aplicaciones, de manera que no sea necesario tener que implementarlos. - Definición de elementos de simulación, lo que se ha denominado en el framework controles. Se ha buscado reducir el coste de desarrollo y maximizar la reutilización. - Comunicación con los simuladores. Se ha definido e implementado una interfaz que permite la comunicación de las hojas Excel con los posibles motores de simulación. Se ha ofrecido esta interfaz en la interfaz ISimulatorService y se ha ofrecido también un cliente para comunicar con los simuladores de esta interfaz.
Resumo:
Unity3d es un motor gráfico para la implementación de videojuegos creado por Unity3d Technologies que tiene el honor de ser una de las principales herramientas que propició el auge de los estudios independientes. Pese a estar enfocado al desarrollo de videojuegos en 3D, los desarrolladores lograban crear contenido en 2D a base de manipulaciones como la cámara y de utilizar herramientas no nativas. Afortunadamente, a partir de la versión 4.3 Unity3d integra herramientas nativas que facilitan esta tarea. Este proyecto consiste en la creación de un tutorial sobre la implementación de un videojuego del género puzles en 2D y enfocado a plataformas móviles, empleando para ello Unity3d y concretamente las nuevas herramientas nativas para 2D. La implementación de un videojuego es una tarea muy complicada y extensa, es por ello que en el tutorial se va a tratar la fase de diseño del videojuego y a nivel de implementación centrarse en dichas herramientas para el 2D, mostrando al final una versión jugable del videojuego implementado. Por otra parte, al ser numerosas las herramientas, es imposible tratar cada una de las herramientas aunque se intentará abarcar lo máximo posible y mencionar las que no se incluyan dentro de la implementación del videojuego. El resultado generado de este proyecto puede constituir una referencia para otras personas interesadas en aprender cómo usar Unity3d para programar videojuegos en 2D, lo cual les allanará seguramente el camino y les suavizará la curva de aprendizaje.
Resumo:
El objetivo de este trabajo es presentar unas bases de conocimiento sobre el denominado General Game Playing (GGP) analizando los conceptos relacionados con esta área que ha surgido recientemente, de forma que nuestro trabajo pueda ser usado como base en futuras investigaciones y tesis relacionadas con la materia. Para ello, se hará un estudio de los enfoques que se han empleado para abordar el problema y se profundizará en otras técnicas algorítmicas, tales como por ejemplo la de Montecarlo Tree Search y los algoritmos bio-inspirados que no se han empleado (o se han empleado poco) en este contexto. Adicionalmente, se realiza una propuesta de un agente autónomo (es decir, un resolutor del problema), implementando un algoritmo bio-inspirado mixto, dentro de la plataforma para la General Video Game Artificial Intelligence Competition (GVGAI), analizando sus resultados y extrayendo conclusiones.
Resumo:
El presente trabajo consiste en la elaboración de un sistema multiagente capaz de realizar simulaciones de enfermedades epidémicas, en determinados entornos, que pueden ser creados por los usuarios del sistema, así como la población que los ocupa, donde cada humano es un agente Jade. El trabajo se compone a su vez de cuatro módulos principales: una aplicación web realizada JSF, una aplicación de escritorio implementada en Java, el propio sistema multiagente que realiza las simulaciones, desarrollado usando Java sobre el framework de Jade y un servidor web que contiene al sistema multiagente y a la aplicación web mencionados anteriormente.El sistema desarrollado permite una gran cantidad de configuraciones sobre todos los aspectos que pueden influir en la simulación de una epidemia, como por ejemplo, parámetros de los entornos (tamaño, nivel de desarrollo, población de riesgo, etc.), población (porcentaje de población activa, estudiante, etc.) y enfermedades, así como sobre la propia simulación, ajustando por ejemplo el número de días de la duración o la probabilidad de que una persona decida ir a trabajar si está enferma. Además de realizar simulaciones, el sistema permite almacenarlas y consultarlas posteriormente, pudiendo tanto reproducirlas de nuevo como consultar información estadística detallada sobre la misma, así como distintas gráficas que muestran la evolución de la epidemia a lo largo de la simulación.Para garantizar un funcionamiento óptimo del sistema, este se ha ajustado y probado mediante diversas pruebas de estrés que garantizan que el rendimiento del mismo durante la realización de simulaciones es adecuado. Todo esto conforma un sistema cuya finalidad es la obtención de datos que puedan ser útiles de cara al estudio de enfermedades infecciosas potencialmente epidémicas y permitan extraer conclusiones sobre las mismas, ayudando al mejor entendimiento de este tipo de enfermedades y su comportamiento en determinados entornos.
Resumo:
El presente trabajo consiste en elaborar un sistema que permita simular epidemias en un entorno a través de agentes que representan a los habitantes del entorno simulado. El trabajo consta de cuatro partes: una aplicación web realizada en JSF, una aplicación de escritorio realizado en Java, un sistema multiagente, que se encarga de realizar la simulación, realizado en Java junto al framework JADE y un servidor web que contiene la aplicación web y el sistema multiagente. La simulación, el entorno y la enfermedad pueden ser configuradas, por parte del usuario, con distintos parámetros necesarios para la realización de la simulación. Una vez realizada la simulación, ésta puede ser visualizada a través de una animación y/o a través de un gráfico que representa la evolución de la simulación. Con el fin de que el sistema tuviera un funcionamiento óptimo, se han desarrollado pruebas de estrés aumentando el número de días y de personas para poder comprobar la solidez del sistema y así realizar mejoras si es necesario. Todo esto conforma un sistema cuya finalidad es obtener unos datos a partir de los cuales se pueden realizar distintos estudios y sacar conclusiones a partir de ellos, ayudando a investigar cómo se comporta una epidemia en unas determinadas condiciones y también distintas formas de poder combatirlas
Resumo:
Las líneas de productos software son familias de productos que están íntimamente relacionados entre sí, normalmente formados por combinaciones de un conjunto de características software. Generalmente no es factible testar todos los productos de la familia, ya que el número de productos es muy elevado debido a la explosión combinatoria de características. Por este motivo, se han propuesto criterios de cobertura que pretenden probar al menos todas las interacciones entre características sin necesidad de probar todos los productos, por ejemplo todos los pares de características (emph{pairwise coverage}). Además, es deseable testar primero los productos compuestos por un conjunto de características prioritarias. Este problema es conocido como emph{Prioritized Pairwise Test Data Generation}. En este trabajo proponemos una técnica basada en programación lineal entera para generar este conjunto de pruebas priorizado. Nuestro estudio revela que la propuesta basada en programación lineal entera consigue mejores resultados estadísticamente tanto en calidad como en tiempo de computación con respecto a las técnicas existentes para este problema.
Resumo:
La ciencia de la computación arrancó con la era de las máquinas tabulables para después pasar a las programables. Sin embargo el mundo actual vive una transformación radical de la información. Por un lado la avalancha masiva de datos, el llamado Big Data hace que los sistemas requieran de una inteligencia adicional para extraer conocimiento válido de los datos. Por otro lado demandamos cada día más ordenadores que nos entiendan y se comuniquen mejor con nosotros. La computación cognitiva, la nueva era de la computación, viene a responder a estas necesidades: sistemas que utilizan la inteligencia biológica como modelo para establecer una relación más satisfactoria con los seres humanos. El lenguaje natural, la capacidad de moverse en un mundo ambiguo y el aprendizaje son características de los sistemas cognitivos, uno de los cuales, IBM Watson es el ejemplo más elocuente en la actualidad de este nuevo paradigma.
Resumo:
Resumen: En el siguiente trabajo se aborda un problema para solventar la comunicación con los robots del departamento MAPIR de la Universidad de Málaga, anteriormente sólo podían ser teleoperados mediante comandos escritos en Skype, así que se procede a diseñar un cliente móvil para Android que nos permite conectarse en tiempo real a un robot, obtener la imagen de lo que su cámara capta y además permitir su teleoperación. Por su parte, el robot corre un servidor que administra esos datos al cliente para trabajar conjuntamente. Dicho trabajo se desarrolla haciendo uso de nuevas tecnologias y protocolos como es WebRTC (de Google) para el intercambio de imágenes y del lado del servidor, se ha usado NodeJS.
Resumo:
En este proyecto se ha desarrollado un protocolo para establecer una comunicación multimaestro entre distintos dispositivos sobre una red de cable de par trenzado rs-485 de tipo half-duplex. Se explican los modos de envío half-duplex y full-duplex y los modelos de comunicación multimaestro y maestro-esclavo para establecer diferencias y se justifica la implementación de este protocolo. Se ha realizado un estudio y análisis del protocolo a implementar y se describen las decisiones de diseño empleadas para resolver los distintos problemas encontrados a la hora de analizar la capacidad de la red. Luego se ofrece una implementación del protocolo en lenguaje C/C++ para la plataforma Arduino y se explican los distintos casos de uso que se pueden dar por dispositivo. En este documento se describe de forma completa y punto por punto el trabajo realizado a lo largo de varios capítulos en forma de texto e imágenes o representaciones que dan al lector distintas vías para entender lo que aquí se explica.
Resumo:
Se ha realizado una aplicación para simular en tiempo acelerado una red de autobuses metropolitana y de metro usando un CAS. Con esta aplicación se pretende optimizar estos medios de transporte de forma que el uso de estos sea la primera posibilidad a elegir y no la última alternativa. Esta aplicación permite la representación de cualquier mapa descrito por el usuario, para ello se han desarrollado una serie de algoritmos capaces de representarlos y registrar la información necesaria para el correcto movimiento de los autobuses y del metro. La generación de personas en las paradas de autobuses y metro, modificación del tiempo que se tarda en recorrer la distancia entre dos paradas en función del tráfico que exista y la generación de posibles averías tanto en los autobuses como en los metros se ha realizado usando funciones de distribución como la Exponencial, Poisson y Normal. Estas funciones varían dependiendo de los parámetros que se introduzcan mediante la interfaz de usuario. El CAS encargado de realizar la simulación es Maxima y tanto para la representación gráfica de la simulación como para mostrar los resultados se ha usado JAVA.
Resumo:
Se han desarrollado cuatro mejoras en los proyectos de simulación de flujo de tráfico en tiempo acelerado. Los proyectos [1] y [2] realizan una simulación de flujo de tráfico en un CAS, Maxima, y usan Java, para realizar la GUI. Ambos usan Jacomax para realizar la comunicación Java-Maxima. La primera ha sido implementar un algoritmo Dijkstra difuso en [2] que simule (de forma más real que el algoritmo Dijkstra), el camino que sigue un vehículo entre un origen y un destino, dentro de un mapa (un grafo) que representa una zona de Málaga. Además, se ha personalizado el grafo inicial asociando uno ponderado a cada vehículo, en el cual, las aristas (las calles) tienen un peso calculado con una uniforme o una normal. Para ganar en rendimiento en [1] y [2], se ha permitido al usuario decidir cada cuantos pasos en Maxima se comunica con Java, eliminando así muchas comunicaciones que resultaban lentas. Además, se ha creado un programa con Java, el cual crea un paquete Maxima con las funciones de distribución, densidad, masa, variables aleatorias, que el usuario desee, dando la posibilidad de elegir entre las más usuales ya implementadas. Este paquete puede ser cargado en [1] y [2] permitiendo al usuario elegir la función de distribución que más se asemeje al fenómeno que se desea simular. La última ha sido conseguir que funcionen los proyectos [1] y [2] en una máquina Mac.
Resumo:
El principal objetivo de este trabajo fin de grado es la implementación de una aplicación web que permita realizar actividades de enseñanza/aprendizaje en las ramas de cálculo y álgebra de las matemáticas, enfocada principalmente en los contenidos impartidos en las asignaturas de matemáticas en Bachillerato, concretamente de la unidad de realización de derivadas. Se han desarrollado dos modelos: Uno para el profesor, que permite la generación de los ejercicios, así como la consulta de las posibles soluciones. Esta aplicación ofrece al docente la posibilidad de mediante una serie de ajustes, generar de forma dinámica las actividades deseadas. Otro para el alumno, que permite la realización de las actividades y la inclusión de respuestas paso a paso, además de la visualización de las correcciones a sus procedimientos. Para el desarrollo de estas aplicaciones se ha usado el lenguaje Java con ayuda de JSON para el intercambio de datos. También se ha utilizado el motor de respuestas Wolfram Alpha para realizar las correcciones paso a paso de las respuestas de los alumnos.