ate=idle T1 active state=wait state=idle T1 active delay T1=0 state=wait state=idle T1 active timeout T1 state=wait state=idle T1 active input T1 state=ready state=idle input PING Figure 7.9 States graph of model ping G. From global state S5, the Simulator makes the time progress of 20 units. The next global state is S6. H. From global state S6, the Simulator times-out timer T1 in process client. The timer signal T1 is transmitted to client. The next global state is S7. I. From global state S7, process client in state wait inputs timer signal T1 and outputs signal REPLY with parameter 'No answer'. The next global state is S8. J. From global state S8 (similar to state S1), process client inputs the external signal PING, outputs signal echo_req, starts timer T1 and enters state wait. The next global state is S2. K. The Simulator finds that S2 has already been explored. As all the transitions from any global state have been executed, the exhaustive simulation stops, and the Simulator reports the number of global states found, eight, plus other statistics. Figure 7.10 shows the MSC generated by interactive simulation of the ping model, where the global states numbers from Figure 7.9 have been manually added in the form of global conditions. You can follow the MSC to have another view of how exhaustive simulation works. Exhaustive Simulation 189 test_ping inst_1_client states of the inst_1_server client(1) SDL model server(1) echo_req t1(20.0) echo_reply reply( 'Host is alive' echo_req t1(20.0) reply( 'No answer' S2 etc. Figure 7.10 The ping model global states manually added to the MSC 7.2.1.3 Remarks concerning ping exhaustive simulation The following Simulator options have been used, to generate the smallest number of global states, for better clarity: Reasonable environment on (priority to internal events, that is, a new PING can be transmitted only when the previous PING is finished). Loose time progression off (otherwise, timer T1 can time-out more frequently). Note that the global states S8 and S1 look identica