You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

38 lines
911 B

// Israeli-Jalfon self stabilising algorithm
// dxp/gxn 10/06/02
mdp
// variables to represent whether a process has a token or not
// note they are global because they can be updated by other processes
global q1 : [0..1];
global q2 : [0..1];
global q3 : [0..1];
// module of process 1
module process1
[] (q1=1) -> 0.5 : (q1'=0) & (q3'=1) + 0.5 : (q1'=0) & (q2'=1);
endmodule
// add further processes through renaming
module process2 = process1 [ q1=q2, q2=q3, q3=q1 ] endmodule
module process3 = process1 [ q1=q3, q2=q1, q3=q2 ] endmodule
// cost - 1 in each state (expected steps)
rewards "steps"
true : 1;
endrewards
// formula, for use here and in properties: number of tokens
formula num_tokens = q1+q2+q3;
// label - stable configurations (1 token)
label "stable" = num_tokens=1;
// initial states (at least one token)
init
num_tokens >= 1
endinit