Program to propose
static time=n; for(one_side_looks=1; one_side_looks<=two_side_looks; one_side_looks++) { if(not timeout) { //create_situation(); var situation=observe_situation(); if(situation==ok) { start transaction(); static result=propose(); if(result==accepted) commit(); else rollback(); } else { wait_for_another_situation(); } } }