Steps to set up DisJ: unzip org.carleton.scs.disj_1.0.2.jar to \Eclipse_HOME\plugins start Eclipse check plug-in details inside Eclipse add \Eclipse_HOME\plugins\DisJ_1.0.2\disJ.jar to Java Build Path -> Libraries create "DisJ_Logs" folder in c:\ create gph file create topology graph set initiator set state colors write a protocol load the protocol (Full class name) run it Most frequent used APIs: Class Entity: init() : only initiator will run this method receive (String,IMessage) getName() getState() getPorts() getOutPorts() getInPorts() become(int) getNeighbourName(String portname) sendTo(String portname, int) sendTo(String portname, Serializable) printToConsole(Object) sendToAll(int) IMessage: getContent()