Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/74434

TítuloReliable software development aided by QEMU simulation
Outro(s) título(s)Desenvolvimento de software confiável assistido por simulação em QEMU
Autor(es)Almeida, Rui Jorge Mendes
Orientador(es)Cabral, Jorge
Palavras-chaveReliability design and estimation
Co-simulation
QEMU
Redundancy
Co-simulação
Design e estimação de confiabilidade
Redundância
Data2020
Resumo(s)Highly reliable systems guarantee low system failure probability during its operational lifetime with the help of redundancy, which ensures system functionalities by replicating components or modules. Such modules interact with each other allowing to make decisions about the system state, and for that reason both the redundancy mechanisms and interactions between modules need to be validated to ensure correct redundancy management. The usage of a co-simulation environment that can replicate all the modules and communications between them allows to validate interactions before deployment, since it is not bound to any hardware resource. Additionally, the adoption of co-simulation allows for faster development while assisting on problem detection early on the development cycle, avoiding possible late design problems. The usage of simulation also enables early system reliability evaluations, ensuring that reliability metrics are fulfilled throughout the development cycle and preventing design reiterations later on the development cycle. Although these are great advantages, it brings a simulation challenge since most full development board simulators do not contemplate such redundancy scenarios on their tools. The aim of this dissertation is to assist reliable system development by adopting a simulation approach and extending simulator functionalities to cover the redundancy use case. Using QEMU (Quick Emulator) as the simulation tool to emulate system behaviour, three extensions were conceptualized and developed to cover features to allow for both correct redundant system validation and reliability estimations, supported by fault injection, through simulation. The resulting simulation environment assisted the development of a case study that fits under the Steer by Wire concept. The developed system resulted in a fault tolerant configuration with homogeneous redundancy characteristics. From the usage of the extensions, the resulting system software could be validated for both its algorithms and redundancy management before any hardware deployment, and it allowed for an early time to failure estimation during the design phase.
Sistemas altamente confiáveis asseguram uma baixa probabilidade de falha por meio de redundância, a qual garante a funcionalidade do sistema replicando componentes ou módulos. Estes módulos interagem entre eles, tomando decisões sobre o estado do sistema e, por esse motivo, tanto os mecanismos de redundância como as interações entre módulos devem ser validados para garantir a gestão correta de redundância. A utilização de um ambiente de co-simulação que consegue replicar todos os módulos e a comunicação entre eles permite validar tais interações antes do deployment, pois não está pendente de nenhum recurso de hardware. Além disso, a adoção da co-simulação permite um desenvolvimento mais rápido ao mesmo tempo em que, regra geral, auxilia na detecção de problemas no início do ciclo de desenvolvimento, evitando possíveis problemas que se manifestam tarde no ciclo de desenvolvimento. O uso de simulação também habilita estimações de confiabilidade do sistema, garantindo que as métricas de confiabilidade sejam cumpridas ao longo do ciclo de desenvolvimento e prevenindo reiterações tardias. Embora essas sejam grandes vantagens, elas acarretam um desafio de simulação, uma vez que a maioria dos simuladores não contemplam cenários de redundância. O objetivo desta dissertação é auxiliar no desenvolvimento de sistemas confiáveis, adotando uma abordagem de simulação e estendendo as funcionalidades do simulador para cobrir o caso de uso de redundância. Usando QEMU (Quick Emulator) para emular o comportamento do sistema, três extensões foram conceptualizadas e desenvolvidas para permitir a validação correta de sistemas redundante e estimativas de confiabilidade por meio de simulação. O ambiente de simulação resultante auxiliou no desenvolvimento de um estudo de caso que se encaixa no conceito Steer by Wire. O sistema desenvolvido resultou numa configuração tolerante a falhas com características de redundância homogênea. A partir do uso das extensões, o software do sistema resultante pôde ser validado antes de qualquer implantação de hardware e permitiu ober uma estimativa do tempo antes da falha do sistema.
TipoDissertação de mestrado
DescriçãoDissertação de mestrado em Engenharia Eletrónica Industrial e Computadores (área de especialização em Sistemas Embebidos e Computadores)
URIhttps://hdl.handle.net/1822/74434
AcessoAcesso aberto
Aparece nas coleções:BUM - Dissertações de Mestrado
DEI - Dissertações de mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Rui Jorge Mendes Almeida.pdfDissertação de mestrado7,88 MBAdobe PDFVer/Abrir

Este trabalho está licenciado sob uma Licença Creative Commons Creative Commons

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID