# ATWin: An Improved and Detailed Startup Model of TTP/C
## 2 Background Work and Literature Review
### The Standard Startup Model in AS6003  
**A. The standard startup process**  
The SAE [13] provides a top-level description of the standard startup model for a TTP/C cluster in AS6003. [PERSON] et al. [16] describes a standard startup model through state transitions. Specifically, this model employs a timeout mechanism that utilizes three kinds of timeout timers per node, including the startup timeout timer, the listening timeout timer, and the cold-start timeout timer. These timeout values ensure that each node has a different timeout sequence, and the nodes can startup correctly. The definitions of these timeout values are given below. Timeout value of the start timeout timer: the duration between the time when Node \(i\) is allowed to perform cold-start fails to start and the time when the nodes attempts to perform a cold-start again. The timeout value is:  
\[\Delta_{startup}^{i}=\sum_{j=0}^{i}\Delta_{slot_{j}} \tag{1}\]  
\(\Delta_{slot_{j}}\) indicates the slot duration for Node \(j\). Timeout value of the listening timeout timer: the duration between the time when Node \(i\) that is allowed to perform cold-starts starts and the time when the node performs a cold-start. Its value is:  
\[\Delta_{listen}^{i}=2\Delta_{TDMA}+\Delta_{startup}^{i} \tag{2}\]  
\(\Delta_{TDMA}\) represents the duration of a TDMA cycle, which is statically specified in the design phase. Timeout value of the cold-start timeout timer: The minimum duration between the two successive cold-start operations of Node \(i\) that performs the cold-start process. \[\Delta_{coldstart}^{i}=\Delta_{TDMA}+\Delta_{startup}^{i} \tag{3}\]  
Table 1 provides some existing symbol definitions of TTP/C for easy reference. The standard startup process [16] of a TTP/C cluster defined in AS6003 can be delineated into four distinct protocol states, namely the initialization state (INIT), the listening state (LISTEN), the cold-start state (cold-start), and the synchronization state (SYNC). The SYNC state comprises two sub-states, namely the active state (ACTIVE) and the passive state (PASSIVE), which are distinguished by whether the node has obtained the sending authentication. The timeout timers play an important role in state transitions during startup. Figure 2 depicts the state transition diagram for the standard startup process of a TTP/C cluster in AS6003. The process begins with the node entering the INIT state upon power-on to load the MEDL and to verify its correctness. The node then proceeds to the LISTEN state, in which it awaits receipt of a valid integrated frame within \(\Delta_{\mathit{listen}}^{i}\). If the system is operational and a valid integrated frame is received, the node attempts to integrate into the running system and transits into the SYNC state. When a node permitted to perform cold-start receives a valid cold-start frame, the node is forced to discard the frame if it is the first frame within the startup phase, and then, it re-enters the LISTEN state. Otherwise, the node enters the cold-start state. During the LISTEN state, any node receiving an integrated frame or a cold-start frame becomes the receiving node. If no frames are received within the listening time, a node allowed to perform cold-start becomes the sending node and proceeds to the cold-start state after transmitting the cold-start frame. If a node is a non-core node or has exceeded the maximum number of cold-starts, it re-enters the LISTEN state again. In the cold-start state, the node needs to perform a cold-start acknowledgment, and the core node needs to try to begin a TDMA. During TDMA, if the node is in the transmission slot, the clique algorithm should be executed. If the node belongs to the majority clique, the node is determined that its synchronization is successful. At this time, it transfers to the SYNC state and sends the frames for synchronization. If the node belongs to a minority clique, it should re-enter the LISTEN state. If the group detection fails, the node waits \(\Delta_{\mathit{startup}}^{i}\).