# Empirical Performance Models of MAC Protocols for Cooperative Platooning Applications
## 3 Motivation and Methodology for Empirical Models of MAC Protocol Performance
### The Three Tested MAC Protocols
These delays are typically caused by the CSMA/CA mechanism when mitigating collisions with external traffic both circumstantial and periodic (E in Figure 4). Note that all nodes in the platoon know when a beacon is expected and thus can measure its delay upon reception. When a node measures a beacon delay it saves it in a delayList and shares this list piggybacked in its own beacon. At every hop, the delayList is consolidated and propagated upstream, reaching the leader at the end of the round. The leader then delays the start of the next round by an amount computed from the delayList reported by the followers, typically the maximum within predefined bounds (\(\delta_{2}\) in Figure 4). This corresponds to shifting the phase of the platoon round, causing all beacon transmissions in this platoon to be triggered later, potentially avoiding the collisions with external traffic that caused the delays in the previous round. A follower that does not receive the leader message in a round transmits one round after its previous transmission, thus tolerating leader losses but without adaptation. The adaptation mechanism is independent per platoon, just considering its members, implying low overhead and full scalability. The pseudo-code of the adaptive synchronization of RA-TDMAp is described in Algorithm 1. Figure 4: Adaptive synchronization in RA-TDMAp. Figure 3: Platoon TDMA cycle with slot assignment structure. Altogether, note that all three protocols use the basic CSMA/CA mechanism, which allows mitigating asynchronous traffic. The amount of asynchronous traffic is maximum with plain CSMA/CA (all transmissions are independent), intermediate with PLEEX-slotted (just extra-platoon traffic is independent) and minimum with RA-TDMAp (all platoon traffic is eventually coordinated). Finally, PLEEX-slotted and RA-TDMAp manage transmit power asymmetrically, reducing interference among platoons and increasing channel spatial reuse. The platoon leader transmits with higher power to reach all platoon members and enforce platoon synchronization. However, the follower vehicles transmit with lower power, thus with limited range, propagating information in multi-hop through the platoon. For the sake of the comparisons, we implemented the same power management in plain CSMA/CA. Moreover, we consider all platoons to be steady, the leader being the platoon head vehicle. Dynamic platoon reconfiguration is out of the scope of this work. ```
1:procedureAdaptivesynchronizationinRA-TDMAp
2:initializevector\(delayList[]\):
3:On startup protocol:
4:if\(myRole=LeaderCar\)then
5: scheduleAt(SendBeacon, beaconInterval);
6:SendBeacon0:
7:if\(myRole=LeaderCar\)then
8: sendBroadcast PlatooningMessage;
9: scheduleAt(SendBeacon, beaconInterval+\(maximumDelay\));
10:else
11: sendBroadcast PlatooningMessage;
12: scheduleAt(SendBeacon, beaconInterval);
13:OnBeacon(beacon):
14:if\(myRole=LeaderCar\)then
15:\(leader\_now\_time\gets now\_time\);
16:if\(myRole=getCarID\)then
17:\(receive\_instant\gets now\_time\);
18:\(expected\_time\gets leader\_now\_time+offset+transmission\_time\)
19:\(node\_Delay\gets receive\_instant-expected\_time\);
20:if\(node\_Delay<0\)then
21:\(node\_Delay\gets 0\);
22: push(\(delayList\),(\(node\_Delay\)));
23:Updated\(delayList\);
24:if\(myRole=LeaderCar\)then
25:\(maximumDelay\leftarrow*max\_element(delayList.begin(),delayList())\);
26:OnLeaderBeacon(beacon):
27: unschedule(SendBeacon);
28: scheduleAt(SendBeacon, myPosition \(\cdot\) offset);
```  
**Algorithm 1** RA-TDMAp protocol