ontents of the processes client and server. When a PING signal is received, process client transmits an echo_req to the server, and starts timer T1. When echo_req is received by process server, an informal decision allows the simulator to either respond with echo_reply or not. If the answer 'Yes' is selected, signal echo_reply is received by process client before the time-out of timer T1, and signal REPLY with parameter 'Host is alive' is 186 Validation of Communications Systems with SDL system ping REPLY SIGNAL PING, REPLY(Charstring), echo_req, echo_reply; client server [echo_reply] echo_req Figure 7.5 The ping SDL model block client block server [echo_req echo_req client IP IP server echo_reply echo_reply Figure 7.6 The contents of blocks client and server process client process server ready echo_reply echo_red REPLY RESET(T1) 'Alive ?' ('No answer) REPLY echo_req 'Yes') ('Host is alive') ready echo_reply SET (T1) ready TIMER T1 := 20; Figure 7.7 The states machines of client and server transmitted. If 'No' is selected, timer T1 times-out, and signal REPLY with parameter 'No answer' is transmitted. This behavior is illustrated in Figure 7.8, which is the interactive simulation MSC trace of the model ping. 7.2.1.2 Exhaustive simulation of model ping Running the exhaustive simulation (in the default mode breadth-first) on model ping generates eight global states. The tool used here is the ObjectGeode Simulator, but similar results are Exhaustive Simulation 187 test_ping inst_1_client inst_1_server client(1) server(1) echo_req t1(20.0) echo_reply reply( 'Host is alive') echo_req t1(20.0) reply( 'No answer') Figure 7.8 MSC generated by simulation of model ping obtained with the Tau SDL Suite Validator (except that in Tau, the exploration is performed in depth-first mode). During exhaustive simulation, the Simulator executes all the transitions from every global state of the SDL model. After each transition execution, the Simulator compares the reached global state with the states previously reached, which have bee