974 resultados para Open Source Software
Resumo:
The Graphical User Interface (GUI) is an integral component of contemporary computer software. A stable and reliable GUI is necessary for correct functioning of software applications. Comprehensive verification of the GUI is a routine part of most software development life-cycles. The input space of a GUI is typically large, making exhaustive verification difficult. GUI defects are often revealed by exercising parts of the GUI that interact with each other. It is challenging for a verification method to drive the GUI into states that might contain defects. In recent years, model-based methods, that target specific GUI interactions, have been developed. These methods create a formal model of the GUI’s input space from specification of the GUI, visible GUI behaviors and static analysis of the GUI’s program-code. GUIs are typically dynamic in nature, whose user-visible state is guided by underlying program-code and dynamic program-state. This research extends existing model-based GUI testing techniques by modelling interactions between the visible GUI of a GUI-based software and its underlying program-code. The new model is able to, efficiently and effectively, test the GUI in ways that were not possible using existing methods. The thesis is this: Long, useful GUI testcases can be created by examining the interactions between the GUI, of a GUI-based application, and its program-code. To explore this thesis, a model-based GUI testing approach is formulated and evaluated. In this approach, program-code level interactions between GUI event handlers will be examined, modelled and deployed for constructing long GUI testcases. These testcases are able to drive the GUI into states that were not possible using existing models. Implementation and evaluation has been conducted using GUITAR, a fully-automated, open-source GUI testing framework.
Resumo:
An experimental and numerical study of turbulent fire suppression is presented. For this work, a novel and canonical facility has been developed, featuring a buoyant, turbulent, methane or propane-fueled diffusion flame suppressed via either nitrogen dilution of the oxidizer or application of a fine water mist. Flames are stabilized on a slot burner surrounded by a co-flowing oxidizer, which allows controlled delivery of either suppressant to achieve a range of conditions from complete combustion through partial and total flame quenching. A minimal supply of pure oxygen is optionally applied along the burner to provide a strengthened flame base that resists liftoff extinction and permits the study of substantially weakened turbulent flames. The carefully designed facility features well-characterized inlet and boundary conditions that are especially amenable to numerical simulation. Non-intrusive diagnostics provide detailed measurements of suppression behavior, yielding insight into the governing suppression processes, and aiding the development and validation of advanced suppression models. Diagnostics include oxidizer composition analysis to determine suppression potential, flame imaging to quantify visible flame structure, luminous and radiative emissions measurements to assess sooting propensity and heat losses, and species-based calorimetry to evaluate global heat release and combustion efficiency. The studied flames experience notable suppression effects, including transition in color from bright yellow to dim blue, expansion in flame height and structural intermittency, and reduction in radiative heat emissions. Still, measurements indicate that the combustion efficiency remains close to unity, and only near the extinction limit do the flames experience an abrupt transition from nearly complete combustion to total extinguishment. Measurements are compared with large eddy simulation results obtained using the Fire Dynamics Simulator, an open-source computational fluid dynamics software package. Comparisons of experimental and simulated results are used to evaluate the performance of available models in predicting fire suppression. Simulations in the present configuration highlight the issue of spurious reignition that is permitted by the classical eddy-dissipation concept for modeling turbulent combustion. To address this issue, simple treatments to prevent spurious reignition are developed and implemented. Simulations incorporating these treatments are shown to produce excellent agreement with the experimentally measured data, including the global combustion efficiency.
Resumo:
Due to the growth of design size and complexity, design verification is an important aspect of the Logic Circuit development process. The purpose of verification is to validate that the design meets the system requirements and specification. This is done by either functional or formal verification. The most popular approach to functional verification is the use of simulation based techniques. Using models to replicate the behaviour of an actual system is called simulation. In this thesis, a software/data structure architecture without explicit locks is proposed to accelerate logic gate circuit simulation. We call thus system ZSIM. The ZSIM software architecture simulator targets low cost SIMD multi-core machines. Its performance is evaluated on the Intel Xeon Phi and 2 other machines (Intel Xeon and AMD Opteron). The aim of these experiments is to: • Verify that the data structure used allows SIMD acceleration, particularly on machines with gather instructions ( section 5.3.1). • Verify that, on sufficiently large circuits, substantial gains could be made from multicore parallelism ( section 5.3.2 ). • Show that a simulator using this approach out-performs an existing commercial simulator on a standard workstation ( section 5.3.3 ). • Show that the performance on a cheap Xeon Phi card is competitive with results reported elsewhere on much more expensive super-computers ( section 5.3.5 ). To evaluate the ZSIM, two types of test circuits were used: 1. Circuits from the IWLS benchmark suit [1] which allow direct comparison with other published studies of parallel simulators.2. Circuits generated by a parametrised circuit synthesizer. The synthesizer used an algorithm that has been shown to generate circuits that are statistically representative of real logic circuits. The synthesizer allowed testing of a range of very large circuits, larger than the ones for which it was possible to obtain open source files. The experimental results show that with SIMD acceleration and multicore, ZSIM gained a peak parallelisation factor of 300 on Intel Xeon Phi and 11 on Intel Xeon. With only SIMD enabled, ZSIM achieved a maximum parallelistion gain of 10 on Intel Xeon Phi and 4 on Intel Xeon. Furthermore, it was shown that this software architecture simulator running on a SIMD machine is much faster than, and can handle much bigger circuits than a widely used commercial simulator (Xilinx) running on a workstation. The performance achieved by ZSIM was also compared with similar pre-existing work on logic simulation targeting GPUs and supercomputers. It was shown that ZSIM simulator running on a Xeon Phi machine gives comparable simulation performance to the IBM Blue Gene supercomputer at very much lower cost. The experimental results have shown that the Xeon Phi is competitive with simulation on GPUs and allows the handling of much larger circuits than have been reported for GPU simulation. When targeting Xeon Phi architecture, the automatic cache management of the Xeon Phi, handles and manages the on-chip local store without any explicit mention of the local store being made in the architecture of the simulator itself. However, targeting GPUs, explicit cache management in program increases the complexity of the software architecture. Furthermore, one of the strongest points of the ZSIM simulator is its portability. Note that the same code was tested on both AMD and Xeon Phi machines. The same architecture that efficiently performs on Xeon Phi, was ported into a 64 core NUMA AMD Opteron. To conclude, the two main achievements are restated as following: The primary achievement of this work was proving that the ZSIM architecture was faster than previously published logic simulators on low cost platforms. The secondary achievement was the development of a synthetic testing suite that went beyond the scale range that was previously publicly available, based on prior work that showed the synthesis technique is valid.
Resumo:
Esta dissertação apresenta um projecto em engenharia de software para o desenvolvimento e implementação ·De um módulo parte integrante da plataforma XEO, denominado XEOReports. Este módulo destina-se à construção de relatórios dinâmicos, no formato. pdf tendo como base ecrãs de edição da plataforma XEO. Foi utilizada uma plataforma de geração de relatórios em diversos formatos, de nome JasperReports, de forma a que o módulo desenvolvido fosse a integração entre as duas plataformas, XEO e JasperReports. O desenvolvimento deste módulo foi feito tendo em conta os requisitos que a plataforma jasperReports apresentava para a geração de relatórios tendo como base os ecrãs da plataforma XEO. O estudo foi feito respeitando a metodologia de desenvolvimento de software UML, respeitando as boas práticas de desenvolvimento de software a ela inerentes. ABSTRACT; This thesis consists in a software engineering project that deals with the development, functioning and implementation of the XEOReports module, which later became a component of the XEO platform. The XEOReports module aims the construction of dynamic reports in the Portable Document Format (PDF), based on edition screens of the XEO platform. JasperReports, an open source reporting engine, which generates reports in several file formats, was also used in the project development. Therefore, the XEOReports module is the result of the two platforms integration, namely XEO and JasperReports. It is also important to refer that this study took into account the JasperReports platform requirements in the creation of reports based on edition screens of the XEO platform. Moreover, the development methodology of the UML software, as well as the good development software practices inherent in it, were respected and followed in the progression of this project.
Resumo:
This document presents GEmSysC, an unified cryptographic API for embedded systems. Software layers implementing this API can be built over existing libraries, allowing embedded software to access cryptographic functions in a consistent way that does not depend on the underlying library. The API complies to good practices for API design and good practices for embedded software development and took its inspiration from other cryptographic libraries and standards. The main inspiration for creating GEmSysC was the CMSIS-RTOS standard, which defines an unified API for embedded software in an implementation-independent way, but targets operating systems instead of cryptographic functions. GEmSysC is made of a generic core and attachable modules, one for each cryptographic algorithm. This document contains the specification of the core of GEmSysC and three of its modules: AES, RSA and SHA-256. GEmSysC was built targeting embedded systems, but this does not restrict its use only in such systems – after all, embedded systems are just very limited computing devices. As a proof of concept, two implementations of GEmSysC were made. One of them was built over wolfSSL, which is an open source library for embedded systems. The other was built over OpenSSL, which is open source and a de facto standard. Unlike wolfSSL, OpenSSL does not specifically target embedded systems. The implementation built over wolfSSL was evaluated in a Cortex- M3 processor with no operating system while the implementation built over OpenSSL was evaluated on a personal computer with Windows 10 operating system. This document displays test results showing GEmSysC to be simpler than other libraries in some aspects. These results have shown that both implementations incur in little overhead in computation time compared to the cryptographic libraries themselves. The overhead of the implementation has been measured for each cryptographic algorithm and is between around 0% and 0.17% for the implementation over wolfSSL and between 0.03% and 1.40% for the one over OpenSSL. This document also presents the memory costs for each implementation.
Resumo:
Esta memoria nos introduce en el mundo de los servidores de máquinas virtuales procurando no saltarse ningún paso, de una forma gráfica y sin necesidad de conocimientos previos sobre virtualización. Es una guía para la instalación y configuración de un centro de datos con las siguientes tecnologías de virtualización de la compañía VMware: vCenter Server y vSphere ESXi; y el almacenamiento en red open-source FreeNAS. Este despliegue se usará para poner a prueba el funcionamiento de la tecnología vMotion. vMotion es una tecnología para migrar en caliente una máquina virtual de un servidor de máquinas virtuales a otro, de forma transparente y sin desconexiones. Esta tecnología, con la potencia de los procesadores y el ancho de banda actual, es casi inocua al rendimiento de la máquina virtual, lo cual permite su aplicación en una gran diversidad de sectores.
Resumo:
El presente trabajo empleó herramientas de hardware y software de licencia libre para el establecimiento de una estación base celular (BTS) de bajo costo y fácil implementación. Partiendo de conceptos técnicos que facilitan la instalación del sistema OpenBTS y empleando el hardware USRP N210 (Universal Software Radio Peripheral) permitieron desplegar una red análoga al estándar de telefonía móvil (GSM). Usando los teléfonos móviles como extensiones SIP (Session Initiation Protocol) desde Asterisk, logrando ejecutar llamadas entre los terminales, mensajes de texto (SMS), llamadas desde un terminal OpenBTS hacia otra operadora móvil, entre otros servicios.
Resumo:
During the lifetime of a research project, different partners develop several research prototype tools that share many common aspects. This is equally true for researchers as individuals and as groups: during a period of time they often develop several related tools to pursue a specific research line. Making research prototype tools easily accessible to the community is of utmost importance to promote the corresponding research, get feedback, and increase the tools’ lifetime beyond the duration of a specific project. One way to achieve this is to build graphical user interfaces (GUIs) that facilitate trying tools; in particular, with web-interfaces one avoids the overhead of downloading and installing the tools. Building GUIs from scratch is a tedious task, in particular for web-interfaces, and thus it typically gets low priority when developing a research prototype. Often we opt for copying the GUI of one tool and modifying it to fit the needs of a new related tool. Apart from code duplication, these tools will “live” separately, even though we might benefit from having them all in a common environment since they are related. This work aims at simplifying the process of building GUIs for research prototypes tools. In particular, we present EasyInterface, a toolkit that is based on novel methodology that provides an easy way to make research prototype tools available via common different environments such as a web-interface, within Eclipse, etc. It includes a novel text-based output language that allows to present results graphically without requiring any knowledge in GUI/Web programming. For example, an output of a tool could be (a structured version of) “highlight line number 10 of file ex.c” and “when the user clicks on line 10, open a dialog box with the text ...”. The environment will interpret this output and converts it to corresponding visual e_ects. The advantage of using this approach is that it will be interpreted equally by all environments of EasyInterface, e.g., the web-interface, the Eclipse plugin, etc. EasyInterface has been developed in the context of the Envisage [5] project, and has been evaluated on tools developed in this project, which include static analyzers, test-case generators, compilers, simulators, etc. EasyInterface is open source and available at GitHub2.
Resumo:
Este relatório apresenta todo o trabalho desenvolvido na Portugal Telecom Inovação ao longo de 6 meses. Este projeto esteve inserido no produto Medigraf, o qual é uma plataforma de telemedicina, desenvolvida e comercializada pela Portugal Telecom Inovação, destinada a ser integrada em organizações de saúde. Um sistema de informação é um componente muito importante nas organizações de saúde. É através deste que toda a informação referente à organização é processada e comunicada. Para que um novo sistema, a ser incorporado na organização, seja capaz de atingir todas as suas potencialidades é necessário que haja uma integração e uma interoperabilidade total entre o novo sistema e o sistema de informação existente. Torna-se assim indispensável conseguir uma integração entre o Medigraf e o sistema de informação existente nas organizações de saúde. Para isso, é necessário apurar quais os requisitos necessários para haver uma integração e uma partilha de informação entre sistemas heterógenos, explicando o conceito de standards, interoperabilidade e terminologias. O estado da arte revelou que a integração entre sistemas heterogéneos em organizações de saúde é difícil de atingir. Das várias organizações existentes, destaquei a HL7 (Health Level Seven) pelos seus avanços nesta área e pelo desenvolvimento de duas versões de um standard de mediation de mensagens (HL7 v2.x e HL7 v3) com o objetivo de atingir uma interoperabilidade entre sistemas heterógenos. Com o estudo mais aprofundado do standard de mensagens HL7 v3, foi necessário adotar uma arquitetura/topologia de integração de forma a implementar o standard. Neste estudo, destaquei a família de soluções EAI (Enterprise Application Integration) como melhor solução. De modo a implementar o standard HL7 v3 com base na arquitetura escolhida, realizei um estudo sobre os softwares existentes. Desse estudo, resultou a escolha do Mirth Connect como melhor abordagem para implementação de uma interoperabilidade entre o Medigraf e um sistema de informação. Este software atua como um middleware de mediation na comunicação entre sistemas heterogéneos. Selecionei para implementação, dois casos de uso do standard, de modo a demonstrar a sua utilização. Nativamente, o Mirth Connect não suporta a validação das mensagens do standard HL7 v3, suportando apenas HL7 v2.x. O Mirth Connect, sendo um software Open Source, permitiu que eu pudesse desenvolver um método capaz de executar essa validação. O método foi publicado no fórum da Mirth Corporation, possibilitando a sua partilha. No final são tecidas algumas conclusões, referindo o trabalho futuro que pode ser desenvolvido.
Resumo:
Dissertação de Mestrado, Ciências da Linguagem, Faculdade de Ciências Humanas e Sociais, Universidade do Algarve, 2016
Resumo:
Thesis (Ph.D, Computing) -- Queen's University, 2016-09-30 09:55:51.506
Resumo:
Code patterns, including programming patterns and design patterns, are good references for programming language feature improvement and software re-engineering. However, to our knowledge, no existing research has attempted to detect code patterns based on code clone detection technology. In this study, we build upon the previous work and propose to detect and analyze code patterns from a collection of open source projects using NiPAT technology. Because design patterns are most closely associated with object-oriented languages, we choose Java and Python projects to conduct our study. The tool we use for detecting patterns is NiPAT, a pattern detecting tool originally developed for the TXL programming language based on the NiCad clone detector. We extend NiPAT for the Java and Python programming languages. Then, we try to identify all the patterns from the pattern report and classify them into several different categories. In the end of the study, we analyze all the patterns and compare the differences between Java and Python patterns.
Resumo:
Teknikutvecklingen går snabbt framåt, och idag finns det ett stort behov av att använda andra utvecklares kod för att hänga med i det höga tempot. De kallas samlat för ramverk eller bibliotek, och hjälper utvecklaren att på ett effektivare sätt ta sig från start till mål utan att behöva skriva all programmeringskod själv. Dessa tredjepartslösningar är nästintill alltid bundna till ett licensavtal, vars restriktioner och tillåtelser utvecklaren måste följa vid nyttjandet. I denna studie har vi undersökt hur medvetenheten ser ut kring de licenser som är bundna till dessa tredjepartslösningar. Då det framkom i vår förstudie att vårt fall hade en relativt låg medvetenhet har vi även valt att titta på hur medvetenheten kan ökas. För att genomföra detta har vi valt att intervjua utvecklare och projektledare på ett konsultföretag. Vi undersökte även vilka faktorer som är viktiga för att höja medvetenheten samt vilka konsekvenser som kunde uppkomma vid bristfällande licenshantering. Vi upptäckte att det var en bristfällig kunskap om tredjepartslicenser på det studerade företaget, och hur de följde de licensrestriktioner som fanns för respektive licens. För att höja medvetenheten föreslår vi hjälpmedel i form av en automatiserad centraliserad lösning, lathundar för en enklare överblick av licensavtalen och hur användning av redan färdiga programvaror kan hjälpa till att öka medvetenheten och hanteringen av licenser.
Resumo:
Este projeto tem como objetivo explorar e refletir sobre os benefícios do recurso a ferramentas Livres e Open gratuitas. Pretendemos também evidenciar a importância do acesso à cultura de forma Livre, focada no poder da partilha. De modo a demonstrar a viabilidade destas ferramentas enquanto plataforma para a criação de produtos multimédia, e promover as áreas criativas em estudo, desenvolvemos um protótipo de um Videojogo. Simultaneamente, pretendemos partilhar a nossa experiência e resultados obtidos, de forma Livre, com o intuito de contribuir para processos de aprendizagem e de criação nesta área.
Resumo:
Nesta dissertação descreve-se uma proposta de implementação de uma plataforma de desenvolvimento de Sistemas de Comunicação Aumentativa e Alternativa para programadores, com o objectivo de melhorar a produtividade e diminuir os tempos despendidos na implementação deste tipo de soluções. Esta proposta assenta numa estrutura composta por widgets configuráveis por código e integráveis em novas aplicações, numa filosofia de reaproveitamento de objectos e funcionalidades, permitindo ainda a uniformização da estrutura do código no desenvolvimento de softwares deste tipo. Esta plataforma pretende ainda dar flexibilidade aos programadores, através da possibilidade de introdução de novas funcionalidades e widgets, permitindo também que se testem novas abordagens ao software durante a investigação. A implementação em tecnologias open source independentes da plataforma, permitirá ainda utilizar os objectos deste toolkit em vários sistemas operativos. ABSTRACT: ln this master thesis we describe an implementation proposal for an Augmentative and Alternative Communication Framework for developers, with the objective of improves the productivity and reduces the implementation times for these types of solutions. This proposal is based on a customized widgets structure that can be integrated in new applications, with the purpose of reuse common features of these applications, also allowing standardize the code structure in this kind of software development. This framework intends to provide flexibility to programmers giving them the possibility of introduce new functionalities and widgets, allowing them to test new approaches during research. The implementation based on open-source technologies, platform independent, allows the use of this toolkit in several different operating systems.