Geração de códigos de simulação para armazenamento de dados em redes de sensores sem fio
Resumo
Resumo: Esta tese apresenta um estudo sobre as dificuldades comuns encontradas pelos desenvolvedores de sistemas de armazenamento em ambientes de simulação de redes de sensores sem fio (RSSFs). Os atuais métodos de especificação e desenvolvimento não são adequados para lidar com os requisitos de dinamicidade das redes urbanas para apoiar o desenvolvimento de uma ampla variedade de aplicativos de sensoriamento de dados. Como resultado, é preciso propor novos métodos de especificação formal para aumentar a eficiência do desenvolvimento e da avaliação de sistemas. A validação dos serviços propostos geralmente envolve programá-los em um ambiente de simulação, dados os custos e as dificuldades de implantar redes tão grandes em ambientes reais. O objetivo desta tese é propor uma abordagem formal para auxiliar a especificação de códigos de simulação de sistemas de armazenamento de RSSFs urbanas em um modelo de componentes de software. A estratégia abordada nesta tese está na definição de uma linguagem de alto nível inspirada nas máquinas de estados. A linguagem permite especificar o fluxo de execução de coordenação e interação em um modelo de componentes. A primeira contribuição consiste em uma classificação para os modelos de armazenamento de dados em RSSFs e um estudo sobre estratégias para especificação formal de códigos de simulação. A segunda contribuição consiste na implementação do AQPM, um sistema de armazenamento urbano autônomo e escalável. A proposta da classificação e a experiência com o desenvolvimento do AQPM motivaram a terceira contribuição: a identificação de entidades e funcionalidades que são comuns a vários sistemas de armazenamento. Esta abordagem é um passo importante para determinar componentes reusáveis de software. Nesse sentido foi proposto o RCBM, um metamodelo que associa entidades a um conjunto de componentes que implementam as funcionalidades comuns aos modelos. O RCBM torna possível a reusabilidade de código, facilitando o desenvolvimento de novos modelos. Para avaliar o funcionamento do RCBM, foram realizados três estudos de caso, implementando os sistemas LCA (Baker e Ephremides, 1981), LEACH (Heinzelman et al., 2000) e MAX-MIN (Amis et al., 2000). Os resultados mostram que o percentual mínimo de reutilização de código usando o RCBM foi de 66 %. A quarta contribuição desta tese é um modelo de máquina de estados para especificar a coordenação do fluxo de execução de sistemas desenvolvidos com o modelo de componentes RCBM. Através de um estudo de caso e a sua codificação no simulador NS2, mostrou-se que há uma correspondência direta entre a máquina proposta e o programa desenvolvido. Resultados mostram que a correspondência entre o conceito e o código facilita o desenvolvimento do coordenador. Por fim, a quinta contribuição desta tese propõe a linguagem SLEDS, uma linguagem inspirada em máquina de estados para geração de código do fluxo de coordenação do modelo de componentes RCBM. É proposto um esquema de tradução dirigido pela sintaxe (de SLEDS para NS2). Experimentos mostram que SLEDS promove reutilização de código e desenvolvimento ágil para a especificação de sistemas em um passo em direção à um framework padrão de desenvolvimento. Abstract: This thesis aims to study common difficulties encountered by system developers in wireless sensor networks (WSNs) simulation environments. The current specification and development methods do not allow developers to deal with the dynamicity requirements of urban sensor networks for supporting a variety of applications that demand sensing data. As a result, it is hard to improve the efficiency of system development and evaluation. Validation of the proposed models usually involves programming them in a simulation environment, given the costs and difficulties of deploying such large networks in real settings. This thesis has the purpose to provide a formal approach to assist the specification of storage systems simulation codes in a component-based development framework. The strategy addressed in this thesis is the definition of a high-level language that closely resembles a state machine. The language allows specifying the coordination execution flow and interaction in a component-based model. The first contribution consists of a data storage taxonomy model for WSNs and a study of the strategies employed to the formal specification of simulation code. The second contribution consists of the implementation of AQPM, an autonomous and scalable urban storage system. The classification proposal and the experience with the development of the AQPM motivated the third contribution: the identification of entities and functionalities that are common to several storage systems. This approach is an important step in determining reusable software components. In this sense, the RCBM was proposed, a metamodel that associates entities to a set of components that implement the functionalities common to the models. RCBM enables code reusability, facilitating the development of new models. We have conducted three case studies, implementing the LCA (Baker e Ephremides, 1981), LEACH (Heinzelman et al., 2000) and MAX-MIN(Amis et al., 2000) systems with RCBM. The results show that for these models RCBM provided at least 66% of code reuse. The fourth contribution was the proposal of a state machine model to describe data storage coordination systems on sensor networks. Through a case study and its coding in the simulator NS2, it was shown that there is a direct correspondence between the proposed machine and the developed program. Results show that the correspondence between the concept and the code facilitates the development of the coordinator. Finally, the fifth contribution of this thesis proposes the language SLEDS, a state machine-based language for RCBM coordination flow generation. This thesis presents a syntax-based translation of SLEDS to NS2. Achieved results show that SLEDS allows code reuse and agile development for system specification as a first step towards a WSN programming environment.
Collections
- Teses [124]