O documento descreve a simulação de sistemas distribuídos utilizando a ferramenta OMNeT++. Apresenta conceitos sobre sistemas distribuídos e características, além de exemplos como DNS e serviços do Google. Também explica sobre a instalação e utilização do OMNeT++ para desenvolvimento de projetos de simulação, como o exemplo TicToc.
Simulação de Sistemas Distribuídos utilizando o OMNet+
1. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
Simulac¸˜ao de Sistemas Distribu´ıdos
utilizando o OMNeT++
FISL 14
Prof. Walter Silvestre Coan, MSc.
Universidade da Regi˜ao de Joinville - UNIVILLE
2. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
FISL 14
FISL 14
SISTEMAS DISTRIBU´IDOS
Conceito
Exemplos de Sistemas Distribu´ıdos
Caracter´ısticas
Simulac¸˜ao de sistemas distribu´ıdos
OMNET++
OMNeT++
Projeto TicToc
Modelos de simulac¸˜ao
Simulac¸˜ao INET
Simulac¸˜ao Adhoc Network
Simulac¸˜ao de uma WSN utilizando MiXiM
3. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
SISTEMAS DISTRIBU´IDOS
”Um sistema distribu´ıdo ´e aquele no qual os componentes
localizados em computadores interligados em rede se
comunicam e coordenam suas ac¸ ˜oes apenas passando
mensagens”[COULORIS:2007] .
Prop´ositos:
Compartilhamento de recursos
Escalabilidade
Seguranc¸a
Transparˆencia
Topologia de um sistema distribu´ıdo
4. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
DNS - DOMAIN NAME SYSTEM
Internet utiliza nomes simb´olicos para identificar hosts e redes, o
que n˜ao obriga os usu´arios a ”decorar”os enderec¸os IP v´alidos
dos servidores na Internet.
Dom´ınios - S˜ao as entidades que receberam um
determinado nome.
Nomes de dom´ınio - S˜ao os nomes simb´olicos usados
univille.edu.br - joinville.sc.gov.br
Os aplicativos fazem consultas ao servidor DNS para
traduzir os nomes simb´olicos em enderec¸os IP.
Um ´unico servidor DNS n˜ao consegue manter todos os links
simb´olicos existentes na Internet, ent˜ao, diversos servidores
colaboram entre si para resolver um determinado enderec¸o e
manter seus bancos de dados atualizado atrav´es da troca de
mensagens.
5. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
GOOGLE SERVICES
Google Search Engine + GMail + Youtube + Google AdWords +
Google Maps + Google Drive + Google Agenda + Google
Tradutor + Google Livros + Google Alertas
Google apoia eventos sobre pesquisa na ´area de sistemas distribu´ıdos
como o Simp´osio Brasileiro de Redes e Sistemas Distribu´ıdos (SBRC).
Google Research http://research.google.com/pubs/DistributedSystemsandParallelComputing.html
Fonte: Google Servers (2013)
6. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
COMPARTILHAMENTO DE RECURSOS
Um sistema distribu´ıdo utiliza-se de diversos computadores
que somam seus recursos realizando cada um parte de uma
atividade complexa com o objetivo suportar um grande
volume de requisic¸ ˜oes.
Utilizam redes de computadores para troca de mensagens
atrav´es de protocolos de comunicac¸˜ao.
Escalabilidade
Suporte a heterogeneidade
redes
hardware
sistemas operacionais
linguagens de programac¸˜ao
Soluc¸˜ao: Middlewares (Corba - Java RMI - WCF Mono)
7. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
SEGURANC¸ A
Fonte: WEB The New York Times (2013)
http://www.nytimes.com/2013/04/02/science/distributed-denial-of-service.html?r = 0
Sistemas distribu´ıdos est˜ao sujeitos a ameac¸as de seguranc¸a
relevantes como o DoS Denial-of-service (ataque de negac¸˜ao de
servic¸o), ataques de invas˜ao ou substituic¸˜ao de c´odigos m´oveis.
8. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
TRATAMENTO DE FALHAS
Quest˜oes importantes:
Como detectar falhas?
Devido a distribuic¸˜ao de processos em diversos computadores,
encontrar falhas se torna um processo relevante.
Mascaramento de falhas
Retransmiss˜ao de mensagens
Tolerˆancia a falhas
Mesmo em caso de falha de comunicac¸˜ao, o sistema continua tentando
estabelecer uma conex˜ao.
Redundˆancia
Recupera¸c˜ao de falhas
Em caso de falha o sistema ´e capaz de desfazer ou refazer uma
operac¸˜ao mantendo os dados ´ıntegros.
Disponibilidade
Per´ıodo de tempo que um sistema esta pronto para uso.
9. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
TRANSPAR ˆENCIA
Transparˆencia de acesso
Recursos dos sistemas distribu´ıdos podem ser acessados
de forma local e remota da mesma forma.
Transparˆencia de localiza¸c˜ao
Possibilitar o acesso aos recursos sem conhecer a real
localizac¸˜ao f´ısica dos servidores na rede.
Transparˆencia de replica¸c˜ao
Permitir que v´arias instˆancias dos recursos possam
trabalhar em conjunto para aumentar a disponibilidade e
tolerˆancia a falhas.
Transparˆencia de falhas
Permitir que os usu´arios dos recusos consigam concluir
tarefas, mesmo em caso de falhas do sistema.
10. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
SIMULAC¸ ˜AO POR COMPUTADOR
Os principais m´etodos de avaliac¸˜ao de performance s˜ao:
An´alise matem´atica
Medic¸ ˜oes
Simulac¸˜ao por computador
Simulac¸ ˜oes por computador utilizando eventos discretos s˜ao:
”simulac¸ ˜oes onde o estado da aplicac¸˜ao muda em pontos
discretos no tempo que s˜ao conhecidos como
eventos”[Schmidt:2010].
Evoluc¸ ˜ao dos eventos no tempo
11. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
SIMULAC¸ ˜AO UTILIZANDO EVENTOS DISCRETOS
Princ´ıpios:
A simulac¸˜ao acontece por um tempo m´aximo
determinado;
Eventos s˜ao executados em pontos discretos do tempo e
s˜ao respons´aveis pela mudanc¸a do estado da simulac¸˜ao;
Eventos podem gerar novos eventos, que devem ser
armazenados em uma estrutura de dados respons´avel por
realizar sua ordenac¸˜ao;
Em um ponto do tempo onde um evento ocorre ´e poss´ıvel
verificar o estado global da aplicac¸˜ao;
Para cada evento deve haver um c´odigo fonte para
tratar-lo.
12. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
OMNET++
O OMNeT++ foi criado por Andr´as Vargas na Technical University of Budapest,
no Department of Telecommunications (BME-HIT), em 1998. Ele funciona como
um framework modular, extens´ıvel e baseado em componentes
desenvolvidos em C++ para simulac¸˜ao de redes e sistemas de prop´osito
geral. Para uso acadˆemico seu licenciamento ´e como software livre utilizando
o modelo GNU. Para o uso comercial o produto ´e conhecido como OMNest e
seu licenciamento ´e vendido.
13. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
INSTALAC¸ ˜AO DO OMNET++
Sistemas operacionais suportados
Ubuntu, Debian, Fedora, Red Hat, OpenSUSE
Mac OS X
e at´e naquele outro SO...
Instalac¸˜ao no Ubuntu - http://omnetpp.org/doc/omnetpp/InstallGuide.pdf
Download do pacote omnetpp-4.3-src.tgz com os fontes pelo link:
http://omnetpp.org/omnetpp
Descompacte o pacote no seu diret´orio /home/youruser
Altere a vari´avel de ambiente PATH para incluir o diret´orio do
OMNeT++.
Instalar um conjunto de pacotes requeridos pelo OMNeT++ conforme o
item 5.3.1 do manual de instalac¸˜ao
Executar o script de verificac¸˜ao de ambiente, ex: ˜/omnetpp-4.3$
./configure
Caso nenhum erro ou falta de pacote requerido seja apresentado basta
iniciar a compilac¸˜ao com o comando, ex: ˜/omnetpp-4.3$ make
14. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
ENTENDENDO O PROJETO TICTOC - CRIANDO
Criando projeto exemplo TicToc
O projeto TicToc ´e um modelo para entender o funcionamento das
simulac¸ ˜oes no OMNeT++ e principalmente a importˆancia de cada um dos
componentes. Para criar esse exemplo devemos criar um novo projeto no
OMNeT++ atrav´es do menu File → New → OMNeT + +Project.
Informe o nome do projeto como ”TicToc”e pressione NEXT, na pr´oxima tela
do wizard conforme a figura acima, selecione o template ”Tictoc
example”dentro da pasta de exemplos, e finalize a criac¸˜ao do projeto com
bot˜ao Finish.
15. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
ENTENDENDO O PROJETO TICTOC - ESTRUTURA 1/2
Source folder simulations
Devem ser colocados os arquivos de configurac¸˜ao e de
m´odulos gerais da simulac¸˜ao.
Arquivo com extens˜ao NED
S˜ao arquivos que utilizam uma linguagem
espec´ıfica para a descric¸˜ao de m´odulos que
s˜ao unidos para compor a aplicac¸˜ao.
Arquivo omnetpp.ini
Permite a configurac¸˜ao de cen´arios de
execuc¸˜ao de uma simulac¸˜ao. Esse arquivo ´e
obrigat´orio e deve possuir pelo menos o
cen´ario [General].
16. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
ENTENDENDO O PROJETO TICTOC - ESTRUTURA 2/2
Source folder src
Devem ser colocados os c´odigos fonte em C++ e de
m´odulos componenes da simulac¸˜ao.
Txc.ned
Define um m´odulo simples que representa
um n´o da simulac¸˜ao. Esse m´odulo ter´a dois
port˜oes de comunicac¸˜ao: entrada e sa´ıda. E
poder´a receber um parˆametro booleano
atrav´es do arquivo de configurac¸˜ao
omnetpp.ini
Txc.h e Txc.cc
S˜ao os arquivos fonte que definem o
comportamento do m´odulo Txc.ned. No
arquivo Txc.h ´e poss´ıvel observar que a
interface cSimpleModule ser´a implementada.
Com isso o arquivo Txc.cc dever´a conter o
c´odigo fonte dos m´etodos initialize e
handleMessage.
17. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
ENTENDENDO O PROJETO TICTOC - C ´ODIGO FONTE
1/2
O m´etodo initialize() ´e automaticamente
chamado pelo OMNeT++ em todos os
m´odulos que comp˜oe a simulac¸˜ao.
Observando o c´odigo pode-ser verificar que o
m´etodo par() ´e chamado para ler um
parˆametro que foi passado no arquivo
omnetpp.ini. Caso o parˆametro tenha o valor
verdadeiro, uma instancia da classe cMessage
´e criada e o m´etodo send ´e invocado,
direcionando a mensagem para o port˜ao de
comunicac¸˜ao ”out”.
18. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
ENTENDENDO O PROJETO TICTOC - C ´ODIGO FONTE
2/2
J´a o m´etodo handleMessage() ´e chamado
automaticamente pelo OMNeT++ toda vez
que port˜ao de comunicac¸˜ao ”in”recebe uma
mensagem. Observa-se que a mensagem ´e
recebida no formado de uma instˆancia do
objeto cMessage que ´e o parˆametro de
entrada. Como o objetivo do m´etodo ´e
simplesmente realizar a retransmiss˜ao da
mensagem, o m´etodo send() ´e novamente
invocado repassando a mensagem para o
port˜ao de comunicac¸˜ao ”out”.
19. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
ENTENDENDO O PROJETO TICTOC - OMNETPP.INI
O arquivo omnetpp.ini permite a
configurac¸˜ao dos cen´arios de execuc¸˜ao da
simulac¸˜ao. Observa-se que ele segue padr˜ao
de um arquivo .ini no formato
CHAVE=VALOR. Importante destacar que
existem parˆametros padr˜oes do OMNeT++
para as simulac¸ ˜oes como o network que
define o nome do cen´ario, e ainda parˆametros
criados nos m´odulos como o
sendInitialMessage que foi definido no
m´odulo Txc.net.
20. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
ENTENDENDO O PROJETO TICTOC - TICTOC.NED
´E obrigat´oria a existˆencia de
pelo menos um arquivo no
formato NED com o nome do
projeto que ser´a respons´avel
por definir a topologia da
rede. Ao definir a topologia da
rede pelo bloco network s˜ao
criadas duas instˆancias
chamadas tic e toc do mesmo
t´ıpo de m´odulo Txc definido
anteriormente. No item
connections s˜ao criadas as
conex˜oes definindo
efetivamente a topologia
dotada para a simulac¸˜ao.
21. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
MODELOS DE SIMULAC¸ ˜AO
Os modelos de simulac¸˜ao s˜ao projetos desenvolvidos paralelamente ao
OMNeT++ por grupos de pesquisa independentes que permitem adicionar
novas funcionalidades e caracter´ısticas de redes espec´ıficas n˜ao suportadas
de forma nativa pelo OMNeT++.
Permite a simulac¸˜ao de redes utilizando diversos protocolos como UDP,
TCP, IP, IPv6, Ethernet, PPP, 802.11 dentre outros.
MiXiM
Permite a simulac¸˜ao de Wireless Sensor Networks e
Mobile Networks.
Simulac¸˜ao de Wireless Sensor Networks.
Suporta a simulac¸˜ao de Inter-Vehicular
Communications.
22. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
AMBIENTE DE SIMULAC¸ ˜AO USANDO O INET
Para realizar a instalac¸˜ao do INET basta seguir os passos:
Realizar o download do pacote de instalac¸˜ao pelo link:
http://inet.omnetpp.org/index.php?n=Main.Download
Descompactar o pacote
Pela IDE do OMNeT++ importar o pacote utilizando a opc¸˜ao: File -
Import - Existing Project to the Workspace
Ap´os realizar a importac¸˜ao do projeto, executar o processo de Build.
23. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
CRIANDO UM PROJETO COM INET
Vamos criar um projeto utilizando o plugin INET baseado no
modelo Ethernet.
Selecione o menu na IDE do OMNeT++: File - New -
OMNeT++ Project e inform o nome do projeto, clique no bot˜ao
Next.
24. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
CRIANDO UM PROJETO COM INET
Na tela Initial Contents, selecione a opc¸˜ao Empty project with
src and simulations folders e clique na opc¸˜ao Finish.
25. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
CRIANDO UM PROJETO COM INET
Agora ´e necess´ario vincular o projeto a biblioteca do INET para
possibilitar que os componentes possam ser utilizados. Para
isso, clique com o bot˜ao direito sobre o projeto e selecione a
opc¸˜ao propriedades. Na pr´oxima tela selecione a opc¸˜ao Project
References e na lista de projetos selecione o inet.
26. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
NED FILE - NETWORK DESCRIPTION FILE
O primeiro passo para criar uma simulac¸˜ao ´e definir a topologia da rede. Para
isso clique com o bot˜ao direito sobre o source folder simulations e selecione a
opc¸˜ao New - Network Description File (NED). Na tela do wizard informe o
nome do arquivo NED igual ao nome do projeto. Selecione a opc¸˜ao Next.
27. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
NED FILE - NETWORK DESCRIPTION FILE
Voce pode criar um arquivo NED utilizando alguns exemplos
de topologias j´a prontas, vamos utilizar o padr˜ao NED File
with one item. Clique no bot˜ao Next.
28. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
NED FILE - NETWORK DESCRIPTION FILE
Selecione a opc¸˜ao Network que permite definir a topologia de
nossa rede. Finalize o wizard.
29. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
IPV4NETWORKCONFIGURATOR
Vamos agora construir a topologia da nossa rede. De um duplo
clique no arquivo NetworkEthernet.ned no modo de design. O
primeiro componente que vamos inserir ´e o
iPv4NetworkConfigurator. Seu objetivo ´e coordenar de forma
transparente a utilizac¸˜ao do protocolo IP sobre a rede Ethernet.
30. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
IPV4NETWORKCONFIGURATOR
O pr´oximo passo ´e configurar o iPv4NetworkConfigurator
atrav´es de um arquivo xml embedded, nele vamos definir a
faixa de IP utilizada na rede.
31. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
TOPOLOGIA DA REDE
Agora voltamos o modo de design para adicionar mais trˆes
componentes:
etherSwitch - Este componente representa um Switch no
padr˜ao Ethernet.
StandarHost - Este componente representa os
computadores conectados a rede. Devem ser insiridos dois
StandarHosts e seus nomes foram modificados para server
e client.
32. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
CONEX ˜OES
Para concluir a topologia da rede, vamos editar o fonte do
arquivo NED, e incluir um novo grupo de c´odigo type, onde
vamos definir um novo tipo chamado cable que ir´a herdar o
funcionamento de uma conex˜ao por cabo ethernet de 100MBs,
sendo necess´ario importar esta classe. Criamos tamb´em um
novo grupo chamado connections, onde definimos que os dois
StandarHosts utilizam o tipo cable para conectar-se ao switch.
33. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
ARQUIVO OMNETPP.INI
O arquivo omnetpp.ini precisa ser modificado para configurar
a simulac¸˜ao. Para esse exemplo vamos utilizar uma aplicac¸˜ao
padr˜ao existente nos StandarHosts que simula o teste da
conex˜ao pelo envio de um pacote ping. Como o objetivo ´e que
o host cliente envie o pacote ping para o host server, o ip do
host server ´e colocado como parˆametro de enderec¸o de destino.
34. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
BUILD DA SIMULAC¸ ˜AO
Devemos realizar o build da simulac¸˜ao, para isso basta
selecionar o projeto NetworkEthernet e no menu principal do
OMNeT++ clicar em Project - Build Project. Caso o processo de
build ocorra com sucesso, um novo pacote chamado Binaries
ser´a criado no projeto contendo os arquivos compilados da
simulac¸˜ao.
35. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
CONFIGURAR A EXECUC¸ ˜AO
Para testar a simulac¸˜ao devemos acessar o menu principal do
OMNeT++ Run e seleciona a opc¸˜ao Run Configuration. Clique
no bot˜ao nova configurac¸˜ao de execuc¸˜ao no canto da tela,
informe um nome para os parˆametros de execuc¸˜ao e selecione a
configurac¸˜ao General no item Config name. Para concluir basta
clicar em apply e em seguida na opc¸˜ao RUN.
37. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
ADHOC NETWORKS
Outro ambiente bastante comum para a simulac¸˜ao de sistemas
distribu´ıdos s˜ao as Adhoc Networks, redes formadas sem a
necessidade de uma infraestrutura instalada para a
comunicac¸˜ao (Access Points, Routers, Switchs, etc). Algumas
caracter´ısticas desse tipo de rede s˜ao:
Utilizac¸˜ao de r´adio transmissores (IEEE 802.11, IEEE
802.15.4 ZigBee, Bluetooth);
Os n´os da rede devem se coordenar para definir a
identificac¸˜ao dos n´os;
Deve haver tolerˆancia a desconex˜ao;
Importˆancia dos algoritmos de roteamento.
38. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
ADHOC NETWORKS
Para criar uma simulac¸˜ao no modelo Adhoc Network devemos
criar um novo projeto no OMNeT++ e vincular a dependˆencia
com o projeto INET. Ent˜ao vamos criar um novo arquivo NED
chamado WirelessProject.NED para definir a arquitetura da
simulac¸˜ao. Clique com o bot˜ao direito sobre o source folder
simulations e selecione New - Network Descrition File, informe
o nome do arquivo e na pr´oxima tela selecione a opc¸˜ao NED
File with one item. Na pr´oxima e ´ultima tela selecione em
Initial Content a opc¸˜ao Network e finalize o wizard.
39. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
ADHOC NETWORKS
O pr´oximo passo ´e configurar o arquivo WirelessProject.NED, inserindo os
seguintes componentes:
iPv4NetworkConfigurator
Esse componente coordenaram a utilizac¸˜ao no protocolo IPv4 para
identificac¸˜ao dos n´os da rede;
ChannelControl
Esse componente tem a responsabilidade de controlar o canal de
comunicac¸˜ao por r´adio transmiss˜ao, sendo que o padr˜ao ´e o padr˜ao
IEEE802.11.
adhocHost
Esse componente ir´a simular os n´os da rede adhoc.
40. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
ADHOC NETWORKS
Edite o arquivo WirelessProject.NED no modo de c´odigo fonte. Conforme
ilustra a figura, vamos inserir um novo grupo chamado parameters para
definir uma vari´avel chamada numNodes com o valor inicial de 5, seu
objetivo ´e permitir que o n´umero de n´os da rede possa ser redefinido. No
modulo iPv4NetworkConfigurator insira a linha de configurac¸˜ao da faixa de
IP da rede. E pro fim modifique a declarac¸˜ao da vari´avel adhochost para um
vetor utilizando como tamanho inicial o numhost.
42. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
ADHOC NETWORKS
Resultado da simulac¸˜ao da Adhoc Networks
43. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
WIRELESS SENSOR NETWORKS
As WSN - Wireless Sensor Networks s˜ao uma subclassificac¸˜ao
das adhoc networks, compostas por dispositivos sensores com
restric¸ ˜oes de recursos e normalmente de baixo custo. Isso
possibilita a montagem e distribuic¸˜ao desses sensores por
grandes ´areas gerando redes para monitoramento destas ´areas
de interesse.
O MiXiM ´e um dos plugins que permite a simulac¸˜ao no
ambiente OMNeT++ de redes de sensores sem fio,
acrecentando n˜ao apenas asp´ectos l´ogicos mas tamb´em a
representac¸˜ao de caracter´ısticas f´ısicas aos sensores.
44. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
INSTALAC¸ ˜AO DO MIXIM
Devido a alguns erros liberados nas ´ultimas vers˜oes deste
plugin, o processo de instalac¸˜ao deve seguir os passos:
Realizar o download do pacote pelo enderec¸o:
http://sourceforge.net/projects/mixim/files/mixim/
Descompatar o pacote de instalac¸˜ao (tar xvzf
mixim-2.3.tar.gz)
Acessar o diretorio pelo bash e executar o comando ”make
makefiles”para expans˜ao dos arquivos de compilac¸˜ao do
projeto
Executar o comando ”make”para efetuar a compilac¸˜ao do
projeto
Por fim, abra a IDE do OMNeT++ e selecione a opc¸˜ao File -
Import - General - Import existing projects into workspace
e aponte para o diretorio onde o projeto foi compilado.
45. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
CRIANDO UM PROJETO COM O MIXIM
O processo de criac¸˜ao de um projeto utilizando o MiXiM ´e um
pouco diferente do projeto no INET. O processo inicial
permanece quase igual, precisamos criar um novo projeto do
tipo OMNeT++ que vamos chamar de WSN. Acione a opc¸˜ao
Next.
46. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
CRIANDO UM PROJETO COM O MIXIM
Na pr´oxima etapa do wizard acontece a principal diferenc¸a no
processo de criac¸˜ao de um projeto utilizando o MiXiM. Ele
possui um template para simplificar a criac¸˜ao de projetos
utilizando o simulador. Selecione a opc¸˜ao Basic MiXiM
network, e acione a opc¸˜ao Next.
47. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
CRIANDO UM PROJETO COM O MIXIM
Na etapa de definic¸˜ao do NIC Protocol ´e poss´ıvel optar por algumas
configurac¸ ˜oes importantes do projeto da camada de rede. Vamos selecionar
para a camada de rede a opc¸˜ao Sensor Application Layer, para a camada de
rede um protocolo de roteamento no estilo Flooding, para a camada fisica o
padr˜ao 802.11. Como se trata de uma rede de sensores sem fio, ´e comum
considerar nas simulac¸ ˜oes a possibilidade de mobilidade dos n´os. Selecione o
modelo de velocidade constante e mantenha a simulac¸˜ao considerando
apenas duas dimens˜oes. Acione a opc¸˜ao Finish.
48. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
CRIANDO UM PROJETO COM O MIXIM
Observe que os seguintes componentes s˜ao utilizados na
simulac¸˜ao:
ConnectionManager - respons´avel por gerenciar as conex˜oes utilizando
o padr˜ao IEEE802.11 ou outro padr˜ao de comunicac¸˜ao sem fio;
World - esse m´odulo permite com que os n´os tenham acesso a
informac¸ ˜oes do ambiente onde a simulac¸˜ao esta sendo executada como
por exemplo seu posicionamento geogr´afico;
Host80211 - que simula os n´os de uma WSN.
49. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
CRIANDO UM PROJETO COM O MIXIM
O arquivo omnetpp.ini gerado pela vers˜ao 2.3, possui um erro
na parametrizac¸˜ao do gerador de tr´afego de rede. No
parˆametro **.appl.trafficParam deve ser inserido um ”s”que
representa segundos, logo ap´os o valor um.
50. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
CRIANDO UM PROJETO COM O MIXIM
Agora o processo para a execuc¸˜ao segue o mesmo do plugin
INET, ´e necess´ario realizar o Build do projeto e ent˜ao criar um
conjunto de configurac¸˜ao de execuc¸˜ao para ent˜ao iniciar a
simulac¸˜ao.
51. FISL 14 SISTEMAS DISTRIBU´IDOS OMNET++
OBRIGADO!
Universidade da Regi˜ao de Joinville - UNIVILLE
Departamento de Inform´atica
Prof. Walter Silvestre Coan, MSc.
walter.s@univille.br - walter.coan@gmail.com
http://www.univille.br/deptoinformatica
http://www.faltoupontoevirgula.com.br
100% LATEX