191 |
High-performance computer system architectures for embedded computingLee, Dongwon 26 August 2011 (has links)
The main objective of this thesis is to propose new methods for designing high-performance embedded computer system architectures. To achieve the goal, three major components - multi-core processing elements (PEs), DRAM main memory systems, and on/off-chip interconnection networks - in multi-processor embedded systems are examined in each section respectively.
The first section of this thesis presents architectural enhancements to graphics processing units (GPUs), one of the multi- or many-core PEs, for improving performance of embedded applications. An embedded application is first mapped onto GPUs to explore the design space, and then architectural enhancements to existing GPUs are proposed for improving throughput of the embedded application.
The second section proposes high-performance buffer mapping methods, which exploit useful features of DRAM main memory systems, in DSP multi-processor systems. The memory wall problem becomes increasingly severe in multiprocessor environments because of communication and synchronization overheads. To alleviate the memory wall problem, this section exploits bank concurrency and page mode access of DRAM main memory systems for increasing the performance of multiprocessor DSP systems.
The final section presents a network-centric Turbo decoder and network-centric FFT processors. In the era of multi-processor systems, an interconnection network is another performance bottleneck. To handle heavy communication traffic, this section applies a crossbar switch - one of the indirect networks - to the parallel Turbo decoder, and applies a mesh topology to the parallel FFT processors. When designing the mesh FFT processors, a very different approach is taken to improve performance; an optical fiber is used as a new interconnection medium.
|
192 |
Fault propagation analysis of large-scale, networked embedded systemsPattnaik, Aliva 16 November 2011 (has links)
In safety-critical, networked embedded systems, it is important that the way in which a fault(s) in one component of the system can propagate throughout the system to other components is analyzed correctly. Many real-world systems, such as modern aircrafts and automobiles, use large-scale networked embedded systems with complex behavior. In this work, we have developed techniques and a software tool, FauPA, that uses those techniques to automate fault-propagation analysis of large-scale, networked embedded systems such as those used in modern aircraft. This work makes three main contributions.
1. Fault propagation analyses. We developed algorithms for two types of analyses: forward analysis and backward analysis. For backward analysis, we developed two techniques: a naive algorithm and an algorithm that uses Datalog.
2. A system description language. We developed a language that we call Communication System Markup Language (CSML) based on XML. A system can be specified concisely and at a high-level in CSML.
3. A GUI-based display of the system and analysis results. We developed a GUI to visualize the system that is specified in CSML. The GUI also lets the user visualize the results of fault-propagation analyses.
|
193 |
Distributed real-time processing using GNU/Linux/libré software and COTS hardwareVan Schalkwyk, Dirko 03 1900 (has links)
Thesis (MScIng)--Stellenbosch University, 2004. / ENGLISH ABSTRACT: This dissertation's research aims at studying the viability of using both low cost
consumer Commodity Off The Self (COTS) PCs and libn~software in implementing a
distributed real-time system modeled on a real-world engineering problem.
Debugging and developing a modular satellite system is both time consuming
and complex, to this end the SUNSATteam has envisioned the Interactive Test System
that would be a dual mode simulator/monitoring system. It is this system that requires
a real-time back-end and is used as a real world problem model to implement.
The implementation was accomplished by researching the available parallel processing
software and real-time extensions to GNU/Linux and choosing the appropriate
solutions based on the needs of the model. A monitoring system was also implemented,
for system verification, using freely available system monitoring utilities.
The model was successfully implemented and verified with a global synchronization
of < 10ms. It was shown that GNU/Linux and libn~ software is both mature
enough and appropriate in solving a real world distributed real-time problem. / AFRIKAANSE OPSOMMING: Die tesis se navorsing is daarop gemik om die toepaslikheid van beide lae koste verbruikers
Komoduteits Van Die Rak (KVDR)persoonlike rekenaars en vemiet sagteware
in die implementasie van verspreide intydse stelsels te ondersoek aan die hand van die
oplossing van 'n gemodelleerde ingenieurs probleem.
Die ontfouting en ontwikkeling van 'n modulere satelliet is beide tyd rowend en
kompleks, om hierdie te vergemaklik het die SUNSAT span die Interaktiewe Toets
Stelsel gekonseptualiseer, wat in wese'n dubbel modus simulator/moniteerings stelsel
sou wees. Dit is hierdie stelsel wat 'n verspreide intydse onderstel benodig en dien as
die regte wereld probleem model om op te los.
Die implementasie is bereik deur die beskikbare verspreide verwerkings sagteware
en intydse uitbreidings vir GNU/Linux te ondersoek en die toepaslike opsies te
kies gegrond op die behoeftes van die model. 'n Moniteerings stelsel is ook geimplimenteer,
met behulp van libn~sagteware, vir stelsel verifikasie.
Die model was suksesvol geimplimenteer en geverifieer met 'n globale sinkronisasie
van < 10ms. Daar is getoon dat GNU/Linux en libn~sagteware beide volwaardig en
geskik is vir die oplossing van regte wereld verspreide intydse probleme.
|
194 |
Projeto e validação de software automotivo com o método de desenvolvimento baseado em modelos / Automotive software project and validation with model based designNunes, Lauro Roberto 07 July 2017 (has links)
Os veículos automotivos pesados possuem funcionalidades particulares e aplicação em ambiente agressivo. Para garantir melhores desempenho, segurança e confiabilidade aos equipamentos eletrônicos embarcados, é necessário o aperfeiçoamento dos métodos e processos de desenvolvimento de software embarcado automotivo. Considerando a metodologia de desenvolvimento baseada em modelos (MBD) como um método em ascensão na indústria automotiva, este trabalho pesquisa contribuições nas atividades de engenharia de requisitos, otimização e validação do software, de forma a comprovar a eficácia do método e ferramentas utilizadas na busca pela qualidade final do produto (veículo comercial pesado). A base do trabalho refere-se à aplicação dos conceitos de integração de requisitos à simulação (MIL - Model in the Loop), comparação da otimização do software gerado automaticamente entre ferramentas comuns (IDE’s) e as baseadas em modelo, validação e cobertura do software gerado e uma forma alternativa de aumento da cobertura do código testado. / The automotive heavy-duty vehicles have particular functionalities and aggressive environment application. To ensure better performance, safety and reliability to electronic embedded equipment, it is necessary to invest in methods and process improvements in automotive software development. Considering Model Based Design (MBD) as an ascending development method in automotive industry, this work looks towards contributions in requirements engineering, software optimization and validation, in order to prove the method and tools efficiency in the final product quality (heavy-duty vehicle). This work refers to the appliance of requirement engineering integration to the simulation (MIL - Model in the Loop), comparison between optimization in usual programming tools (IDE’s) and Model Based Design tools, validation and software code coverage, and an alternative way of increasing code coverage of a tested code.
|
195 |
Análise de requisitos temporais para sistemas embarcados automotivos / Timing analysis of automotive embedded systemsAcras, Mauro 14 December 2016 (has links)
Os sistemas embarcados automotivos são caracterizados por sistemas computacionais que suportam funcionalidades na forma de softwares embarcados para proporcionar aos usuários maior conforto, segurança e desempenho. Entretanto, existe uma grande quantidade de funções integradas que elevam o nível de complexidade de forma que se deve utilizar métodos e ferramentas de projetos adequados para garantir os requisitos funcionais e não funcionais do sistema. Todo o projeto de software embarcado automotivo deve iniciar com a definição de requisitos funcionais e de acordo com a dinâmica do subsistema que uma ECU (Electronic Control Unit) irá controlar e/ou gerenciar, deve-se ainda definir os requisitos temporais. Uma função automotiva pode ter requisitos temporais do tipo, período de ativação, atraso fim-a-fim, deadline entre outras que por sua vez estão estritamente relacionadas com as características da arquitetura de hardware utilizada. Em um sistema automotivo, tem-se uma arquitetura de computação embarcada distribuída em que existem tarefas e mensagens que trocam sinais entre si e podem ter requisitos temporais que devam ser atendidos. A análise temporal para verificação e validação dos requisitos temporais pode ser realizada ao nível de arquitetura distribuída, tarefas e instruções sendo que a utilização adequada de métodos e ferramentas é uma condição necessária para sua verificação. Desta forma, apresenta-se uma descrição do estado da arte de análise temporal em sistemas embarcados automotivos, suas propriedades e a utilização das ferramentas da Gliwa para avaliar se os requisitos temporais são atendidos. Um exemplo ilustrativo foi implementado com o propósito de apresentar como os métodos, processos e ferramentas devem ser aplicados para verificar se os requisitos temporais definidos previamente no início do projeto foram atendidos e para que em um sistema já existente possam suportar funções adicionais com requisitos temporais a serem garantidos. É importante verificar que as ferramentas de análise temporal, tem o propósito ainda de verificar se os recursos computacionais estão sendo utilizados de acordo com o especificado no início do projeto. / Automotive embedded systems are characterized by computer systems that support embedded software functionalities to provide users with greater comfort, security and performance. However, there are a number of integrated functions that raise the level of complexity so that appropriate design methods and tools must be used to guarantee the functional and non-functional requirements of the system. All automotive embedded software design must begin with the definition of functional requirements and according to the dynamics of the subsystem that an ECU (Electronic Control Unit) will control and/or manage, it is necessary to define the time requirements. An automotive function may have time requirements of type, activation period, end-to-end delay and deadline among others which in turn are strictly related to the characteristics of the hardware architecture used. In an automotive system there is a distributed embedded computing architecture in which there are tasks and messages that exchange signals between them and may have timing requirements that must be met. The timing analysis for verification and validation of timing constrains can be carried out at the level of distributed architecture, tasks and instructions, and the proper use of methods and tools is a necessary condition for their verification. In this way, a description of the state of the art of timing analysis in automotive embedded systems, their properties and the use of the tools of Gliwa to evaluate if the timing constrains are met. An illustrative example has been implemented with the purpose of presenting how the methods, processes and tools should be applied to verify that the time requirements defined at the beginning of the project are met and that in an existing system can support additional functions with requirements to be guaranteed. It is important to note that timing analysis tools are still intended to verify that computational resources are being used as specified at the beginning of the project.
|
196 |
Critérios para adoção e seleção de sistemas operacionais embarcadosMoroz, Maiko Rossano 30 November 2011 (has links)
CNPq / Sistemas embarcados são sistemas computacionais projetados para aplicações específicas, os quais estão presentes em praticamente todos os dispositivos eletrônicos atuais. A utilização de um sistema operacional (SO) é uma maneira de simplificar o desenvolvimento de software, livrando os programadores do gerenciamento do hardware de baixo nível e fornecendo uma interface de programação simples para tarefas que ocorrem com frequência. A alta complexidade dos computadores pessoais atuais torna a utilização de um SO indispensável. Por outro lado, sistemas embarcados são arquiteturas limitadas, geralmente com muitas restrições de custo e consumo. Devido às demandas adicionais impostas por um SO, os desenvolvedores de sistemas embarcados enfrentam a crítica decisão quanto à adoção ou não de um SO. Nesta dissertação, apresenta-se uma série de critérios a fim de auxiliar os projetistas de sistemas embarcados na decisão quanto ao uso ou não de um SO. Além disso, outros critérios são apresentados com o intuito de guiar a seleção do SO mais adequado às características do projeto. Adicionalmente, escolheu-se 15 sistemas operacionais para serem analisados de acordo com os critérios apresentados, os quais podem ser utilizados como base para o processo de seleção de um SO. Adicionalmente, a fim de avaliar o impacto da adoção de um SO em um projeto embarcado, apresenta-se um estudo de caso no qual uma aplicação modelo (uma estação meteorológica embarcada) foi desenvolvida em três diferentes cenários: sem um SO, usando um SO de tempo real (µC/OS-II), e usando um SO de propósito geral (uClinux). Uma FPGA e um SoPC foram utilizados para obter uma plataforma flexível de hardware apta para acomodar as três configurações. A adoção de um SO proporcionou uma redução de até 48% no tempo de desenvolvimento; em contrapartida, isto aumentou os requisitos de memória de programa em pelo menos 71%. / An embedded system (ES) is a computing system designed for a specific purpose, present essentially in every electronic device. The use of an operating system (OS) is advocated as a means to simplify software development, freeing programmers from managing low-level hardware and providing a simpler programming interface for common tasks. The high complexity of modern desktop computers makes an OS indispensable; embedded systems, on the other hand, are limited architectures, usually severely cost- and power-constrained. Because of the additional demands imposed by an OS, embedded developers are faced with the crucial decision of whether to adopt an OS or not. In this work, we introduce a set of criteria to help determine whether an OS should be adopted in an embedded design. We then go further and establish a series of rules to help decide which OS to pick, if one should be used. In addition, we present a case study in which a sample application (an embedded weather station) was developed under three different scenarios: without any OS, using the µC/OS-II real-time OS, and using the uClinux general-purpose OS. An FPGA and a SoPC were used to provide a flexible hardware platform able to accommodate all three configurations. The adoption of an OS provided a reduction of up to 48% in development time; on the other hand, it increased program memory requirements in at least 71%.
|
197 |
Software defect prediction using maximal information coefficient and fast correlation-based filter feature selectionMpofu, Bongeka 12 1900 (has links)
Software quality ensures that applications that are developed are failure free. Some modern systems are intricate, due to the complexity of their information processes. Software fault prediction is an important quality assurance activity, since it is a mechanism that correctly predicts the defect proneness of modules and classifies modules that saves resources, time and developers’ efforts. In this study, a model that selects relevant features that can be used in defect prediction was proposed. The literature was reviewed and it revealed that process metrics are better predictors of defects in version systems and are based on historic source code over time. These metrics are extracted from the source-code module and include, for example, the number of additions and deletions from the source code, the number of distinct committers and the number of modified lines. In this research, defect prediction was conducted using open source software (OSS) of software product line(s) (SPL), hence process metrics were chosen. Data sets that are used in defect prediction may contain non-significant and redundant attributes that may affect the accuracy of machine-learning algorithms. In order to improve the prediction accuracy of classification models, features that are significant in the defect prediction process are utilised. In machine learning, feature selection techniques are applied in the identification of the relevant data. Feature selection is a pre-processing step that helps to reduce the dimensionality of data in machine learning. Feature selection techniques include information theoretic methods that are based on the entropy concept. This study experimented the efficiency of the feature selection techniques. It was realised that software defect prediction using significant attributes improves the prediction accuracy. A novel MICFastCR model, which is based on the Maximal Information Coefficient (MIC) was developed to select significant attributes and Fast Correlation Based Filter (FCBF) to eliminate redundant attributes. Machine learning algorithms were then run to predict software defects. The MICFastCR achieved the highest prediction accuracy as reported by various performance measures. / School of Computing / Ph. D. (Computer Science)
|
198 |
Infraestrutura de aquisição de dados por redes de sensores sem fios e barramentos para monitoramento do consumo de energia elétricaHara, Elon Cris Penteado 18 December 2013 (has links)
CAPES / Um sistema monitor de consumo de energia elétrica para setores internos de unidades consumidoras foi desenvolvido para um projeto de P&D (Pesquisa e Desenvolvimento) ANEEL (Agência Nacional de Energia Elétrica). O sistema utiliza Redes de Sensores sem Fios (RSSF) alocadas em pontos estratégicos da rede de energia elétrica e conectadas por radioenlace a um banco de dados remoto. Os sensores fornecem dados que são registrados e posteriormente acessados por um aplicativo que apresenta informativos ao usuários por meio de alertas, relatórios e interfaces gráficas. As RSSF são empregadas em sistemas de aquisição de sinais de múltiplos sensores dispersos em grandes áreas, em redes escalonáveis quanto ao número de dispositivos e flexíveis quanto a topologias, que podem ser formadas automaticamente em função das melhores rotas ou das rotas disponíveis em um dado momento. As RSSF também têm sido úteis em sistemas relacionados ao conceito da Smart Grid, oferecendo uma ferramenta “inteligente”, que permite integrar informações colhidas a partir de cargas elétricas nas unidades consumidoras ao sistema de geração e distribuição de energia, com o objetivo de melhorar o desempenho do sistema nos picos de demanda. Apesar da disponibilidade tecnológicas, dispositivos comerciais ainda são escassos no mercado, resultando em custos finais elevados para sistemas de monitoramento de consumo. Assim, para preencher esta lacuna foi desenvolvida uma configuração de infraestrutura de baixo custo, com módulos sensores interligados por barramentos I2C com uma memória compartilhada, formando um cluster que é ligado em RSSF capaz de formar redes em malha por meio do protocolo Miwi P2P (Peer to Peer). Como múltiplos sensores ocupam uma única antena para enviar dados, os custos são minimizados. Outro diferencial do método é dar acesso a sensores concentrados dentro de armários e gabinetes metálicos, que de outra forma não poderiam ser conectados em uma RSSF. / An electric power consumption monitoring system for indoor sectors of costumers was developed to an ANEELR&D project. The system uses wireless sensor networks (WSN) placed at strategic points of the power grid and connected by radio link to a remote database. The sensor provide data, that are recorded and later accessed by a software presenting information to end users through alerts, reports and graphical interfaces. The WSN systems are used to acquire signals from multiple sensors scattered over large areas, with number of devices scalable in networks and flexible topologies, which can be formed automatically choosing the best routes or available routes. The WSNs have been useful in systems related with smart grid, offering a "smart" tool that allows collect information from electric loads in consumer units to the system of generation and distribution of energy, with the aim of improving system performance at peak demand by an electric utility. Despite the availability of technological, commercial devices are still scarce in the Brazilian market, resulting in high costs for final consumption monitoring systems. Therefore, to fill a gap a new configuration was developed presenting an infrastructure affordably with sensor modules connected by I2C bus with a shared memory forming clusters that are connected in WSN but can work in mesh networks through miwi P2P (Peer to Peer) protocol. With multiple sensors sharing a single antenna to send data, costs are reduced. Another exclusive feature of this method is to give access to sensors inside of cabinets and enclosures, which otherwise would not connected to a WSN.
|
199 |
Aplicando a metodologia de desenvolvimento baseado em modelos para funções de software automotivo / Model based design for automotive software functionStella, Gilson Natal Dalla 15 May 2015 (has links)
Os veículos automotivos possuem diversas funcionalidades em que, para ser melhoradas ou inovadas, é mandatório que se garanta melhor desempenho, segurança e confiabilidade. Para isto, é necessário criar, ou aperfeiçoar os já existentes, métodos e processos de desenvolvimento de software embarcado automotivo. As metodologias de desenvolvimento tradicionais não atendem aos requisitos e complexidade destes sistemas. Desta forma, a metodologia de desenvolvimento de software baseado em modelos (MBD – Model-Based Design) pode contribuir grandemente, por tornar possível a otimização com recursos de análise e testes. Por estes motivos, este trabalho busca demonstrar como se pode aplicar esta metodologia desenvolvimento baseado em modelos para as funções de software automotivo, considerando as etapas deste processo como MIL (Model-Inthe- Loop), SIL (Software-In-the Loop), PIL (Processor-In-the Loop) e RCP (Rapid Control Prototyping) e comprovar a sua eficácia. Considera-se ainda que foram utilizadas ferramentas compatíveis e essenciais para o processo de desenvolvimento, tais como para definição dos requisitos, elaboração da planta física, projeto controlador, verificação e testes. / The vehicles has many functions wherein, to be improve or innovated, is essential that the warranty of a better performance, safety and reliability. For this, is necessary to create, or improve the already existing, developing methods and processes of automotive embedded software. However, the traditional development methodologies do not meet the requirements and complexity of these systems. Therefore the methodology of model-based design (MBD) may contribute greatly, by making possible the optimization using analysis resources and tests. For these reasons, this work seeks to demonstrate how you can apply this development methodology based on models for automotive software functions, considering the steps in this process as MIL (Model-In-the-Loop), SIL (Software-In-the Loop), PIL (Processor-In-the Loop) and RCP (Rapid Control Prototyping) and prove its effectiveness. It is further considered that were used compatible and essential tools for the development process, such as for requirements definition, development of physical plant, controller design, verification and testing.
|
200 |
PM-MDA: um método para o desenvolvimento de modelos de plataforma no contexto da MDASoares, Inali Wisniewski 07 December 2012 (has links)
Esta tese propõe um método denominado PM-MDA para o desenvolvimento de Modelos de Plataforma (Platform Model - PM) no contexto da abordagem Model Driven Architecture (MDA). O método PM-MDA tem como foco o desenvolvimento de projetos de Software embarcado baseados em Sistemas Operacionais em Tempo Real (Real-Time Operating System - RTOS). Adicionalmente, este estudo define um perfil UML 2.0 para modelagem da aplicação e plataforma de software embarcado denominado Profile for modeling Application and Platform of Embedded Software (PROAPES) que é usado no método PM-MDA. Tal perfil define um conjunto de estereótipos para descrever genericamente Modelos de Plataforma e Modelos Independentes de Plataforma (Platform Independent Model - PIM). Além disso, são definidas extensões desse perfil, tal como o perfil PROAPESX que permite a modelagem de PMs para versões do RTOS X Real-Time Kernel e hardware associados. Além disso, o perfil PROAPES possibilita vincular um PIM a um PM, permitindo que esses modelos sejam inseridos como atributos de entrada em uma Transformação de Modelos. No contexto da MDA, esse perfil constitui-se em um metamodelo de plataforma (um metamodelo de uma família de plataformas similares) para a construção de modelos de plataforma. Desse modo, um PM é usado como parte fundamental para o desenvolvimento de software embarcado na abordagem MDA, fornecendo meios de obter independência de plataforma. Em abordagens atuais de MDA, as transformações de modelos empregam implicitamente os modelos de plataforma. Como os interesses referentes à plataforma não são separados dos interesses referentes às transformações de modelos, para cada plataforma requerida deve existir uma ou mais transformações de modelos correspondentes que são configuradas especificamente para aquela plataforma. O resultado são processos de transformações de modelos difíceis de serem automatizados. No domínio de sistemas embarcados, o uso de MDA é ainda mais importante devido à heterogeneidade de plataformas e à complexidade destes sistemas. O método PM-MDA, que faz uso do perfil PROAPES, visa sistematizar o processo de criação e disponibilização de modelos de plataforma separados do processo de transformação de modelos, possibilitando a geração de processos de transformações de modelos eficientes e adaptáveis. / This thesis proposes a method called PM-MDA for the development of Platform Models in the context of Model Driven Architecture (MDA). The PM-MDA method focuses on the development of embedded software projects based on Real-Time Operating Systems (RTOS). Additionally, this study defines a UML 2.0 Profile for Modeling Application and Platform of Embedded Software (PROAPES), which is used in the PM-MDA method. Such profile defines a set of stereotypes to generically describe Platform Models (PMs) and Platform Independent Models (PIMs). Further, extensions are defined in this profile, e.g. the PROAPESX profile, allowing the modeling of PMs into versions of the X RTOS Real-Time Kernel and associated hardware. In its turn, the PROAPES profile enables the link of a PIM to a PM, allowing these models to be entered as input attributes in a Model Transformation. In the context of MDA, this profile is a platform metamodel for building PMs, i.e., a metamodel of a family of similar platforms. In this way, a PM is used as a fundamental part in the development of embedded software in the MDA approach by providing means of obtaining platform independence. In current MDA approaches, model transformations implicitly employ PMs. As the concerns regarding the platform are not separated from the concerns related to model transformations, for each required platform there must be one or more corresponding model transformations that are configured specifically for that platform. This results in model transformation processes that are expensive and difficult to be automated. In some application domains such as embedded systems, the use of MDA is more motivating because of the heterogeneity of platforms and the complexity of these systems. The PM-MDA method, which makes use of the PROAPES profile, aims to systematize the process of creating and providing platform models separated from the model transformation process, enabling the generation of efficient and adaptable model transformations.
|
Page generated in 0.0678 seconds