Introduzindo Gerenciamento Autonômico de Incidentes em Sistemas de Software Legados
Sistemas Legados, Computação Autonômica, Gerência de Incidentes
O projeto e desenvolvimento de sistemas de software autônomos vem sendo amplamente investigados principalmente a partir do manifesto disseminado pela IBM concomitantecom o advento da Computação Autonômica (Autonomic Computing). Sistemas de software autônomos (ou autonômicos) são aqueles capazes de adaptar os comportamentos existentes à demanda de novos requisitos e de resolver incidentes com a mínima intervenção humana. Porém, investigações de como incorporar as capacidades de adaptação e resolução autônoma de incidentes em sistemas existentes (legados), apesar de desejado, pouco foi investigado nos últimos anos. Permitir que sistemas de software legados se adaptem requer a identificação e incorporação de atuadores responsáveis pela adaptação do comportamento e dos sensores que medem a variação no estado dos comportamentos monitorados. Idealmente, a incorporação de atuadores e sensores deve ser realizada de um modo flexível, isto é, sem que o sistema de software tenha que ser projetado e implementado novamente. Para isso, neste artigo, propomos uma nova abordagem para o gerenciamento autônomo de incidentes em sistemas de software legados. Nossa abordagem é baseada em dois conceitos primordiais: (i) composição transversal dos sensores com o código existe pormeio de técnicas de composição invasiva; e (ii) adaptação do comportamento por meio de tecnologias de virtualização. Com isso, é possível incorporar em sistemas legados novos comportamentos autônomos de modo rápido e flexível. Apresentamos adicionalmente uma avaliação da aplicabilidade da nossa abordagem no Moodle, um sistema legado largamente utilizado na prática para a condução de cursos a distância.