module multicast; behavior SuperKnowledgeMulticast{ AwareActor[] actors; long initialTime; long ack(){ return System.currentTimeMillis() - initialTime; } void act(String args[]){ int howMany = Integer.parseInt(args[0]); AwareActor[] actors = new AwareActor[howMany]; for (int i = 0; i< howMany; i++){ actors[i] = new AwareActor(); } initialTime = System.currentTimeMillis(); standardOutput<-print("Time (ms) for super knowledge multicast:\nPhase 0: ") @ join (actors<-m()) @ ack() @ standardOutput<-println @ standardOutput<-print("Phase 1: ") @ join (actors<-ok()) @ ack() @ standardOutput<-println @ standardOutput<-print("Phase 2: ") @ join (actors<-ok()) @ ack() @ standardOutput<-println; } }