ADP-MAC Design

Adaptive and Dynamic-MAC (ADP-MAC) is an asynchronous duty cycle based protocol which selects the polling interval distribution dynamically, based on the traffic arrival patterns. We use the term "adaptive" because the protocol initially observes the traffic pattern for a certain period and then selects the initial polling interval distribution; moreover, we also define ADP-MAC as "dynamic" because it monitors the traffic pattern during operation and make decisions for the selection of polling distribution.

The dynamic adaptation of protocol to the traffic patterns makes it suitable for a wide range of WSN applications with varying traffic patterns. ADP-MAC is designed with the aims of achieving optimized performance in terms of both energy and delay through selecting appropriate polling intervals. In combination, ADP-MAC also includes the features of packet concatenation and block acknowledgement to ensure further energy savings.

Full protocol details can be found in the below article:

Siddiqui, Shama, Sayeed Ghani, and Anwar Ahmed Khan. 2018. "ADP-MAC: An Adaptive and Dynamic Polling based MAC Protocol for Wireless Sensor Networks." IEEE Sensors Journal, 18 no.2: 860-874.

The above article can be accessed from

Introduction to Protocol Stack
The TinyOS implementation of ADP-MAC comprises of Application (MacTest), MAC (ADP) and Physical (PhyRadio) layers. The software architecture earlier proposed for SCP-MAC (Source code available at was used as a foundation for implementing ADP-MAC. However, application and MAC layers were written from scratch. The basic functionality of each layer of the communication stack for our implementation has been summarized in the figure below:


Application Layer

• Generates CBR / Poisson or Bursty traffic

Mac Layer

• Schedules duty-cycling

• Polls the Channel

• Decides appropriate polling interval distributions

• Dynamically switches the polling interval distribution based on traffic arrival patterns

• Runs Receiver Initiated Pseudo-Synchronizations (RIPS) mechanism

• Stores packets transmitted by Application layer in a buffer

• Initiates preambles

• Avoids overhearing based on header information

• Forwards the packets

• Concatenates the packets

• Checks CRC individual packets within a Super packet

Physical Layer (PhyRadio) 

• Reflects the Physical layer

• Interacts with Radio

• Facilitates Carrier Sense

• Handles radio states

• Transmits and receives the packets

• Checks CRC


Open Source Release
We have released the ADP-MAC implementation to be used by the researchers.

The complete protocol stack can be downloaded from the link below:


Contact Persons
Shama Siddiqui

Sayeed Ghani

Anwar Ahmed Khan