ntains 55, then a call to the predefined pro- cedure Report triggers the generation of a report by the Validator. To avoid a deadlock when the condition is false, we have added a transition always firable, having a lower priority. GetPid and vInteger are operators predefined in access.pr. Report is a predefined procedure. SIGNALSET; is necessary because the process has no signals. Automatic Observation of Simulations 133 USE V76; SYSTEM V76test (dlc2su) (dlc2su) DLCaSU DLCbSU (su2dlc) (su2dlc) DLCa : V76_DLC DLCb : V76_DLC V76frame V76frame DLCaDL DLCbDL V76frame V76frame dataLink Figure 5.33 Adding the obs observer block block obs /*#INCLUDE 'access.pr' */ Figure 5.34 The contents of the obs observer block Organizer - v76.sdt I File Edit View Generate Tools Help V76test DLCa : V76_DLC DLCb : V76_DLC dataLink AtoB : toPeer BtoA : toPeer toPeer System V76test Figure 5.35 The Organizer showing the observer 134 Validation of Communications Systems with SDL process obs1 testing SIGNALSET; disp1: True; (vlnteger(disp1 'uData') = 55); GetPid('dispatch', 1) Rriority 200 Priority 1 disp1 Pid; testing Report ('uData in A = 55') Figure 5.36 The observer process obs1 I. Press the save button in the Organizer, start the Validator as indicated in Section 5.2.1.2 and enter the command: define-observer obs1 This command tells the Validator to execute obs1 as an observer instead of a regular process: its transitions are no longer proposed in the navigator and SO on. J. Enter the command list-observers and check that the Validator answers obs1. K. Select Commands > Toggle MSC Trace, and press the Navigator button in the Explore group. In the Navigator window, double-click on the lower rectangle, marked Next 1, to execute the corresponding SDL transition. M. Continue double-clicking to establish DLC number 0; when there are several possibilities, select the left one. N. After around 17 transitions, the Navigator window displays many transitions, as shown in Figure 5.37. Scroll right and double-click on the transition transmitting 