966 resultados para C (Programming Language)
Resumo:
While logic programming languages offer a great deal of scope for parallelism, there is usually some overhead associated with the execution of goals in parallel because of the work involved in task creation and scheduling. In practice, therefore, the "granularity" of a goal, i.e. an estimate of the work available under it, should be taken into account when deciding whether or not to execute a goal concurrently as a seprate task. This paper describes a method for estimating the granularity of a goal at compile time. The runtime overhead associated with our approach is usually quite small, and the performance improvements resulting from the incorporation of grainsize control can be quite good. This is shown by means of experimental results.
Resumo:
Compile-time program analysis techniques can be applied to Web service orchestrations to prove or check various properties. In particular, service orchestrations can be subjected to resource analysis, in which safe approximations of upper and lower resource usage bounds are deduced. A uniform analysis can be simultaneously performed for different generalized resources that can be directiy correlated with cost- and performance-related quality attributes, such as invocations of partners, network traffic, number of activities, iterations, and data accesses. The resulting safe upper and lower bounds do not depend on probabilistic assumptions, and are expressed as functions of size or length of data components from an initiating message, using a finegrained structured data model that corresponds to the XML-style of information structuring. The analysis is performed by transforming a BPEL-like representation of an orchestration into an equivalent program in another programming language for which the appropriate analysis tools already exist.
Resumo:
En todo proceso de desarrollo de un dispositivo electrnico o equipo cabe la necesidad de evaluar la fiabilidad de sus componentes, es decir, cual es el porcentaje de equipos que tras un determinado periodo de vida mantiene todas sus funcionalidades dentro de especificaciones. La evaluacin de la fiabilidad mediante ensayos acelerados es la herramienta que permite una estimacin de la vida del dispositivo o equipo de forma previa a su comercializacin. La cuantificacin de la fiabilidad es crtica para identificar los costos de un determinado periodo de garanta, y para ofrecer a los clientes el nivel de calidad deseado. El objetivo de este Proyecto Fin de Carrera, es el diseo de un sistema automtico de instrumentacin verstil, para la realizacin y caracterizacin de ensayos acelerados, el cual nos sirva para abordar una amplia gama de ensayos con los que evaluar la fiabilidad de los dispositivos electrnicos o equipos. Adems del uso industrial donde se evaluar la fiabilidad de forma previa a la comercializacin, este sistema se podr emplear en la docencia de esta rea, y fundamentalmente para la realizacin de ensayos acelerados en investigacin de dispositivos electrnicos. La versatilidad de nuestro hardware y aplicacin software es un punto a favor, ya que con este sistema de instrumentacin se pueden realizar numerosos tipos de ensayos acelerados, sin el problema de tener que cambiar toda la instrumentacin, cada vez que se quiera realizar otro ensayo distinto. Los componentes que se elijan para realizar el ensayo acelerado, sern sometidos a un estrs (tensin, corriente, humedad, temperatura) y se podr ir observando cmo envejecen, lo que nos permite evaluar la vida del dispositivo en un corto periodo, emulando sus condiciones de trabajo, adems de estudiar la fiabilidad tambin se puede identificar como se degradan sus caractersticas principales antes del fallo. El Software utilizado en este Proyecto se ha implementado con un lenguaje de programacin grfico para instrumentacin, LabVIEW. La aplicacin software se explica de manera muy detallada a lo largo de la memoria, para que su uso y adaptacin si fuese necesario no suponga ningn problema para el usuario. En la ltima parte de esta memoria se encuentra la gua de usuario y un ensayo acelerado planteado como ejemplo. Explicaremos como se han interconectado los equipos a los componentes en los que se va a realizar el ensayo y as se comprobar el correcto funcionamiento del software tomando las medidas necesarias. ABTRACT In all process of development of an electronic device or equipment, we have the need to evaluate the reliability of its components, that is to say, what percentage of equipment that after a certain period of life keeps all of its functionalities within specifications. The evaluation of reliability by means of accelerated tests is the tool that allows an estimation of the lifetime of the device or equipment prior to its marketing. The quantification of reliability is critical to identify the costs of a specific warranty period, and to offer customers the desired quality level. The objective of this Thesis is the design of an automatic very versatile instrument for the realization and characterization of accelerated tests, which will help us to address a wide range of tests to assess the reliability of the devices or electronic equipment. In addition to industrial use where test the reliability before its commercialization, use it can be used in teaching of this area, fundamentally for the realization of accelerated testing in the investigation of electronic devices. The versatility of our hardware and software implementation is a plus, given that this instrumentation system can perform numerous types of accelerated tests, without the problem to have to change everything, every time you want to make another different test. The components that will be chosen to perform the accelerated test, will be subjected to stress (voltage, current, humidity, temperature ...) and you can observe how they age, allowing us to evaluate the life of the device in a short period, emulating their working conditions. In addition to studying the reliability it can also identify how its main characteristics are degraded before failure. The software used in this Thesis has been implemented with a graphical programming language for instrumentation, LabVIEW. This software is explained in great detail throughout the Thesis, so that its use and adaptation, if necessary, will not be a problem for the user. In the last part of this memory we will expose a user guide and test that we have done. We will explain how the equipment has been interconnected to the components in which we are going to perform the test and so we will check the correct operation of the software taking the necessary measures.
Resumo:
El objetivo de este proyecto de investigacin es analizar el conjunto de las diez series temporales, relativas a los precios de diez metales (plata, aluminio, oro, cobre, nquel, paladio, plomo, platino, estao y zinc), comprendidos en el periodo de enero de 2008 a septiembre de 2013, con el objetivo de reducir la dimensionalidad del conjunto de datos y facilitar la comparacin de los mismos y la prediccin de valores futuros. Para ello pretendemos aplicar una metodologa, que nos permitir deducir, a partir de una serie resumen y de unos coeficientes multiplicativos, la evolucin del comportamiento de cualquier otro metal. Pese a la escassima documentacin existente al respecto, se valorar e intentar aplicarse una reciente metodologa denominada Metodologa del haz de rectas Como herramienta de trabajo para los programas informticos desarrollados y para representar las grficas asociadas al proyecto, se utiliz Matlab, habida cuenta de su enorme potencia y por disponer de un lenguaje de programacin sencillo y lo suficientemente verstil para las tareas que necesitamos. Abstract. The objective of this research project is to analyze the set of ten time series on prices of the ten metals (silver, aluminum, gold, copper, nickel, palladium, lead, platinum, tin and zinc), included in the period January 2008 to September 2013, with the aim of reducing the dimensionality of the data set and to facilitate comparison of the data and the prediction of future values To apply this methodology, allowing us to predict, from a series summarizes the evolution of the behavior of any other metal. This methodology is called "straight beam Methodology" As a tool for developing computer software and associated graphs to represent the project, Matlab was used in view of its enormous power and have a simple programming language and versatile enough for the tasks we need
Resumo:
Este proyecto se ha enmarcado en la lnea de desarrollo del Laboratorio Virtual de electrnica, desarrollado en la Escuela Universitaria de Ingeniera Tcnica de Telecomunicacin (EUITT), de la Universidad Politcnica de Madrid (UPM). Con el Laboratorio Virtual los alumnos de la universidad, de cualquiera de las escuelas de ingeniera que la componen, pueden realizar prcticas de forma remota. Es decir, desde cualquier PC con el software adecuado instalado y a travs de Internet, sin requerir su presencia en un laboratorio fsico. La caracterstica ms destacable e importante de este Laboratorio Virtual es que las medidas que se realizan no son simulaciones sobre circuitos virtuales, sino medidas reales sobre circuitos reales: el alumno puede configurar una serie de interconexiones entre componentes electrnicos, formando el circuito que necesite, que posteriormente el Laboratorio Virtual se encargar de realizar fsicamente, gracias al hardware y al software que conforman el sistema. Tras ello, el alumno puede excitar el circuito con seales provenientes de instrumental real de laboratorio y obtener medidas de la misma forma, en los puntos del circuito que indique. La necesidad principal a la que este Proyecto de Fin de Carrera da solucin es la sustitucin de los instrumentos de sobremesa por instrumentos emulados en base a Tarjetas de Adquisicin de Datos (DAQ). Los instrumentos emulados son: un multmetro, un generador de seales y un osciloscopio. Adems, existen otros objetivos derivados de lo anterior, como es el que los instrumentos emulados deben guardar una total compatibilidad con el resto del sistema del Laboratorio Virtual, o que el diseo ha de ser escalable y adaptable. Todo ello se ha implementado mediante: un software escrito en LabVIEW, que utiliza un lenguaje de programacin grfico; un hardware que ha sido primero diseado y luego fabricado, controlado por el software; y una Tarjeta de Adquisicin de Datos, que gracias a la escalabilidad del sistema puede sustituirse por otro modelo superior o incluso por varias de ellas. ABSTRACT. This project is framed in the development line of the electronics Virtual Laboratory, developed at Escuela Universitaria de Ingeniera Tcnica de Telecomunicacin (EUITT), from Universidad Politcnica de Madrid (UPM). With the Virtual Laboratory, the universitys students, from any of its engineering schools that is composed of, can do practices remotely. Or in other words, from any PC with the correct software installed and through the Internet, without requiring his or her presence in a physical laboratory. The most remarkable and important characteristic this Virtual Laboratory has is that the measures the students does are not simulations over virtual circuits, but real measures over real circuits: the student can configure a series of interconnections between electronic parts, setting up the circuit he or she needs, and afterwards the Virtual Laboratory will realize that circuit physically, thanks to the hardware and software that compose the whole system. Then, the student can apply signals coming from real laboratory instruments and get measures in the same way, at the points of the circuit he or she points out. The main need this Degree Final Project gives solution is the substitution of the real instruments by emulated instruments, based on Data Acquisition systems (DAQ). The emulated instruments are: a digital multimeter, a signal generator and an oscilloscope. In addition, there is other objectives coming from the previously said, like the need of a total compatibility between the real instruments and the emulated ones and with the rest of the Virtual Laboratory, or that the design must be scalable and adaptive. All of that is implemented by: a software written in LabVIEW, which makes use of a graphical programming language; a hardware that was first designed and later manufactured, then controlled by software; and a Data Acquisition device, though thanks to the systems scalability it can be substituted by a better model or even by several DAQs.
Resumo:
Este proyecto tiene como objetivo el desarrollo de una interfaz MIDI, basada en tcnicas de procesamiento digital de la imagen, capaz de controlar diversos parmetros de un software de audio mediante informacin gestual: el movimiento de las manos. La imagen es capturada por una cmara Kinect comercial y los datos obtenidos por sta son procesados en tiempo real. La finalidad es convertir la posicin de varios puntos de control de nuestro cuerpo en informacin de control musical MIDI. La interfaz ha sido desarrollada en el lenguaje y entorno de programacin Processing, el cual est basado en Java, es de libre distribucin y de fcil utilizacin. El software de audio seleccionado es Ableton Live, versin 8.2.2, elegido porque es til tanto para la composicin musical como para la msica en directo, y esto ltimo es la principal utilidad que se le pretende dar a la interfaz. El desarrollo del proyecto se divide en dos bloques principales: el primero, diseo grfico del controlador, y el segundo, la gestin de la informacin musical. En el primer apartado se justifica el diseo del controlador, formado por botones virtuales: se explica el funcionamiento y, brevemente, la funcin de cada botn. Este ltimo tema es tratado en profundidad en el Anexo II: Manual de usuario. En el segundo bloque se explica el camino que realiza la informacin MIDI desde el procesador gestual hasta el sintetizador musical. Este camino empieza en Processing, desde donde se mandan los mensajes que ms tarde son interpretados por el secuenciador seleccionado, Ableton Live. Una vez terminada la explicacin con detalle del desarrollo del proyecto se exponen las conclusiones del autor acerca del desarrollo del proyecto, donde se encuentran los pros y los contras a tener en cuenta para poder sacar el mximo provecho en el uso del controlador . En este mismo bloque de la memoria se exponen posibles lneas futuras a desarrollar. Se facilita tambin un presupuesto, desglosado en costes materiales y de personal. ABSTRACT. The aim of this project is the development of a MIDI interface based on image digital processing techniques, able to control several parameters of an audio software using gestural information, the movement of the hands. The image is captured by a commercial Kinect camera and the data obtained by it are processed in real time. The purpose is to convert the position of various points of our body into MIDI musical control information. The interface has been developed in the Processing programming language and environment which is based on Java, freely available and easy to used. The audio software selected is Ableton Live, version 8.2.2, chosen because it is useful for both music composition and live music, and the latter is the interface main intended utility. The project development is divided into two main blocks: the controller graphic design, and the information management. The first section justifies the controller design, consisting of virtual buttons: it is explained the operation and, briefly, the function of each button. This latter topic is covered in detail in Annex II: user manual. In the second section it is explained the way that the MIDI information makes from the gestural processor to the musical synthesizer. It begins in Processing, from where the messages, that are later interpreted by the selected sequencer, Ableton Live, are sent. Once finished the detailed explanation of the project development, the author conclusions are presented, among which are found the pros and cons to take into account in order to take full advantage in the controller use. In this same block are explained the possible future aspects to develop. It is also provided a budget, broken down into material and personal costs.
Resumo:
VladBot es un robot autnomo diseado para posicionar en interiores un micrfono de medida. Este prototipo puede valorar la idea de automatizar medidas acsticas en interiores mediante un robot autnomo. Posee dos ruedas motrices y una rueda loca. sta rueda loca aporta maniobrabilidad al robot. Un soporte extensible hecho de aluminio sostiene el micrfono de medida. VladBot ha sido diseado con tecnologas de bajo coste y bajo una plataforma abierta, Arduino. Arduino es una plataforma electrnica libre. Esto quiere decir que los usuarios tienen libre acceso a toda la informacin referente a los micro-controladores (hardware) y referente al software. Ofrece un IDE (Integrated Development Environment, en espaol, Entorno de Desarrollo Integrado) de forma gratuita y con un sencillo lenguaje de programacin, con el que se pueden realizar proyectos de cualquier tipo. Adems, los usuarios disponen de un foro donde encontrar ayuda, Arduino Forum. VladBot se comunica con el usuario a travs de Bluetooth, creando un enlace fiable y con un alcance suficiente (aproximadamente 100 metros) para que controlar a VladBot desde una sala contigua. Hoy en da, Bluetooth es una tecnologa implantada en casi todos los ordenadores, por lo que no necesario ningn sistema adicional para crear dicho enlace. Esta comunicacin utiliza un protocolo de comunicaciones, JSON (JavaScript Object Notation). JSON hace que la comunicacin sea ms fiable, ya que slo un tipo de mensajes preestablecidos son reconocidos. Gracias a este protocolo es posible la comunicacin con otro software, permitiendo crear itinerarios en otro programa externo. El diseo de VladBot favorece su evolucin hasta un sistema ms preciso ya que el usuario puede realizar modificaciones en el robot. El cdigo que se proporciona puede ser modificado, aumentando las funcionalidades de VladBot o mejorndolas. Sus componentes pueden ser cambiados tambin (incluso aadir nuevos dispositivos) para aumentar sus capacidades. Vladbot es por tanto, un sistema de transporte (de bajo coste) para un micrfono de medida que se puede comunicar inalmbricamente con el usuario de manera fiable. ABSTRACT. VladBot is an autonomous robot designed to indoor positioning of a measurement microphone. This prototype can value the idea of making automatic acoustic measurements indoor with an autonomous robot. It has two drive wheels and a caster ball. This caster ball provides manoeuvrability to the robot. An extendible stand made in aluminium holds the measurement microphone. VladBot has been designed with low cost technologies and under an open-source platform, Arduino. Arduino is a freeFsource electronics platform. This means that users have free access to all the information about micro-controllers (hardware) and about the software. Arduino offers a free IDE (Integrated Development Environment) with an easy programming language, which any kind of project can be made with. Besides, users have a forum where find help, Arduino Forum. VladBot communicates with the user by Bluetooth, creating a reliable link with enough range (100 meters approximately) for controlling VladBot in the next room. Nowadays, Bluetooth is a technology embedded in almost laptops, so it is not necessary any additional system for create this link. This communication uses a communication protocol, JSON (JavaScript Object Notation). JSON makes the communication more reliable, since only a preFestablished kind of messages are recognised. Thanks to this protocol is possible the communication with another software, allowing to create routes in an external program. VladBots design favours its evolution to an accurate system since the user can make modifications in the robot. The code given can be changed, increasing VladBots uses or improving these uses. Their components can be changed too (even new devices can be added) for increasing its abilities. So, VladBot is a (low cost) transport system for a measurement microphone, which can communicate with the user in a reliable way.
Resumo:
El objetivo de esta Tesis ha sido la consecucin de simulaciones en tiempo real de vehculos industriales modelizados como sistemas multicuerpo complejos formados por slidos rgidos. Para el desarrollo de un programa de simulacin deben considerarse cuatro aspectos fundamentales: la modelizacin del sistema multicuerpo (tipos de coordenadas, pares ideales o impuestos mediante fuerzas), la formulacin a utilizar para plantear las ecuaciones diferenciales del movimiento (coordenadas dependientes o independientes, mtodos globales o topolgicos, forma de imponer las ecuaciones de restriccin), el mtodo de integracin numrica para resolver estas ecuaciones en el tiempo (integradores explcitos o implcitos) y finalmente los detalles de la implementacin realizada (lenguaje de programacin, libreras matemticas, tcnicas de paralelizacin). Estas cuatro etapas estn interrelacionadas entre s y todas han formado parte de este trabajo. Desde la generacin de modelos de una furgoneta y de camin con semirremolque, el uso de tres formulaciones dinmicas diferentes, la integracin de las ecuaciones diferenciales del movimiento mediante mtodos explcitos e implcitos, hasta el uso de funciones BLAS, de tcnicas de matrices sparse y la introduccin de paralelizacin para utilizar los distintos ncleos del procesador. El trabajo presentado en esta Tesis ha sido organizado en 8 captulos, dedicndose el primero de ellos a la Introduccin. En el Captulo 2 se presentan dos formulaciones semirrecursivas diferentes, de las cuales la primera est basada en una doble transformacin de velocidades, obtenindose las ecuaciones diferenciales del movimiento en funcin de las aceleraciones relativas independientes. La integracin numrica de estas ecuaciones se ha realizado con el mtodo de Runge-Kutta explcito de cuarto orden. La segunda formulacin est basada en coordenadas relativas dependientes, imponiendo las restricciones por medio de penalizadores en posicin y corrigiendo las velocidades y aceleraciones mediante mtodos de proyeccin. En este segundo caso la integracin de las ecuaciones del movimiento se ha llevado a cabo mediante el integrador implcito HHT (Hilber, Hughes and Taylor), perteneciente a la familia de integradores estructurales de Newmark. En el Captulo 3 se introduce la tercera formulacin utilizada en esta Tesis. En este caso las uniones entre los slidos del sistema se ha realizado mediante uniones flexibles, lo que obliga a imponer los pares por medio de fuerzas. Este tipo de uniones impide trabajar con coordenadas relativas, por lo que la posicin del sistema y el planteamiento de las ecuaciones del movimiento se ha realizado utilizando coordenadas Cartesianas y parmetros de Euler. En esta formulacin global se introducen las restricciones mediante fuerzas (con un planteamiento similar al de los penalizadores) y la estabilizacin del proceso de integracin numrica se realiza tambin mediante proyecciones de velocidades y aceleraciones. En el Captulo 4 se presenta una revisin de las principales herramientas y estrategias utilizadas para aumentar la eficiencia de las implementaciones de los distintos algoritmos. En primer lugar se incluye una serie de consideraciones bsicas para aumentar la eficiencia numrica de las implementaciones. A continuacin se mencionan las principales caractersticas de los analizadores de cdigos utilizados y tambin las libreras matemticas utilizadas para resolver los problemas de lgebra lineal tanto con matrices densas como sparse. Por ltimo se desarrolla con un cierto detalle el tema de la paralelizacin en los actuales procesadores de varios ncleos, describiendo para ello el patrn empleado y las caractersticas ms importantes de las dos herramientas propuestas, OpenMP y las TBB de Intel. Hay que sealar que las caractersticas de los sistemas multicuerpo problemas de pequeo tamao, frecuente uso de la recursividad, y repeticin intensiva en el tiempo de los clculos con fuerte dependencia de los resultados anteriores dificultan extraordinariamente el uso de tcnicas de paralelizacin frente a otras reas de la mecnica computacional, tales como por ejemplo el clculo por elementos finitos. Basndose en los conceptos mencionados en el Captulo 4, el Captulo 5 est dividido en tres secciones, una para cada formulacin propuesta en esta Tesis. En cada una de estas secciones se describen los detalles de cmo se han realizado las distintas implementaciones propuestas para cada algoritmo y qu herramientas se han utilizado para ello. En la primera seccin se muestra el uso de libreras numricas para matrices densas y sparse en la formulacin topolgica semirrecursiva basada en la doble transformacin de velocidades. En la segunda se describe la utilizacin de paralelizacin mediante OpenMP y TBB en la formulacin semirrecursiva con penalizadores y proyecciones. Por ltimo, se describe el uso de tcnicas de matrices sparse y paralelizacin en la formulacin global con uniones flexibles y parmetros de Euler. El Captulo 6 describe los resultados alcanzados mediante las formulaciones e implementaciones descritas previamente. Este captulo comienza con una descripcin de la modelizacin y topologa de los dos vehculos estudiados. El primer modelo es un vehculo de dos ejes del tipo chasis-cabina o furgoneta, perteneciente a la gama de vehculos de carga medianos. El segundo es un vehculo de cinco ejes que responde al modelo de un camin o cabina con semirremolque, perteneciente a la categora de vehculos industriales pesados. En este captulo adems se realiza un estudio comparativo entre las simulaciones de estos vehculos con cada una de las formulaciones utilizadas y se presentan de modo cuantitativo los efectos de las mejoras alcanzadas con las distintas estrategias propuestas en esta Tesis. Con objeto de extraer conclusiones ms fcilmente y para evaluar de un modo ms objetivo las mejoras introducidas en la Tesis, todos los resultados de este captulo se han obtenido con el mismo computador, que era el top de la gama Intel Xeon en 2007, pero que hoy da est ya algo obsoleto. Por ltimo los Captulos 7 y 8 estn dedicados a las conclusiones finales y las futuras lneas de investigacin que pueden derivar del trabajo realizado en esta Tesis. Los objetivos de realizar simulaciones en tiempo real de vehculos industriales de gran complejidad han sido alcanzados con varias de las formulaciones e implementaciones desarrolladas. ABSTRACT The objective of this Dissertation has been the achievement of real time simulations of industrial vehicles modeled as complex multibody systems made up by rigid bodies. For the development of a simulation program, four main aspects must be considered: the modeling of the multibody system (types of coordinates, ideal joints or imposed by means of forces), the formulation to be used to set the differential equations of motion (dependent or independent coordinates, global or topological methods, ways to impose constraints equations), the method of numerical integration to solve these equations in time (explicit or implicit integrators) and the details of the implementation carried out (programming language, mathematical libraries, parallelization techniques). These four stages are interrelated and all of them are part of this work. They involve the generation of models for a van and a semitrailer truck, the use of three different dynamic formulations, the integration of differential equations of motion through explicit and implicit methods, the use of BLAS functions and sparse matrix techniques, and the introduction of parallelization to use the different processor cores. The work presented in this Dissertation has been structured in eight chapters, the first of them being the Introduction. In Chapter 2, two different semi-recursive formulations are shown, of which the first one is based on a double velocity transformation, thus getting the differential equations of motion as a function of the independent relative accelerations. The numerical integration of these equations has been made with the Runge-Kutta explicit method of fourth order. The second formulation is based on dependent relative coordinates, imposing the constraints by means of position penalty coefficients and correcting the velocities and accelerations by projection methods. In this second case, the integration of the motion equations has been carried out by means of the HHT implicit integrator (Hilber, Hughes and Taylor), which belongs to the Newmark structural integrators family. In Chapter 3, the third formulation used in this Dissertation is presented. In this case, the joints between the bodies of the system have been considered as flexible joints, with forces used to impose the joint conditions. This kind of union hinders to work with relative coordinates, so the position of the system bodies and the setting of the equations of motion have been carried out using Cartesian coordinates and Euler parameters. In this global formulation, constraints are introduced through forces (with a similar approach to the penalty coefficients) are presented. The stabilization of the numerical integration is carried out also by velocity and accelerations projections. In Chapter 4, a revision of the main computer tools and strategies used to increase the efficiency of the implementations of the algorithms is presented. First of all, some basic considerations to increase the numerical efficiency of the implementations are included. Then the main characteristics of the code analyzers used and also the mathematical libraries used to solve linear algebra problems (both with dense and sparse matrices) are mentioned. Finally, the topic of parallelization in current multicore processors is developed thoroughly. For that, the pattern used and the most important characteristics of the tools proposed, OpenMP and Intel TBB, are described. It needs to be highlighted that the characteristics of multibody systems small size problems, frequent recursion use and intensive repetition along the time of the calculation with high dependencies of the previous results complicate extraordinarily the use of parallelization techniques against other computational mechanics areas, as the finite elements computation. Based on the concepts mentioned in Chapter 4, Chapter 5 is divided into three sections, one for each formulation proposed in this Dissertation. In each one of these sections, the details of how these different proposed implementations have been made for each algorithm and which tools have been used are described. In the first section, it is shown the use of numerical libraries for dense and sparse matrices in the semirecursive topological formulation based in the double velocity transformation. In the second one, the use of parallelization by means OpenMP and TBB is depicted in the semi-recursive formulation with penalization and projections. Lastly, the use of sparse matrices and parallelization techniques is described in the global formulation with flexible joints and Euler parameters. Chapter 6 depicts the achieved results through the formulations and implementations previously described. This chapter starts with a description of the modeling and topology of the two vehicles studied. The first model is a two-axle chassis-cabin or van like vehicle, which belongs to the range of medium charge vehicles. The second one is a five-axle vehicle belonging to the truck or cabin semi-trailer model, belonging to the heavy industrial vehicles category. In this chapter, a comparative study is done between the simulations of these vehicles with each one of the formulations used and the improvements achieved are presented in a quantitative way with the different strategies proposed in this Dissertation. With the aim of deducing the conclusions more easily and to evaluate in a more objective way the improvements introduced in the Dissertation, all the results of this chapter have been obtained with the same computer, which was the top one among the Intel Xeon range in 2007, but which is rather obsolete today. Finally, Chapters 7 and 8 are dedicated to the final conclusions and the future research projects that can be derived from the work presented in this Dissertation. The objectives of doing real time simulations in high complex industrial vehicles have been achieved with the formulations and implementations developed.
Resumo:
El objetivo de este proyecto de investigacin es comparar dos tcnicas matemticas de aproximacin polinmica, las aproximaciones segn el criterio de mnimos cuadrados y las aproximaciones uniformes (minimax). Se describen tanto el mercado actual del cobre, con sus fluctuaciones a lo largo del tiempo, como los distintos modelos matemticos y programas informticos disponibles. Como herramienta informtica se ha seleccionado Matlab, cuya biblioteca matemtica es muy amplia y de uso muy extendido y cuyo lenguaje de programacin es suficientemente potente para desarrollar los programas que se necesiten. Se han obtenido diferentes polinomios de aproximacin sobre una muestra (serie histrica) que recoge la variacin del precio del cobre en los ltimos aos. Se ha analizado la serie histrica completa y dos tramos significativos de ella. Los resultados obtenidos incluyen valores de inters para otros proyectos. Abstract The aim of this research project is to compare two mathematical models for estimating polynomial approximation, the approximations according to the criterion of least squares approximations uniform (Minimax). Describes both the copper current market, fluctuating over time as different computer programs and mathematical models available. As a modeling tool is selected main Matlab which math library is the largest and most widely used programming language and which is powerful enough to allow you to develop programs that are needed. We have obtained different approximating polynomials, applying mathematical methods chosen, a sample (historical series) which indicates the fluctuation in copper prices in last years. We analyzed the complete historical series and two significant sections of it. The results include values that we consider relevant to other projects
Resumo:
We present an undergraduate course on concurrent programming where formal models are used in different stages of the learning process. The main practical difference with other approaches lies in the fact that the ability to develop correct concurrent software relies on a systematic transformation of formal models of inter-process interaction (so called shared resources), rather than on the specific constructs of some programming language. Using a resource-centric rather than a language-centric approach has some benefits for both teachers and students. Besides the obvious advantage of being independent of the programming language, the models help in the early validation of concurrent software design, provide students and teachers with a lingua franca that greatly simplifies communication at the classroom and during supervision, and help in the automatic generation of tests for the practical assignments. This method has been in use, with slight variations, for some 15 years, surviving changes in the programming language and course length. In this article, we describe the components and structure of the current incarnation of the course?which uses Java as target language?and some tools used to support our method. We provide a detailed description of the different outcomes that the model-driven approach delivers (validation of the initial design, automatic generation of tests, and mechanical generation of code) from a teaching perspective. A critical discussion on the perceived advantages and risks of our approach follows, including some proposals on how these risks can be minimized. We include a statistical analysis to show that our method has a positive impact in the student ability to understand concurrency and to generate correct code.
Resumo:
Se presenta el estado actual del proyecto URBANO, que en la versin 8.02 es una arquitectura distribuida de componentes orientada al diseo de aplicaciones en robots sociales. Se utiliza SOAP como mecanismo de integracin remota. Se han diseado nuevos componentes que permiten diferentes formas de aprendizaje. Por un lado, se ha diseado una aplicacin Android que posibilita la integracin del mvil o tablet al control del robot. Por otro se ha desarrollado una ontologa que permite representar, no solo conceptos, sino el aprendizaje propiamente dicho y se suman a los ya disponibles para la sintetizacin y reconocimiento de voces, gestin de gestos de cara y brazos, generacin de trayectorias y navegacin segura, modelo de estado de nimo del robot y ejecucin de tareas definidas por el usuario mediante el lenguaje propio UPL (Urbano Programming Language).
Resumo:
Se presenta el estado actual del proyecto URBANO, que en la versin 8.02 es una arquitectura distribuida de componentes orientada al diseo de aplicaciones en robots sociales. Se utiliza SOAP como mecanismo de integracin remota. Se han diseado nuevos componentes que permiten diferentes formas de aprendizaje. Por un lado, se ha diseado una aplicacin Android que posibilita la integracin del mvil o tablet al control del robot. Por otro se ha desarrollado una ontologa que permite representar, no solo conceptos, sino el aprendizaje propiamente dicho y se suman a los ya disponibles para la sintetizacin y reconocimiento de voces, gestin de gestos de cara y brazos, generacin de trayectorias y navegacin segura, modelo de estado de nimo del robot y ejecucin de tareas definidas por el usuario mediante el lenguaje propio UPL (Urbano Programming Language)
Estudio preliminar acerca del uso de protocolos y actos comunicativos FIPA en el sistema COMPUTAPLEX
Resumo:
Este trabajo corresponde con la implementacin de componentes software dentro de la Plataforma COMPUTAPLEX, la cual tiene como objetivo facilitar a los investigadores la realizacin de tareas del proceso experimental de ingeniera de software. Uno de los aportes a esta plataforma tecnolgica corresponde con el desarroll de los componentes necesarios para la recuperacin de datos experimentales disponibles en diversas fuentes de datos, para ello se hizo uso de un mecanismo capaz de unificar la extraccin de informacin de MySQL, ficheros excel y ficheros SPSS. Con ello diferentes grupos de investigacin asociados pueden compartir y tener acceso a repositorios experimentales que se mantienen tanto de manera local como externa. Por otra parte, se ha realizado un estudio de la tecnologa de agentes en la que se describe sus definiciones, lenguajes de comunicacin, especificacin FIPA, JADE como implementacin FIPA y parser XML. Adems para este trabajo se ha definido e implementado una ontologa de comunicacin entre agentes, la misma que fue diseada en la herramienta Protg. En lo que se refiere al desarrollo de componentes se hizo uso de una ampla variedad de tecnologas que incluye lenguaje de programacin Java, framework JADE para el desarrollo de agentes, librera JENA para manejo de ontologas, librera SAXParser para lectura de archivos XML y patrn de diseo Factory. Finalmente se describe la metodologa de trabajo utilizada en el proyecto, la cual por medio de la realizacin de varios ciclos iterativos permiti obtener prototipos que poco a poco fueron cubriendo las necesidades del producto software.----ABSTRACT---- This work relates to the implementation of software components within the platform Computaplex, which aims to enable researchers to conduct experimental software engineering process tasks. One of the contributions to this platform technology corresponds to the development of components which are necessary for the recovery of experimental data available in different data sources, to archive this goal a mechanism able to unify the extraction of information from MySQL, Excel and SPSS files was made. Therefore, associated research groups can share and access experimental repositories that remain both locally and externally. Moreover, it has been conducted a study of agent technology in its definition is described, languages communication, FIPA, JADE and FIPA implementation and XML parser. In addition to this work, it has been defined and implemented an ontology for communication between agents, the same as was designed in the Protg tool. In what refers to the development of components, a wide range of technologies have been made which includes Java programming language, framework JADE for agent development, JENA library for handling ontologies, SAXParser for reading XML files and Factory design pattern. Finally, describing the work methodology used in this project, which through the implementation of several iterative cycles allowed to obtain prototypes were gradually meeting the needs of the software product.
Resumo:
Actualmente son una prctica comn los procesos de normalizacin de mtodos de ensayo y acreditacin de laboratorios, ya que permiten una evaluacin de los procedimientos llevados a cabo por profesionales de un sector tecnolgico y adems permiten asegurar unos mnimos de calidad en los resultados finales. En el caso de los laboratorios de acstica, para conseguir y mantener la acreditacin de un laboratorio es necesario participar activamente en ejercicios de intercomparacin, utilizados para asegurar la calidad de los mtodos empleados. El inconveniente de estos ensayos es el gran coste que suponen para los laboratorios, siendo en ocasiones inasumible por estos teniendo que renunciar a la acreditacin. Este Proyecto Fin de Grado se centrar en el desarrollo de un Laboratorio Virtual implementado mediante una herramienta software que servir para realizar ejercicios de intercomparacin no presenciales, ampliando de ese modo el concepto e-comparison y abriendo las bases a que en un futuro este tipo de ejercicios no presenciales puedan llegar a sustituir a los llevados a cabo actualmente. En el informe primero se har una pequea introduccin, donde se expondr la evolucin y la importancia de los procedimientos de calidad acstica en la sociedad actual. A continuacin se comentar las normativas internacionales en las que se soportar el proyecto, la norma ISO 145-5, as como los mtodos matemticos utilizados en su implementacin, los mtodos estadsticos de propagacin de incertidumbres especificados por la JCGM (Joint Committee for Guides in Metrology). Despus, se hablar sobre la estructura del proyecto, tanto del tipo de programacin utilizada en su desarrollo como la metodologa de clculo utilizada para conseguir que todas las funcionalidades requeridas en este tipo de ensayo estn correctamente implementadas. Posteriormente se llevar a cabo una validacin estadstica basada en la comparacin de unos datos generados por el programa, procesados utilizando la simulacin de Montecarlo, y unos clculos analticos, que permita comprobar que el programa funciona tal y como se ha previsto en la fase de estudio terico. Tambin se realizar una prueba del programa, similar a la que efectuara un tcnico de laboratorio, en la que se evaluar la incertidumbre de la medida calculndola mediante el mtodo tradicional, pudiendo comparar los datos obtenidos con los que deberan obtenerse. Por ltimo, se comentarn las conclusiones obtenidas con el desarrollo y pruebas del Laboratorio Virtual, y se propondrn nuevas lneas de investigacin futuras relacionadas con el concepto e-comparison y la implementacin de mejoras al Laboratorio Virtual. ABSTRACT. Nowadays it is common practise to make procedures to normalise trials methods standards and laboratory accreditations, as they allow for the evaluation of the procedures made by professionals from a particular technological sector in addition to ensuring a minimum quality in the results. In order for an acoustics laboratory to achieve and maintain the accreditation it is necessary to actively participate in the intercomparison exercises, since these are used to assure the quality of the methods used by the technicians. Unfortunately, the high cost of these trials is unaffordable for many laboratories, which then have to renounce to having the accreditation. This Final Project is focused on the development of a Virtual Laboratory implemented by a software tool that it will be used for making non-attendance intercomparison trials, widening the concept of e-comparison and opening the possibility for using this type of non-attendance trials instead of the current ones. First, as a short introduction, I show the evolution and the importance today of acoustic quality procedures. Second, I will discuss the international standards, such as ISO 145-5, as well the mathematic and statistical methods of uncertainty propagation specified by the Joint Committee for Guides in Metrology, that are used in the Project. Third, I speak about the structure of the Project, as well as the programming language structure and the methodology used to get the different features needed in this acoustic trial. Later, a statistical validation will be carried out, based on comparison of data generated by the program, processed using a Montecarlo simulation, and analytical calculations to verify that the program works as planned in the theoretical study. There will also be a test of the program, similar to one that a laboratory technician would carry out, by which the uncertainty in the measurement will be compared to a traditional calculation method so as to compare the results. Finally, the conclusions obtained with the development and testing of the Virtual Laboratory will be discussed, new research paths related to e-comparison definition and the improvements for the Laboratory will be proposed.
Resumo:
Esta tesis estudia la reduccin plena (full reduction en ingls) en distintos clculos lambda. 1 En esencia, la reduccin plena consiste en evaluar los cuerpos de las funciones en los lenguajes de programacin funcional con ligaduras. Se toma el clculo lambda clsico (i.e., puro y sin tipos) como el sistema formal que modela el paradigma de programacin funcional. La reduccin plena es una tcnica fundamental cuando se considera a los programas como datos, por ejemplo para la optimizacin de programas mediante evaluacin parcial, o cuando algn atributo del programa se representa a su vez por un programa, como el tipo en los demostradores automticos de teoremas actuales. Muchas semnticas operacionales que realizan reduccin plena tienen naturaleza hbrida. Se introduce formalmente la nocin de naturaleza hbrida, que constituye el hilo conductor de todo el trabajo. En el clculo lambda la naturaleza hbrida se manifiesta como una distincin de fase en el tratamiento de las abstracciones, ya sean consideradas desde fuera o desde dentro de si mismas. Esta distincin de fase conlleva una estructura en capas en la que una semntica hbrida depende de una o ms semnticas subsidiarias. Desde el punto de vista de los lenguajes de programacin, la tesis muestra como derivar, mediante tcnicas de transformacin de programas, implementaciones de semnticas operacionales que reducen plenamente a partir de sus especificaciones. Las tcnicas de transformacin de programas consisten en transformaciones sintcticas que preservan la equivalencia semntica de los programas. Se ajustan las tcnicas de transformacin de programas existentes para trabajar con implementaciones de semnticas hbridas. Adems, se muestra el impacto que tiene la reduccin plena en las implementaciones que utilizan entornos. Los entornos son un ingrediente fundamental en las implementaciones realistas de una mquina abstracta. Desde el punto de vista de los sistemas formales, la tesis desvela una teora novedosa para el clculo lambda con paso por valor (call-by-value lambda calculus en ingls) que es consistente con la reduccin plena. Dicha teora induce una nocin de equivalencia observacional que distingue ms puntos que las teoras existentes para dicho clculo. Esta contribucin ayuda a establecer una teora estndar en el clculo lambda con paso por valor que es anloga a la teora estndar del clculo lambda clsico propugnada por Barendregt. Se presentan resultados de teora de la demostracin, y se sugiere como abordar el estudio de teora de modelos. ABSTRACT This thesis studies full reduction in lambda calculi. In a nutshell, full reduction consists in evaluating the body of the functions in a functional programming language with binders. The classical (i.e., pure untyped) lambda calculus is set as the formal system that models the functional paradigm. Full reduction is a prominent technique when programs are treated as data objects, for instance when performing optimisations by partial evaluation, or when some attribute of the program is represented by a program itself, like the type in modern proof assistants. A notable feature of many full-reducing operational semantics is its hybrid nature, which is introduced and which constitutes the guiding theme of the thesis. In the lambda calculus, the hybrid nature amounts to a phase distinction in the treatment of abstractions when considered either from outside or from inside themselves. This distinction entails a layered structure in which a hybrid semantics depends on one or more subsidiary semantics. From a programming languages standpoint, the thesis shows how to derive implementations of full-reducing operational semantics from their specifications, by using program transformations techniques. The program transformation techniques are syntactical transformations which preserve the semantic equivalence of programs. The existing program transformation techniques are adjusted to work with implementations of hybrid semantics. The thesis also shows how full reduction impacts the implementations that use the environment technique. The environment technique is a key ingredient of real-world implementations of abstract machines which helps to circumvent the issue with binders. From a formal systems standpoint, the thesis discloses a novel consistent theory for the call-by-value variant of the lambda calculus which accounts for full reduction. This novel theory entails a notion of observational equivalence which distinguishes more points than other existing theories for the call-by-value lambda calculus. This contribution helps to establish a standard theory in that calculus which constitutes the analogous of the standard theory advocated by Barendregt in the classical lambda calculus. Some prooftheoretical results are presented, and insights on the model-theoretical study are given.