1 / 10

J-sim

J-sim. Lars & Bjørnar. Introduksjon. Java basert, bruker TCL skript (som ns2) for å sette opp simuleringer. Gratis, åpen kildekode Ny: Release 1.0: Oktober 2001 Nå: Release 1.3 Dokumentasjon: Tja, ikke komplett Gui: Tja, prerelease-stadiet Statistikkverktøy: Lite eller ingenting.

Download Presentation

J-sim

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. J-sim Lars & Bjørnar

  2. Introduksjon • Java basert, bruker TCL skript (som ns2) for å sette opp simuleringer. • Gratis, åpen kildekode • Ny: • Release 1.0: Oktober 2001 • Nå: Release 1.3 • Dokumentasjon: Tja, ikke komplett • Gui: Tja, prerelease-stadiet • Statistikkverktøy: Lite eller ingenting

  3. Prosess-orientert Java objekter i bunnen Utvidet med ”Autonomous Compoment Architecture” (ACA) To grunnleggende byggestener: Komponenter Porter J-sim arkitektur

  4. ACA  Høy grad av modularitet Omfattende bibliotek for nettverkssimulering Egenutvikling/utbytting av komponenter enkelt Nettverkspakker: ”Vanlig” Internet (ruting og transport protokoller osv) Diffserv Wireless Sensor network Active network J-sim arkitektur (2)

  5. Simulatorkjernen • To kjerner å velge mellom: • ”Real-time Process-driven” • Simulering i sanntid (skalert) • Hendelser er ikke atomiske  kan eksekveres i paralell • ”Descrete-time Event-driven” • DES

  6. Implementasjon og effektivitet • SES kjernen bruker et red-black tree for køing av fremtidige hendelser (java.util.TreeMap) • Red-black er et binært søketre, slik som f.eks splay tree, men med en annen balanseringsalgoritme • Et binært søke tre er red-black hvis; • Alle noder er enten røde eller svarte • Rot noden er svart • Alle løv-nodene er svarte • Hvis en node er rød, så er begge barna svarte • For alle noder, alle stier fra en node til hvilken som helst løv-node innehar like mange svarte noder

  7. Egenskaper ved et red-black tre I want to find my key in log n time-- thats all, Rotating sub-trees 'round sure can be a ball. • Lengste stien, fra root noden til en løv-node, er aldri lengre enn dobbel så lang som den korteste stien • Korteste stien har kun svarte noder • Lengste stien er nodene farget annenhver svart og rød • Treet er tilnærmet balansert • Innsetting samt fjerning er gitt av worst-case tid som er proporsjonal med høyden av treet • Høyden av treet er høyest 2 lg(n + 1) • Garanterer O(lg n)

  8. Effektivitet Unfortunately, coding them can be a bitch. If we had half a brain to splay trees we would switch. • Effektiviteten til treet beror på fordelingen til operasjonene. • God hvis du har en uniform fordeling på node aksess • Ikke så god hvis du har andre fordelinger • Hvis andre fordelinger, så vil splay algoritmen gjøre en bedre jobb, siden; • Vi, ved node fjerning, er ute etter den noden som ligger nærmest i tid • i.e. binært tre har lavest verdi nederst i venstre tråd • I et splay tre vil den sist aksesserte node bli rot 1(lg n) red-black 2(lg n) Tid

  9. Positivt Modularitet Åpen kildekode Oversiktlig struktur Muligheter for abstraksjon Java Godt kjent Portabelt Negativt Barnesykdommer (bugs) Mangelfull dokumentasjon Ikke optimal eventliste håndtering Statistikkverktøy Java Ikke effektivt Konklusjon

More Related