Scen@rist: an approach for verifying self-adaptive systems using runtime scenarios - Lima, Romulo Gadelha De Moura (2021)
Sistemas autoadaptativos são capazes de modificar seu comportamento e/ou estrutura em tempo de execução em resposta a requisitos em evolução, condições ambientais variáveis ou falhas no sistema. Apesar das frequentes mudanças, espera-se que tais sistemas cumpram, ao longo de seus ciclos de vida, com rigorosos requisitos funcionais e de qualidade de serviço (QoS - Quality of Service). Estudos recentes têm defendido o uso de técnicas de Verificação Quantitativa em Tempo de Execução como forma de adicionar capacidades autoadaptativas em sistemas de software e verificar continuamente a conformidade com seus requisitos de qualidade de serviço. Essas técnicas de verificação normalmente fazem uso de modelos de Máquinas de Estados Finitos (FSMs Finite State Machines) para descrever o comportamento de um sistema e verificar a violação de propriedades. No entanto, esses modelos geralmente possuem granularidade muito fina para representar uma visão precisa de um sistema de software por seus stakeholders. Nesse contexto, cenários surgiram como uma forma complementar de representar o comportamento de sistemas. Em comparação com modelos de FSMs, cenários estão em um nível mais alto de abstração e, consequentemente, são mais fáceis de construir. No entanto, o uso de cenários como entidades de tempo de execução ainda é um desafio, visto que muitos tópicos de pesquisa sobre seus usos permanecem em aberto. Este trabalho propõe Scen@rist, uma abordagem que utiliza cenários como entidades de tempo de execução para verificar sistemas autoadaptativos. A abordagem explora uma combinação de cenários como especificações "front-end" e modelos de Máquinas de Estados Finitos como especificações "back-end". A abordagem consiste em anotar uma especificação de cenários com probabilidades de transições entre cenários e usar um modelo baseado em estados sintetizado a partir da especificação de cenário como entrada para a verificação automática de propriedades de alcançabilidade. A aplicabilidade da ferramenta proposta foi demonstrada por dois sistemas autoadaptativos baseados em serviços retirados da literatura.