Exploração multiobjetivo do espaço de projeto de sistemas embarcados de tempo-real não críticos - NOGUEIRA, Bruno Costa e Silva (2015)
Nos últimos anos, a indústria tem adotado sistemas embarcados com múltiplos e heterogêneos processadores como uma resposta viável à demanda por mais desempenho e baixa potência consumida. No entanto, programar, depurar, simular e otimizar arquiteturas heterogêneas são atividades complexas, e isso tem forçado as empresas a lidar com diversos novos desafios para aumentar a produtividade de seus projetistas. Um dos desafios proeminentes é disponibilizar métodos para que os projetistas possam eficientemente explorar o espaço de projeto. A exploração do espaço de projeto refere-se ao processo de explorar e avaliar diferentes decisões (opções) de projeto durante o desenvolvimento do sistema. Diversas abordagens têm sido propostas para resolver o problema de exploração, que é composto por duas questões complementares: (i) como representar e avaliar uma alternativa de projeto (modelos), e (ii) como percorrer o espaço de projeto (algoritmos), dado que a exploração exaustiva é usualmente inviável. Apesar da disponibilidade de métodos de exploração, as abordagens atuais possuem diversas restrições, principalmente, em relação ao tempo de avaliação e a exatidão dos modelos adotados para representar sistemas de tempo-real não críticos. Este trabalho apresenta um novo método de exploração do espaço de projeto para sistemas embarcados de tempo-real não críticos. O principal objetivo deste trabalho é prover meios para que o projetista possa escolher uma arquitetura composta por processadores heterogêneos e programáveis para uma dada aplicação de tempo-real não crítica, considerando diversas restrições conflitantes de projeto, como: probabilidades de violação de deadlines e potência consumida. O método adota uma abordagem centrada em simulação estocástica para evitar os problemas relacionados ao tempo de avaliação e exatidão dos métodos existentes. Dentre as contribuições do método proposto, destacam-se: (i) novos modelos de especificação para definir as restrições e os atributos da aplicação/plataforma de hardware, (ii) método automático de mapeamento dos modelos de especificação em modelos formais DEVS (Discrete Event System Specification) para simulação estocástica, (iii) novos algoritmos de exploração multiobjetivo, baseados em algoritmos genéticos, e (iv) uma biblioteca para dar suporte ao desenvolvimento de aplicações que executam em arquiteturas compostas por processadores heterogêneos e programáveis. Diversos experimentos foram conduzidos para demonstrar a viabilidade do método proposto. Os resultados mostram a boa exatidão dos modelos de desempenho desenvolvidos (erro máximo de 5%, em comparação a medições em um sistema real), e a eficiência do método proposto em encontrar soluções de boa qualidade para especificações que os métodos existentes têm dificuldade em explorar.