tions Systems with SDL DLCaSU block block1 (dlc2su) (su2dlc) block1_1 block1 (V76frames) (V76frames) DLCaDL Figure 2.2 Block blockl DLCaDL DLCbDL block block1_1 block block3 (dlc2su) v/76frames] (V76frames) dlcSU fromA (su2dlc) fromB [(V76frames) process1_ [(V76frames) (V76frames) process3_1 process3_2 dlcDL (V76frames) Figure 2.3 Blocks block1_1 and block3 2.1.2 Scope of declarations A declaration is used to define signals, data types, variables and SO on. In SDL, a declaration is visible in the current entity and its children. For example, a signal declared in the system is visible in the whole system. Variables cannot be declared in a block or in a system; therefore global variables do not exist in SDL. 2.1.3 Process A process, if it does not contain any service, contains a state machine. Figure 2.4 shows a process in which the variable V76par has been declared. A variable is local to a process and thus is not visible, for example, from another process. Our process contains only one state, ready. Each process has one or more instances, running in parallel, and independent. Two numbers are used to specify the number of instances for a process: the first number indicates the initial number of instances (when the system is started), the second number indicates the maximum number of instances running at a certain moment. Figure 2.5 depicts the two main possibilities for the number of instances. Each process instance contains four implicit variables: self: contains the Pid of the current instance, Quick Tutorial on SDL 11 process process1_1 ready V76par V76paramTyp; ready V76frame (V76par) V76frame (V76par) VIA toB Figure 2.4 A process block block1_2 SYNONYM maxCnx Integer = 16; process1 process2 (0, maxCnx) Process Number of instances Maximum number at system startup of instances process1 no limit process2 Figure 2.5 Examples of number of instances sender: contains the Pid of the instance that sent the last signal consumed, parent: contains the Pid of the instance that created the current instance, offspring: cont