1000 resultados para INGENIERÍA DEL SOFTWARE
Resumo:
Plague es un editor de archivos escritos en lenguajes de planificación como STRIPS y PDDL, que permite lanzar el algoritmo GrahPlan a partir de los archivos de dominio y problema editados y encontrar una solución al problema planteado. El objetivo del editor es eminentemente pedagógico: su uso es muy simple y viene con variados ejemplos de ambos lenguajes de planificación, de modo que el usuario pueda aprenderlos de forma paulatina. Además, la salida de la ejecución permite ir viendo paso a paso el desarrollo del algoritmo GraphPlan: los operadores que se van ejecutando, los no-ops que se han seguido, los mutex que se han aplicado en cada nivel y el tiempo empleado, además de la solución final al problema si se alcanza. El programa hace uso de dos utilidades que permiten compilar el código STRIPS o PDDL que son JavaGP y PDDL4J. Una vez ejecutado el problema de planificación, se obtiene la salida en pantalla y también se puede imprimir el problema completo incluida la solución. El objetivo ha sido crear un programa que permita al usuario editar rápidamente archivos STRIPS y PDDL, los pueda compilar velozmente y obtener el resultado en un solo sitio, con una salida mucho más clara, organizada y entendible y se evite el problema de tener que usar editores externos y una ventana de línea de comando para ejecutar GraphPlan. Plague is a text editor for files written in action languages, such as STRIPS and PDDL, which allows running the GraphPlan algorithm from the domain archives and edited problems, and finding a solution to the proposed problem. The goal of the editor is primarily for pedagogical purposes: it is simple to use and comes equipped with a variety of examples in both action languages, so that the user can gradually learn. In addition, as the editor runs it allows the user to observe the step by step development of the GraphPlan algorithm: the operators being executed, the no-ops that have been followed, the mutex applied at each level and the time spent, as well as the final answer to the problem, if reached. The program uses two utilities allowing the STRIPS or PDDL code to be compiled: JavaGP and PDDL4J. Once the planning problem has been executed, the result is shown on screen and the complete problem can also be printed, including the solution. The objective has been to create a program that allows the user to quickly edit STRIPS and PDDL archives, to compile them swiftly and obtain the solution in a single place, with a result that is clear, organised and understandable, thus avoiding the problem of having to use external editors and command prompts to execute GraphPlan.
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 principal objetivo de Internet of Things (IoT) es integrar las tecnologías informáticas en el quehacer cotidiano de las personas, facilitando su interacción con un entorno de dispositivos interconectados, pero el estado actual del arte hace que dicha interacción esté aún lejos de resultar trivial, precisando de continua intervención del usuario. Como alternativa a esta situación, iniciativas emergentes como la de Internet of People (IoP) pretenden integrar de forma más efectiva el IoT en la vida de las personas. En línea con este propósito, el modelo People as a Service (PeaaS) facilita estas tareas por medio del uso del teléfono móvil como interfaz del usuario con el IoT y haciendo uso del contexto del usuario del mismo. PeaaS permite elaborar un perfil sociológico del usuario, que puede ser explotado por el mismo y servido a terceros de forma segura y controlada. En este trabajo presentamos una aplicación móvil para la supervisión de personas afectadas de alzhéimer mediante el aprendizaje y monitorización de sus rutinas como prueba de concepto del modelo PeaaS, teniendo como resultado una funcionalidad que va mucho más allá de la ofrecida por otros productos similares en este campo, y una tecnología que es base para infinidad de aplicaciones que provoquen el avance hacia IoP.
Resumo:
En este Trabajo Fin de Grado se lleva a cabo la implementación de un mundo 3D a través del uso del entorno Unity en el se cual realizará el desarrollo de un agente 3D el cual interactúe con el entorno que le rodea. Para ello haremos uso de algoritmos relacionado con la inteligencia artificial así como aplicación de algoritmos relacionados con la minería de datos tales como redes neuronales basando su aprendizaje en algoritmos evolutivos o arboles de decisión, respectivamente. Así pues, el objetivo de este proyecto es la creación de un agente 3D el cual sea capaz de adaptarse al entorno que le rodea, siendo hostiles algunos de estos entornos. Habrá principalmente 2 entornos los cuales serán una ciudad donde el agente deberá recoger clientes en su rol de taxista y soltarlas reconociendo a través de una serie de variables que personas son de fiar y cuales no. El segundo entorno es una cancha de baloncesto donde el agente deberá aprender a lanzar a canasta y reconocer con qué estados meteorológicos es viable jugar.
Resumo:
Un sistema de gestión de contenidos es una plataforma que permite crear una estructura de soporte para la creación y administración de contenidos. Permite a los administradores y a los usuarios centrarse en el contenido de la temática de la página, foro o blog que en los aspectos técnicos de más bajo nivel. Por ejemplo, el uso de la base de datos es totalmente transparente para los administradores. Este proyecto trara sobre la necesidad ficticia de desarrollar un portal web artístico. Contendrá información de artistas, sus obras y exposiciones que ellos mismos creen. Permitirá el registro de usuarios que podrán ver, comentar, valorar, comprar y pujar las obras disponibles. Unos de los objetivos será el de implementar sobre un gestor de conenidos gratuito, así como las demás herramientas utilizadas.La primera parte del proyecto se centrará en la elección de la plataforma en la que se desarrollará. Seguidamente se conocerá un poco más a fondo el gestor de contenidos seleccionado. tras diseñar la solución mediante diagramas de casos de usos, se detallará la implementación de los requisitios presentados anteriormente. También se creará un módulo propio que consistirá en un sistema, que permitirá a los usuarios pujar por las obras que se encuentren en subasta.
Resumo:
El trabajo de fin de grado consiste en realizar una aplicación móvil basada en Android [7]. Para calcular la ruta más sombreada desde un punto de origen a un punto de destino. Dicha aplicación móvil realizará peticiones a un servidor que estará ejecutando un programa que realizará el cálculo de rutas conforme a los parámetros que elegirá el usuario desde su móvil. Estos parámetros pueden ser: la hora de partida, la fecha y la importancia de la sombra a la hora de calcular la ruta. Siempre podremos elegir entre una ruta más corta o una más sombreada, según la importancia que le quiera dar el usuario. La lógica de la aplicación del lado del servidor que realiza el cálculo está basada en Open- TripPlanner, el cual usa algoritmos de búsqueda para encontrar el camino más corto. Sirviéndonos de dicho algoritmo realizaremos las modificaciones e implementaciones necesarias para calcular la ruta más sombreada.
Resumo:
Este Trabajo Fin de Grado aborda la especificación para el desarrollo de un sistema de comercialización orientado al sector Servicios que trabaje en tiempo real y que se fundamente en poner en contacto la oferta y la demanda. De esta forma, cuando un cliente requiera un servicio se activa como demandante y los proveedores de ese servicio reciben esa petición y pueden enviarle una oferta. El proyecto consta de una primera parte de introducción y descripción de las herramientas empleadas, para luego pasar a la metodología. La planificación especifica los requisitos del sistema que serán estudiados con más profundidad posteriormente en el estudio de viabilidad. Para el diseño y el análisis del sistema nos centramos en la definición de los casos de uso y las clases que se van a emplear durante el desarrollo. Por último se describe un prototipo que define las interfaces con las que se comunicarán los usuarios de la aplicación. Se describen en la parte final unas conclusiones y los posibles avances futuros del proyecto.
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:
Este trabajo de fin de grado tiene como objetivo realizar un sistema multiagente para simular el desarrollo de las enfermedades epidemiológicas en un entorno concreto. Para ello se plantea hacer un servidor que haga una simulación, especificándole diversos parámetros del entorno, de la enfermedad y otros propios de la simulación. Estos parámetros se pueden especificar desde una aplicación web y desde una aplicación de escritorio. También se podrá visualizar esta simulación desde las dos aplicaciones, una vez que la simulación haya finalizado. Se decide estructurar el sistema de esta forma para dejar la mayor parte del cómputo en manos del servidor. El software se desarrolla íntegramente en Java, haciendo así que sea multiplataforma. Para el desarrollo de este proyecto se ha investigado sobre la programación orientada a agentes y sobre los distintos modelos de epidemias existentes. Este es un proyecto grupal, formado por dos compañeros y yo. Ha sido un arduo trabajo de análisis, diseño, implementación y prueba del software por parte de todos. Para facilitar todo este proceso, la sincronización y el reparto de tareas se sigue una metodología de desarrollo ágil.
Resumo:
Drag & Drop es una aplicación web diseñada para la creación de problemas a partir de piezas, en la que al profesor se le plantea una nueva posibilidad de evaluar a sus alumnos. La aplicación web servirá como un entorno dedicado a la elaboración de preguntas y respuestas. Para responder a dichas preguntas, se proporcionan unos elementos llamados “piezas” al alumno que se encargará de utilizar para construir su respuesta. A su vez, el profesor al elaborar la pregunta establecerá la solución ideal del problema y el conjunto de “piezas” que los alumnos podrán utilizar para crear las suyas propias. El alumno al terminar la solución de un problema, la enviará al servidor. Este se encargará de evaluarla y comparar la solución del alumno con la solución ideal propuesta por el profesor. Finalmente el profesor será el encargado de examinar el ejercicio y ajustar la calificación, ya sea aceptando la que propone el sistema o indicando una propia.
Resumo:
El problema de selección de requisitos (o Next Release Problem, NRP) consiste en seleccionar el subconjunto de requisitos que se va a desarrollar en la siguiente versión de una aplicación software. Esta selección se debe hacer de tal forma que maximice la satisfacción de las partes interesadas a la vez que se minimiza el esfuerzo empleado en el desarrollo y se cumplen un conjunto de restricciones. Trabajos recientes han abordado la formulación bi-objetivo de este problema usando técnicas exactas basadas en resolutores SAT y resolutores de programación lineal entera. Ambos se enfrentan a dificultades cuando las instancias tienen un gran tamaño, sin embargo la programación lineal entera (ILP) parece ser más efectiva que los resolutores SAT. En la práctica, no es necesario calcular todas las soluciones del frente de Pareto (que pueden llegar a ser muchas) y basta con obtener un buen número de soluciones eficientes bien distribuidas en el espacio objetivo. Las estrategias de búsqueda basadas en ILP que se han utilizado en el pasado para encontrar un frente bien distribuido en cualquier instante de tiempo solo buscan soluciones soportadas. En este trabajo proponemos dos estrategias basadas en ILP que son capaces de encontrar el frente completo con suficiente tiempo y que, además, tienen la propiedad de aportar un conjunto de soluciones bien distribuido en el frente objetivo en cualquier momento de la búsqueda.
Resumo:
Performance and scalability of model transformations are becoming prominent topics in Model-Driven Engineering. In previous works we introduced LinTra, a platform for executing model transformations in parallel. LinTra is based on the Linda model of a coordination language and is intended to be used as a middleware where high-level model transformation languages are compiled. In this paper we present the initial results of our analyses on the scalability of out-place model-to-model transformation executions in LinTra when the models and the processing elements are distributed over a set of machines.
Resumo:
Generating sample models for testing a model transformation is no easy task. This paper explores the use of classifying terms and stratified sampling for developing richer test cases for model transformations. Classifying terms are used to define the equivalence classes that characterize the relevant subgroups for the test cases. From each equivalence class of object models, several representative models are chosen depending on the required sample size. We compare our results with test suites developed using random sampling, and conclude that by using an ordered and stratified approach the coverage and effectiveness of the test suite can be significantly improved.
Resumo:
La Analítica Web supone hoy en día una tarea ineludible para las empresas de comercio electrónico, ya que les permite analizar el comportamiento de sus clientes. El proyecto Europeo SME-Ecompass tiene como objetivo desarrollar herramientas avanzadas de analítica web accesibles para las PYMES. Con esta motivación, proponemos un servicio de integración de datos basado en ontologías para recopilar, integrar y almacenar información de traza web procedente de distintas fuentes.Estas se consolidan en un repositorio RDF diseñado para proporcionar semántica común a los datos de análisis y dar servicio homogéneo a algoritmos de Minería de Datos. El servicio propuesto se ha validado mediante traza digital real (Google Analitics y Piwik) de 15 tiendas virtuales de diferentes sectores y países europeos (UK, España, Grecia y Alemania) durante varios meses de actividad.
Resumo:
Semantic relations are an important element in the construction of ontology-based linguistic resources and models of problem domains. Nevertheless, they remain under-specified. This is a pervasive problem in both Software Engineering and Artificial Intelligence. Thus, we find semantic links that can have multiple interpretations, abstractions that are not enough to represent the relation richness of problem domains, and even poorly structured taxonomies. However, if provided with precise semantics, some of these problems can be avoided, and meaningful operations can be performed on them that can be an aid in the ontology construction process. In this paper we present some insightful issues about the representation of relations. Moreover, the initiatives aiming to provide relations with clear semantics are explained and the inclusion of their core ideas as part of a methodology for the development of ontology-based linguistic resources is proposed.