Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/74434
Título: | Reliable 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-chave: | Reliability design and estimation Co-simulation QEMU Redundancy Co-simulação Design e estimação de confiabilidade Redundância |
Data: | 2020 |
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. |
Tipo: | Dissertação de mestrado |
Descrição: | Dissertação de mestrado em Engenharia Eletrónica Industrial e Computadores (área de especialização em Sistemas Embebidos e Computadores) |
URI: | https://hdl.handle.net/1822/74434 |
Acesso: | Acesso aberto |
Aparece nas coleções: | BUM - Dissertações de Mestrado DEI - Dissertações de mestrado |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Rui Jorge Mendes Almeida.pdf | Dissertação de mestrado | 7,88 MB | Adobe PDF | Ver/Abrir |
Este trabalho está licenciado sob uma Licença Creative Commons