Usando MDA e MDT para modelagem e geração automática de arquiteturas de teste para sistemas de tempo real. - ALVES, Everton Leandro Galdino. (2011)
As atividades de projeto e teste de sistemas de tempo real (STR) na atualidade ainda são extremamente desafiadoras, sendo a qualidade das mesmas diretamente proporcionais ao quão experientes são seus respectivos projetistas e testadores. Isto de deve ao fato desta classe de sistemas computacionais possuir um conjunto de características diferenciadas (e.g. restrições de tempo e manipulação de interrupções) que aumentam a complexidade em desenvolvê-los. Abordagens como Model-Driven Architecture (MDA) e Model-Driven Testing (MDT) têm procurado trazer os modelos ao centro dos processos de desenvolvimento e de teste, respectivamente, com o intuito de gerar automaticamente artefatos de software em diferentes níveis de abstração (e.g. código e casos de teste). Porém, diversas lacunas ainda impedem que estas promissoras abordagens também possam ser usadas em sua plenitude no contexto dos sistemas de tempo real. Desta forma, este trabalho objetiva fornecer o embasamento necessário para permitir o uso destas abordagens neste contexto. Para tal, este trabalho apresenta os seguintes resultados: i) um conjunto de diretrizes para modelagem de STR usando UML, construído a fim de ajudar projetistas inexperientes a desenvolver mais facilmente modelos de STRs mais expressivos; ii) um conjunto de extensões ao perfil de testes da UML (UTP), com o intuito de dotá-lo com os mecanismos necessários para a construção de arquiteturas de teste para STRs no nível independente de plataforma; iii) um mapeamento informal dos elementos do perfil de testes estendido para uma plataforma específica para STRs (linguagem C para o FreeRTOS); iv) um auxílio ferramental para proporcionar a geração automática das arquiteturas de teste nos níveis independente e específico de plataforma. Para avaliar os resultados obtidos, estudos de caso foram aplicados, tanto para o conjunto de diretrizes de modelagem, quanto para as extensões/mapeamento.