Improvement of communication tables for WirelessHART devices 

Get Complete Project Material File(s) Now! »

Components, interfaces, and wiring

In nesC – components, interfaces, and wiring – all relate to naming and organizing a program’s elements (variables, functions, types, etc).
The nesC’s components provide a more systematic approach for organizing a program’s elements. A component (module or configuration) groups related functionality (a timer, a sensor, system boot) into a single unit, in a way that is very similar to a class in an object-oriented language. For instance, TinyOS represents its system services as separate components such as LedsC (LED control, seen above), ActiveMessageC (sending and receiving radio messages), etc. Only the service (component) name is global, the service’s operations are named in a per-component scope: ActiveMessageC. SplitControl starts and stops the radio; ActiveMessageC.AMSend sends a radio message, etc [15].
Interfaces bring further structure to components: components are normally specified in terms of the set of interfaces (Leds, Boot, SplitControl, and AMSend) that they provide and use, rather than directly in terms of the actual operations.
Interfaces simplify and clarify code because, in practice, interactions between components follow standard patterns: many components want to control LEDs or send radio messages, many services need to be started or stopped, etc. Encouraging programmers to express their components in terms of common interfaces also promotes code reuse: expressing your new network protocol in terms of the AMSend message transmission interface means it can be used with existing applications, using AMSend in your application means that it can be used with any existing or future network protocol [15].
Rather than connect declarations to definitions with the same name, nesC programs use wiring to specify how components interact: PowerupAppC wired PowerupC’s Leds interface to that provided by the LedsC component, but a twoline change could switch that wiring to the NoLedsC component (which just does nothing):

READ  Measuring the effects of the research funding changes

Wiring and callbacks

Leaving the component connection decisions to the programmer does more than just simplify switching between multiple service implementations. It also provides an efficient mechanism for supporting callbacks, as we show through the example of timers. TinyOS provides a variable number of periodic or deadline timers; associated with each timer is a callback to a function that is executed each times the timer fires [15].
The nesC version of Blink is used interfaces and wiring to specify the connection between the timer and the application as shown figure 10
The BlinkC module starts the periodic 250 ms timer when it boots. The connection between the startPeriodic command that starts the timer and the fired event which blinks the LED is implicitly specified by having the command and event in the same interface

1. Introduction 
1.1Background
1.2Purposes .
1.3Constraints
2. Theoretical Backgroun
2.1Wireless sensor network
2.2 IEE 802.15.4
2.3 HART and WirelessHART
2.4Embodiment
2.5TinyOS
2.5.1 Programming structure .
2.5.2Components, interfaces, and wiring
2.5.3Wiring and callbacks
3. Related Works .
3.1 Time Synchronized Mesh Protocol
3.2 Time Synchronized Channel Hopping .
3.3 Overview on TSCH stack ..
4. Improvement of communication tables for WirelessHART devices 
4.1 Communication Tables .
4.2 Link Scheduler .
4.3 Timer .
4.4 Message Handling Module
4.5 State Machine .
4.6 DLPDU′s .
5. Implementation 
5.1 Architecture
5.2 Network Manager Device
5.3 Device
5.4 Superframe table and Link table
5.5 Link Scheduling
5.6 Neighbor table
6. Results 
6.1 Network Manager Device .
6.2 Device and Neighbor table .
7. Conclusions and Future Work

GET THE COMPLETE PROJECT
Implementation and Evaluation of Communication Tables and Link Scheduling for WirelessHART Devices

Related Posts