High level abstractions and visualization of sensor network applications - Pulluri, Sandeep (Kansas State University, 2008)
TinyOS is a component based operating system written in nesC programming language. TinyOS provides interfaces and components for common low level abstractions such as packet communication, routing and sensing for node level sensor network application programming. This project aims to provide high level abstractions to users by providing the notion of a virtual node, which represents a set of physical nodes, allowing users to specify global scenarios, and a mechanism to decompose a high level global scenario into local node level scenarios for each of the individual sensor nodes. A global scenario with virtual components, provided by the user, is first converted into a global scenario by eliminating the virtual components from the model by using a mapping information provided the user and replacing these virtual components by their respective physical components. Appropriate algorithm components and the automatically generated adapter components for these algorithm components are then plugged-in to implement inter-node interactions. This global scenario is then converted to the node level local scenarios by introducing the automatically generated proxy components for the remote components and connecting these proxy components using the RMI layer. The Cadena model is modified to include the attribute location for the components to identify the remote components. The make files are then generated for these local scenarios and are ready to be deployed on the physical motes. The framework provides a GUI tool which is used to visualize the data of the sensor network in both simulation and deployment. The framework provides the user with commands that can be issued to the network from the Cadena component model as a set of interfaces to the components and a python script is used to capture this information in an xml file. The Cadena model is modified to include the attribute observable to the interfaces to identify them as the GUI commands. The GUI loads this XML file and the topology file for the actual deployment, can issue commands to the network and displays the results to the user. The GUI tool also enhances the Tossim simulator to model the external effects over the sensor network and to place the motes based on the topology information using the Tython environment.
Keywords: High Level Abstractions; Wireless Sensor Networks; Remote Method Invocation; GUI Monitoring; Computer Science (0984)