Uma Estratégia Baseada em Modelos para Desenvolvimento de Aplicações para Redes de Sensores e Atuadores Sem Fio
Redes de Sensores e Atuadores Sem Fio; MDA; PSM; DSL; Modelos.
Redes de Sensores e Atuadores sem Fio (RSASF) são um dos principais componentes de Sistemas de Computação Ubíqua e possuem aplicações em diferentes domínios do conhecimento humano. Devido à complexidade de programar para este tipo de rede é necessário que especialistas de domínio conheçam especificidades das plataformas de sensores disponíveis, aumentando a curva de aprendizado para o desenvolvimento de aplicações. Neste trabalho, é proposta uma abordagem de Desenvolvimento Dirigido a Modelos, mais especificamente, baseada em Arquitetura Dirigida a Modelos (MDA, do inglês Model-Driven Architecture), para o desenvolvimento de aplicações para RSASF. A abordagem proposta visa facilitar a tarefa dos desenvolvedores, através de: (i) uma linguagem específica de domínio para RSASF; (ii) um processo para o desenvolvimento de aplicações para RSASF; e (iii) uma infraestrutura de software composta de artefatos MDA (PIM, PSM e transformações) para dar suporte a este processo. Esta abordagem permite a contribuição direta dos especialistas de domínio no desenvolvimento de aplicações de RSASF, sem a necessidade de conhecimento específico de programação em plataformas de RSASF e, ao mesmo tempo, permite que especialistas em redes foquem nas características específicas da sua área de especialidade sem a necessidade de conhecimento do domínio da aplicação. Além disso, a abordagem proposta tem como objetivo permitir que os desenvolvedores possam expressar e validar, em tempo de projeto, os requisitos funcionais e não funcionais da aplicação e promover o reuso dos artefatos de software desenvolvidos. Dessa forma, propõe-se nesse trabalho uma abordagem que compreende todas as etapas de desenvolvimento para RSASF para cenários atuais e emergentes através da infraestrutura MDA que promove reuso dos artefatos desenvolvidos, gera código para diversas plataformas e oferece recursos para avaliação de requisitos não funcionais em tempo de projeto. Por fim, foram realizadas avaliações preliminares através da: (i) execução de um experimento controlado que testou abordagem proposta em relação aos métodos tradicionais para o desenvolvimento de aplicações para RSASF, (ii) análises comparativas entre a DSL utilizada e outras existentes na literatura e, (iii) uma prova de conceito que demonstra o processo de desenvolvimento de aplicações para RSASF utilizando as ferramentas de análise em tempo de projeto.