Uma abordagem para avaliar a expressividade de gramáticas de linguagens específicas de domínio: um estudo de caso com SQL. - ALVES, Géssica Monique da Silva. (2022)
Domain-Specific Languages (DSLs) são definidas como linguagens projetadas com foco em um domínio de problema específico. Atualmente, existe uma grande variedade de DSLs, como HTML para páginas web, XML para codificação de dados, SQL para consultas de bancos de dados, Latex, Mathematica, Verilog, entre outras. DSLs são capazes de contribuir em ganhos substanciais relacionados à abstração, compreensão e criação de simples notações no desenvolvimento de artefatos de software. Além disso, no trabalho de desenvolvedores, DSLs estão sendo amplamente utilizadas na resolução de problemas, em virtude de possuírem conceitos e termos que lhes são familiares. No entanto, a avaliação de DSLs sob características que afetam a capacidade de escrita em uma linguagem, como por exemplo, sua expressividade, ainda é uma área insuficientemente investigada e pouco apresentada em trabalhos. Por outro lado, quando essas avaliações são propostas, são utilizadas abordagens direcionadas especificamente para as linguagens em estudo, ou seja, não mostram uma análise baseada em métricas que possam validar qualquer tipo de DSL. Considerando esse problema, o presente estudo teve como objetivo desenvolver uma abordagem mediante um estudo de caso com SQL para avaliações de DSLs baseada em suas gramáticas, através da propositura e a aplicação de métricas quantitativas relacionadas à característica de expressividade. Os resultados do estudo apontam que o ganho de expressividade foi observada especialmente pelo aumento significativo 160 novos terminais na versão de SQL de 1999. Estes novos terminais estão relacionados à categorias como tipos de dados, comandos, expressões e exceções que foram adicionados à linguagem. Este trabalho pode ajudar pessoas interessadas na área de DSLs e linguagens em geral, para avaliação de qualidade de expressividade da sua linguagem em estudo, sob uma nova visão que toma como base a análise das gramáticas que são desenvolvidas.