• Nenhum resultado encontrado

Frameworks Aplicadas a WSNs

No documento Framework generativa para edge devices (páginas 39-43)

2.2 Framework

2.2.1 Frameworks Aplicadas a WSNs

Nesta secção são apresentadas duas abordagens diferentes de frameworks para desenvolvimento de aplicações para WSNs, propostas por outros autores.

A Domain-Specific Modeling for Dynamically Reconfigurable Environ- mental Sensing Applications

Fajar et al. [1], em 2012, referem que a importância da reconfiguração nas WSNs tem levado muitos investigadores a desenvolver diferentes formas para redução dos custos na manutenção do software dos nós sensores. Contudo, a falta de utilização de metodologias de engenharia de software em estudos anteriores, pode causar muito esforço quando se pretende introduzir novas funcionalidades.

Foi proposto um modelo com alto nível de abstração que suporta a reconfi- guração de aplicações de monitorização ambiental, permitindo aos programadores projetar as suas aplicações de forma flexível e reutilizável. O modelo proposto au- menta a produtividade em 6 a 8 vezes, comparado com a programação manual (sem suporte de uma framework).

Os autores basearam-se na metodologia de engenharia Domain-Specific Mo-

del (DSM) para solucionar o problema apresentado. Pois, segundo eles a utilização

de DSM permite um alto nível de abstração da plataforma alvo, possibilitando a programação de WSN por pessoas que tenham pouca ou nenhuma experiência na programação deste tipo de dispositivos.

Figura 2.4: Arquitetura básica da DSM [1]

Na figura 2.4 está presente a arquitetura de uma DSM, onde os programado- res modelam como pretendem o funcionamento do sistema numa linguagem mais intuitiva, neste caso linguagem gráfica. Depois de terminarem toda a definição da aplicação na linguagem gráfica, é executado um gerador que emite o código para a plataforma alvo.

Para separação de conceitos, os autores resolveram dividir o modelo em três níveis de abstração: nível lógico, nível físico e nível de alocação de tarefas. Na figura 2.5 é visível um exemplo onde se verifica essa divisão.

O nível lógico fornece os componentes necessários para modelação de tarefas básicas, tais como, amostragem de sensores e envio/receção de dados. Para além disso, também disponibiliza mecanismos que permitem definir a relação entre si. O nível físico é onde são definidos os componentes físicos necessários para execução das funções definidas no nível lógico. E por último, o nível de alocação de tarefas, permite

associar as tarefas implementadas no nível lógico aos elementos implementados no nível físico.

Como plataforma alvo os autores optaram pelo sistema operativo tinyOS [15] programado a partir de nesC [16].

Figura 2.5: Exemplo demonstrativo da divisão do modelo em níveis [1]

An Extended Framework for the Development of WSN Applications

Pomante et al. [2], em 2010, afirmaram que a perceção do comportamento real de uma aplicação antes da sua implementação, permite aos engenheiros reduzir o tempo e custo de desenvolvimento. Esta afirmação aplica-se também ao desenvolvimento de

WSNs, cuja evolução depende fortemente do número de nós na sua configuração e na quantidade de tráfego. O qual, implica a necessidade de metodologias e ferramentas que assegurem que o produto final satisfaça as especificações e reduzam o tempo de desenvolvimento.

Assim, é sugerida uma framework na qual os designers podem criar componentes em qualquer nível da pilha de protocolo do modelo OSI, simular o funcionamento num dispositivo host, ajustar os parâmetros ideais e, no final, gerar automaticamente o código para a plataforma alvo.

A framework é baseada na ferramenta simulink [17] da Mathworks [18], e permite modelar aplicações para WSNs a partir de gráficos de estados e diagramas de blocos. Após a modelação é possível fazer verificações funcionais, verificação hardware-in-the-

loop e gerar automaticamente código para a plataforma alvo. Contudo, a ferramenta simulink é do tipo time-driven, isto significa que lida com simulações periódicas. En-

quanto que as WSNs são do tipo event-based, uma vez que, normalmente, os pacotes são enviados de forma assíncrona, pois dependem da ocorrência de eventos externos, das condições de trafego, do roteamento, entre outras causas. Para colmatar esse problema, os autores optaram por utilizar a biblioteca SimEvents [19] para simulink, que permite a simulação discreta de modelos do tipo event-based.

A solução de framework proposta, permite a geração automática de código para diferentes plataformas de nós sensores e diferentes sistemas operativos. Esta fornece extensões sobre a forma de blocos de bibliotecas, que podem ser reutilizados para desenvolver qualquer aplicação de WSN, podendo modelar com esses blocos o comportamento da mesma.

Na figura 2.6 está presente a interface de modelação de uma WSN na framework proposta pelos autores. Nesta figura estão presentes duas janelas, (a) e (b).

Em (a) está presente o modelo Top-level, onde é visível a criação de uma WSN com 5 nós, cada um representado pelo seu bloco. O bloco Shared Buffer, que simula o meio de comunicação entre os nós pertencente à WSN. O bloco plots, que é utilizado para apresentar dados de simulação em gráficos ou outro tipo de ferramenta disponi- bilizada pela MathWorks. E os blocos de configuração de parâmetros, que permitem definir parâmetros, tais como: Transmission Bit Rate e Packet Error Rate.

Em (b) é mostrado o interior de um bloco de nó sensor. Este é constituído por um bloco Packed Builder Subsystem, um bloco Packed Splitter Subsystem e um bloco Channel Subsystem, entre outros blocos de apoio. O bloco principal é o bloco

alvo.

Segundo os autores, a vantagem de usar a framework desenvolvida por eles, em oposição à escrita manual de código para aplicações em WSNs, é que uma vez modelado e simulado o comportamento, o código pode ser gerado automaticamente e a aplicação executará na plataforma alvo em poucos minutos.

Figura 2.6: Modelo Top-level e bloco de um nó [2]

No documento Framework generativa para edge devices (páginas 39-43)

Documentos relacionados