30
http://www.labtel.ele.ufes.br OMNeT++

Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

Embed Size (px)

Citation preview

Page 1: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

OMNeT++

Page 2: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Sumário

• Simulação de Eventos Discretos

• Ferramentas de Simulação

• OMNeT++

• Tutorial de Instalação

• Exemplos

Page 3: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

SIMULAÇÃO DE EVENTOS DISCRETOS

Page 4: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

• Em computação, simulação consiste em empregar técnicas matemáticas em computadores com o propósito de imitar um processo ou operação do mundo real.

• Quando usar simulação?– Para descrever ou validar o comportamento de um sistema:

→ como funciona x como pensam que funciona.

– Quando experimentar é dispendioso.

• Modelagem Analítica x Simulação– Complexidade do sistema em análise;

– Qualidade das análises ↔ qualidade do modelo.

Simulação

Page 5: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

• Simulação Discreta: Implica na mudança de estado em tempos discretos.

• Conceitos Básicos:– Entidades ou Objetos;– Parâmetros e estados do objeto;– Tempo Simulado;– Lista de Eventos.

Simulação de Eventos Discretos

Page 6: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

FERRAMENTAS DE SIMULAÇÃO

Page 7: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

• Ferramentas livres muito utilizadas atualmente:– OMNeT++;– NS2 (NS3);– GLASS/SSFNet.

• Ferramentas pagas:– OPNET.

• OMNeT++– Melhorias nas linguagem de descrição da rede;– Conceito de herança;– Portabilidade de códigos anteriores e INET;– Nova IDE.

Ferramentas de Simulação

Page 8: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

• Usado por empresas como: Lucent Bell Labs (análise de protocolos) e Siemens (projetos internos de pesquisa).– Fonte:http://www.omnetpp.org/index.php?topic=Companies.

• Porque não utilizar o NS2/NS3/OPNET?– NS3 não é compatível com código fonte do NS2;– Poucas bibliotecas de rede foram convertidas para o NS3;– OPNET é um simulador pago, cujo código fonte não é aberto.

• OMNeT++– Excelente desempenho: escrito em C++;– Uso de linguagem de descrição de topologia própria (NED);– Software Livre com 100% de seu código-fonte disponível;– Gratuito para uso acadêmico e/ou não comercial.

Ferramentas de Simulação

Page 9: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

OMNeT++

Page 10: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Principais Elementos

• Módulos, parâmetros, gates e canais;

• Canal de transmissão;

• Mensagens e Eventos;

• NED (NEtwork Descriptor) → conexão entre os objetos;

• Executável gerado/ Bibliotecas;

• Modos de execução (gráfico ou não-gráfico);

• Pacotes desenvolvidos pela comunidade (ex.: INET).

Page 11: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Módulos

• Um módulo é o principal componente de uma simulação,

representa uma entidade a ser simulada, por exemplo, um

roteador ou uma placa Ethernet.

• Módulo simples:– Indivisível;

– Descrição: linguagem NED (NEtwork Description):• Parâmetros, Gates e Topologia.

– Comportamento: Código C++.

Page 12: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Módulo Simples

• Descrição: Linguagem NED.

Page 13: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Módulo Composto

• Composto internamente por um ou mais módulos Simples

ou outros módulos compostos.

– Não possui código C++ para descrever o comportamento

Page 14: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Canais

• Tipos de canais do OMNeT++:• IdealChannel;

• DelayChannel;

• DatarateChannel;

Page 15: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Exemplo de uso dos canais

• Sem nenhum parâmetro, o OMNeT++ interpreta como um IdealChannel, a mensagem chegará instantaneamente ao outro módulo. Isso vale tanto ao ligar módulos dentro de uma rede ou dentro de um módulo composto

Page 16: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Exemplo de uso dos canais

• No caso do canal cDatarateChannel, é possível especificar, por exemplo:– datarate, delay, BER (Bit Error Rate).

Page 17: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Criando uma Rede• Uma Network é um composta de módulos simples ou compostos,

conectados entre si através da ligação de seus gates por um canal.

• São criadas instâncias dos módulos simples e/ou compostos: – tic/toc = objeto, Txc1=classe c++.

Page 18: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Mensagens

• Todos os eventos do OMNET++ são baseados em mensagens

e no seu escalonamento;

• As mensagens são usualmente trocadas entre as portas de

input e output dos módulos simples e compostos;

• Quando a porta está conectada a um canal, a mensagem pode

sofrer atrasos, caso o canal não seja ideal como no exemplo

anterior.

Page 19: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Código C++

• Principais Funções:

– Initialize(): permite a execução de qualquer código antes de

iniciar a simulação. Não é o construtor do objeto;

– HandleMessage(): função responsável por realizar o tratamento

de qualquer mensagem que chega ao módulo simples,

independente de qual seja a porta de entrada.

Page 20: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Código C++

• Obs.: Cada um dos componentes do OMNeT++ são uma

classe no código C++.

• Embora na utilização apenas se reescreva o código dos

módulos simples, outros objetos como gates, módulos

compostos, canais, todos possuem um código C++ na API do

OMNeT++.

• Caso seja necessário, esses códigos podem ser modificados.

Page 21: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Arquivo de configuração• Arquivo de configuração omnet.ini.

– Possui as opções de execução da simulação;

– Pode ser usado apenas um para o projeto inteiro, independente de quantas redes estão sendo simuladas;

Page 22: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Tutorial de Instalação

Page 23: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Exemplos

Page 24: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Exemplo: Tic Toc

• Objetivo: Modelagem um sistema formado por dois nós enviando a mesma mensagem que receberam.

• Primeiro Passo: Definição do módulo simples no arquivo Tictoc1.ned.

Page 25: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Exemplo: Tic Toc• Segundo Passo: Definição do código C++ do módulo simples

Txc1.

Page 26: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Exemplo: Tic Toc• Terceiro Passo: Criação da Rede.

Page 27: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

• Último Passo: Compilação e Execução.

– Para compilar, basta clicar em cima do projeto com o botão direito e selecionar Build Project.

– Para executar, basta deixar o arquivo de configuração aberto na IDE e clicar em “run”, que uma configuração de execução será automaticamente criada para aquela pasta.

– A IDE então chama a interface gráfica do OMNET.

Exemplo: Tic Toc

Page 28: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Exemplo: Tic Toc

Page 29: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

Page 30: Http:// OMNeT++. Sumário Simulação de Eventos Discretos Ferramentas de Simulação OMNeT++ Tutorial de Instalação Exemplos

h

ttp

://w

ww

.lab

tel.ele

.ufe

s.b

r

OMNeT++