Tutorial de como usar o simulador THE ONE. Primeiros passos

Embed Size (px)

DESCRIPTION

Tutorial de como usar o simulador THE ONE. Primeiros passos.

Citation preview

The ONE Mini Tutorial

Onde baixar: http://www.netlab.tkk.fi/tutkimus/dtn/theone/

Detalhes:Desenvolvido em Java.

Diferentemente de outros simuladores como Omnetpp, este focado nas camadas de aplicao e camada de redes.

Tambm permite a integrao com dispositivos DTN reais como roteadores e computadores.

Maior facilidade de integrao com dados reais, como dados de mobilidade ou traces de contatos reais.

Como usar:Basta baixar o arquivo e descompactar o mesmo. Para compilao inicial use o comando ./compile.sh em sistema Linux. Para execuo em modo grfico: ./one.sh ou modo apenas em bash: ./one.sh -b.

Qualquer alterao nas classes necessria recompilao completa do sistema. Apenas alterao no arquivo de parmetros de configurao da simulao no requer nenhuma recompilao.

O arquivo de parmetros default de simulao o arquivo que ele j d de exemplo, o default_settings. Esse arquivo o que controla os parmetros da simulao. O arquivo original, caso seja executado sem nenhuma alterao retorna uma simulao de redes DTN usando um mapa da Finlndia. Uma simulao mais simples que pode ser executada a seguinte:Rede oportunista com cinco nodos de movimentao aleatria.Copie o arquivo default para mant-lo guardado e apague seu contedo. Faa um novo da seguinte maneira:

## Scenario settingsScenario.name = Teste_3_nosScenario.simulateConnections = true//Controla o uso de conexo (s se usa como false se for trace)Scenario.updateInterval = 1.0//Frequencia de update..pode usar 1Scenario.endTime = 5000//tempo de simulacao em segsScenario.nrofHostGroups = 1//Grupos de nodosbtInterface.type = SimpleBroadcastInterface//interface de comunicacaobtInterface.transmitSpeed = 250k//btInterface simula bluetoothbtInterface.transmitRange = 10//precisa setar velocidade de transmissao e raio de alcance.Group.movementModel = RandomWaypoint//modelo de movimento dos nodosGroup.router = EpidemicRouter//Roteamento usado para cada dispositivo (Epidemico = Flood = Broadcast)Group.bufferSize = 1M//Armazenamento mximo (pode representar memria ou dispositivo externo)Group.nrofInterfaces = 1//seta as interfaces de cada grupo, assim voc pode criar grupos com bluetooth ou usando wifi..etc)Group.interface1 = btInterface//define a interface do grupoGroup.speed = 0.5, 1.5//velocida dos indivduos (m/s)Group.msgTtl = 100//Tempo de vida de cada mensagem na rede em minGroup.nrofHosts = 3//Nmero de nodos na simulaoGroup.groupID = pessoas//id do grupoMovementModel.rngSeed = 1//Especifica semente aleatoria da simulao (ideal nmeros primos,mas esse um dos fracos do simulador)MovementModel.worldSize = 450, 340//rea por onde os nodos se movimentaro//Essa parte importa. A criao de objetos do tipo Evento so a alma da simulao. O Evento principal que considerarei aqui a criao de mensagens a serem repassadas.Events.nrof = 1//Qtd de eventosEvents1.class = MessageEventGenerator//Especifica um evento do tipo criao de mensagens (para mais detalhes veja as classes disponveis no packet inteiro)Events1.interval = 25,35Events1.size = 500k,1M//Tam das msgsEvents1.hosts = 0,2//Quem pode criar as mensagens (nodos: 0,1,2)Events1.prefix = Mensagem//Reports podem ser usados para avaliar resultados de simulao (para + detalhes de report package Reports)Report.nrofReports = 1Report.reportDir = reports/Report.report1 = MessageStatsReport//Retorna resultados como mensagens entregues criadas..probabilides,etc..

Outras informao que tiverem no arquivo de default no final dele Optimization...etc, mantenha-os.E basta rodar ./one.sh e voil.