LWiSSy: Uma Linguagem Específica de Domínio Para Modelagem de Sistemas de Redes de Sensores Sem Fio
Redes de Sensores Sem Fio, LWiSSy, DSL, OCL
As Redes de Sensores Sem Fio (RSSF) vem emergindo rapidamente e tem atraído o interesse da comunidade de pesquisa e da indústria, graças a vários fatores, dentre eles a aplicabilidade desse tipo de rede nos mais diversos domínios (aviação, engenharia civil, medicina, dentre outros). Além disso, avanços na comunicação sem fio e miniaturização dos componentes de hardware também contribuíram para a rápida proliferação dessas redes. Apesar disso, ainda existem alguns desafios a serem transpostos a fim de se atingir o pleno potencial de utilização das RSSF. Dentre estes, o desenvolvimento de aplicações de RSSF aparece como um dos mais relevantes atualmente, haja vista a quantidade de variáveis envolvidas no processo de desenvolvimento. Atualmente, uma vasta gama de plataformas de RSSF e diversas linguagens de programação de baixo nível podem ser empregadas no desenvolvimento de aplicações para RSSF. Dessa forma, é necessário que o desenvolvedor possua tanto conhecimento de baixo nível relativo à plataforma da RSSF, quanto conhecimento específico do domínio da aplicação. A fim de efetuar o desacoplamento da utilização destes conhecimentos durante o processo de desenvolvimento, de forma a facilitar tal processo, este trabalho propõe uma linguagem para modelagem de sistemas para RSSF baseada no uso de DSLs (Domain Specific Language) chamada LWiSSY (Domain Language for Wireless Sensor Networks Systems). As DSLs, pelo fato de aumentarem o nível de abstração da programação e modularizarem a construção de aplicações em várias etapas, permitirão que ambos os especialistas envolvidos (domínio e redes) possam contribuir diretamente, de maneira mais desacoplada do que ocorre atualmente, durante o desenvolvimento da aplicação. Apesar disso, as DSLs não possuem nenhum tipo de tratamento de restrição nativo e por isso, não há nenhum tipo de pós e/ou pré-condições definidas. De modo a permitir a inserção de restrições, aumentando assim o poder de expressividade das DSLs, este trabalho propõe a utilização de OCL durante a definição das DSLs. A inserção de OCL evitará que as DSLs que compõem a linguagem possuam interpretações ambíguas.