Abordagem para especificação das ocorrências de características transversais em software embarcado - Oliveira, Rodrigo Souza Cavalcanti de (2020)
A engenharia de software embarcado vem evoluindo rapidamente ao longo dos últimos anos, em especial para lidar com o aumento da complexidade associada a grande quantidade de requisitos funcionais e, características transversais associadas aos requisitos não-funcionais. O processo de identificar e especificar a seleção de pontos onde as características transversais devem ser tratadas vem sendo amplamente discutido desde meados dos anos 90, especialmente no contexto do Aspect-Oriented Software Development (AOSD). No entanto, a compreensão de tais especificações é muitas vezes difícil, pois a sintaxe e a semântica das linguagens utilizadas, principalmente as linguagens visuais, não permitem intuir facilmente o significado dos símbolos usados. Tal situação produz artefatos difíceis de compreender e manter. Portanto, o processo de localizar, identificar, e especificar os pontos onde as características transversais devem ser tratadas é chave no projeto de software embarcado, pois pode levar a problemas no desenvolvimento e, principalmente, na integração dos componentes do software do sistema. A presente dissertação de mestrado propõe uma técnica de modelagem gráfica de especificação de seleção de Pontos de Ocorrências de Características Transversais (POCT) para sistemas embarcados sob o nome de JSD (Join Point Specification Diagram). Foi realizada uma avaliação empírica com o objetivo de quantificar a compreensão da especificação de seleção de POCT de forma indireta através da avaliação dos efeitos cognitivos e das propriedades de percepção das notações. Foram avaliadas cinco notações, duas gráficas (JPDD e Theme/UML) e três textuais (AspectJ, Tracematch e AspectOCL), que foram usadas para especificar implícita e explicitamente a seleção de POCT (para 16 pontos distintos) em três projetos de software embarcados diferentes que representam aplicações reais no contexto de sistemas de automação. Este trabalho também apresenta a mesma avaliação para a abordagem proposta, a JSD, usando os mesmos projetos de software embarcado. O propósito da avaliação é verificar a capacidade de compreensão das especificações usando a técnica proposta através da avaliação dos efeitos cognitivos e das propriedades de percepção. Para tal, propõe-se um modelo de qualidade baseado no framework conceitual “Physics of Notation” (PoN). Foram usadas nove métricas para quantificar as propriedades perceptuais na especificação da seleção de POCT, sendo que algumas métricas foram criadas no contexto deste trabalho e outras representam conceitos dentro dos princípios do PoN. Os resultados dos experimentos mostram como as características de cada uma das notações impacta na compreensão das especificações criadas. Foram encontradas evidências empíricas de que a especificação gráfica das seleções dos POCT usando a JSD tem alta discriminação sobre a eficácia cognitiva das representações visuais (conforme o framework PoN) e, portanto, podemos concluir que o uso da JSD para especificar a seleção de POCT em sistemas embarcados é mais eficaz quanto a compreensão e interpretação de suas propriedades perceptivas (sintaxe) do que a JPDD e as outras técnicas avaliadas.