960 resultados para Computer software -- Development
Resumo:
This work aims to give greater visibility to the issue of software security, due to people talk a lot in security conferences, that much of both IT (Information Technology) staff and, more specifically, IS (Information Security) staff does not know this, and, thanks to the spread of the mobile computing and of the cloud computing, this lack of deeper knowledge on this subject is increasingly becoming worrisome. It aims too, make applications to be developed in a security manner, priorizing the security of the information processed. It attempts to demonstrate the secure coding techniques, the principles of software security, the means to identify software vulnerabilities, the cutting-edge software exploitation techniques and the mechanisms of mitigation. Nowadays, the security guys are in charge of the most of the security tests in applications, audits and pentests, and it is undeniable that the so-called security experts, most often come from computer network field, having few experience in software development and programming. Therefore, the development process does not consider the security issue, thanks to the lack of knowledge on the subject by the developer, and the security tests could be improved whether security experts had a greater know-how on application development. Given this problem, the goal here is to integrate information security with software development, spreading out the process of secure software development. To achieve this, a Linux distribution with proof of concept applicati... (Complete abstract click electronic access below)
Resumo:
Coordenao de Aperfeioamento de Pessoal de Nvel Superior (CAPES)
Resumo:
A mail survey was conducted to assess current computer hardware use and perceived needs of potential users for software related to crop pest management in Nebraska. Surveys were sent to University of Nebraska-Lincoln agricultural extension agents, agribusiness personnel (including independent crop consultants), and crop producers identified by extension agents as computer users. There were no differences between the groups in several aspects of computer hardware use (percentage computer use, percentage IBM-compatible computer, amount of RAM memory, percentage with hard drive, hard drive size, or monitor graphics capability). Responses were similar among the three groups in several areas that are important to crop pest management (pest identification, pest biology, treatment decision making, control options, and pesticide selection), and a majority of each group expressed the need for additional sources of such information about insects, diseases, and weeds. However, agents mentioned vertebrate pest management information as a need more often than the other two groups. Also, majorities of each group expressed an interest in using computer software, if available, to obtain information in these areas. Appropriate software to address these needs should find an audience among all three groups.
Resumo:
Many schools do not begin to introduce college students to software engineering until they have had at least one semester of programming. Since software engineering is a large, complex, and abstract subject it is difficult to construct active learning exercises that build on the students elementary knowledge of programming and still teach basic software engineering principles. It is also the case that beginning students typically know how to construct small programs, but they have little experience with the techniques necessary to produce reliable and long-term maintainable modules. I have addressed these two concerns by defining a local standard (Montana Tech Method (MTM) Software Development Standard for Small Modules Template) that step-by-step directs students toward the construction of highly reliable small modules using well known, best-practices software engineering techniques. Small module is here defined as a coherent development task that can be unit tested, and can be car ried out by a single (or a pair of) software engineer(s) in at most a few weeks. The standard describes the process to be used and also provides a template for the top-level documentation. The instructional modules sequence of mini-lectures and exercises associated with the use of this (and other) local standards are used throughout the course, which perforce covers more abstract software engineering material using traditional reading and writing assignments. The sequence of mini-lectures and hands-on assignments (many of which are done in small groups) constitutes an instructional module that can be used in any similar software engineering course.
Resumo:
Gaining economic benefits from substantially lower labor costs has been reported as a major reason for offshoring labor-intensive information systems services to low-wage countries. However, if wage differences are so high, why is there such a high level of variation in the economic success between offshored IS projects? This study argues that offshore outsourcing involves a number of extra costs for the ^his paper was recommended for acceptance by Associate Guest Editor Erran Carmel. client organization that account for the economic failure of offshore projects. The objective is to disaggregate these extra costs into their constituent parts and to explain why they differ between offshored software projects. The focus is on software development and maintenance projects that are offshored to Indian vendors. A theoretical framework is developed a priori based on transaction cost economics (TCE) and the knowledge-based view of the firm, comple mented by factors that acknowledge the specific offshore context The framework is empirically explored using a multiple case study design including six offshored software projects in a large German financial service institution. The results of our analysis indicate that the client incurs post contractual extra costs for four types of activities: (1) re quirements specification and design, (2) knowledge transfer, (3) control, and (4) coordination. In projects that require a high level of client-specific knowledge about idiosyncratic business processes and software systems, these extra costs were found to be substantially higher than in projects where more general knowledge was needed. Notably, these costs most often arose independently from the threat of oppor tunistic behavior, challenging the predominant TCE logic of market failure. Rather, the client extra costs were parti cularly high in client-specific projects because the effort for managing the consequences of the knowledge asymmetries between client and vendor was particularly high in these projects. Prior experiences of the vendor with related client projects were found to reduce the level of extra costs but could not fully offset the increase in extra costs in highly client-specific projects. Moreover, cultural and geographic distance between client and vendor as well as personnel turnover were found to increase client extra costs. Slight evidence was found, however, that the cost-increasing impact of these factors was also leveraged in projects with a high level of required client-specific knowledge (moderator effect).
Resumo:
With the availability of lower cost but highly skilled software development labor from offshore regions, entrepreneurs from developed countries who do not have software development experience can utilize this workforce to develop innovative software products. In order to succeed in offshored innovation projects, the often extreme knowledge boundaries between the onsite entrepreneur and the offshore software development team have to be overcome. Prior research has proposed that boundary objects are critical for bridging such boundaries if they are appropriately used. Our longitudinal, revelatory case study of a software innovation project is one of the first to explore the role of the software prototype as a digital boundary object. Our study empirically unpacks five use practices that transform the software prototype into a boundary object such that knowledge boundaries are bridged. Our findings provide new theoretical insights for literature on software innovation and boundary objects, and have implications for practice.
Resumo:
In this study, the work and life of Indian IT engineers in Japan engaged in software development were examined through a questionnaire survey. Findings were further supported by comparative analyses with Chinese and Korean software engineers. While Indian IT software engineers appeared rather satisfied with their life overall in Japan, they seemed rather dissatisfied with their work conditions including such things as fringe benefits, the working-time management of the company, levels of salary and bonuses, and promotion opportunities. It was made clear that profiles and perceptions of Indian engineers and those of Chinese and Koreans in Japan were different.
Resumo:
Tanto los robots autnomos mviles como los robots mviles remotamente operados se utilizan con xito actualmente en un gran nmero de mbitos, algunos de los cuales son tan dispares como la limpieza en el hogar, movimiento de productos en almacenes o la exploracin espacial. Sin embargo, es difcil garantizar la ausencia de defectos en los programas que controlan dichos dispositivos, al igual que ocurre en otros sectores informticos. Existen diferentes alternativas para medir la calidad de un sistema en el desempeo de las funciones para las que fue diseado, siendo una de ellas la fiabilidad. En el caso de la mayora de los sistemas fsicos se detecta una degradacin en la fiabilidad a medida que el sistema envejece. Esto es debido generalmente a efectos de desgaste. En el caso de los sistemas software esto no suele ocurrir, ya que los defectos que existen en ellos generalmente no han sido adquiridos con el paso del tiempo, sino que han sido insertados en el proceso de desarrollo de los mismos. Si dentro del proceso de generacin de un sistema software se focaliza la atencin en la etapa de codificacin, podra plantearse un estudio que tratara de determinar la fiabilidad de distintos algoritmos, vlidos para desempear el mismo cometido, segn los posibles defectos que pudieran introducir los programadores. Este estudio bsico podra tener diferentes aplicaciones, como por ejemplo elegir el algoritmo menos sensible a los defectos, para el desarrollo de un sistema crtico o establecer procedimientos de verificacin y validacin, ms exigentes, si existe la necesidad de utilizar un algoritmo que tenga una alta sensibilidad a los defectos. En el presente trabajo de investigacin se ha estudiado la influencia que tienen determinados tipos de defectos software en la fiabilidad de tres controladores de velocidad multivariable (PID, Fuzzy y LQR) al actuar en un robot mvil especfico. La hiptesis planteada es que los controladores estudiados ofrecen distinta fiabilidad al verse afectados por similares patrones de defectos, lo cual ha sido confirmado por los resultados obtenidos. Desde el punto de vista de la planificacin experimental, en primer lugar se realizaron los ensayos necesarios para determinar si los controladores de una misma familia (PID, Fuzzy o LQR) ofrecan una fiabilidad similar, bajo las mismas condiciones experimentales. Una vez confirmado este extremo, se eligi de forma aleatoria un representante de clase de cada familia de controladores, para efectuar una batera de pruebas ms exhaustiva, con el objeto de obtener datos que permitieran comparar de una forma ms completa la fiabilidad de los controladores bajo estudio. Ante la imposibilidad de realizar un elevado nmero de pruebas con un robot real, as como para evitar daos en un dispositivo que generalmente tiene un coste significativo, ha sido necesario construir un simulador multicomputador del robot. Dicho simulador ha sido utilizado tanto en las actividades de obtencin de controladores bien ajustados, como en la realizacin de los diferentes ensayos necesarios para el experimento de fiabilidad. ABSTRACT Autonomous mobile robots and remotely operated robots are used successfully in very diverse scenarios, such as home cleaning, movement of goods in warehouses or space exploration. However, it is difficult to ensure the absence of defects in programs controlling these devices, as it happens in most computer sectors. There exist different quality measures of a system when performing the functions for which it was designed, among them, reliability. For most physical systems, a degradation occurs as the system ages. This is generally due to the wear effect. In software systems, this does not usually happen, and defects often come from system development and not from use. Let us assume that we focus on the coding stage in the software development process. We could consider a study to find out the reliability of different and equally valid algorithms, taking into account any flaws that programmers may introduce. This basic study may have several applications, such as choosing the algorithm less sensitive to programming defects for the development of a critical system. We could also establish more demanding procedures for verification and validation if we need an algorithm with high sensitivity to programming defects. In this thesis, we studied the influence of certain types of software defects in the reliability of three multivariable speed controllers (PID, Fuzzy and LQR) designed to work in a specific mobile robot. The hypothesis is that similar defect patterns affect differently the reliability of controllers, and it has been confirmed by the results. From the viewpoint of experimental planning, we followed these steps. First, we conducted the necessary test to determine if controllers of the same family (PID, Fuzzy or LQR) offered a similar reliability under the same experimental conditions. Then, a class representative was chosen at ramdom within each controller family to perform a more comprehensive test set, with the purpose of getting data to compare more extensively the reliability of the controllers under study. The impossibility of performing a large number of tests with a real robot and the need to prevent the damage of a device with a significant cost, lead us to construct a multicomputer robot simulator. This simulator has been used to obtain well adjusted controllers and to carry out the required reliability experiments.
Resumo:
The Software Engineering (SE) community has historically focused on working with models to represent functionality and persistence, pushing interaction modelling into the background, which has been covered by the Human Computer Interaction (HCI) community. Recently, adequately modelling interaction, and specifically usability, is being considered as a key factor for success in user acceptance, making the integration of the SE and HCI communities more necessary. If we focus on the Model-Driven Development (MDD) paradigm, we notice that there is a lack of proposals to deal with usability features from the very first steps of software development process. In general, usability features are manually implemented once the code has been generated from models. This contradicts the MDD paradigm, which claims that all the analysts? effort must be focused on building models, and the code generation is relegated to model to code transformations. Moreover, usability features related to functionality may involve important changes in the system architecture if they are not considered from the early steps. We state that these usability features related to functionality can be represented abstractly in a conceptual model, and their implementation can be carried out automatically.
Resumo:
Background Gray scale images make the bulk of data in bio-medical image analysis, and hence, the main focus of many image processing tasks lies in the processing of these monochrome images. With ever improving acquisition devices, spatial and temporal image resolution increases, and data sets become very large. Various image processing frameworks exists that make the development of new algorithms easy by using high level programming languages or visual programming. These frameworks are also accessable to researchers that have no background or little in software development because they take care of otherwise complex tasks. Specifically, the management of working memory is taken care of automatically, usually at the price of requiring more it. As a result, processing large data sets with these tools becomes increasingly difficult on work station class computers. One alternative to using these high level processing tools is the development of new algorithms in a languages like C++, that gives the developer full control over how memory is handled, but the resulting workflow for the prototyping of new algorithms is rather time intensive, and also not appropriate for a researcher with little or no knowledge in software development. Another alternative is in using command line tools that run image processing tasks, use the hard disk to store intermediate results, and provide automation by using shell scripts. Although not as convenient as, e.g. visual programming, this approach is still accessable to researchers without a background in computer science. However, only few tools exist that provide this kind of processing interface, they are usually quite task specific, and dont provide an clear approach when one wants to shape a new command line tool from a prototype shell script. Results The proposed framework, MIA, provides a combination of command line tools, plug-ins, and libraries that make it possible to run image processing tasks interactively in a command shell and to prototype by using the according shell scripting language. Since the hard disk becomes the temporal storage memory management is usually a non-issue in the prototyping phase. By using string-based descriptions for filters, optimizers, and the likes, the transition from shell scripts to full fledged programs implemented in C++ is also made easy. In addition, its design based on atomic plug-ins and single tasks command line tools makes it easy to extend MIA, usually without the requirement to touch or recompile existing code. Conclusion In this article, we describe the general design of MIA, a general purpouse framework for gray scale image processing. We demonstrated the applicability of the software with example applications from three different research scenarios, namely motion compensation in myocardial perfusion imaging, the processing of high resolution image data that arises in virtual anthropology, and retrospective analysis of treatment outcome in orthognathic surgery. With MIA prototyping algorithms by using shell scripts that combine small, single-task command line tools is a viable alternative to the use of high level languages, an approach that is especially useful when large data sets need to be processed.
Resumo:
El uso de la computacin en la nube ofrece un nuevo paradigma que procura proporcionar servicios informticos para los cuales no es necesario contar con grandes infraestructuras y sobre todo, con las complejidades de costos, seguridad y mantenimiento implcitas. Si bien se ha posicionado en los ltimos aos como una plataforma innovadora en el mbito de la tecnologa de consumo masivo y organizacional, tambin puede ser tpico de investigacin importante en ciertas reas de inters como el desarrollo de Software, presentando en ese campo, una serie de ventajas y retos estimulantes que pueden ser explorados. Este trabajo de investigacin, sigue con dicho sentido, el objetivo de exponer la situacin actual sobre el empleo de la computacin en la nube como entorno de desarrollo de Software, sectorizando a travs de su capa PaaS, el modelo conceptual de trabajo, las perspectivas recientes, problemas e implicaciones generales del uso de sta como herramienta plausible en proyectos de desarrollo de Software. El anlisis de los diferentes temas abordados, tiene la intencin en general, de proporcionar informacin objetiva, crtica y cuantitativa sobre la concentracin de la investigacin relacionada a PaaS, as como un marco de interpretacin reciente que aporte una perspectiva referencial para futuras investigaciones asociadas.---ABSTRACT---The use of cloud computing offers a new paradigm to provide computer services for which it is not necessary to have large infrastructure and especially with the complexities of cost, safety and maintenance implied. While it has positioned itself in recent years as an innovative platform in the field of technology and massive organizational consumption, can also be an important research topic in certain areas of interest including, the development of Software, presenting in this field, a series of advantages, disadvantages and stimulating challenges that can be explored. This research, following with that sense, try to present the current situation related to the use of cloud computing as a software development environment, through its sectorized PaaS layer, showing the conceptual working model, actual perspectives, problems and general implications of using this as a possible tool in Software development projects. The analysis of the different topics covered, intends in a general form, provide objective, critical and quantitative information about the concentration of research related to PaaS, and a recent interpretation framework to provide a referential perspective for future related researches.
Resumo:
En el mundo actual las aplicaciones basadas en sistemas biomtricos, es decir, aquellas que miden las seales elctricas de nuestro organismo, estn creciendo a un gran ritmo. Todos estos sistemas incorporan sensores biomdicos, que ayudan a los usuarios a controlar mejor diferentes aspectos de la rutina diaria, como podra ser llevar un seguimiento detallado de una rutina deportiva, o de la calidad de los alimentos que ingerimos. Entre estos sistemas biomtricos, los que se basan en la interpretacin de las seales cerebrales, mediante ensayos de electroencefalografa o EEG estn cogiendo cada vez ms fuerza para el futuro, aunque estn todava en una situacin bastante incipiente, debido a la elevada complejidad del cerebro humano, muy desconocido para los cientficos hasta el siglo XXI. Por estas razones, los dispositivos que utilizan la interfaz cerebro-mquina, tambin conocida como BCI (Brain Computer Interface), estn cogiendo cada vez ms popularidad. El funcionamiento de un sistema BCI consiste en la captacin de las ondas cerebrales de un sujeto para despus procesarlas e intentar obtener una representacin de una accin o de un pensamiento del individuo. Estos pensamientos, correctamente interpretados, son posteriormente usados para llevar a cabo una accin. Ejemplos de aplicacin de sistemas BCI podran ser mover el motor de una silla de ruedas elctrica cuando el sujeto realice, por ejemplo, la accin de cerrar un puo, o abrir la cerradura de tu propia casa usando un patrn cerebral propio. Los sistemas de procesamiento de datos estn evolucionando muy rpido con el paso del tiempo. Los principales motivos son la alta velocidad de procesamiento y el bajo consumo energtico de las FPGAs (Field Programmable Gate Array). Adems, las FPGAs cuentan con una arquitectura reconfigurable, lo que las hace ms verstiles y potentes que otras unidades de procesamiento como las CPUs o las GPUs.En el CEI (Centro de Electrnica Industrial), donde se lleva a cabo este TFG, se dispone de experiencia en el diseo de sistemas reconfigurables en FPGAs. Este TFG es el segundo de una lnea de proyectos en la cual se busca obtener un sistema capaz de procesar correctamente seales cerebrales, para llegar a un patrn comn que nos permita actuar en consecuencia. Ms concretamente, se busca detectar cuando una persona est quedndose dormida a travs de la captacin de unas ondas cerebrales, conocidas como ondas alfa, cuya frecuencia est acotada entre los 8 y los 13 Hz. Estas ondas, que aparecen cuando cerramos los ojos y dejamos la mente en blanco, representan un estado de relajacin mental. Por tanto, este proyecto comienza como inicio de un sistema global de BCI, el cual servir como primera toma de contacto con el procesamiento de las ondas cerebrales, para el posterior uso de hardware reconfigurable sobre el cual se implementarn los algoritmos evolutivos. Por ello se vuelve necesario desarrollar un sistema de procesamiento de datos en una FPGA. Estos datos se procesan siguiendo la metodologa de procesamiento digital de seales, y en este caso se realiza un anlisis de la frecuencia utilizando la transformada rpida de Fourier, o FFT. Una vez desarrollado el sistema de procesamiento de los datos, se integra con otro sistema que se encarga de captar los datos recogidos por un ADC (Analog to Digital Converter), conocido como ADS1299. Este ADC est especialmente diseado para captar potenciales del cerebro humano. De esta forma, el sistema final capta los datos mediante el ADS1299, y los enva a la FPGA que se encarga de procesarlos. La interpretacin es realizada por los usuarios que analizan posteriormente los datos procesados. Para el desarrollo del sistema de procesamiento de los datos, se dispone primariamente de dos plataformas de estudio, a partir de las cuales se captarn los datos para despus realizar el procesamiento: 1. La primera consiste en una herramienta comercial desarrollada y distribuida por OpenBCI, proyecto que se dedica a la venta de hardware para la realizacin de EEG, as como otros ensayos. Esta herramienta est formada por un microprocesador, un mdulo de memoria SD para el almacenamiento de datos, y un mdulo de comunicacin inalmbrica que transmite los datos por Bluetooth. Adems cuenta con el mencionado ADC ADS1299. Esta plataforma ofrece una interfaz grfica que sirve para realizar la investigacin previa al diseo del sistema de procesamiento, al permitir tener una primera toma de contacto con el sistema. 2. La segunda plataforma consiste en un kit de evaluacin para el ADS1299, desde la cual se pueden acceder a los diferentes puertos de control a travs de los pines de comunicacin del ADC. Esta plataforma se conectar con la FPGA en el sistema integrado. Para entender cmo funcionan las ondas ms simples del cerebro, as como saber cules son los requisitos mnimos en el anlisis de ondas EEG se realizaron diferentes consultas con el Dr Ceferino Maestu, neurofisilogo del Centro de Tecnologa Biomdica (CTB) de la UPM. l se encarg de introducirnos en los distintos procedimientos en el anlisis de ondas en electroencefalogramas, as como la forma en que se deben de colocar los electrodos en el crneo. Para terminar con la investigacin previa, se realiza en MATLAB un primer modelo de procesamiento de los datos. Una caracterstica muy importante de las ondas cerebrales es la aleatoriedad de las mismas, de forma que el anlisis en el dominio del tiempo se vuelve muy complejo. Por ello, el paso ms importante en el procesamiento de los datos es el paso del dominio temporal al dominio de la frecuencia, mediante la aplicacin de la transformada rpida de Fourier o FFT (Fast Fourier Transform), donde se pueden analizar con mayor precisin los datos recogidos. El modelo desarrollado en MATLAB se utiliza para obtener los primeros resultados del sistema de procesamiento, el cual sigue los siguientes pasos. 1. Se captan los datos desde los electrodos y se escriben en una tabla de datos. 2. Se leen los datos de la tabla. 3. Se elige el tamao temporal de la muestra a procesar. 4. Se aplica una ventana para evitar las discontinuidades al principio y al final del bloque analizado. 5. Se completa la muestra a convertir con con zero-padding en el dominio del tiempo. 6. Se aplica la FFT al bloque analizado con ventana y zero-padding. 7. Los resultados se llevan a una grfica para ser analizados. Llegados a este punto, se observa que la captacin de ondas alfas resulta muy viable. Aunque es cierto que se presentan ciertos problemas a la hora de interpretar los datos debido a la baja resolucin temporal de la plataforma de OpenBCI, este es un problema que se soluciona en el modelo desarrollado, al permitir el kit de evaluacin (sistema de captacin de datos) actuar sobre la velocidad de captacin de los datos, es decir la frecuencia de muestreo, lo que afectar directamente a esta precisin. Una vez llevado a cabo el primer procesamiento y su posterior anlisis de los resultados obtenidos, se procede a realizar un modelo en Hardware que siga los mismos pasos que el desarrollado en MATLAB, en la medida que esto sea til y viable. Para ello se utiliza el programa XPS (Xilinx Platform Studio) contenido en la herramienta EDK (Embedded Development Kit), que nos permite disear un sistema embebido. Este sistema cuenta con: Un microprocesador de tipo soft-core llamado MicroBlaze, que se encarga de gestionar y controlar todo el sistema; Un bloque FFT que se encarga de realizar la transformada rpida Fourier; Cuatro bloques de memoria BRAM, donde se almacenan los datos de entrada y salida del bloque FFT y un multiplicador para aplicar la ventana a los datos de entrada al bloque FFT; Un bus PLB, que consiste en un bus de control que se encarga de comunicar el MicroBlaze con los diferentes elementos del sistema. Tras el diseo Hardware se procede al diseo Software utilizando la herramienta SDK(Software Development Kit).Tambin en esta etapa se integra el sistema de captacin de datos, el cual se controla mayoritariamente desde el MicroBlaze. Por tanto, desde este entorno se programa el MicroBlaze para gestionar el Hardware que se ha generado. A travs del Software se gestiona la comunicacin entre ambos sistemas, el de captacin y el de procesamiento de los datos. Tambin se realiza la carga de los datos de la ventana a aplicar en la memoria correspondiente. En las primeras etapas de desarrollo del sistema, se comienza con el testeo del bloque FFT, para poder comprobar el funcionamiento del mismo en Hardware. Para este primer ensayo, se carga en la BRAM los datos de entrada al bloque FFT y en otra BRAM los datos de la ventana aplicada. Los datos procesados saldrn a dos BRAM, una para almacenar los valores reales de la transformada y otra para los imaginarios. Tras comprobar el correcto funcionamiento del bloque FFT, se integra junto al sistema de adquisicin de datos. Posteriormente se procede a realizar un ensayo de EEG real, para captar ondas alfa. Por otro lado, y para validar el uso de las FPGAs como unidades ideales de procesamiento, se realiza una medicin del tiempo que tarda el bloque FFT en realizar la transformada. Este tiempo se compara con el tiempo que tarda MATLAB en realizar la misma transformada a los mismos datos. Esto significa que el sistema desarrollado en Hardware realiza la transformada rpida de Fourier 27 veces ms rpido que lo que tarda MATLAB, por lo que se puede ver aqu la gran ventaja competitiva del Hardware en lo que a tiempos de ejecucin se refiere. En lo que al aspecto didctico se refiere, este TFG engloba diferentes campos. En el campo de la electrnica: Se han mejorado los conocimientos en MATLAB, as como diferentes herramientas que ofrece como FDATool (Filter Design Analysis Tool). Se han adquirido conocimientos de tcnicas de procesado de seal, y en particular, de anlisis espectral. Se han mejorado los conocimientos en VHDL, as como su uso en el entorno ISE de Xilinx. Se han reforzado los conocimientos en C mediante la programacin del MicroBlaze para el control del sistema. Se ha aprendido a crear sistemas embebidos usando el entorno de desarrollo de Xilinx usando la herramienta EDK (Embedded Development Kit). En el campo de la neurologa, se ha aprendido a realizar ensayos EEG, as como a analizar e interpretar los resultados mostrados en el mismo. En cuanto al impacto social, los sistemas BCI afectan a muchos sectores, donde destaca el volumen de personas con discapacidades fsicas, para los cuales, este sistema implica una oportunidad de aumentar su autonoma en el da a da. Tambin otro sector importante es el sector de la investigacin mdica, donde los sistemas BCIs son aplicables en muchas aplicaciones como, por ejemplo, la deteccin y estudio de enfermedades cognitivas.
Resumo:
El objetivo de sta tesis es estudiar cmo desarrollar una aplicacin informtica que implemente algoritmos numricos de evaluacin de caractersticas hidrodinmicas de modelos geomtricos representativos de carenas de buques. Se trata de especificar los requisitos necesarios que debe cumplir un programa para informtico orientado a dar solucin a un determinado problema hidrdinmico, como es simular el comportamiento en balance de un buque sometido a oleaje, de popa o proa. una vez especificada la aplicacin se realizar un diseo del programa; se estudiarn alternativas para implementar la aplicacin; se explicar el proceso que ha de seguirse para obtener la aplicacin en funcionamiento y se contrastarn los resultados obtenidos en la medida que sea posible. Se pretende sistematizar y sintetizar todo el proceso de desarrollo de software, orientado a la simulacin del comportamiento hidrodinmico de un buque, en una metodologa que se pondr a disposicin de la comunidad acadmica y cientfica en la forma que se considere ms adecuada. Se trata, por tanto, de proponer una metodologa de desarrollo de software para obetener una aplicacin que facilite la evaluacin de diferentes alternativas de estudio variando parmetros relativos al problema en estudio y que sea capaz de proporcionar resultados para su anlisis. As mismo se incide en cmo ha de conducirse en el proceso para que dicha aplicacin pueda crecer, incorporando soluciones existentes no implementadas o nuevas soluciones que aparezcan en este mbito de conocimiento. Como aplicacin concreta de la aplicacin se ha elegido implementar los algoritmos necesarios para evaluar la aparicin del balance paramtrico en un buque. En el anlisis de ste problema se considera de inters la representacin geomtrica que se hace de la carena del buque. Adems de la carena aparecen otros elementos que tienen influencia determinante en ste estudio, como son las situacin de mar y las situaciones de carga. Idealmente, el problema sera resuelto si se consiguiera determinar el ngulo de balance que se produce al enfrentar un buque a las diferentes condiciones de mar. Se pretende preparar un programa utilizando el paradigma de la orientacin a objetos. Considero que es la ms adecuada forma de modularizar el programa para poder utilizar diferentes modelos de una misma carena y as comparar los resultados de la evaluacin del balance paramtrico entre s. En una etapa posterior se podran comparar los resultados con otros obtenidos empricamente. Hablo de una nueva metodologa porque pretendo indicar cmo se ha de construir una aplicacin de software que sea usable y sobre la que se pueda seguir desarrollando. Esto justifica la seleccin del lenguaje de programacin C++. Se seleccionar un ncleo geomtrico de software que permita acoplar de forma verstil los distintos componentes de software que van a construir el programa. Este trabajo pretende aplicar el desarrollo de software a un aspecto concreto del rea de conocimiento de la hidrodinmica. No se pretende aportar nuevos algoritmos para resolver problemas de hidrodinmica, sino disear un conjunto de objetos de software que implementen soluciones existentes a conocidas soluciones numricas a dichos problemas. Se trata fundamentalmente de un trabajo de software, ms que de hidrodinmica. Lo que aporta de novedad es una nueva forma de realizar un programa aplicado a los clculos hidrodinmicos relativos a la determinacin del balance paramtrico, que pueda crecer e incorporar cualquier novedad que pueda surgir ms adelante. Esto ser posible por la programacin modular utilizada y los objetos que representan cada uno de los elementos que intervienen en la determinacin del balance paramtrico. La eleccin de aplicar la metodologa a la prediccin del balance paramtrico se debe a que este concepto es uno de los elementos que intervienen en la evaluacin de criterios de estabilidad de segunda generacin que estan en estudio para su futura aplicacin en el mbito de la construccin naval. Es por tanto un estudio que despierta inters por su prxima utilidad. ABSTRACT The aim of this thesis is to study how to develop a computer application implementing numerical algorithms to assess hydrodynamic features of geometrical models of vessels. It is therefore to propose a methodology for software development applied to an hydrodynamic problem, in order to evaluate different study alternatives by varying different parameters related to the problem and to be capable of providing results for analysis. As a concrete application of the program it has been chosen to implement the algorithms necessary for evaluating the appearance of parametric rolling in a vessel. In the analysis of this problem it is considered of interest the geometrical representation of the hull of the ship and other elements which have decisive influence in this phenomena, such as the sea situation and the loading condition. Ideally, the application would determine the roll angle that occurs when a ship is on waves of different characteristics. It aims to prepare a program by using the paradigm of object oriented programming. I think it is the best methodology to modularize the program. My intention is to show how face the global process of developing an application from the initial specification until the final release of the program. The process will keep in mind the spefici objetives of usability and the possibility of growing in the scope of the software. This work intends to apply software development to a particular aspect the area of knowledge of hydrodynamics. It is not intended to provide new algorithms for solving problems of hydrodynamics, but designing a set of software objects that implement existing solutions to these problems. This is essentially a job software rather than hydrodynamic. The novelty of this thesis stands in this work focuses in describing how to apply the whole proccess of software engineering to hydrodinamics problems. The choice of the prediction of parametric balance as the main objetive to be applied to is because this concept is one of the elements involved in the evaluation of the intact stability criteria of second generation. Therefore, I consider this study as relevant usefull for the future application in the field of shipbuilding.
Resumo:
Developers commonly ask detailed and domain-specific questions about the software systems they are developing and maintaining. Integrated development environments (IDEs) form an essential category of tools for developing software that should support software engineering decision making. Unfortunately, rigid and generic IDEs that focus on low-level programming tasks, that promote code rather than data, and that suppress customization, offer limited support for informed decision making during software development. We propose to improve decision making within IDEs by moving from generic to context-aware IDEs through moldable tools. In this paper, we promote the idea of moldable tools, illustrate it with concrete examples, and discuss future research directions.
Resumo:
National Highway Traffic Safety Administration, Office of Research and Development, Washington, D.C.