Supporting the community
Simularea Protocoalelor Java pentru Educatie si Cercetare
Vezi pagina de descarcare pentru a obtine acest program
Acest simulator de protocol ofera:
Puteti incerca imediat simularile online pentru a obtine o simtire a ceea ce face simulatorul. Browserul web va trebui sa fie configurat pentru a rula Java applets si Java (in mod ideal).
Simulatorul este scris in Java si poate fi folosit pe mai multe platforme cu un browser web (supus securitatii appletului) si / sau un mediu Java. Pentru a compila sau a extinde simulatorul necesita un mediu de dezvoltare Java cum ar fi Oracle JDK (si in mod ideal, si Apache Ant). Pentru a rula simularile necesita un mediu de rulare Java, cum ar fi Oracle JRE. Codul a fost pre-construit folosind JDK 1.8. Cu toate acestea, ar trebui sa compileze si sa ruleze utilizand Java 5 in continuare.
Simulatorul este furnizat ca arhiva Zip. Simulatorul despacheteaza intr-un director numit jasper-N.N in functie de numarul versiunii. S-ar putea sa redenumiti in jasper pentru simplitate. Distributia conține:
Simulatorul poate fi folosit pe diverse protocoale prin deschiderea html / index.html intr-un browser web. Aceasta presupune ca ati redenumit dosarul de distributie ca Jasper. Aceasta va aduce pagina principala, cu instructiuni generale si o lista de protocoale care pot fi simulate. Browserul web va trebui sa fie configurat pentru a rula aplicatii Java si (in mod ideal) JavaScript. Datorita restrictiilor de securitate Java trebuie sa autorizezi difuzarea codului precompilat creat de Universitatea din Stirling. Alternativ, utilizati un fisier de vizualizare a applet-urilor pe fisiere (desi parametrii JavaScript pentru setarea protocolului nu vor funcționa).
Cele mai multe simulari sunt in format de trei coloane: doua entitati de protocol (expeditor / receptor sau A / B) si un mediu de comunicatii (link sau retea). Cateva simulari adauga utilizatorii care trimit si primesc (aplicatii) in coloanele exterioare. Acest format este util pentru a arata ce vade utilizatorul; De obicei, aceasta este doar o parte din ceea ce se intampla in protocol.
Intr-un browser web, selectati o actiune facand clic pe lista din dreapta-jos a diagramei. Actiunile sunt lucruri precum un utilizator care trimite un mesaj de date sau un mediu care transmite un mesaj de protocol. Controlul total simularea. De exemplu, puteti decide cand sa trimiteti mesaje, daca doriti sa confirmati mesajele si daca doriti sa difuzati sau sa pierdeti mesajele in mediu. Deoarece simularea nu ruleaza in timp real, este posibil un interval de timp de expirare de indată ce a fost trimis un mesaj.
Ultima actiune din diagrama este afisata in rosu. De asemenea, in diagrama verde se pot observa si diverse comentarii de protocol, de ex. Ca sa produs un timp de expirare sau ca un mesaj a fost ignorat.
Daca faceti o greseala sau doriti doar sa faceti backtrack in simulare, faceti clic pe Undo. Puteti anula cati pasi doriti, pana la inceputul simularii. Daca faceti clic pe Redo, veti efectua din nou ultimul pas anulat. Clear va reporni simularea cu parametrii actuali ai protocolului. Daca faceti clic pe Executare, simulatorul se va difuza automat, facand alegeri aleatorii pentru dvs. Daca nu sunteti sigur la ce sa experimentati, acesta este un mod usor de a vedea protocolul in actiune. In timp ce se intâmpla acest lucru, butonul Run se schimba la Stop. Faceti clic pe Stop pentru a readuce simulatorul la controlul utilizatorului. Puteti continua in acest moment ca si cum ati fi facut toate alegerile automate.
Butoanele Imprimare, Incarcare si Salvare sunt dezactivate, deoarece simularile functioneaza ca apleturi. Daca doriti o copie de hartie a simularii, pozitionati bara de defilare in panoul de simulare intr-un punct interesant si tipariti intreaga pagina web.
Unele simulari au parametri de protocol asociate. Pentru a modifica setarile implicite, introduceti noi valori si faceti clic pe Modificati valori. In unele cazuri, aceasta va forta simularea sa se reporneasca. Urmatoarea este o imagine a unei simulari TCP client-server, care prezinta parametrii de protocol si principalele controale de simulare.
Rularea unei simulari de protocol ca aplicatie permite accesul la butoanele Print, Load si Save.
Print produce o copie de hartie a intregului scenariu de simulare. Retineti ca paginile individuale nu pot fi selectate pentru imprimare. Latimea imprimarii este determinata de latimea ferestrei de pe ecran. Constantele winWidth si winHeight in ProtocolSimulator definesc dimensiunea initială a ferestrei. Valoarea constanta maxHeight in TimeSequenceDiagram defineste dimensiunea verticala a paginilor imprimate. Dimensiunile curente sunt potrivite pentru hartia A4. Daca este necesar, modificati-le pentru (sa zicem) scrisoare SUA.
Incarcati sarcini un fisier scenariu de simulare (cu un nume care se termina in .scn); Acest lucru trebuie sa fie pentru acelasi protocol pe care il simulati in prezent. Acesta inlocuieste scenariul de simulare actual (daca exista). Salvarea salveaza simularea curenta ca fisier scenariu (cu un nume care se termina in .scn). Daca sunteti aventuros, puteti crea si edita propriile scenarii folosind un editor de text.
Atunci cand simulatorul este rulat ca o aplicatie, un nume de protocol obligatoriu urmeaza clasa principala a simulatorului. Parametrii protocolului pot fi apoi furnizati daca este necesar; Protocoalele au valori implicite pentru acestea. Sa presupunem ca simulatorul a fost construit si urmeaza sa fie pornit de la nivelul de sus al lui Jasper. Urmatoarele (impartite aici in două randuri) vor executa TCP in modul client-server, cu alte dimensiuni ale ferestrei de mesaj decat cea implicita:
java -cp html/ProtocolSimulator.jar simulator.ProtocolSimulator TCP/cs windowSizeA=500 windowSizeB=300
Se ofera sursa completa a simulatorului. (Cele mai multe fisiere au sfarsitul liniei Unix.) Codul ar trebui, de preferinta, sa fie reconstruit utilizand fisierul build.xml Ant. Ant -p va tipari informatii de ajutor despre construirea de tinte. Ant simulator va reconstrui ProtocolSimulator.jar in directorul html. Ant clean va elimina toate fisierele de clasa compilate si fisierele de rezerva, dar pastrand fisierul JAR. Fara patare va elimina chiar si acest lucru.
Daca nu aveti Ant, va trebui sa compilati fisierele sursa Java manual si sa creati un fisier JAR din rezultat.
Pentru a modifica o simulare de protocol existenta sau pentru a scrie una noua, va fi nevoie de o cunoastere a cadrului de simulare. Vedeti articolul Un simulator vizual de protocol interactiv pentru detalii despre acest lucru si un exemplu extins de dezvoltare a unei simulari. Odata ce cadrul este inteles, o simulare simpla poate fi dezvoltata intr-o zi; Protocoalele complexe ar putea dura o saptamana sau doua pentru a se dezvolta.
Sa presupunem ca doriti sa dezvoltati o noua simulare a protocolului EXP ("Exemplu de protocol"). Va trebui sa scrieti EXP.java pentru a instantia diferitele entitati din protocol. Pentru un protocol simplu, scrie EXPSender.java si EXPReceiver.java pentru a defini comportamentul unei entitati de protocol de trimitere sau de primire. Protocoalele mai complexe ar putea implica definirea entitatilor separate pentru a gestiona interfata de serviciu si entitatea protocolului. De asemenea, ar putea fi necesar sa se defineasca formatele mesajelor protocolului si o variatie a mediei de baza care sa le corespunda.
Datorita cresterii securitatii Java, applet-urile trebuie sa fie semnate de un certificat adecvat. Acest lucru a fost facut pentru codul precompilat. Daca aveti nevoie sa reconstruiti codul, veti avea nevoie de propriul magazin de chei si certificat digital. Consultati fisierul Ant build pentru a le utiliza.
Retineti ca o mare parte din lucrarile de dezvoltare au fost intreprinse de studenti, astfel incat nivelul comentariilor din cod este oarecum limitat in anumite locuri. Simularea ABP este cea mai simpla dintre protocoale si este un loc bun pentru a incepe. Simularea TFTP este cel mai bine comentat si cel mai bine explicat. Acesta ilustreaza aproape toate punctele-cheie in dezvoltarea simularii.
Acest program este software liber. Puteti sa il redistribuiti si / sau sa-l modificasi in conformitate cu termenii Licentei Publice Generale GNU publicate de Fundatia pentru Software Liber - fie versiunea 3 a Licentei, fie (la alegere) orice versiune ulterioara.
Acest program este distribuit in speranaa ca va fi util, dar fara nicio garantie, fara nici macar garantia implicita de vandabilitate sau adecvare pentru un anumit scop. Pentru mai multe detalii, consultati Licenta publica generala GNU.
Simulatorul de protocol a fost dezvoltat de Stiinta informatica si Matematica la Universitatea din Stirling. Iain A. Robin a realizat cea mai mare parte a dezvoltarii pentru proiectul sau de Master sub supravegherea lui Ken Turner. Paul Johnson si Kenneth A. Whyte au contribuit la dezvoltarea unor simulari pentru proiectele lor de masterat. Dr. Peter J. B. King, Universitatea Heriot-Watt, au oferit idei si sugestii utile.
Versiunea 1.0: Versiune privata interna, Iain Robin, 1 Septembrie 1999
Versiunea 1.1: Versiune privata interna, Ken Turner, 22 Decembrie 2000
Versiunea 1.2: Versiune privata interna, Ken Turner, 5 Martie 2001
Versiunea 1.3: Prima eliberare publica, Ken Turner 6 iunie 2001
Versiunea 1.4: Actualizare generala, Ken Turner, 9 Martie 2006:
Versiunea 1.6: Distributie via SourceForge, Ken Turner, 18 Decembrie 2014
Versiunea 1.7: Actualizare pentru Java 7u51 inainte, Ken Turner, 28 Septembrie 2015
We believe in helping people and that matter to us more than anything else. Since the very beginning of our company, our team have been willing and wishing to help.