previous contents index next
(..Table Part) Contents Index (User Interface: ..)

4.2.5 Compatibility of RDL and SDL Programs

We hope this manual has helped the SCARLET user to gain all skills necessary to successfully compose RDL and SDL programs. But the programs are still kept in different files, though and will be put together to a complete CA only later for the duration of the simulation.
Like that, it is always possible to combine different initial configurations with different local rules without occupying too much space.
But, of course, not every retina goes with every local rule. Only the conditions listed beneath guarantee their compatibility:
  1. The space dimensions must be identical.
    (In RDL programs it is indirectly defined by the RANGE command, in SDL directly by DIMENSION ... .)
  2. The state sets must be the same, more precise:
    In both programs there must be declared the same register types in the same order.
    (They do not need necessarily to have the same names.)
The names of variables and symbolic constants used do not need to be unique for both programs, since they are only known in the program, which they have been defined in.


Example 51:

Parts of a RDL and a SDL program which are compatible to each other:


RETINA ;                           

RANGE  [0,-12,4,2] ..[2,4,7,-1]; 

REGISTER
           INT    r1; 
           STRING r2; 
           INT    r3; 
           INT    r4; 
  ...

SIGMA;

DIMENSION  4  ;

REGISTER
           INT    reg1; 
           STRING reg2; 
           INT    reg3; 
           INT    reg4; 
  ...

Remark:
Besides the above mentioned ones, there exist no other formal restrictions on a successful combination of RDL and SDL programs. But it is highly recommened to check, if they semantically match with each other, too. (What normally does not seem to be worth a single thought, may well cause some troubles in reviewing the program after a while...)
If we suppose that both programs to be put together are based on the same abstract CA (that means they are independent of the implementation), then we have essentially to take care about the state set, in detail


previous contents index next
(..Table Part) Contents Index (User Interface: ..)