971 resultados para robot programming environment
Resumo:
End users develop more software than any other group of programmers, using software authoring devices such as e-mail filtering editors, by-demonstration macro builders, and spreadsheet environments. Despite this, there has been little research on finding ways to help these programmers with the dependability of their software. We have been addressing this problem in several ways, one of which includes supporting end-user debugging activities through fault localization techniques. This paper presents the results of an empirical study conducted in an end-user programming environment to examine the impact of two separate factors in fault localization techniques that affect technique effectiveness. Our results shed new insights into fault localization techniques for end-user programmers and the factors that affect them, with significant implications for the evaluation of those techniques.
Resumo:
The debugger is an essential tool in any programming environment, as it helps developers understand the dynamic behaviour of software systems. However, traditional debuggers fail in answering domain-specific questions, as the semantics of what they show and do are fixed. In this paper we introduce our work towards a moldable debugger which, unlike traditional debuggers, both adapts itself and can be adapted to a particular debugging context. Thus, it allows developers to answer their questions by using concepts from their own application domains.
Resumo:
En este proyecto se ha diseñado un sistema de adquisición y uso compartido de datos orientado a la implantación en un vehículo monoplaza de Formula SAE. Más concretamente, se encarga de recoger la información proporcionada por cuatro sensores infrarrojos de temperatura que sondearán constantemente la temperatura a la que se encuentran las ruedas del vehículo. La información, recogida en una memoria de almacenamiento masivo, se compartirá con otros dispositivos mediante un bus común. Los sensores empleados para generar la información los proporciona Melexis. Dichos sensores permiten estar todos simultáneamente conectados en un bus común gracias a su electrónica interna. Mediante el bus I2C irán conectados los cuatro sensores de nuestra aplicación (uno por cada rueda) permitiéndose añadir a posteriori más sensores o incluso otros elementos que permitan la comunicación por este tipo de bus I2C. La gestión de las tareas se realiza mediante el microcontrolador DSPIC33FJ256GP710-I/PF proporcionado por Microchip. Este es un microcontrolador complejo, por lo que para nuestra aplicación desaprovecharemos parte de su potencial. En nuestra tarjeta ha sido solamente añadido el uso de los dos I2C (uno para la tarjeta SD y el otro para los sensores), el módulo ECAN1 (para las comunicaciones por bus CAN), el módulo SPI (para acceder a una memoria Flash), 4 ADCs (para posibles mediciones) y 2 entradas de interrupción (para posible interactuación con el usuario), a parte de los recursos internos necesarios. En este proyecto se realiza tanto el desarrollo de una tarjeta de circuito impreso dedicada a resolver la funcionalidad requerida, así como su programación a través del entorno de programación facilitado por Microchip, el ICD2 Programmer. In this project, an acquisition and sharing system of data, which is oriented to be installed in a Formula SAE single-seater vehicle, has been designed. Concretely, it is responsible for getting the information supplied by four IR temperature sensors that monitor the wheels temperature. The information, which is loaded in a massive storage memory, will be shared with other devices by means of a common bus. The sensors used to generate the information are supplied by Melexis. Such specific sensors let that all they can be connected to the same bus at the same time due to their internal electronic. The four sensors will be connected through an I2C bus, one for each wheel, although we could add later more sensors or even other devices that they were able to let the I2C communication. Tasks management will be done by means of the DSPIC33FJ256GP710-I/PF microcontroller, which will be supplied by Microchip. This is a complex microcontroller, so, in our application we waste off a part of its potential. In our PCB has only been incorporated the use of the two I2C (one for the SD card and the other for the sensors), the ECAN module (to communicate devices), the SPI module (to access to the Flash memory), 4 ADC’s (for possible measurements) and 2 interrupt inputs (for possible inter-action with the user), a part of the necessary internal resources. This project aims the PCB development dedicated to solve the requested functionality and its programming through the programming environment provided by Microchip (the ICD2 programmer).
Resumo:
CIAO is an advanced programming environment supporting Logic and Constraint programming. It offers a simple concurrent kernel on top of which declarative and non-declarative extensions are added via librarles. Librarles are available for supporting the ISOProlog standard, several constraint domains, functional and higher order programming, concurrent and distributed programming, internet programming, and others. The source language allows declaring properties of predicates via assertions, including types and modes. Such properties are checked at compile-time or at run-time. The compiler and system architecture are designed to natively support modular global analysis, with the two objectives of proving properties in assertions and performing program optimizations, including transparently exploiting parallelism in programs. The purpose of this paper is to report on recent progress made in the context of the CIAO system, with special emphasis on the capabilities of the compiler, the techniques used for supporting such capabilities, and the results in the áreas of program analysis and transformation already obtained with the system.
Resumo:
We provide an overall description of the Ciao multiparadigm programming system emphasizing some of the novel aspects and motivations behind its design and implementation. An important aspect of Ciao is that, in addition to supporting logic programming (and, in particular, Prolog), it provides the programmer with a large number of useful features from different programming paradigms and styles and that the use of each of these features (including those of Prolog) can be turned on and off at will for each program module. Thus, a given module may be using, e.g., higher order functions and constraints, while another module may be using assignment, predicates, Prolog meta-programming, and concurrency. Furthermore, the language is designed to be extensible in a simple and modular way. Another important aspect of Ciao is its programming environment, which provides a powerful preprocessor (with an associated assertion language) capable of statically finding non-trivial bugs, verifying that programs comply with specifications, and performing many types of optimizations (including automatic parallelization). Such optimizations produce code that is highly competitive with other dynamic languages or, with the (experimental) optimizing compiler, even that of static languages, all while retaining the flexibility and interactive development of a dynamic language. This compilation architecture supports modularity and separate compilation throughout. The environment also includes a powerful autodocumenter and a unit testing framework, both closely integrated with the assertion system. The paper provides an informal overview of the language and program development environment. It aims at illustrating the design philosophy rather than at being exhaustive, which would be impossible in a single journal paper, pointing instead to previous Ciao literature.
Resumo:
Ciao is a public domain, next generation multi-paradigm programming environment with a unique set of features: Ciao offers a complete Prolog system, supporting ISO-Prolog, but its novel modular design allows both restricting and extending the language. As a result, it allows working with fully declarative subsets of Prolog and also to extend these subsets (or ISO-Prolog) both syntactically and semantically. Most importantly, these restrictions and extensions can be activated separately on each program module so that several extensions can coexist in the same application for different modules. Ciao also supports (through such extensions) programming with functions, higher-order (with predicate abstractions), constraints, and objects, as well as feature terms (records), persistence, several control rules (breadth-first search, iterative deepening, ...), concurrency (threads/engines), a good base for distributed execution (agents), and parallel execution. Libraries also support WWW programming, sockets, external interfaces (C, Java, TclTk, relational databases, etc.), etc. Ciao offers support for programming in the large with a robust module/object system, module-based separate/incremental compilation (automatically -no need for makefiles), an assertion language for declaring (optional) program properties (including types and modes, but also determinacy, non-failure, cost, etc.), automatic static inference and static/dynamic checking of such assertions, etc. Ciao also offers support for programming in the small producing small executables (including only those builtins used by the program) and support for writing scripts in Prolog. The Ciao programming environment includes a classical top-level and a rich emacs interface with an embeddable source-level debugger and a number of execution visualization tools. The Ciao compiler (which can be run outside the top level shell) generates several forms of architecture-independent and stand-alone executables, which run with speed, efficiency and executable size which are very competive with other commercial and academic Prolog/CLP systems. Library modules can be compiled into compact bytecode or C source files, and linked statically, dynamically, or autoloaded. The novel modular design of Ciao enables, in addition to modular program development, effective global program analysis and static debugging and optimization via source to source program transformation. These tasks are performed by the Ciao preprocessor ( ciaopp, distributed separately). The Ciao programming environment also includes lpdoc, an automatic documentation generator for LP/CLP programs. It processes Prolog files adorned with (Ciao) assertions and machine-readable comments and generates manuals in many formats including postscript, pdf, texinfo, info, HTML, man, etc. , as well as on-line help, ascii README files, entries for indices of manuals (info, WWW, ...), and maintains WWW distribution sites.
Resumo:
El presente proyecto tiene como objetivo la creación de un controlador MIDI económico que haga uso de la tecnología actual, y partiendo de la idea del instrumento clásico, el Theremin, desarrollado por Lev Serguéievich Termen. Para ello se ha dividido el proyecto en dos principales bloques, el primero, hardware y el segundo, software. En la parte del hardware, se explica cual ha sido la razón de la utilización del microprocesador Arduino Uno, sus características técnicas y el uso de sensores de ultrasonido, ya que proporcionan la característica de poder interactuar con el controlador a través de gestos con las manos, al igual que un Theremin clásico. Se explica el montaje de los dispositivos que conforman el controlador, así como la mejora realizada, con la utilización de 4 de estos sensores, para dar más capacidades de interactuación con el controlador MIDI. También se ve en ese apartado, como se programa la tarjeta de Arduino, para que se encargue de realizar medidas con los sensores y enviarlas por el puerto serial USB. En el apartado del software se da una introducción al entorno de programación Max/MSP. Se ve el plug in desarrollado con este lenguaje, para poder comunicar el controlador MIDI con un software de audio profesional (Ableton Live) y se explica con detalle los bloques que conforman el plug in de control de sensores y como es transformada la información que entrega el microprocesador Arduino por el puerto USB, en datos MIDI. También, se da una explicación sobre el manejo correcto del controlador a la hora de mover las manos sobre los sensores y de donde situar el instrumento para que no se produzcan problemas de interferencias con las señales que envían los ultrasonidos. Además, se proporciona un presupuesto del coste de los materiales, y otro del coste del desarrollo realizado por el ingeniero. ABSTRACT The aim of this Project is the creation of an economical MIDI controller that uses nowadays technology and that is based on the idea of the Theremin, a classical instrument conceived by Lev Serguéievich Termen. In order to accomplish this, the project has been divided into two sections: hardware and software. The hardware section explains why the microprocessor Arduino Uno has been chosen, sets out its technical specifications and the use of ultrasonic sensors. These sensors enable the user to interact with the controller through hand gestures like the Theremin. The assembly of the devices is exposed as well as the improvements made with the use of four of these sensors to offer more interactive capabilities with the MIDI controller. The Arduino singleboard programming that performs the measurements with the sensors and sends these measurements through the USB serial port is also explained here. The software section introduces Max/MSP programming environment as well as the plug in developed with this language that connects the MIDI controller with professional audio software (Ableton Live). The blocks that build the sensor controller plug in are explained in detail along with the way the Arduino delivers the information through the USB port into MIDI data. In addition, an explanation of the correct handling of the MIDI controller is given focusing on how the user should move his hands above the sensors and where to place the instrument to avoid interference problems with the signals sent. Also, a cost estimation of both materials and engineering is provided.
Resumo:
El presente Trabajo Fin de Máster pretende llevar a cabo el análisis del comportamiento vibratorio de resonadores de membrana, consistentes en un panel delgado y ligero montado a cierta distancia de un elemento constructivo rígido y pesado. Este tipo de sistemas resonantes son empleados habitualmente como absorbentes de media-baja frecuencia en aplicaciones de acondicionamiento acústico de salas. El análisis hará especial hincapié en la influencia del acoplamiento mecánico-acústico entre la placa vibrante (estructura) y el colchón de aire (fluido) encerrado entre la misma y la pared rígida. En primer lugar, realizaremos el análisis modal experimental del resonador objeto de ensayo a partir de las mediciones de su respuesta vibratoria, con el fin de caracterizar su comportamiento en base a sus primeros modos propios acoplados de flexión. El análisis de las señales vibratorias en el dominio de la frecuencia para la identificación de dicho modos se realizará en el entorno de programación MATLAB, haciendo uso de una herramienta propia que implementa los métodos de cálculo y los algoritmos necesarios para tal fin. Asimismo, simularemos el comportamiento del resonador mediante el método de elementos finitos (FEM), utilizando las aplicaciones ANSYS y SYSNOISE, considerando diferentes condiciones frontera en el modelo generado. Los resultados aquí obtenidos serán de utilidad para complementar aquellos obtenidos de forma experimental a la hora de extraer conclusiones prácticas del análisis realizado. SUMMARY. This Master's Thesis intends to carry out the analysis of the vibratory behaviour of resonance absorbers, consisting of a thin and lightweight panel mounted at a distance from a rigid wall. Such systems are commonly used as sound absorption systems for mid-low frequency in room acoustics applications. The analysis will emphasize the influence of mechanical-acoustic coupling between the vibrating plate (structure) and the air cushion (acoustic element) enclosed behind it. First of all, we are performing the experimental modal analysis of the resonance absorber under test from the vibrational response measurements, in order to characterize its behaviour based on its first bending coupled-modes. The analysis of vibration signals in the frequency domain for the identification of such modes will be made in MATLAB programming environment, using a proprietary tool that implements the calculation methods and algorithms needed for this purpose. Furthermore, we are simulating the behaviour of the resonance absorber applying the Finite Element Method (FEM) – using ANSYS and SYSNOISE applications - considering different boundary conditions in the model created. The results from the simulation will be useful to complement those obtained experimentally when drawing practical conclusions from this analysis.
Resumo:
En esta tesis se aborda el problema de la modelización, análisis y optimización de pórticos metálicos planos de edificación frente a los estados límites último y de servicio. El objetivo general es presentar una técnica secuencial ordenada de optimización discreta para obtener el coste mínimo de pórticos metálicos planos de edificación, teniendo en cuenta las especificaciones del EC-3, incorporando las uniones semirrígidas y elementos no prismáticos en el proceso de diseño. Asimismo se persigue valorar su grado de influencia sobre el diseño final. El horizonte es extraer conclusiones prácticas que puedan ser de utilidad y aplicación simple para el proyecto de estructuras metálicas. La cantidad de publicaciones técnicas y científicas sobre la respuesta estructural de entramados metálicos es inmensa; por ello se ha hecho un esfuerzo intenso en recopilar el estado actual del conocimiento, sobre las líneas y necesidades actuales de investigación. Se ha recabado información sobre los métodos modernos de cálculo y diseño, sobre los factores que influyen sobre la respuesta estructural, sobre técnicas de modelización y de optimización, al amparo de las indicaciones que algunas normativas actuales ofrecen sobre el tema. En esta tesis se ha desarrollado un procedimiento de modelización apoyado en el método de los elementos finitos implementado en el entorno MatLab; se han incluido aspectos claves tales como el comportamiento de segundo orden, la comprobación ante inestabilidad y la búsqueda del óptimo del coste de la estructura frente a estados límites, teniendo en cuenta las especificaciones del EC-3. También se ha modelizado la flexibilidad de las uniones y se ha analizado su influencia en la respuesta de la estructura y en el peso y coste final de la misma. Se han ejecutado algunos ejemplos de aplicación y se ha contrastado la validez del modelo con resultados de algunas estructuras ya analizadas en referencias técnicas conocidas. Se han extraído conclusiones sobre el proceso de modelización y de análisis, sobre la repercusión de la flexibilidad de las uniones en la respuesta de la estructura. El propósito es extraer conclusiones útiles para la etapa de proyecto. Una de las principales aportaciones del trabajo en su enfoque de optimización es la incorporación de una formulación de elementos no prismáticos con uniones semirrígidas en sus extremos. Se ha deducido una matriz de rigidez elástica para dichos elementos. Se ha comprobado su validez para abordar el análisis no lineal; para ello se han comparado los resultados con otros obtenidos tras aplicar otra matriz deducida analíticamente existente en la literatura y también mediante el software comercial SAP2000. Otra de las aportaciones de esta tesis es el desarrollo de un método de optimización del coste de pórticos metálicos planos de edificación en el que se tienen en cuenta aspectos tales como las imperfecciones, la posibilidad de incorporar elementos no prismáticos y la caracterización de las uniones semirrígidas, valorando la influencia de su flexibilidad sobre la respuesta de la estructura. Así, se han realizado estudios paramétricos para valorar la sensibilidad y estabilidad de las soluciones obtenidas, así como rangos de validez de las conclusiones obtenidas. This thesis deals with the problems of modelling, analysis and optimization of plane steel frames with regard to ultimate and serviceability limit states. The objective of this work is to present an organized sequential technique of discrete optimization for achieving the minimum cost of plane steel frames, taking into consideration the EC-3 specifications as well as including effects of the semi-rigid joints and non-prismatic elements in the design process. Likewise, an estimate of their influence on the final design is an aim of this work. The final objective is to draw practical conclusions which can be handful and easily applicable for a steel-structure project. An enormous amount of technical and scientific publications regarding steel frames is currently available, thus making the achievement of a comprehensive and updated knowledge a considerably hard task. In this work, a large variety of information has been gathered and classified, especially that related to current research lines and needs. Thus, the literature collected encompasses references related to state-of-the-art design methods, factors influencing the structural response, modelling and optimization techniques, as well as calculation and updated guidelines of some steel Design Codes about the subject. In this work a modelling procedure based on the finite element implemented within the MatLab programming environment has been performed. Several keys aspects have been included, such as second order behaviour, the safety assessment against structural instability and the search for an optimal cost considering the limit states according to EC-3 specifications. The flexibility of joints has been taken into account in the procedure hereby presented; its effects on the structural response, on the optimum weight and on the final cost have also been analysed. In order to confirm the validity and adequacy of this procedure, some application examples have been carried out. The results obtained were compared with those available from other authors. Several conclusions about the procedure that comprises modelling, analysis and design stages, as well as the effect of the flexibility of connections on the structural response have been drawn. The purpose is to point out some guidelines for the early stages of a project. One of the contributions of this thesis is an attempt for optimizing plane steel frames in which both non-prismatic beam-column-type elements and semi-rigid connections have been considered. Thus, an elastic stiffness matrix has been derived. Its validity has been tested through comparing its accuracy with other analytically-obtained matrices available in the literature, and with results obtained by the commercial software SAP2000. Another achievement of this work is the development of a method for cost optimization of plane steel building frames in which some relevant aspects have been taken in consideration. These encompass geometric imperfections, non-prismatic beam elements and the numerical characterization of semi-rigid connections, evaluating the effect of its flexibility on the structural response. Hence, some parametric analyses have been performed in order to assess the sensitivity, the stability of the outcomes and their range of applicability as well.
Resumo:
Este trabajo contiene el diseño y análisis de dos modalidades de docencia de programación de aplicaciones móviles, con el objetivo de aumentar el interés de los estudiantes de enseñanza secundaria por la Ingeniería Informática. Primeramente se analizó la estructura y el contenido de las diferentes materias relacionadas con la informática que existen actualmente en la educación secundaria en España, con el fin de localizar las carencias del currículo. Estas carencias principales son: la falta de reconocimiento de la Ingeniería informática al mismo nivel que el resto de ingenierías y una falta de contenidos relacionados con el desarrollo de software, tanto a nivel de programación como de diseño. A continuación, una vez analizados diferentes posibilidades de entornos con los que desarrollar dichos cursos, se diseñaron los dos modelos de docencia utilizando App Inventor como herramienta conductora, con los que poder cubrir esos conocimientos. El primer modelo consiste en un curso de cuatro semanas a impartir directamente en el centro, mientras que el segundo se trata de un taller de una mañana a impartir en la Escuela Técnica Superior de Ingenieros Informáticos de la Universidad Politécnica de Madrid. De los resultados de esos modelos se han obtenidos resultados muy positivos en cuanto al incremento de los conocimientos de los alumnos sobre informática, además de aumentar su interés por la Ingeniería Informática y obtener una visión más ajustada a la realidad de la misma.---ABSTRACT---This work details the design and realization of a workshop and a course for teaching mobile application programming to Spanish high school students, with the aim of increasing their interest in Computing. In order to locate the shortcomings of the curriculum, the structure and contents of various subjects related to Computing in currently secondary education in Spain were analyzed. The results show a lack of recognition of computer engineering at the same level as the rest of engineering disciplines and a lack of content related to software development, both in terms of programming and design. Then, after analyzing existing programming environments available for covering the basic programming objectives, App Inventor was chosen as mobile programming environment for both teaching activities (the workshop and the course). The first activity consists of a four-week course to teach directly in the high school, while the second one is a 4-hour workshop to be held at the university. The workshop and the course were carried out with students of two secondary schools, obtaining very positive results in terms of increasing students’ knowledge about computers, increasing their interest in Computing, and making them get a more accurate vision of the discipline.
Resumo:
Owing to the high degree of vulnerability of liquid retaining structures to corrosion problems, there are stringent requirements in its design against cracking. In this paper, a prototype knowledge-based system is developed and implemented for the design of liquid retaining structures based on the blackboard architecture. A commercially available expert system shell VISUAL RULE STUDIO working as an ActiveX Designer under the VISUAL BASIC programming environment is employed. Hybrid knowledge representation approach with production rules and procedural methods under object-oriented programming are used to represent the engineering heuristics and design knowledge of this domain. It is demonstrated that the blackboard architecture is capable of integrating different knowledge together in an effective manner. The system is tailored to give advice to users regarding preliminary design, loading specification and optimized configuration selection of this type of structure. An example of application is given to illustrate the capabilities of the prototype system in transferring knowledge on liquid retaining structure to novice engineers. (C) 2004 Elsevier Ltd. All rights reserved.
Resumo:
Electronic Blocks are a new programming environment, designed specifically for children aged between three and eight years. As such, the design of the Electronic Block environment is firmly based on principles of developmentally appropriate practices in early childhood education. The Electronic Blocks are physical, stackable blocks that include sensor blocks, action blocks and logic blocks. Evaluation of the Electronic Blocks with both preschool and primary school children shows that the blocks' ease of use and power of engagement have created a compelling tool for the introduction of meaningful technology education in an early childhood setting. The key to the effectiveness of the Electronic Blocks lies in an adherence to theories of development and learning throughout the Electronic Blocks design process.
Resumo:
The purpose of this thesis was to build the Guitar Application ToolKit (GATK), a series of applications used to expand the sonic capabilities of the acoustic/electric stereo guitar. Furthermore, the goal of the GATK was to extend improvisational capabilities and the compositional techniques generated by this innovative instrument. ^ During the GATK creation process, the current production guitar techniques and overall sonic result were enhanced by planning and implementing a personalized electro-acoustic performance set up, designing custom-made performance interfaces, creating interactive compositional strategies, crafting non-standardized sounds, and controlling various music parameters in real-time using the Max/MSP programming environment. ^ This was the fast thesis project of its kind. It is expected that this thesis will be useful as a reference paper for electronic musicians and music technology students; as a product demonstration for companies that manufacture the relevant software; and as a personal portfolio for future technology related jobs. ^
Resumo:
Software Engineering is one of the most widely researched areas of Computer Science. The ability to reuse software, much like reuse of hardware components is one of the key issues in software development. The object-oriented programming methodology is revolutionary in that it promotes software reusability. This thesis describes the development of a tool that helps programmers to design and implement software from within the Smalltalk Environment (an Object- Oriented programming environment). The ASDN tool is part of the PEREAM (Programming Environment for the Reuse and Evolution of Abstract Models) system, which advocates incremental development of software. The Asdn tool along with the PEREAM system seeks to enhance the Smalltalk programming environment by providing facilities for structured development of abstractions (concepts). It produces a document that describes the abstractions that are developed using this tool. The features of the ASDN tool are illustrated by an example.
Resumo:
Digital games have been used as aiding tool for transmission of knowledge, allowing faster dissemination of content. Using this strategy of disseminating logical reasoning development for basic school children can be the motivating gear that helps in the learning process for any area. In this context, many games can be created and provided for the use of teacher and student. However, the complexity of construction of these games becomes a obstacle which can, often, prevent their construction. Thus, this paper presents a framework for creating games, which teach programming logic, presenting from their conception to their integration with the visual programming environment (Blockly) and scenarios created in HTML5.