lators, enabling very fast model correction. Editor description Simulator Test Case C Code Compiler Validator Generator Generator errors dynamic application errors (.exe, ...) test suite covered by [Doldi01] covered by this book Figure 1.2 Life of an SDL description Bugs are found and corrected before the implementation begins. SDL simulators provide high caliber debugging features, from symbol by symbol stepping to automatic simulations using various strategies (random, exhaustive, bit-state, supertrace etc.) coupled to automatic error detection by observers. Simulation scripts allow automatic nonregression testing of the SDL description in a few seconds by automatic replay of scenarios, with observers on-line checking the SDL behavior. Simulators generate MSCs representing a visual trace of the simulation. After testing the SDL description, code generators can autocode it: it is not necessary to write a single line of code to get the application running, except when communicating with non-SDL parts or optimizing performance if severe constraints exist. Just by pressing a button, a code generator produces, without manual coding errors, one or several binaries running on one or several computers or boards, without executive or under Unix, win32, PosixTM, VxWorksTM, VRTXTM ChorusTM PSOSTM and SO on. Execution on the target system produces a visual trace in the form of MSC sequence diagrams. Also, test cases in TTCN or in another test language can be generated by very sophisticated tools, ranging from transformation of an interactive simulation scenario into TTCN to automatic generation of TTCN test cases covering all SDL symbols or automatic generation of TTCN test cases corresponding to user-defined test purposes. 4 Validation of Communications Systems with SDL 1.3 SIMULATION LIFE CYCLE The life cycle of simulation can be split into three steps, as illustrated in Figure 1.3: 1. Production of an SDL model ready for simulation, starting either from a textual specification, as in the V.76 case study presented in the