Técnica baseada em contratos para a validação da comunicação de alto nível entre software e hardware
O uso de sistemas eletrônicos embarcados em um amplo espectro de aplicações aumentou substancialmente. Telefones celulares, computadores de bordo, dispositivos IoT e sistemas ciber-físicos são alguns exemplos em que sistemas embarcados exigem mais flexibilidade para o processamento de diferentes tipos de aplicações e protocolos de comunicação. A necessidade desta flexibilidade elevada requer o uso de processadores de propósito geral como uma solução para configurar e controlar uma quantidade crescente de periféricos. No entanto, isso também implica uma necessidade crescente do uso de software dependente de hardware (HdS). Uma vez que HdS é um componente altamente crítico e propenso a erros devido à natureza do ambiente no qual está inserido e a sua difícil codificação, é importante que as fases de desenvolvimento e de operação destes componentes sejam suportadas por metodologias que tornem mais explícitas violações de acessos a dispositivos através do acompanhamento de de garantias e suposições especificadas em contratos definidos com base na especificação dos protocolos de comunicação de alto nível entre processadores e estes dispositivos. Assim, esta abordagem propõe uma técnica Built-in Self Test(BIST) fundamentada na formalização destes contratos e da validação em tempo de execução de propriedades temporais de protocolos de comunicação de alto nível entre os dispositivos e seus device drivers, as quais compões tais contratos e são comumente especificadas com base em uma documentação informal (datasheets), durante a simulação de plataformas virtuais ou execução de plataformas de hardware real. Para tornar essa técnica viável juntamente com metodologias consolidadas, uma linguagem específica foi desenvolvida para suportar a sua utilização como uma melhoria de modelos baseados na plataforma, permitindo um refinamento incremental do protocolo de comunicação e das especificações das propriedades temporais juntamente com o refinamento da plataforma. Alguns experimentos usando um dispositivo DM9000A Ethernet mostraram que esta abordagem é eficaz na detecção de erros que provocam falhas críticas indesejada em HdS, consumindo pouco tempo de projeto e impactando pouco ou, para plataformas de hardware real, sem impacto algum no tempo de execução.
Engenharia da computação, Sistemas embarcados
Networked Digital Library of Theses and Dissertations