# 3 MSF: A Multi-Modal Adaptation of the 6 TiSCH Minimal Scheduling Function for the Industrial IoT
## 4 The Multi-Modal Minimal Scheduling Function
### Timeslot Timings and Supercell Length  
3 MSF uses variable-duration timeslots by aggregating consecutive \"unit-duration\" subslots in a superslot. The timing intervals to use within a superslot are (mostly) dictated by the data rate of the communication mode(s) it uses and the maximum packet size for said communication mode(s). After all, by definition, each (super)slot must allow for the exchange of a unicast packet and a corresponding acknowledgement (ACK). Figure 6 shows the layout of TSCH timing intervals for acknowledged transmission [2] (Section 6.5.4.2). Knowing which values to use starts with determining appropriate lower/upper limits for the timing intervals of each non-simultaneous TSCH mode. It is important to remember that a non-simultaneous TSCH mode maps to a single communication mode, as explained in Section 4.1. Figure 6: Timeslot timing intervals assuming acknowledged transmission. A unique set of timing intervals is associated with each supercell length. Any interface-mode that wishes to use supercells of a given length must be able to transmit a unicast packet and receive a corresponding acknowledgement using the corresponding timing intervals. All relationships between the different timing intervals are listed in (4) or can otherwise be derived from it. \[ \begin{cases}RxTx>RxWait/2\\ MaxTx>RxWait/2\\ RxOffset=TxOffset-RxWait/2\\ TxOffset=CaoOffset+Cca+RxTx\\ RxAckDelay=TxAckDelay-AckWait/2\\ TxAckDelay>AckWait/2\\ MaxAck>AckWait/2\\ Duration=TxOffset+MaxTx+TxAckDelay+MaxAck+Slack\end{cases}  \tag{4}\]  
where: \begin{tabular}{l|l} \(RxTx\) & the time between performing (optional) Clear Channel Assessment (CCA) and the start of transmission; \\ \(RxWait\) & the receiver guard time; \\ \(MaxTx\) & the time needed to transmit packet of maximum size; \\ \(RxOffset\) & the time to the earliest possible start of reception; \\ \(TxOffset\) & the time to the start of transmission; \\ \(CaOOffset\) & the time to the start of (optional) CCA by the transmitter; \\ \(Caa\) & the duration of (optional) CCA by the transmitter; \\ \(RxAckDelay\) & the smallest possible time between the end of transmission and \\ \(RxAckDelay\) & the start of ACK reception; \\ \(TxAckDelay\) & the time between the end of reception and the start of ACK transmission; \\ \(AckWait\) & the transmitter guard time (not used for synchronization); \\ \(MaxAck\) & the time needed to transmit an ACK of maximum size; \\ \(Slack\) & must be greater than or equal to the time needed for the remaining \\ \end{tabular}   
Once you have determined appropriate ranges for the timing intervals of each non-simultaneous TSCH mode, you must decide on the exact intervals that make up a unit-length superslot and together amount to unit duration. The supercell length used for a given non-simultaneous TSCH mode determines how to derive the timing intervals from the intervals of a unit-length superslot. While superslot duration is an integer multiple of unit duration, where the multiple is the superslot/supercell length, the timings that make up superslot duration are not necessarily multiplied by the supercell length. That is, we require \(CCA\), \(RxTx\), \(RxWait\), and \(AckWait\) to remain constant. In addition, \(TxOffset\) and \(TxAckDelay\) each differ from their unit-duration counterparts by a unique factor. Similarly, \(MaxTx\) and \(MaxAck\) differ from their unit-duration counterparts by the same factor. Afterwards, the remaining values can be determined using (4). Determining appropriate supercell timings and lengths is an exercise in scheduling efficiency, as the best choice largely depends on the spread of data rates across communication modes. It should be noted that all nodes must have a common understanding of the supercell length to use for each non-simultaneous TSCH mode (which themselves map to a single communication mode), either by statically configuring them with such information a priori or through some mechanism that is beyond the scope of this paper.