• Nenhum resultado encontrado

5. Avaliação

5.1. Análise da DSL Intermediária Proposta

5.1.2. Cenários de mudança

Nesta subseção são discutidos quatro cenários de mudanças (denotados por

SC), os quais representam situações típicas em ambientes de RSASF, sendo

elas: (i) mudança do protocolo de comunicação adotado na rede; (ii) mudança dos requisitos da aplicação; (iii) desenvolvimento de uma nova aplicação para a

93

mesma plataforma de RSASF; e (iv) execução da aplicação em uma plataforma de RSASF diferente.

SC1. Mudança de protocolos de nível de rede. Há diversos protocolos

especificamente projetados para RSSF [LEVIS, 2006], cada um mais adequado para diferentes topologias e atendendo diferentes requisitos de QoS. Uma mudança de topologia da rede ou da densidade dos nós instalados pode demandar a escolha de um novo protocolo para executar nos sensores. Utilizando a presente proposta, caso haja a necessidade de alteração do protocolo de rede usado, o especialista de redes teria que realizar mudanças no modelo PSM da aplicação gerado, durante a atividade “Refinar Modelo”. Para mudar o protocolo faz-se necessária uma atualização no PSM que foi gerado automaticamente pelo processo MDA. Esta atualização é composta de três fases: a primeira é a remoção dos métodos, responsáveis pelo protocolo de rede, que estão declarados, mas que não serão mais utilizados; a segunda é a adição de novos métodos que implementam o novo protocolo necessário; e a terceira, é refazer o construtor da classe atualizando o fluxo do programa.

É importante observar que todos os aspectos relacionados ao domínio ficam totalmente transparentes ao especialista de redes no momento da troca de protocolo, fazendo com que todas as mudanças realizadas neste nível sejam claramente separadas da modelagem feita pelo especialista de domínio.

SC2. Mudança dos requisitos da aplicação. Em caso de mudanças nos

requisitos da aplicação, serão necessárias mudanças ao nível do modelo PIM, realizadas pelo especialista de domínio. Um caso típico de mudança consiste nos requisitos de QoS da aplicação. Supondo a aplicação de SHM, se ao longo do monitoramento e análise de dados for detectada uma situação de dano potencial em uma estrutura, passa a ser mais relevante ter uma resposta rápida da rede em vez de aumentar seu tempo de vida. Tal requisito pode ser traduzido para uma alteração na política de energia e na taxa de envio de dados. Para alterar a política de energia tudo que o especialista de domínio

94

precisa fazer é modificar o valor do ciclo de trabalho do elemento

RadioConfigUnit. Para mudar a taxa de envio de dados, o especialista de

domínio terá apenas que alterar o valor do temporizador TimerUnit que controla o tempo de espera antes de cada envio de dados. Desta, forma a transformação M2M irá gerar o modelo PSM utilizando as configurações que condizem com a escolha do especialista. Todas estas alterações podem ser efetuadas sem a participação do especialista de redes.

SC3. Nova aplicação. Este cenário ilustra o reuso obtidos dos artefatos em

nível de plataforma quando uma nova aplicação é modelada em uma plataforma que é especifica na infraestrutura MDA utilizada. Uma aplicação pertencente ao domínio de monitoramento de desastres ambientais, especificamente de detecção de queimadas é considerada neste cenário. Em [FARIAS, 2005] é descrita uma aplicação para monitorar queimadas baseada no uso de 50 sensores. Resumidamente, os sensores são divididos em dois grupos: no primeiro, com 49 sensores, os nós foram distribuídos pela floresta a fim de coletar os dados e enviá-los para o sorvedouro; no segundo grupo um nó, o sorvedouro, recebe os dados enviados pelos nós sensores e envia-os para um computador externo através de uma conexão USB. Para esta aplicação (Figura 5-2), foram criadas duas regiões representando a área sensoreada e a área ocupada pelo nó sink, respectivamente. Para a área sensoreada, região sensing, um grupo de nós (sensingForest) foi modelado, contendo um componente

Behaviour chamado collectData e que é responsável pela coleta de dados sobre a

temperatura local e o envio destes ao nó sink. Já na segunda região, sink, o grupo de nós antenna foi modelado, o qual é composto pelo componente

antennaBehaviour. Este componente tem como tarefa receber os dados

coletados pelos nós sensores e enviá-los para um computador externo a rede. Além disso, caso uma queimada seja detectada na floresta, ele disparará um alerta

Com a aplicação modelada com a DSL, o especialista em redes efetua a atividade “Escolher Plataforma” e usa a infraestrutura MDA para fazer a

95

transformação M2M e gerar um modelo específico desta aplicação na plataforma escolhida (Sun SPOT). Por último, seriam realizados os refinamentos tanto no modelo específico de plataforma quanto no código gerado após a transformação M2T.

Figura 5-2 Modelagem da aplicação Burning Forest com a DSL intermediária.

Desta forma é possível perceber que com o ciclo de desenvolvimento de sistemas para RSASF utilizado é possível modelar outras aplicações, de diversos domínios, usando a mesma infraestrutura e reusando todos os artefatos reutilizáveis da infraestrutura MDA (DSL, PSMs, transformações M2M e transformações M2T).

96

SC4. Mudança da plataforma de RSASF. Em um cenário típico do

ambiente RSASF, uma mesma aplicação posteriormente necessita ser executada em outra plataforma. Sem a utilização do ciclo de desenvolvimento e da infraestrutura propostos em [RODRIGUES, 2011], o código completo da aplicação precisaria ser reescrito a partir do zero. Ao utilizar tal ciclo de desenvolvimento exige-se, apenas, a construção das transformações M2M e M2T de acordo com a plataforma requerida. Após a realização destas atividades, as únicas etapas exigidas para se reusar a especificação da aplicação para essa nova plataforma são: selecionar a transformação M2M que transforma modelos da DSL para a plataforma desejada a fim de gerar um modelo de aplicação, realizando qualquer refinamento exigido no modelo gerado e, em seguida, aplicar a transformação M2T correspondente (e refinar o código gerado).

5.2. LWiSSy

Inicialmente, uma análise comparativa entre LWiSSy e as DSLs propostas por [LOSILLA, 2007] e por [SHIMIZU, 2011] foi efetuada a fim de determinar o poder de expressividade das três DSLs com relação à capacidade de otimização (refinamento), separação de interesses (diferentes perfis de desenvolvedor envolvidos), modelagem comportamental e estrutural do sistema, e programação da rede considerando diferentes níveis de granularidade. Logo após, um experimento controlado foi conduzido para analisar o impacto da utilização de LWiSSy com relação à eficácia da linguagem em facilitar a compreensão e manutenção de sistemas de RSASF.

Documentos relacionados