5 research outputs found

    Evaluation and Determination of Integration Orders in Component-based Embedded Systems

    Get PDF
    Vestavěné počítačové systémy jsou stále složitější. Jedním ze způsobů, jak tuto složitost zvládnout, je komponentově založený přístup, kdy systémy jsou postaveny z jednotlivých nezávislých SW komponent. Důležitým aspektem stavby systému je jeho softwarová integrace. Klíčovým bodem integrace je pořadí, ve kterém jsou komponenty kombinovány do výsledného celku. Dosavadní vědecké práce v dané oblasti dávají pouze hrubá doporučení a spoléhají se na zkušenost návrháře. V disertační práci jsou identifikovány parametry sofwarového integračního procesu a dále je navržen optimaliyační proces, který vede k nalezení integračního pořadí, které vyžaduje nejmenší čas a náklady.Katedra informatiky a výpočetní technikyObhájenoEmbedded software systems are getting more and more complex. One answer to handle this complexity is component-based development, in which systems are built of individual independent software components. One important aspect of the component-based development approach is software integration. Individual components have to be put together and their interactions have to be verified. The crucial point of integration is the order in which components are combined. State-of-the-art approaches are only coarse guidelines and rely strongly on integrators expertise. More elaborate methods in which an algorithm is used to derive an integration order are only available for object-oriented software and cannot be directly used in procedural programming languages. To deal with these challenges, parameters are identified the software integration process is subjected to and metrics are developed in order to evaluate a certain integration order. Furthermore, an optimization approach based on simulated annealing is presented which is used to derive an integration order with respect to the proposed parameters in a powerful and reliable manner

    Gerência do consumo de energia dirigida pela aplicação em sistemas embarcados

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da Computação.Baixo consumo de energia é um dos principais requisitos no projeto de sistemas embarcados, principalmente quando estes são alimentados por baterias. Técnicas que têm sido aplicadas com eficácia em sistemas de computação genérica não têm atingido o mesmo êxito em sistemas embarcados, ou devido à falta de flexibilidade, ou devido aos requisitos para sua implantação (volumes de memória e processamento), que podem tornar proibitiva sua aplicação nestes dispositivos. Este trabalho define uma interface simples e uniforme para gerência de energia dirigida pela aplicação em sistemas embarcados. Esta interface disponibiliza ao programador da aplicação a flexibilidade de configurar os modos de operação de baixo consumo dos componentes em uso, conforme sua necessidade. A implementação buscou garantir a portabilidade desta aplicação a um baixo custo em termos de uso de memória e processamento. Este trabalho utiliza Redes de Petri Hierárquicas para especificar os procedimentos de troca de modos de operação dos componentes, utilizando os pontos de refinamento destas redes para representar as relações entre os diversos componentes do sistema. O uso das Redes de Petri permitiu analisar o mecanismo de gerência de energia para verificar seu funcionamento e a inexistência de impasses. A extensão da interface dos componentes e a inclusão dos procedimentos de troca de modo de operação foram implementadas como um aspecto. Um protótipo foi desenvolvido utilizando o sistema operacional Embedded Parallel Operating System (EPOS) e estudos de caso foram realizados para demonstrar a usabilidade desta interface

    Um ambiente de suporte à execução de aplicações em redes de sensores sem fios

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da Computação.Em uma Rede de Sensores sem Fios, diversos nodos sensores obtém dados do local onde se encontram e comunicam-se entre si, para gerar uma visão global de um objeto de estudo. A idéia de uma rede auto-gerenciada de dispositivos autônomos, de baixa potência, que colete dados de um ambiente e propague informações através de um enlace sem fios traz uma série de novos desafios e requisitos de suporte à execução de aplicações. Diversos projetos de pesquisa se propuseram a tratar o problema de suporte de sistema para redes de sensores sem fios. Entretanto, a maioria deles falha em tratar principalmente dois dos requisitos levantados neste trabalho: configuração transparente do canal de comunicação e abstração unificada e eficiente de hardware de sensoriamento. Este trabalho apresenta o projeto e implementação de um ambiente de suporte à execução de aplicações em redes de sensores sem fios, baseado no sistema operacional EPOS, que inclui o projeto e implementação do protocolo de controle de acesso ao meio C-MAC (Configurable MAC) e um sistema de aquisição de dados de sensores. O projeto e implementação modular do protocolo C-MAC permitem que aplicações configurem o canal de comunicação de acordo com suas necessidades. O sistema de aquisição de dados de sensor desenvolvido é capaz de abstrair famílias de dispositivos sensores de maneira uniforme, sem ocasionar sobrecusto excessivo, e apresenta vantagens significativas com relação a outras soluções encontradas em outros sistemas operacionais para redes de sensores

    Deployment and Debugging of Real-Time Applications on Multicore Architectures

    Get PDF
    It is essential to enable information extraction from software. Program tracing techniques are an example of information extraction. Program tracing extracts information from the program during execution. Tracing helps with the testing and validation of software to ensure that the software under test is correct. Information extraction is done by instrumenting the program. Logged information can be stored in dedicated logging memories or can be buffered and streamed off-chip to an external monitor. The designer inspects the trace after execution to identify potentially erroneous state information. In addition, the trace can provide the state information that serves as input to generate the erroneous output for reproducibility. Information extraction can be difficult and expensive due to the increase in size and complexity of modern software systems. For the sub-class of software systems known as real-time systems, these issues are further aggravated. This is because real-time systems demand timing guarantees in addition to functional correctness. Consequently, any instrumentation to the original program code for the purpose of information extraction may affect the temporal behaviors of the program. This perturbation of temporal behaviors can lead to the violation of timing constraints, which may bias the program execution and/or cause the program to miss its deadline. As a result, there is considerable interest in devising techniques to allow for information extraction without missing a program’s deadline that is known as time-aware instrumentation. This thesis investigates time-aware instrumentation mechanisms to instrument programs while respecting their timing constraints and functional behavior. Knowledge of the underlying hardware on which the software runs, enables the extraction of more information via the instrumentation process. Chip-multiprocessors offer a solution to the performance bottleneck on uni-processors. Providing timing guarantees for hard real-time systems, however, on chip-multiprocessors is difficult. This is because conventional communication interconnects are designed to optimize the average-case performance. Therefore, researchers propose interconnects such as the priority-aware networks to satisfy the requirements of hard real-time systems. The priority-aware interconnects, however, lack the proper analysis techniques to facilitate the deployment of real-time systems. This thesis also investigates latency and buffer space analysis techniques for pipelined communication resource models, as well as algorithms for the proper deployment of real-time applications to these platforms. The analysis techniques proposed in this thesis provide guarantees on the schedulability of real-time systems on chip-multiprocessors. These guarantees are based on reducing contention in the interconnect while simultaneously accurately computing the worst-case communication latencies. While these worst-case latencies provide bounds for computing the overall worst-case execution time of applications on chip-multiprocessors, they also provide means to assigning instrumentation budgets required by time-aware instrumentation. Leveraging these platform-specific analysis techniques for the assignment of instrumentation budgets, allows for extracting more information from the instrumentation process
    corecore