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();
}
}
}