Você está na página 1de 12

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/296698764

Desenvolvimento de uma Interface Gráfica para o simulador CODPON-SIM

Conference Paper · October 2013

CITATIONS READS

0 198

3 authors, including:

Patrick Andjasubu Bungama Mauro Margalho Coutinho


Université de Sherbrooke Universidade da Amazônia (UNAMA)
7 PUBLICATIONS   15 CITATIONS    39 PUBLICATIONS   61 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

CodPon View project

Relational vs NoSQL View project

All content following this page was uploaded by Patrick Andjasubu Bungama on 04 March 2016.

The user has requested enhancement of the downloaded file.


Desenvolvimento de uma Interface Gráfica para o simulador
CODPON-SIM
Patrick A. Bungama¹, Yuri A. Planzo¹, Mauro M. Coutinho¹

¹Centro de Ciências Exatas e Tecnologia (CCET) – Ciência da Computação


Universidade da Amazônia (UNAMA) – Belém – PA – Brasil
patrick.bungama@gmail.com, yuriplanzo@hotmail.com, margalho@unama.br

Abstract. This paper describes a software aimed at setting simulation


scenarios with a performance evaluation module for the simulator CODPON-
SIM. This simulator works with the new proposed computer wireless networks
CODPON (Continuous Displacement Plan Oriented Network), inspired in
delay tolerant networks and disconnections (DTN). The configurator
implemented provides a graphical environment that allows users, besides
configure different scenarios with appropriate simulation parameters, to
understand the working principle of the networks CODPON.

Resumo. Este artigo descreve um software voltado à configuração de cenários


de simulação junto com um módulo de avaliação de desempenho para o
simulador CODPON-SIM. Este simulador trabalha com a nova proposta de
rede de computadores sem fio (Wireless), redes CODPON (Continuous
Displacement Plan Oriented Network), inspiradas em redes tolerantes a
atrasos e desconexões (DTN). O configurador implementado proporciona um
ambiente gráfico que permite aos usuários, além de configurar diferentes
cenários com os devidos parâmetros de simulação, de entender o princípio de
funcionamento das redes CODPON.

1. Introdução
Redes DTN (Delay-Tolerant Networks) são redes móveis sem fio usadas na maioria das
vezes em locais onde não há rotas de comunicação fim-a-fim (end-to-end) de um
determinado dispositivo emissor até um receptor final [Sammou e Abdali 2011] e
[Franck e Gil-Castineira 2007]. Esse tipo de redes pode ser usado para conectar
equipamentos móveis sem fio em áreas sem infraestrutura para suportar conectividade
contínua [Acharya, Shah e Venkataraman 2009] e [Goncharov 2010].
Há alguns anos, foi elaborado o protocolo CODPON (Continuous Displacement
Plan Oriented Network) [Mauro, Thierry, Erick, Alon e Thienne 2011] com intuito de
ser usado para reduzir o isolamento da população ribeirinha da região do Marajó, no
norte do Brasil, onde há uma ausência de infraestrutura de comunicação. O protocolo
usa os barcos como mulas de dados, pois constituem o único meio de transporte da
região.
Por meio da modelagem, foram identificados os diferentes componentes das
redes CODPON e assim, foi concebido um modelo simplificado e a partir dele foi
elaborado um simulador denominado CODPON-SIM [Mauro 2009].
Tipicamente existem duas formas de se modelar um sistema: a modelagem
analítica e a modelagem via simulação [Issariyakul e Hossain 2009]. Tornou-se mais
adequado usar a simulação para estudar o funcionamento das redes CODPON em
diferentes cenários de transmissão de dados, pois ela é uma das técnicas de modelagem
mais difundida em computação devido à sua facilidade de aprendizado e de uso
[Thienne e Mauro 2011].
Em prol de melhorar o CODPON-SIM, codificou-se um ambiente com interface
gráfica amigável (Front end) permitindo a configuração e a parametrização de
diferentes cenários de simulação e oferecendo aos usuários a possibilidade de entender o
funcionamento das redes CODPON sem saber dos detalhes puramente técnicos.
Este artigo é organizado da seguinte forma: na seção 2, apresenta-se o
modelo de Rede CODPON; na seção 3, faz-se uma descrição completa do
Software implementado, ressaltando os princípios de funcionamento e o módulo
de avaliação de desempenho; na seção 4, destaca-se alguns dos conceitos usados
durante o desenvolvimento do Software; a seção 5 apresenta o exemplo de
criação de um cenário; já na seção 6, faz-se as conclusões e por fim a seção 7
apresenta as referências usadas para a elaboração do presente trabalho.

2. Rede CODPON
Redes CODPON (Continuous Displacement Plan Oriented Network) são apresentadas
em [Mauro, Thierry, Erick, Alon e Thienne 2011] como um tipo de rede que tem como
principal inspiração o sistema de controle aéreo, com a diferença que o plano de “vôo” é
chamado de plano de deslocamento (DP) e as torres de controle são as Peer Base
Station.
Esse tipo de rede foi concebido para ser usado na região de Marajó, situada no
norte do Brasil, onde os barcos constituem a única alternativa de transporte. Em uma
rede CODPON distingue-se basicamente três tipos de nós: os barcos, as Peer Base
Station (PBS) e hot spots. Os barcos
atuam como mulas, transportando os dados espalhados ao longo do caminho. A figura 1
ilustra esse cenário com barcos encostando-se a uma PBS. Os barcos usados em uma
rede CODPON são principalmente mantidos pelos municípios. Eles operam diaramente
com rotas prédefinidas, com dias e horários de partidas e chegadas. Essas informações
definem o plano de deslocamento de cada barco.
Cada comunidade tem pelo menos uma PBS, que é um ponto fixo (Portos) onde
os barcos fazem paradas previamente programadas. Outro elemento de grande
importância são os computadores, chamado de KED (Kit of Data Exchange),
localizados no telhado de todos os barcos fazendo partes da rede. Sempre há uma
estação de base chamado da MATRIX. Todos os outros nós têm uma tabela com a
distância hidrográfica da PBS MATRIX.
Figura 1. Barcos levando dados para a PBS (Fonte: http://www.labpetala.com)
O terceiro tipo de nó é chamado de Hot Spot. É um nó especial que só existe em
áreas que têm ligação com a Internet. É um gateway entre redes CODPON e a Internet.
Se um barco cruza com um Hotspot CODPON, uma cópia de todos os dados a bordo é
enviada pela internet. Návios especias, como aqueles mantidos pelo exercíto, podem ter
nós Hot Spot, pois sempre mantêm conexão com a Internet [Mauro 2009].
Os Dados das aplicações usando as redes CODPON são divididos em unidades
lógicas denomidas DACT (Data Application in Transit). Cada DACT representa uma
unidade mínima de transmissão de um nó a outro.
O protótipo das redes CODPON foi projetado em 2011 no laboratório Pétala
(Pesquisas em Tecnologias Alternativas Ligadas a Amazônia) da Universidade da
Amazônia (UNAMA). Todo o protocolo de comunicação é escrito em C++ para
sistemas Linux, usando soquetes e multithreading. A comunicação é baseada em Redes
Ad Hoc Veiculares (VANETs). Testes foram feitos em [Filho, Abdelnor, Pimentel,
Jacob Jr, Margalho 2011] e o sistema foi capaz de enviar vídeos, imagens e arquivos de
gravação auditiva de um nó (PBS em território de Marajó) a outro (PBS da capital
Belém) simulando um diagnóstico de um médico em um paciente.

3. Descrição do Software
3.1. Princípios de funcionamento

3.1.1. Configuração das informações básicas


A interface principal do software, como apresentada na figura 2, oferece as primeiras
informações a respeito do cenário a ser configurado para a simulação. São elas:
- Dimensões do cenário: é a proporção da superfície do cenário. Para facilitar, a
dimensão é baseada em uma escala (1:1, 3:4 e 5:9) e um fator que definirá a área da
superfície.
- Duração da simulação: baseado em um pulso de 1 segundo (SimClock), define o tempo
total da simulação.
- Velocidade média dos barcos: que é a quantidade de pontos do Flatgrid que percorre a
cada pulso (padrão é 1 metro por segundo).
- Distância entre os pontos do Flatgrid: define a escala do Flatgrid (padrão é de 1
metro).
- Área podendo ser coberta por um barco: define o alcance máximo da comunicação
entre dois barcos (BOATS).
- A consideração de camada de proximidade.

Figura 2. Interface Principal


Essas informações (menos as DACTs) devem ser especificadas logo no início da
configuração, pois elas irão ser usadas nos próximos passos.

3.1.2. Configuração dos PBS, BOATs, ROUTEs e STEPs


Em uma segunda etapa do processo de criação de um cenário, especificam-se os
elementos chave da simulação: os Portos ou PBS, os barcos (BOATs) usados como
MULAS para transportar os dados e as rotas (ROUTES).
Para passar nesta etapa, abre-se o Assistente de configuração dos PBS, ROUTE
e BOAT. Na abertura da janela do Assistente, tem-se a possibilidade de escolher um dos
mapas propostos (no nosso caso utilizou-se imagens da região do Marajó) para o
background da tela (figura 3). Isso torna a configuração mais simples e a aproxima do
cenário real, pois no mapa tem-se uma noção realista das verdadeiras localizações dos
municípios.
Figura 3. Assistente de Configuração dos PBS, ROUTE e BOAT
Por meio de um clique direito em cima do campo:
- de PBS ou também no próprio mapa, oferece-se a possibilidade de configurar os
portos. Cada PBS terá o seu nome composto por três caracteres (exemplo: BEL para
Belém, MEL para Melgaço, BRE para Breves,...), o tipo de cobertura encontrado no
porto (Celular, Fixo ou Navio para municípios onde o barco é o único meio de
comunicação) e a sua localização (recuperada automaticamente pelo programa).
- de BOAT, abre-se a janela para especificar o nome do barco.
- de ROUTE, pode-se configurar uma rota. A rota terá um PBS origem e outro como
destino.
Vale ressaltar que cada rota existe um conjunto de plano de deslocamento que
aqui serão referenciados como passos (STEPs). Os STEPs são especificados durante a
criação de uma rota, bastando dar um clique direito no campo caminho. Como exemplo,
pode-se criar uma rota RO0 com origem Belém e destino São Sebastião de Boa vista
com os STEPS Belém-Ponta de Pedras, Ponta de Pedra-Muaná, Muaná-São Sebastião
de Boa vista. A figura 4 ilustra as telas de configuração dos PBS, BOAT, ROUTE e
STEPs.

Figura 4. As janelas de configuração dos PBS, BOATs, ROUTEs e STEPs


3.1.3. Associação das rotas com os respectivos barcos
Esta etapa consiste em correlacionar os barcos com as rotas. Todos os BOATs devem
ter rotas interligando os PBS.
A janela de associação dos BOATs com os ROUTEs encontra-se no sub-menu
Configurar Associations do menu Avançado no Assistente de Configuração dos
PBS,ROUTE e BOAT como mostrado na figura 5.

Figura 5. Janela de Configuração das associações dos barcos com as rotas

3.1.4. Configuração do campo DACTs


Esta configuração, como ilustrada na figura 6, é o penúltimo passo do processo de
montagem de um cenário. As DACTs são unidades lógicas que compõem dados que se
encontram em trânsito entre um porto origem e um porto destino [Mauro, Thierry,
Erick, Alon e Thienne 2011].

Figura 6. Configuração das DACTs


3.2. Avaliação de desempenho
Na interface inicial, pode-se executar o módulo de avaliação de desempenho clicando o
botão “Processar Gráficos”. Implementou-se este módulo para poder analisar o
desempenho do simulador depois das transmissões de dados, isto é, depois de alguma
simulação ser finalizada no CODPON-SIM.

3.2.1. Atraso
Depois de cada simulação, os instantes de saída e de chegada de cada sequência de
DACT são gravados em um arquivo de texto de mesmo que o atraso ocorrido na
transmissão. O gráfico de atraso é gerado a partir desses dados (figura 7).

Figura 7. Gráfico de atraso

3.2.2. Utilização
Segundo [Johnson e Margalho 2011], a utilização é a fração do tempo em que algum
recurso permanece ocupado. É uma métrica representada em percentagem (%).
No Software, visualiza-se a taxa de utilização de cada nó PBS fazendo parte da
simulação. A figura 8 apresenta o gráfico de utilização dos nós.

Figura 8. Gráfico de utilização


3.2.3. Vazão
A vazão é a taxa na qual os pedidos são atendidos por um determinado sistema
computacional [Di Nicolo e Giaccone 2008]. Usou-se essa métrica para calcular o total
das DACTs recebidas por cada nó durante o tempo total da simulação (figura 9).

Figura 9. Gráfico da Vazão

4. Metodologia de Desenvolvimento
4.1. Os conceitos aplicados
O CODPON-Simulador é um software open-source escrito em Java Netbeans. Em
exceção ao Jfreechart, biblioteca externa usada para gerar os gráficos de desempenho,
fez-se uso dos recursos internos do Java Netbeans e do Log4J para depurar a execução
do código.
Para facilitar que outros desenvolvedores deem continuidade ao seu código,
aplicam-se algumas características das seguintes boas praticas de programação (Design
Patterns) [Helm 1994]:
 Mediator: define um objeto que gerencia as colaborações entre um grupo de
objetos. Como no CODPON-Simulador, o Singleton é formada pela serie de
heranças, é nele que são encapsuladas as entidades e disponibilizados os
métodos que gerenciarão seus atributos. Há um Mediator para cada entidade
principal.
 Singleton: Uma única classe encapsulada é usada para controlar os objetos que
devem ser universalmente acessados. No CODPON-Simulador o Singleton foge
um pouco desse conceito, pois não é uma instância e sim um objeto estático
publicamente acessado; e não é uma classe única, mas sim a raiz de uma
sucessão de heranças entre Mediators.
 MVC (Model-View-Controller): As entidades, logicas de negócio e formulários
são muito bem definidos. Tanto os pacotes como a logica de programação
deixam as camadas bem definidas e com personalidade própria. A estrutura
hierárquica do código-fonte está exposta na figura 10.
Figura 10. Estrutura física do projeto

 Composite: Certas entidades, em alguns casos, são subconjuntos de outras. Para


evitar repetição e retro alimentação, essas entidades são composições ou
agregações de outras. Pode-se tomar como exemplo a entidade ROUTE, que é
uma lista de objetos STEP, que por sua vez é formado por um PBS.
 Iterator: É usado dentro do Mediator para acessar instâncias específicas dentro
das listas de instâncias apenas com a passagem da identidade do objeto como
parâmetro.
 Observer: Cada JComponent usado para exibir valores em formulários é uma
instância do pacote “model.j*”. É usado em todos Iterator, para sincronizar os
JComponent nos formulários.

5. Criando um cenário
O estudo de caso consiste na criação de um cenário com cinco PBS que são: BEL
(Belém), MUA (Muaná), CUR (Curralinho), BRE (Breves) e MEL (Melgaço). A
ligação entre esses municípios é feita por dois barcos (BO1 com rota BEL-MEL e BO2
com rota desservindo BRE-MUA).
O cenário tem duas rotas que são: BEL-MEL (RO0), com quatro STEPS (BEL-
MUA, MUA-CUR, CUR-BRE, BRE-MEL) e BRE-MUA (RO1) que tem apenas dois
STEPS (BRE-CUR, CUR-MUA). A figura 11 ilustra a interface do Assistente de
Configuração com os PBS e as rotas. Como se pode perceber, a configuração do cenário
é feita usando um mapa da região de Marajó em background, isso oferece ao usuário
uma noção geográfica podendo ajudá-lo a montar o cenário como se fosse real.
Figura 11. Estudo de caso

6. Conclusão
Nesse artigo, apresentou-se um Software projetado para fazer configurações de cenários
de simulação de forma simples e eficiente e que irão ser utilizados no simulador
CODPON-SIM.
O Software foi implementado priorizando a simplicidade nas configurações dos
cenários e a facilidade do entendimento dos conceitos de funcionamento das redes
CODPON. Em comparação ao modo antigo de configuração de cenários feita
diretamente no arquivo texto, o uso do Software oferece aos usuários grande agilidade e
transparência.
Dentre dos futuros trabalhos relacionados ao configurador apresentado,
pretende-se fazer um parser para gerar scripts de configuração de cenários que sejam
executados no Network-Simulator 2 (NS2) e também eliminar a dependência do uso do
CODPON-SIM para executar as simulações.

7. Referências
Filho, A. De S. O., Abdelnor, F. A. M., Pimentel, L. M., Jacob Jr., A. F. L., Margalho,
M. (2011) “Aplicação de Telemedicina para Segunda Opinião Médica entre
Comunidades Remotas e Grandes Centros Urbanos Utilizando uma Estrutura de
Redes Orientadas a Plano de Deslocamento Contínuo”, I Escola Regional de
Informática - Norte 3 - Rio Branco / AC.
Gamma, E., Helm, R., Johnson, R. (1994) “Design Patterns: Elementos of Reusable
Object-Oriented Software”, Addison Wesley, ISBN 13: 9780201633610.
Sammou, El M., Abdali, A. (2011) “Routing in Delay Tolerant Networks (DTN),
Improved Routing with MaxProp and the Model of Transfer by Delegation
(Custody Transfer)”, International Journal of Communications, Network and System
Sciences.
Bloch, J. (2002) “Effective Java: Programming Language Guide”. Addison Wesley,
(ISBN 13:9780201310054).
Franck, L., Gil-Castineira, F. (2007) “Using Delay Tolerant Networks for Car2Car
Communications”, IEEE International Symposium on Industrial Electronics (ISIE
2007), Vigo – Spain, Page(s): 2573 - 2578.
Loy, M., Eckstein, R., Wood, M., Elliott, J., Cole, B. (2002) “Java Swing”, O’Reilly
Media, 2nd Edition.
Margalho, M., Mendes dos Santos, I., Matos, M. (2009) “Desenvolvimento de um
Simulador para Redes Orientadas a Plano de Deslocamento Contínuo (CODPON-
SIM)”, Traços (UNAMA), v. 11, p. 83-92.
Margalho, M., Moreira, T., Silva, E., Efrat, A., Johnson, T. (2011) “Work in Progress:
A new proposal of data mule network focused on Amazon riverine population”,
ExtremeCom, Manaus - Brasil.
Margalho, M. (2009) “Uso de redes codpon em aplicações de governo eletrônico”.
XXIX Congresso da Sociedade Brasileira de Computação. Bento Gonçalves, RS -
Brasil.
Issariyakul, T., Hossain, E. (2009) “Introduction to Network Simulator NS2”, Springer.
ISSN: 9780387717593.
Johnson, T., Margalho, M. (2011) “Avaliação de Desempenho de sistemas
Computacionais”, GEN/LTC.
Goncharov, V. (2010) “Delay-Tolerant Networking”, Albert-Ludwigs-
Universität Freiburg.
Acharya, H.B., Shah H.N., Venkataraman V. (2009) “Delay Tolerant Networking: A
Retrospective”, Third International Conference on Next Generation Mobile
Applications, Services and Technologies (NGMAST '09), Cardiff - Wales, Page(s):
309 – 314.
Di Nicolo, A. ; Giaccone, P. (2008) “Performance limits of real delay tolerant
networks”, Fifth Annual Conference on Wireless on Demand Network Systems and
Services (WONS), Garmisch-Partenkirchen- Germany.

View publication stats

Você também pode gostar