// STACK.java package protocol; // protocol package import java.util.*; // import Java utility classes import support.*; // import Jasper support classes /** This is the main class for simulation of a protocol stack. @author Kenneth J. Turner @version 1.0 (20th July 2010, KJT): initial version */ public class STACK extends Protocol { /** Application layer */ private STACKApplication userA; /** Transport layer */ private STACKTransport userB; /** Network layer */ private STACKNetwork userC; /** Data link layer */ private STACKDataLink userD; /** Physical layer */ private STACKPhysical userE; /** Medium */ private STACKMedium medium; /** Constructor for a STACK object. */ public STACK() { userA = new STACKApplication("Application");// create application layer userB = new STACKTransport("Transport"); // create transport layer userC = new STACKNetwork("Network"); // create network layer userD = new STACKDataLink("Data Link"); // create data link layer userE = new STACKPhysical("Physical"); // create physical layer medium = new STACKMedium(); // create medium userA.setProvider(userB); // set application->transport userB.setProvider(userC); // set transport->network userC.setProvider(userD); // set network->data link userD.setProvider(userE); // set data link->physical userE.setProvider(medium); // set physical->medium userB.setUser(userA); // set transport->application userC.setUser(userB); // set network->transport userD.setUser(userC); // set data link->network userE.setUser(userD); // set physical->data link medium.setUser(userE); // set medium->physical entities = new Vector(); // create entity list entities.addElement(userA); // add application layer entities.addElement(userB); // add transport layer entities.addElement(userC); // add network layer entities.addElement(userD); // add data link layer entities.addElement(userE); // add physical layer entities.addElement(medium); // add medium } }