SaSML : a UML based domain specific modeling language for self adaptive systems conceptual modeling - Silva, João Pablo Silva da (2018)
Sistemas Autoadaptativos (SAs) podem decidir autonomamente como adaptar seu comportamento em tempo de execução em resposta às mudanças contextuais. Eles operam em condições de incerteza e possuem propriedades intrínsecas que impõem alguns desafios para a engenharia de software. Neste trabalho, abordamos questões relacionadas à modelagem conceitual de SAs, a qual é desafiadora porque é preciso lidar com incerteza de requisitos, mudanças contextuais e possibilidades comportamentais. Modelagem conceitual é o ato de criar modelos que descrevem problemas independentemente da solução para fins de entendimento e comunicação. Unified Modeling Language (UML) é uma Linguagem de Modelagem de Propósito Geral (LMPG) gráfica que suporta a modelagem conceitual através dos diagramas de classe. Uma vez que a UML é uma LMPG, ela não tem primitivas customizadas para modelar SAs, logo, a qualidade do modelo se torna dependente das competências e habilidades dos engenheiros de software, o que não é uma boa prática de engenharia de software. Essa complexidade pode ser minimizada com Linguagens de Modelagem de Domínio Específico (LMDEs), as quais podem ser criadas estendendo a UML. Nossa investigação da literatura revelou que a UML tem sido estendida para SAs, no entanto, as abstrações de alto nível relacionadas aos SAs não tem sido plenamente cobertas. Nós propomos neste trabalho uma LMDE baseada em UML chamada SaSML que introduz um novo elemento de modelagem chamado Adaptive Bahavior. O Adaptive Behavior é um empacotador que encapsula um esquema de modelagem, expondo somente o que precisa ser definido em tempo de modelagem. O esquema de modelagem aplica um conjunto de padrões de projeto para captura as abstrações de alto nível relacionadas ao domínio de SAs. Este trabalho foi realizado estabelecendo a fundamentação teórica e tecnológica, investigando o estado da arte de LMDE baseadas em UML para SAs, definindo o esquema de modelagem para SAs, especificando a sintaxe, semântica e pragmática do Adaptive Behavior e avaliando a SaSML através de técnicas empíricas. Os resultados evidenciaram que o Adaptive Behavior suporta a modelagem conceitual de SAs e sintetiza o esquema de modelagem de SAs sem perder expressividade. Portanto, concluímos que a SaSML contribui para a qualidade de modelos conceituais de SAs.