package security; import cute.Cute; /** * Author: Koushik Sen <ksen@cs.uiuc.edu> */ public class Agent extends Thread{ private int numGuards; private int numIterations; public void run() { for(int i=0;i<numIterations;i++){ synchronized(Message.m){ int toss= Cute.input.Integer(); Cute.Assume(toss >=1 && toss <=numGuards); if(toss==1){ Cute.Assume(guard1(Message.m)); action1(Message.m); } else if(toss==2){ Cute.Assume(guard2(Message.m)); action2(Message.m); } else if(toss==3){ Cute.Assume(guard3(Message.m)); action3(Message.m); } else if(toss==4){ Cute.Assume(guard4(Message.m)); action4(Message.m); } else if(toss==5){ Cute.Assume(guard5(Message.m)); action5(Message.m); } else if(toss==6){ Cute.Assume(guard6(Message.m)); action6(Message.m); } else if(toss==7){ Cute.Assume(guard7(Message.m)); action7(Message.m); } else if(toss==8){ Cute.Assume(guard8(Message.m)); action8(Message.m); } else if(toss==9){ Cute.Assume(guard9(Message.m)); action9(Message.m); } else if(toss==10){ Cute.Assume(guard10(Message.m)); action10(Message.m); } else if(toss==11){ Cute.Assume(guard11(Message.m)); action11(Message.m); } } } } public Agent(int numGuards, int numIterations) { this.numGuards = numGuards; this.numIterations = numIterations; } public boolean guard1(Message m){ return false; } public void action1(Message m){ } public boolean guard2(Message m){ return false; } public void action2(Message m){ } public boolean guard3(Message m){ return false; } public void action3(Message m){ } public boolean guard4(Message m){ return false; } public void action4(Message m){ } public boolean guard5(Message m){ return false; } public void action5(Message m){ } public boolean guard6(Message m){ return false; } public void action6(Message m){ } public boolean guard7(Message m){ return false; } public void action7(Message m){ } public boolean guard8(Message m){ return false; } public void action8(Message m){ } public boolean guard9(Message m){ return false; } public void action9(Message m){ } public boolean guard10(Message m){ return false; } public void action10(Message m){ } public boolean guard11(Message m){ return false; } public void action11(Message m){ } }