14 resultados para 120323 Lenguajes de programación

em Repositorio Institucional de la Universidad de Málaga


Relevância:

80.00% 80.00%

Publicador:

Resumo:

La complejidad de los sistemas actuales de computación ha obligado a los diseñadores de herramientas CAD/CAE a acondicionar lenguajes de alto nivel, tipo C++, para la descripción y automatización de estructuras algorítmicas a sus correspondientes diseños a nivel físico. Los proyectos a realizar se encuadran dentro de una línea de trabajo consistente en estudiar la programación, funcionamiento de los lenguajes SystemC y SystemVerilog, sus herramientas asociadas y analizar cómo se adecuan a las restricciones temporales y físicas de los componentes (librerías, IP's, macro-celdas, etc) para su directa implementación. En una primera fase, y para este TFG, se estudiarán los componentes que conforman el framework elegido que es SystemC y su inclusión en herramientas de diseño arquitectural. Este conocimiento nos ayudará a entender el funcionamiento y capacidad de dicha herramienta y proceder a su correcto manejo. Analizaremos y estudiaremos unos de los lenguajes de alto nivel de los que hace uso dicha herramienta. Una vez entendido el contexto de aplicación, sus restricciones y sus elementos, diseñaremos una estructura hardware. Una vez que se tenga el diseño, se procederá a su implementación haciendo uso, si es necesario, de simuladores. El proyecto finalizará con una definición de un conjunto de pruebas con el fin de verificar y validar la usabilidad y viabilidad de nuestra estructura hardware propuesta.

Relevância:

30.00% 30.00%

Publicador:

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.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

En este proyecto nosotros vamos a hacer una pasada por un sistema colaborativo de resolución de test. En este entorno el estudiante resuelve preguntas en un grupo de estudiantes en tres fases diferentes (individual, colaborativa y final). Este sistema ha demostrado que los alumnos que resuelven los test en este entorno mejoran sus respuestas. Esto se debe a que los estudiante aprenden como sus compañeros se enfrentan a las cuestiones planteadas y como las resuelven. Este sistema esta actualmente funcionando en la plataforma siette, pero esta teniendo problemas de compatibilidad con algunos navegadores y esto presenta un problema para desarrollar nueva funcionalidad. Nosotros queremos resolver esto con la utilización de HTML5, CSS y JavaScript. Este Sistema será diseñado para funcionar en conjunto con la plataforma de resolución de tests (Siette) en un modo que llamaremos modo colaborativo que solo será usado para resolver test en grupo con otros compañeros. Siette nos propone un entorno donde trabajan profesores diseñando test y alumnos que testean su conocimiento.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Los fundamentos, conceptos y modos de operación de estas máquinas tan comunes hoy en día, son los que tratamos de introducir y desentrañar en este texto. O con otras palabras, este libro está orientado a aquellas personas que alguna vez se han preguntado "¿Cómo es posible que los transistores y puertas lógicas que hay dentro de mi ordenador me permitan editar un archivo o ejecutar un programa que he escrito en Modula o en C?", pregunta, que por otro lado, esperamos se hayan planteado todos nuestros alumnos de asignaturas de introducción a los computadores. Aunque no son del todo necesarios, suponemos que el lector tiene algunos conocimientos de electrónica digital y programación. Pues bien, en este libro precisamente queremos cubrir el desnivel semántico que existe en un sistema computador entre esas dos materias (electrónica digital y lenguajes de alto nivel), contemplando el control microprogramado y cableado, el lenguaje ensamblador y los sistemas operativos, según desglosamos a continuación por temas.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Un sistema de SDR (Software Defined Radio) es un sistema de radio programable que delega gran parte del procesamiento hecho clásicamente en hardware,en software corriendo en un ordenador. Dos ventajas inmediatas de un dispositivo de SDR frente a un dispositivo de radio tradicional son el abaratamiento del coste del hardware (menos y menos complejo) y la facilidad de modificación de la funcionalidad específica de la radio (implementaciones software, tan simple como programar cualquier protocolo deseado). Debido al abaratamiento de estos productos y su facilidad de programación e interconexión con un ordenador personal, el mundo de la radiocomunicación es bastante más accesible. Cuando un dominio es poco conocido o accesible, es típico que los sistemas no sean seguros por diseño, sino por oscuridad. Si en un corto periodo de tiempo la accesibilidad a ese dominio aumenta considerablemente, los sistemas seguros por oscuridad se encuentran en peligro. Este trabajo pretende estudiar si efectivamente, al ser más accesible el dominio de la radiocomunicación debido a la accesibilidad de los dispositivos de SDR, ciertos sistemas se encuentran expuestos. La investigación del estado del arte y el estudio práctico de sistemas públicos en el ámbito local, nos permitirá entender hasta qué punto existen riesgos reales. Si se encuentra en el ámbito local una vulnerabilidad en algún sistema, se documentará y se propondrá una posible forma de aprovecharla y solucionarla.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Se observa un desfase entre el concepto de patrimonio cultural que se plasma en los materiales de aula, principalmente libros de texto de la ESO y Bachillerato; y el concepto de patrimonio desde el que la tutela y gestión del patrimonio cultural se define desde mediados del siglo XX. Se proponen fórmulas para renovar la didáctica del patrimonio cultural teniendo como horizonte el Plan Nacional de Educación .

Relevância:

20.00% 20.00%

Publicador:

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.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Uno de los grandes retos de la HPC (High Performance Computing) consiste en optimizar el subsistema de Entrada/Salida, (E/S), o I/O (Input/Output). Ken Batcher resume este hecho en la siguiente frase: "Un supercomputador es un dispositivo que convierte los problemas limitados por la potencia de cálculo en problemas limitados por la E/S" ("A Supercomputer is a device for turning compute-bound problems into I/O-bound problems") . En otras palabras, el cuello de botella ya no reside tanto en el procesamiento de los datos como en la disponibilidad de los mismos. Además, este problema se exacerbará con la llegada del Exascale y la popularización de las aplicaciones Big Data. En este contexto, esta tesis contribuye a mejorar el rendimiento y la facilidad de uso del subsistema de E/S de los sistemas de supercomputación. Principalmente se proponen dos contribuciones al respecto: i) una interfaz de E/S desarrollada para el lenguaje Chapel que mejora la productividad del programador a la hora de codificar las operaciones de E/S; y ii) una implementación optimizada del almacenamiento de datos de secuencias genéticas. Con más detalle, la primera contribución estudia y analiza distintas optimizaciones de la E/S en Chapel, al tiempo que provee a los usuarios de una interfaz simple para el acceso paralelo y distribuido a los datos contenidos en ficheros. Por tanto, contribuimos tanto a aumentar la productividad de los desarrolladores, como a que la implementación sea lo más óptima posible. La segunda contribución también se enmarca dentro de los problemas de E/S, pero en este caso se centra en mejorar el almacenamiento de los datos de secuencias genéticas, incluyendo su compresión, y en permitir un uso eficiente de esos datos por parte de las aplicaciones existentes, permitiendo una recuperación eficiente tanto de forma secuencial como aleatoria. Adicionalmente, proponemos una implementación paralela basada en Chapel.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Este trabajo fin de grado trata sobre la implementación de un simulador cinemático de un robot manipulador industrial, orientado al aprendizaje de los principios de programación y desarrollado mediante la herramienta de software matemático MATLAB, dicho simulador debe tener como características principales ser capaz de emular las características de programación que incorporan los lenguajes a nivel robot y resultar fácilmente accesible a los alumnos de las ingenierías. Asimismo, el simulador tendrá la capacidad de definir los objetos que integran el entorno físico que rodean al robot con el objeto de simular la interacción cinemática del brazo manipulador con dicho entorno. Para ello, primero se realizará un estudio de los lenguajes de nivel robot, en este caso concreto V+, con el objeto de elaborar un catálogo de funciones y estructuras relevantes, concretamente se trataran las estructuras de datos, funciones del robot, etc. A partir de estos, se elaborarán las especificaciones que debe cumplir el simulador cinemático. Por último se realizarán unas prácticas sobre el simulador orientadas al aprendizaje y elaboración de los manuales de usuario del mismo.

Relevância:

20.00% 20.00%

Publicador:

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.

Relevância:

20.00% 20.00%

Publicador:

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.

Relevância:

20.00% 20.00%

Publicador:

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.

Relevância:

20.00% 20.00%

Publicador:

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.