| Sumario: | Esta tese aborda o desenvolvimento de software adaptativo, capaz de modificar o seu comportamento dinamicamente em resposta a variações detectadas em seu ambiente de execução. A demanda por software adaptativo tem sido impulsionada por recentes avanços nas áreas de computação distribuída, móvel e ubíqua caracterizadas por um ambiente de execução com um alto grau de dinamismo. O desenvolvimento de aplicações adaptativas é bastante complexo. Os desenvolvedores devem levar em consideração diversas questões além da implementação do comportamento funcional da aplicação. Estas questões incluem a escolha de quais elementos do ambiente de execução devem ser monitorados, como realizar este monitoramento, que ações de adaptação devem ser realizadas e quando elas devem ser executadas. A complexidade inerente ao processo de desenvolvimento de aplicações distribuídas adaptativas é abordada através da proposição de um modelo para construção desta classe de aplicações. Tendo por base este modelo, foi implementado um arcabouço que simplifica o processo de desenvovimento, disponibilizando ferramentas para a monitoração do ambiente de execução, detecção de mudanças no mesmo e reconfiguração dos componentes da aplicação. Descreve-se o modelo e a implementação do arcabouço, bem como resultados experimentais obtidos através da construção de uma aplicação distribuída adaptativa para a disseminação de informações a clientes móveis. Os resultados dos testes reforçam a aplicabilidade do arcabouço, além de evidenciar a importância de levarmos em consideração a análise das interações entre os componentes da aplicação como forma de identificar a necessidade de reconfiguração da mesma
|