PEACE: A Process For Discovering And Managing Self-Adaptive Defiant Components - Chagas, Matheus Lima (2022)
Alguns desafios na engenharia de software podem não ser enfrentados simplesmente criando um sistema totalmente novo para abordar o problema. Em vez disso, pode ser necessário reutilizar alguns sistemas legados, que não foram desenvolvidos intencionalmente para atingir esse objetivo. Além disso, alguns objetivos podem não ser alcançados por alguns sistemas legados por conta própria. Nesse caso, a criação de um sistema-de-sistemas (SoS), um conjunto de componentes que individualmente são considerados sistemas ou subsistemas, pode ser apontada como uma solução. Além disso, também pode ser necessário lidar com requisitos de qualidade específicos, e isso pode resultar em uma criação de SoS auto-adaptativa, tornando o SoS capaz de modificar seu comportamento e estrutura em resposta à sua percepção do ambiente, de si mesmo e de seus objetivos. Os componentes de software participantes, no entanto, foram projetados para satisfazer requisitos predefinidos por meio de especificações predefinidas e, não necessariamente, pretendem alterar seu comportamento durante a execução ou para oferecer suporte a alguns requisitos de sistemas-de-sistemas. Esses componentes são chamados de componentes resistentes. Primeiramente, foi proposta uma solução para esse problema: a adaptação cautelosa, que ajusta o comportamento dos componentes resistentes temporariamente, restaurando seu comportamento original após o término do cenário de conflito. No entanto, o problema do componente resistente não poderia ocorrer exclusivamente dentro de um domínio específico de um sistema-de-sistemas nem com tipos exclusivos de sistemas, portanto é possível verificar ocorrências para as quais algumas soluções de auto-adaptação podem ser mais adequadas do que outras. Portanto, este trabalho apresenta o PEACE, um processo para lidar com componentes resistentes. Ele descreve uma abordagem genérica que considera a existência heterogênea de componentes resistentes em diferentes domínios. Além disso, reúne conceitos e diretrizes para a construção de uma estratégia de adaptação cautelosa. Primeiramente, é discutido como ocorre o problema dos componentes desafiadores. Em seguida, o problema é explorado a fim de encontrar suas propriedades e auxiliar na construção da solução de adaptação cautelosa. As informações dessas propriedades e atividades relacionadas a construção da solução do problema no processo são organizadas em fases de acordo com o nível de abstração e de acordo com a separação de responsabilidades. Por fim, é demonstrado o uso do PEACE em dois domínios diferentes, fazendo a prova de conceito de que seu uso é viável para lidar com diferentes problemas de componentes resistentes.