tances, the list of firable transitions in the Simulator can be sometimes long. This is compliant with the execution semantics of SDL. Other Simulator Features 283 The ObjectGeode Simulator (like the Tau SDL Validator when using the command Define- Scheduling All) does not use a ready queue like the Tau SDL Simulator, to propose only the oldest transitions, but proposes all the ready transitions at the same time. To simplify the choice by reducing the number of transitions, a GOAL observer delivered with ObjectGeode, named scheduling, can be compiled with any SDL model. To illustrate this, we have created the SDL model test1, represented in Figures 8.24 and 8.25. This model contains one process TX transmitting sig 1 to process RX 1 and then sig2 to process RX_2. system test1 block sched [ sig 1 sched SIGNAL [ sig2 sig1, sig2; Figure 8.24 The system testl process TX process RX_1 process RX_2 ready ready Figure 8.25 The three processes in block sched By default, after executing process TX, the Simulator proposes two transitions: input of sig 1 by RX 1 and input of sig2 by RX_2 To use the scheduling observer: A. Create the model testl with the SDL Editor (or load any model of your choice). B. In the SDL Editor, select File > Load, change the File type to *.obs and selectOg_sdl\examples\geode_sm\scheduling\scheduling.obs in ObjectGeode installation directory. C. Select Tools > SDL & MSC Simulator, and check that the working directory is correct. 284 Validation of Communications Systems with SDL D. In the ObjectGeode Launcher, press Build and then press Execute. E. Execute the three start transitions (double-click on them). There are two firable transitions: rx_1(1) : from_wait_input_sig1 rx_2 (1) : from_wait_input_sig2 F. In the Simulator, type the textual command: filter scheduling!filter. There is now only one firable transition, corresponding to the first process that is ready (because it received a signal before process RX_2): rx_1(1) : from_wait_input_sig1 G. Execute the transition. As expected, the second trans